资源简介
四路抢答器源程序+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
评论
共有 条评论