四路抢答器
院系:徐州师范大学电气工程及自动化学院
班级:07电41班 姓名:
学号:
2009年月日—2009年月日
- 0 -6
摘要:本四人抢答器有按键识别模块和显示模块以及报警模块组成。 按键识别模块由6个独立式按键组成。显示模块由4个LED灯
组成。报警模块由蜂鸣器组成。当有人抢答时,将会有LED灯亮,当超出答题时间,蜂鸣器将会响起。 关键词:抢答器 可控LED
- 1 -6
目录
一、 前言…………………………………………………………3 二、 方案设计……………………………………………………3 系统总体设计方案与实现框图………………………………3 三、 理论分析……………………………………………………4 四、 电路设计……………………………………………………3 1、 按键部分………………………………………………4 2、 显示部分…………………………………………………4 五、 软件模块………………………………………………………5 六、 测试方法与数据……………………………………………5 七、 结论…………………………………………………………6 八、 致谢…………………………………………………………6 九、参考文献……………………………………………………6
- 2 -6
一、前言
此四人抢答器的功能在主持人按下开始键后,四个参赛者开始抢按自己的按键,谁的按键先按下,谁面前的灯就被那个参赛者抢到机会,当参赛者超出答题时间时蜂鸣器将会响起。本系统采用独立式按键,通过单片机不停的扫描按键来控制LED灯和蜂鸣器,并用定时器T0来定超时的时间,当超时的时候让蜂鸣器响。
二、方案设计
系统总体设计方案与实现框图
采用六个独立式的键盘作为按键输入,当在开始后有按键按下时,就会有对应于这个按键的灯亮并且蜂鸣器响一声,其它按键再按也无效。十秒之后如不清除,蜂鸣器就会一直响,提示已经到时间。
独立式按键部分 按键扫描 单片机处理 显示部分
三、理论分析
51单片机的端口上电是高电平,而且当外部没有输入时能自动的弹跳到高电平,所以通过按键所接端口的高低电平变化可以判断出哪个按键按下了。
独立按键 P1口电平变化 单片机识别
图1 四、电路设计
- 3 -6
图2
1、按键扫描部分
单片机不停的扫描P1口的电平变化,当有按键按下时,对应的I/O口会跳变为低电平,单片机检测到后,经过处理将作出相应的显示。电路如图1.
图3
2、显示部分
根据按键按下的情况LED作出相应的亮灭,蜂鸣器作出相应的反应。
当按键S7按下启动后,当S1按下时,则灯D1亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S2按下时,则灯D2亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S3按下时,则灯D3亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S5按下时,则灯D4亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;抢答完后可以按下S6将其初始化。
五、软件模块
本系统用了定时器0
- 4 -6
开始 初始化 开始键是否按下 1号是否按下 灯1亮 二号是否按下 灯2亮, 三号是否按下 四号是否按下 灯3亮 灯4亮 延时十秒 清除键是否按下 蜂鸣器响 返回初始化 六、测试方法与数据
当按键S7按下启动后,当S1按下时,则灯D1亮,,过十秒后蜂鸣器一直响;当S2按下时,则灯D2亮,,过十秒后蜂鸣器一直响;当S3按下时,则灯D3亮,,过十秒后蜂鸣器一直响;当S5按下时,则灯D4亮,,过十秒后蜂鸣器一直响;抢答完后可以按下S6将其初始化。S6键是清零键。
- 5 -6
七、结论
本次设计按照题目要求,基于单片机,利用较合适的控制算法,成功的实现了抢答器的基本功能。
八、致谢
在单片机实训老师的耐心指导下和同学的帮助下,我才能顺利完成这次单片机的实训,相信这对我以后的课程设计和毕业设计将有很大的帮助。在这里我对给予我帮助的老师和同学表示忠心的感谢。 九、参考文献
1、刘海宽等 单片机实验与实训教程 东南大学出版社
2、杨光友等 单片微型计算机原理及接口技术 中国水利水电出版社
- 6 -6
程序:
ORG 0000H SJMP MAIN ORG 000BH LJMP TOINT MAIN: MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV R6,#00H MOV P2,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#82H MOV R7,#0C8H LOOP1: MOV A,P1
CJNE A,#0FFH,START SJMP LOOP1
START: CJNE A,#7FH,MATCH LOOP2: MOV A,P1
CJNE A,#7FH,NUM1 SJMP LOOP2
NUM1: CJNE A,#7EH,NUM2 MOV P2,#01H SETB TR0 MOV R3,#01H LJMP LOOP3
NUM2: CJNE A,#7DH,NUM3 MOV P2,#02H SETB TR0 MOV R4,#01H LJMP LOOP3
NUM3: CJNE A,#7BH,NUM4 MOV P2,#04H SETB TR0 MOV R5,#01H LJMP LOOP3
NUM4: CJNE A,#77H,NEXT3 MOV P2,#08H SETB TR0 MOV R6,#01H LJMP LOOP3
- 7 -6
NEXT3:LJMP LOOP1
MATCH: CJNE A,#0BFH,NEXT2 CLR TR0 LJMP MAIN NEXT2: LJMP LOOP1 LOOP3: MOV A,P1
CJNE A,#0FFH,LOOP3 LJMP LOOP1 TOINT: MOV TH0,#3CH MOV TL0,#0B0H DJNZ R7,NEXT CJNE R3,#00H,LED1 CJNE R4,#00H,LED2 CJNE R5,#00H,LED3 CJNE R6,#00H,LED4 LED1: MOV P2,#11H CLR TR0 MOV R7,#0C8H SJMP NEXT1 LED2: MOV P2,#12H CLR TR0 MOV R7,#0C8H SJMP NEXT1 LED3: MOV P2,#14H CLR TR0 MOV R7,#0C8H SJMP NEXT1 LED4: MOV P2,#18H CLR TR0 MOV R7,#0C8H SJMP NEXT1 NEXT1: MOV R3,#00H MOV R4,#00H MOV R5,#00H MOV R6,#00H NEXT: RETI END
- 8 -6
因篇幅问题不能全部显示,请点此查看更多更全内容