单片机课程设计抢答器
- 格式:doc
- 大小:198.00 KB
- 文档页数:16
5.4 倒计时显示
本设计没有数码管显示倒计时间,是考虑到了如果让选手们看着时间倒数来进行抢答,无形中会产生一种压力,导致选手精神紧张,无法发挥应用的水平。但没有了时间倒数的抢答系统不算一个完整的系统,而本系统设计了30秒的抢答限定。当主持人按下开始键时,单片机内的30秒倒计时开始,当25秒内没有人按抢答键,这时发光二极管亮,提醒主持人宣布还剩5秒的抢答时间,接着5秒过后,发光二极管暗,表明30秒倒时完毕,该题的抢答结束。其流程图见图12。
clrp1.7;灯灭
ljmpmain
因为djnz和jnb都是双周期指令,包含了24个振荡周期,而由于本设计用了12MHz的晶振,故djnz和jnb的指令周期是2us。而如上的程序连续用三个djnz指令,进行了三个内部循环,最小的循环用了4个jnb指令和1个djnz指令,所以总的运行时间T=[r5×r6×(r7×5)]×2us,代入相应的数据便得出T1=228×219×50×5×2us=24.966s,T2=100×100×50×5×2us=5s。其与标准时间30s比较,
其中,1号抢答键、2号抢答键、3号抢答键、4号抢答键各安装在每台分台上,方便各选手按键抢答,剩下的9键安装在总台上,由主持人或者公证人控制。
当硬件电路接通电源时,程序指令控制单片机给每位选手一个得分默认初值“20”分,还可以根据不同的场合给每位选手不同的得分初始值,只要按下初值加、减键就可以在20分的基础上,5分5分的上下跳动,直到选定相应的初始值,按下“跳出键”确定。确定后,此次的整个抢答过程就以该选定的分值为初始值,再按“初值加、减键”就无效。
这时主持人可以宣读题目,之后宣布抢答开始,同时按下开始键,选手可以进行抢答。当有抢答键按下时,相联的输入数据线即被置“0”(低电平),而平时该线为“1”(高电平),用单片机位处理指令判断是否有键按下十分简单。在30秒内,若有抢答键抢先按下,就会转到相应的程序,显示有效选手的号码,而其他选手再按“抢答键”便是无效的动作。25秒过后若没有人按键,则发光二极管亮,进行报警,5秒后发光二极管暗,该题的抢答结束。等待主持人选定题目,按下相应的分键,准备进行下一题的抢答。
其中芯片74LS164为8位串行移位寄存器,它将单片机8051送来的8位串行数据变成8位并行数据输出,从而扩展并行输出口。
QA~QH为并行输出的数据。单片机串口输出的数据从AB输人;CLR信号用于清除输出数据(通常用在移位完成时);内部数据移位依靠时钟CLK信号上升沿控制(由单片机P2口提供)。当A作数据输入端时,B则作为禁止或者允许端输入。
在正式抢答开始之前,先给各选手一个分数初值,以免某选手倒扣分至负数分值。而该分数初值可根据不同的抢答场合与不同的抢答类型赋予不同的值。当硬件电路电源接通时,各选手的得分牌显示的是20分,当按下“初值加键”时,各选手的初始得分会加上5分,再按下就会再加上5分;当按下“初值减键”时,各选手的初始得分会减去5分,再按下就会再减去5分。这样,就可以给各选手在5分到95分之间选一个5的倍数
从附录的总程序中摘取此功能的部分程序如下:
movr5,#228;初始化
ans2:movr6,#219
ans1:movr7,#50
ans:jnbp1.0,answ0;若有人按抢答键,转到相应的程序
jnbp1.1,answ1
jnbp1.2,answ2
jnbp1.3,answ3
djnzr7,ans
djnzr6,ans1
本设计主要的功能模块有:
(1)键盘输入:4位选手通过按键进行抢答,单片机识别有按键按下,转到相应的程序,控制译码显示器显示选手的编号。而开始键,加、减分键也是通过键盘转到相应的程序实现功能。共有13个按键,分别为开始键、1号抢答键、2号抢答键、3号抢答键、4号抢答键、加分键、减分键、跳出键、30分键、20分键、10分键、初值加键、初值减键。
数字抢答器设计
1 前言
单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。
而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。
误差为[(24.966+5)-30]/30=0.113%
若选手们在主持人没有宣布抢答开始同时没有按下开始键的情况下抢先按下了抢答键,这时二极管发光报警,提醒主持人注意有人违例抢答了,同时编号牌显示违例选手号码,该违例选手会被自动的倒扣5分以作惩罚。
在主持人按下开始键的时候,30秒倒计时就开始计时,在剩下5秒的时候,发光二极管亮,提醒主持人应该给选手们说明,该题的抢答时间不多。等二极管灭的时候也就是该题抢答的时间结束,主持人宣布本题无人抢答,同时编号牌显示“0”。
的初始分值。而一旦选定了初始值,就按“跳出键”确定。
这时,主持人可根据需要或者选手的要求,选定不同分值的题目让选手回答。在本设计中,可以选择5分,10分,20分,30分的题目。比方说,第一回合是5分题目的抢答,那么就不用按任何的“分值键”,因为本设计默认分值是5分;而第二回合是20分题目的抢答,那么主持人就先按下“20分键”,然后开始宣读题目,准备抢答。当主持人宣布抢答开始,同时按下开始键的时候,4路选手可以抢答,编号牌显示选手号码。这时只能有一位选手优先抢答成功,其他后按键选手抢答无效。
若主持人没有宣布抢答开始,开始键还没有按下,就有选手提前抢答,就算是违例,同时二极管亮,提醒主持人注意,显示牌显示违例选手号码,单片机通过程序指令让该违例选手减去5分,以作违例惩罚。
5.2 计分显示电路
5.2.1 加减分电路
与抢答键一样,设计加分按键、减分按键(见图5)。当按下加分按键,单片机控制程序指令,给相应的选手加上相应的分值,当按下减分按键,单片机控制程序指令,给相应的选手减去相应的分值。每一题只能给与抢答选手一次的加减分机会,或者有特殊情况,在该题的回答上,该选手即不加分也不减分,只要加减分键都不按,此功能便能实现。其加减分的程序差不多,如图8为加分的子程序流程图。
(2)在规定的时间内若没有选手抢答时,发光二极管发光,提醒主持人注意,准备下一题的抢答;
(3)在总台上设有几个加分键和几个减分键,方便主持人在每一题的抢答过程中,根据题目的难易程度相应给回答问题的选手进行不同分值的加减;
(4)能将各选手的编号和得分送总机显示,使大家能对各选手的得分情况一目了然。
3 总体方案的确定
利用单片机设计,总体框图如图3所示。其中各小方块为各部分的功能模块。
4 工作过程简介
为了演示方便与不多做相同的工作,本抢答系统只设计了4路抢答,而各选手的得分显示只设计到了十位的分数,但这不影响本设计的功能。如有需要,可将本设计扩展到8路、15路抢答,将得分显示扩展到千位分数显示。具体的工作流程如图4所示。
5.2.2 选手编号译码显示电路
该译码显示电路由芯片74LS164、CD4511和LED数码管组成。如图9:数据从单片机P0口经74LS04反相器进入74LS164的A、B输入端串行输入,而时钟脉冲由P2口经74LS04反相器连接到74LS164的CLK脉冲信号端,在每一个CLK上升沿时,数据在74164内移位寄存,在一个时钟周期后,从低四位QE~QH并行输出到CD4511的A、B、C、D输入口(BCD码),在a~g输出口得到相应的高低电平,驱动LED数码管各同名端发光二极管发光,从而在LED显 示相应的十进制数字。其中74164的输入A、B口并联在一起,当输入高电平时,输出端QA为高电平,当输入低电平时,输出端QA为低电平。另外由于LED数码管不需要消隐也不需要测试,所以CD4511的LT、BI端均接高电平。
2 设计的依据
2.1 课题的提出
学校在开展文娱活动时一般都会有抢答一项,需要用到抢答器。而市场上,一般的抢答器都需要几百块,价钱比较贵。本人设计的抢答器,电路简单,成本较低,操作方便,灵敏可靠。而且一般学校都有计算机,利用计算机就可以很方便地构成一台功能强大而价格十分低廉的抢答器。
2.2 设计的目的和内容
目的:设计简单抢答器,功能齐全,连线简单,方便学校时常举行竞赛。同时加深对单片机的认识和理解,加强自己的动手能力。
内容:应包括抢答器、超时报警、违例扣分与电子计分、总台显示等部分。抢答系统能完成的工作有:
(1)当抢答开始,选手在规定的时间内按动抢答键时,能立即分辨出抢答者的编号,并进行互锁,然后由译码显示电路显示选手编号;
djnzr5,ans2;25秒到
setbp1.7;灯亮
movr5,#100
ans5:movr6,#100
ans4:movr7,#50
ans3:jnbp1.0,answ0
jnbp1.1,answ1
jnbp1.2,answ2
jnbp1.3,answ3
djnzr7,ans3
djnzr6,ans4
djnzr5,ans5;30秒到
CD4511BE芯片是BCD-7段锁存-译码器,为16脚全封装芯片,能将BCD码直接翻译为可被数码管显示的数据,并同时有消除输入端和琐存输入端的功能。CD4511从D ,C, B,A输入需要显示的BCD码,当 LE=0时输入数据(BCD码),当LE=1时数据锁存。数据输入后会在引脚a~g输出用于驱动共阴极显示器的字段信号。当LT端=0时,进行灯测试,显示器显示"8"。当BI端=0时显示器消隐显示。
(2)译码显示:利用单片机串行口加外围芯片74LS164,构成多个并行输出口,用于串-并转换,驱动CD4511锁存-译码器进行显示。本系统有两个主要的显示部分。一是选手编号的显示,二是选手得分的显示,其显示原理是一样的。