《用单片机实现智能四路抢答器.doc》由会员分享,可在线阅读,更多相关《用单片机实现智能四路抢答器.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、- .智能四路抢答器院系: 班级:学号:指导教师:摘要:本抢答器系统是主要由按键识别模块和LED及蜂鸣器响应模块组成。按键识别模块是用六个按键组成的独立式键盘实现的。显示局部用4个LED灯和蜂鸣器。当有相应按键按下时,LED灯有对应的灯亮或灭,蜂鸣器也会有反响。关键词:抢答器 智能系统 可控LED目录一、 前言3二、 方案设计31、 方案比拟32、 系统总体设计方案与实现框图3三、 理论分析3四、 电路设计41、 按键局部42、 显示局部4五、 软件模块5六、 测试方法与数据6七、 结论6八、 参考文献6一、前言本设计要求能够在主持人按下开场键后,四个参赛者开场抢按自己的按键,谁的按键先按下,
2、谁面前的灯就会亮并且有相应的提示,当参赛者耗时太多时又会有相应的提示。根据设计的要求,本系统采用独立式按键,通过单片机不停的扫描按键来控制LED灯和蜂鸣器,并用定时器T0来定超时的时间,当超时的时候让蜂鸣器响。二、方案设计1、方案比拟 1、总体设计方案一:采用可编程I/O口扩展芯片8155 8155作为单片机的扩展接口能实现很多功能,但是这个系统并不复杂,用8155会浪费很多的资源,而且8155要用P0和P2端口作为地址线对它进展读写,这样不仅浪费端口还使得编程变的复杂。从节省资源和简化编程的角度考虑,放弃了此方案。方案二:直接采用AT89C51单片机 直接用单片机不仅编程被简化,还有效的利用
3、了各个端口。8051单片机的资源完全够这个系统的要求。所以最终选择了此方案。 2、模块 方案一:采用4*4矩阵键盘 此种键盘是常用的按键扫描方法,但是本系统只需要六个按键,这样就会浪费十个,而且矩阵按键扫描要送数读数,对于编程很复杂,最终放弃了此方案。 方案二:采用独立式键盘本系统只要六个按键就可以,用独立式键盘不仅节省端口还使编程变得简单。程序只要不停的读数检查就行。所以,最终选择此方案。 2、系统总体设计方案与实现框图 采用六个独立式的键盘作为按键输入,当在开场后有按键按下时,就会有对应于这个按键的灯亮并且蜂鸣器响一声,其它按键再按也无效。十秒之后如不去除,蜂鸣器就会一直响,提示已经到时间
4、。框图如图1。独立式按键局部单片机处理显示局部按键扫描图1三、理论分析 51单片机的端口上电是高电平,而且当外部没有输入时能自动的弹跳到高电平,所以通过按键所接端口的上下电平变化可以判断出哪个按键按下了。独立按键P1口电平变化单片机识别图2四、电路设计图31、按键扫描局部单片机不停的扫描P1口的电平变化,当有按键按下时,对应的I/O口会跳变为低电平,单片机检测到后,经过处理将作出相应的显示。电路如图1.图42、显示局部 根据按键按下的情况LED作出相应的亮灭,蜂鸣器作出相应的反响。当按键S7按下启动后,当S1按下时,那么灯D1亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S2按下时,那么灯D2亮
5、,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S3按下时,那么灯D3亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S5按下时,那么灯D4亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;抢答完后可以按下S6将其初始化。五、软件模块本系统用了定时器0和定时器1。开场初始化开场键是否按下1号是否按下二号是否按下三号是否按下四号是否按下灯1亮,响声提示灯2亮,响声提示灯3亮,响声提示灯4亮,响声提示去除键是否按下返回初始化延时十秒蜂鸣器响图5六、测试方法与数据当按键S7按下启动后,当S1按下时,那么灯D1亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S2按下时,那么灯D2亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当
6、S3按下时,那么灯D3亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;当S5按下时,那么灯D4亮,并蜂鸣器响一声,过十秒后蜂鸣器一直响;抢答完后可以按下S6将其初始化。S6键是清零键。七、结论本次设计按照题目要求,基于单片机,利用较适宜的控制算法,成功的实现了抢答器的根本功能。八、参考文献 1、海宽等 单片机实验与实训教程 东南大学 2、光友等 单片微型计算机原理及接口技术 中国水利水电程序:ORG 0000H SJMP MAIN ORG 000BHLJMPTOINT ORG 001BHLJMPTIINT ORG 0050HMAIN: MOV R3,#00HMOV R4,#00HMOV R5,#00
7、HMOV R6,#00HMOV P2,#00HMOV TMOD,#11HMOV TH0,#3CHMOV TL0,#0B0HMOV TH1,#3CHMOV TL1,#0B0HMOV IE,#8AHMOV R1,#10MOV R7,#0C8HLOOP1: MOV A,P1 CJNE A,#0FFH,START SJMP LOOP1START: CJNE A,#7FH,MATCHLOOP2: MOV A,P1 CJNE A,#7FH,NUM1 SJMP LOOP2NUM1: CJNE A,#7EH,NUM2MOV P2,#11H SETB TR1RR1: CJNE R1,#00H,RR1MOV P2
8、,#01H CLR TR1 SETB TR0MOV R3,#01HLJMPLOOP3NUM2: CJNE A,#7DH,NUM3MOV P2,#12H SETB TR1RR2: CJNE R1,#00H,RR2MOV P2,#02H CLR TR1 SETB TR0MOV R4,#01HLJMPLOOP3NUM3: CJNE A,#7BH,NUM4MOV P2,#14H SETB TR1RR3: CJNE R1,#00H,RR3MOV P2,#04H CLR TR1 SETB TR0MOV R5,#01HLJMPLOOP3NUM4: CJNE A,#77H,NEXT3MOV P2,#18H S
9、ETB TR1RR4: CJNE R1,#00H,RR4MOV P2,#08H CLR TR1 SETB TR0MOV R6,#01HLJMPLOOP3NEXT3:LJMPLOOP1MATCH: CJNE A,#0BFH,NEXT2 CLR TR0 CLR TR1LJMPMAINNEXT2: LJMPLOOP1LOOP3: MOV A,P1 CJNE A,#0FFH,LOOP3LJMPLOOP1TOINT: MOV TH0,#3CHMOV TL0,#0B0HDJNZ R7,NEXT CJNE R3,#00H,LED1 CJNE R4,#00H,LED2 CJNE R5,#00H,LED3 CJ
10、NE R6,#00H,LED4LED1: MOV P2,#11H CLR TR0MOV R7,#0C8H SJMP NEXT1LED2: MOV P2,#12H CLR TR0MOV R7,#0C8H SJMP NEXT1LED3: MOV P2,#14H CLR TR0MOV R7,#0C8H SJMP NEXT1LED4: MOV P2,#18H CLR TR0MOV R7,#0C8H SJMP NEXT1NEXT1: MOV R3,#00HMOV R4,#00HMOV R5,#00HMOV R6,#00HNEXT: RETITIINT: MOV TL1,#0B0HMOV TH1,#3CHDEC R1 END. word.zl.