|
藍橋杯第一屆代碼
詳細代碼看附錄
- #include <STC15F2K60S2.H>
- #include "sys.h"
- uchar seg_dly, led_dly, key_dly;
- uchar seg_pos, seg_buf[9], seg_code[8] ={0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
- uchar key_val, key_old, key_up, key_down;
- uchar count = 3; //蜂鳴器響的次數
- uchar count_save = 3; //保存在AT24CO2的發聲次數
- uint period = 0; //周期的時間為700ms
- uchar buzz_stat = 0x00; //蜂鳴器的狀態
- void main()
- {
- ClsPeripherial();
- Timer1Init();
- count_save = ReadEEPROM(0x01); //讀取EEPROM的次數
- count = count_save; //把次數賦值給真正的次數
- while(1)
- {
- KeyProc();
- SegProc();
- }
- }
-
- void Timer1() interrupt 3
- {
- if(++seg_dly == 200) seg_dly = 0;
- if(++led_dly == 100) led_dly = 0;
- if(++key_dly == 10) key_dly = 0;
-
- if(count)
- {
- period++;
- if(period <= 200) //發聲時間為200ms
- {
- buzz_stat = 0x40;
- }else if(period <= 700)//不發聲時間500ms
- {
- buzz_stat = 0x00;
- }else
- {
- period = 0;
-
- if(!count) count = 0;
- count--;
- }
- }
-
- Y5C(buzz_stat);
- SegDisp(seg_pos, seg_code[seg_pos]);
- if(++seg_pos == 8) seg_pos = 0;
- }
復制代碼
|
-
-
第1屆省賽.rar
2024-9-19 21:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
29.42 KB, 下載次數: 1, 下載積分: 黑幣 -5
第一屆
|