資源簡介
四路搶答器源程序+Pro7仿真文件
四路搶答器源程序+Pro7仿真文件
四路搶答器源程序+Pro7仿真文件

代碼片段和文件信息
#include?
typedef?unsigned?char?uchar;
#define DIGIT0 1
#define DIGIT1 2
#define DIGIT2 3
sbit?TIMEK1=P3^3;
sbit?TIMEK2=P3^4;
sbit?TIMEK3=P3^5;
sbit?TIMEK4=P3^6;
sbit?KEY5=P1^4;
sbit?din=P2^4;??????????????????????????//定義P2.5控制MAX7219的串行數據輸入端
sbit?load=P2^3;?????????????????????????//定義P2.4控制MAX7219的載入使能端
sbit?clk=P2^2;??????????????????????????//定義P2.3控制MAX7219的時鐘信號
sbit?BUZ=P0^1;
#define?TIMER_HBYTE?-50000/256??????????//定時50ms
#define?TIMER_LBYTE?-50000%256
uchar?intr_counter;?????????????????????//設定的時間用需要產生的中斷次數表示
uchar?bdata?byte;???????????????????????//在bdata區定義一個變量,便于位操作
sbit?byte_7=byte^7;
bit?foul_flg;???????????????????????????//是否有人犯規標志
bit?time_over_flg;??????????????????????//是否倒計時超時標志
bit?key_flg;????????????????????????????//是否有人在規定時間內按鍵標志
void?max7219_reset(void);???????????????//初始化MAX7219
void?write_reg(ucharuchar);????????????//向控制寄存器寫數據
void?write_digit(ucharuchar);??????????//向字型寄存器寫數據
void?send_data(uchar);??????????????????//底層的硬件驅動
uchar?set_time(void);???????????????????//函數功能:設置倒計時時間
bit?control_key(void);??????????????????//函數功能:檢測主持人是否按鍵
uchar?getkey_num(void);????????????????//函數功能:檢測哪個參賽者按鍵
void?display_time(void);????????????????//函數功能:顯示倒計時剩余時間
void?foul_handle(uchar??key_number1);????????????????//函數功能:犯規處理
void?key_handle(uchar?key_number1);?????????????????//函數功能:按鍵處理
void?time_over_handle(void);????????????//函數功能:超時處理
void?init_t0(void);?????????????????????//函數功能:初始化T0定時器
void?delay_20ms(void);??????????????????//函數功能:延時20ms,按鍵去抖動
void?buz_on(void);???????????????????????//函數功能:蜂鳴器響500ms
????uchar?key_number;
void?main(void)
{
????delay_20ms();
????max7219_reset();?????????????????????//初始化MAX7219
????while(1)
????{
????????foul_flg=0;??????????????????????//設置初始環境
????????time_over_flg=0;
????????P0=0;
????????TR0=0;???????????????????????????//禁止T0運行
????????write_digit(DIGIT00x0);//上電后3個數碼管全部顯示0??a=0?b=E?c=H
????????write_digit(DIGIT10x0);
????????write_digit(DIGIT20x0);
????????while((control_key()==1)&&(foul_flg==0))
??????????????????????????????????????????//如果主持人沒有按鍵
????????{
????????????key_number=getkey_num();??????//檢查是否有人犯規
????????????if(key_number==0)?????????????//如果沒有,進行下一次循環
????????????????continue;
????????????else??????????????????????????//如果有人犯規
????????????{
????????????????foul_handle(key_number);????????//犯規處理
????????????????foul_flg=1;???????????????//設置犯規標志
????????????}
????????}
????????if(foul_flg==1)??????????????????//如果有人犯規
????????{
????????????while(control_key()==1);??????//等待主持人按鍵以進入下一輪
????????????continue;?????????????????????//主持人按鍵后進入下一輪
????????}
????????else?????????????????????????????//如果沒有人犯規,必定是主持人允許答題
????????{
????????????intr_counter=set_time();??????//讀取倒計時時間
????????????init_t0();????????????????????//定時器T0開始計時
????????????buz_on();?????????????????????//蜂鳴器響500ms
????????????while(time_over_flg==0&&key_flg==0)
????????????{
????????????????key_number=getkey_num();?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????10166??2010-05-09?11:36??4QD\4luqiangdaqi
?????文件???????1494??2010-05-09?11:36??4QD\4luqiangdaqi.hex
?????文件?????????47??2010-05-09?11:36??4QD\4luqiangdaqi.lnp
?????文件??????14990??2010-05-09?11:36??4QD\4luqiangdaqi.M51
?????文件???????1077??2010-05-09?11:40??4QD\4luqiangdaqi.Opt
?????文件???????1453??2010-05-09?11:36??4QD\4luqiangdaqi.plg
?????文件???????2094??2010-05-08?23:59??4QD\4luqiangdaqi.Uv2
????.......??????1079??2010-05-09?00:25??4QD\4luqiangdaqi_Opt.Bak
????.......??????2094??2010-05-03?12:10??4QD\4luqiangdaqi_Uv2.Bak
?????文件?????130467??2010-05-09?12:00??4QD\kkkkk.DSN
?????文件????????768??2010-05-09?14:35??4QD\kkkkk.PWI
?????文件?????130560??2010-05-09?11:58??4QD\Last?Loaded?kkkkk.DBK
?????文件???????3365??2010-05-09?12:32??4QD\MAIN
?????文件????????480??2010-05-09?12:32??4QD\MAIN.BIN
?????文件????????150??2010-05-08?22:10??4QD\MAIN.C
?????文件???????3195??2010-05-10?19:07??4QD\MAIN.DSK
?????文件???????1169??2010-05-09?12:32??4QD\MAIN.HEX
?????文件???????2186??2010-05-08?22:10??4QD\MAIN.LST
?????文件??????15450??2010-05-09?12:32??4QD\MAIN.M51
?????文件????????516??2010-05-08?22:10??4QD\MAIN.OBJ
?????文件???????2116??2010-05-10?18:26??4QD\MAIN.PRJ
?????文件????????139??2010-05-09?12:32??4QD\TEMP.LST
?????文件???????2116??2010-05-09?00:25??4QD\Unti
?????文件?????????59??2010-05-09?12:32??4QD\WAVE.LIN
?????文件???????8937??2010-05-09?12:32??4QD\xxx.c
?????文件??????17988??2010-05-09?12:32??4QD\XXX.LST
?????文件???????5190??2010-05-09?12:32??4QD\XXX.OBJ
?????目錄??????????0??2010-05-09?14:35??4QD
-----------?---------??----------?-----??----
???????????????359345????????????????????28
............此處省略1個文件信息
- 上一篇:方正系列軟件種子
- 下一篇:libsvm-3.20
評論
共有 條評論