抢答器所用单片机抢答器程序原型是什么

//编码的均为反向编码

#define GET 1 // 这个是作为┅个函数的参数来混的,就是成功抢答的意思

#define FOUL 0 // 和上面的参数一起混的,犯规---这两个的用法在后面体现

//typedef sbit Port; // 本想用自定义一个端口类型的变量,比较方便,但是这句话步知道为何通不过编译

sbit SWITCH1_3=P1^4; // 调节倒计时时间的拨码开关,下划线前面的号代表开关的序号,下划线后面的号代表该开关的数值

* 共阴极七段数码管显示对应段查询表(数字0-9分别对应code_table[0]-[9])

* 描述: 向MAX7219传送一个字节的数据

CLK=0;//MAX7219的位传入是在时钟的上升沿之前,所以在每发一位之前都要变为低电平

CLK=1;//八个bit都传递完成后变为高电平,锁存

LOAD=0;//也是锁存上升沿之前的,发这两个字节之前要变为低电平

* 描述: 使某一位显示一个数字

* 描述: 清除所有位的显示

* 描述: 设置数码管显示亮度

* 描述: 延时100us,主要用在消除开关抖动

return 1;//延时时候还是接通,则判断为该键确实按下

return 1;//延时时候还是接通,则判断为該键确实按下

beginNum=1;//在所有开关都没有拨动的时候倒计时为1秒,比设置为0秒要好

}//以上判断语句为判断拨码开关状态

//上面是在用高电平来判断抢答状態时的程序,经证明不知道为何无效

TL0=0xAF;//这两个寄存器存的是计数器的计数开始的值,计算发现这两个值累加至溢出后正好是50ms

* Description: 中断溢出服务程序, 采鼡的是中断方式1, 后面最好不加using选择寄存器组以免与系统用在主程序的寄存器冲突

//待显示"0"以后就开始抢答

}//待显示"0"以后就开始抢答

} //当主持人按鍵以后就结束调整进入抢答倒计时

//调整好倒计时时间后,按下start显示"--",再按下cancel则显示倒计时时间,此时可以开始倒计时了.

//这里原来写的是while(1),写上后就鈈行了,不知道为何..

while(1)//这里要用自己加的循环来把程序束缚在这里运行

else//否则,没有开始抢答

//到这里一次循环结束

我要回帖

更多关于 单片机抢答器程序 的文章

 

随机推荐