ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:104.36KB ,
资源ID:6676103      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6676103.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(8路抢答器实训设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

8路抢答器实训设计论文.docx

1、8路抢答器实训设计论文2010 2011学年第二学期单片机8路抢答器班级:姓名:指导老师:日期:2010年11月15日2010年11月21日摘要:本单片机8路智能抢答器系统由按键识别模块和LED显示及蜂鸣器响应模块组成。按键识别模块是用14个按键组成的独立式键盘实现的,其中,8个抢答键,1个开始键,1个结束键,3个时间调整键,1个复位键。显示部分用3个七段数码管LED灯显示相应的控制信息。当有相应按键按按下或抢答抢答超时,LED灯有相应的控制信息,蜂鸣器也有发声。关键词:单片机8路抢答器 第一信号鉴别器 智能系统 目录一、绪论 ( )二、抢答器设计功能分析 ( )1、设计任务及要求( )2、理

2、论分析 ( )三、硬件模块设计 ( )1、方案比较( )2、按键部分( )3、显示部分( )4、复位电路部分( )5、振荡电路部分( )四、软件模块设计 ( )1、程序流程图( )2、源程序代码( )五、总体设计验证 ( )六、购买电路元器件及安装 ( )七、结论 ( )八、参考文献 ( )一、绪论我们对抢答器并不陌生,它是用于很多竞赛场合中,真正实现先抢先答,让最先抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和足够的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。本设计的系统具有电路构成简单、实用性强、判断精确、操作简单、扩展功能强等优点。它的功

3、能要求是在主持人按下开始键后,开始计时,数码管会显示抢答剩余时间,直到8个参赛选手中的一个按下抢答按键,LED就会显示谁的编号,蜂鸣器也会发音,提示主持人有选手抢答,其他抢答无效。当参赛者耗时太多时,蜂鸣器会在最后5s发音提示所有参赛选手。如果参赛选手在主持人还未按下开始键就按下抢答键,这叫抢答犯规,系统会报警并显示抢答犯规选手编号。如果在设定的抢答时间内无选手抢答,系统会回到开始状态,等待主持人再次按下开始键进行重新抢答或进行下一题的抢答。根据设计的要求,本系统不但采用独立式按键,通过单片机不停的扫描按键来控制LED灯和蜂鸣器,用定时器T0来定超时的时间,当超时的时候让蜂鸣器发音外,而且是可

4、调抢答时间的智能系统。随着我国经济和文化事业的发展,在很多公开竞争场合要求有公正的竞争裁决,诸如证券、股票交易及各种智力竞赛等,因此需要有性能优越,功能强大的抢答器。一般由很多电子元器件和很复杂的基本电路组成的抢答器,线路复杂,可靠性不高,功能也比较简单,特别是当抢答者很多时,实现起来就更为困难。因此我们设计了以单片机为核心的新型智能的抢答器,在保留原始抢答器的基本功能的同时又增加了数码管及蜂鸣器显示电路实现了其它功能。抢答器又称为第一信号鉴别器,其主要应用于各种知识竞赛、文艺活动等场合。此次设计用到了核心控制元件AT89C51单片机、数码管、蜂鸣器、电阻、电容、5V电源。采用汇编语言编程,使

5、其实现其基本的功。二、抢答器功能分析1、设计任务与要求(1)给主持人设置两个开关按钮,一个按钮用来开始抢答,另一个用来结束抢答,控制系统清0,回到等待主持人再次按下开始键按钮状态。(2)抢答器具有数据锁存和显示的功能。抢答开始后,若有选手按动抢答器按钮,编号立即锁存,并在LED数码管显示选手的编号,同时扬声器给出音响提示。此外,要封锁输入电路,禁止其他选手抢答。(3)抢答器具有定时抢答的功能,且一次抢答的时间可以由主持人设定(最大99秒)。当节目主持人启动“开始”键后,要求扬声器发出短暂的声响,同时定时器立即减计时,并用显示器显示,并且在最后抢答5S的时间内,扬声器不断发出声响,提示抢答选手。

6、参加选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人按下停止键按钮将系统清零为止。如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统会自动回到清0状态并,选手超时后抢答,系统会认为是抢答违规,系统会一直报警,LED显示FF和违规选手编号,直到主持人按下停止按钮键将系统清0为止。(4)选手在主持人还未按下开始抢答按钮前按下抢答按钮,系统会一直发出声响,并且LED显示FF和抢答违规选手编号,直到主持人按下停止按钮将系统清0为止。2、理论分析8路智能抢答器使用单片机来设计制作完成,其功能的实现主要通过软件编程来完成。其硬件电路主要包括

7、了单片机应用电路、键盘接口电路、显示接口电路、发声电路。MCS-51单片机有四个8位双向输入/输出接口,而且当外部没有信号输入时能自动的跳到高电平,所以通过外部独立按键所接端口的高低电平变化可以判断出哪个按键按下了,单片机识别I/O口的电平后,控制相应的端口使LED数码管显示控制信息及扬声器发声,实现其功能。理论模块图如下:三、硬件模块设计1、方案比较(1)单片机的选择:(2)输入按键的选择:(3)LED显示器的选择:(4)发声元件的选择:2、按键部分抢答器的输入按钮使用常开开关,8个按钮与单片机的P1口的8位连接。电路连接图如图2所示:3、复位电路部分单片机的第9脚RST为硬件复位端,只要将

8、该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图3所示:本设计也采用了软件复位。4、显示部分单片机的P0口的8位与数码管连接,并且要接上拉电阻与电源相连,单片机的P2口的低3位控制数码管的选择位,并且接非门元件。连接电路图如图4所示:5、振荡电路、时间调整及发声部分一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。其电路如图5所示

9、:时间调整电路中的按钮也是采用常开开关,加1调整按钮与单片机的P3.2口相连,减1调整按钮与单片机的P3.3口相连,返回控制按钮与单片机的P3.4口相连。单片机的P3.6口是发音输出端口,与扬声器相连。其电路如图6所示: 四、软件模块设计1、程序流程图(1)整个程序主要由定时器T0、定时器T1、外部中断0和主程序构成,定时器T0用于使扬声器发声,当需要响铃时,把响铃标志位置1,每次中断都对P3.6取反,扬声器发声,改变定时器初值,可改变扬声器频率。其流程图如下图7所示:(2)定时器T1用于倒计时,每次中断为50ms,当计数标志为20时即为一秒,显示数字减一。其流程图如下图8所示:(3)外部中断

10、0用于调整倒计时时间,可调时间范围为0到99秒,其程序流程图如图9所示:(4)主程序协调3个中断一起工作,实现单片机的控制功能,其程序流程图如下图10所示:2、源程序代码ORG 0000H AJMP MAIN ;无条件转移到主程序 ORG 0003H ;外部中断0入口地址 AJMP INT0SUB ;无条件转移到抢答时间R1调整处理程序 ORG 000BH ;T0益出中断入口地址 AJMP T0INT ;无条件转移到T0益处中断响应程序 ORG 001BH ;T1益出中断入口地址 AJMP T1INT ;无条件转移到T1中断计时程序OK EQU 20H ;抢答开始标志位RING EQU 22H

11、 ;响铃标志位 ORG 0040HMAIN: MOV R1,#0FH ;初设抢答时间为15s MOV R2,#0AH MOV TMOD,#11H ;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH ;越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H ;50ms为一次溢出中断 SETB EA ;CPU开中断 SETB ET0 ;允许T0中断 SETB ET1 ;允许T1中断 SETB EX0 ;允许外部中断0中断 SETB EX1 ;允许外部中断1中断 CLR OK ;对开始抢答标志位清0 CLR RING ;对响铃标志位清0 SETB T

12、R1 ;允许T1计时 SETB TR0 ;允许T0计时,以开始显示FFFSTART:MOV R5,#0BH ;查询程序 MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY ;调用显示程序并返回,未抢答时显示FFF JB P3.0,NEXT ;位=1转移到NEXT程序 ACALL DELAY ;调用延时处理程序 JB P3.0,NEXT ;如果开始键按下就向下执行,否者跳到非法抢答查询 ACALL BARK ;调用发声程序使按键按下发声 MOV A,R1 MOV R6,A ;送R6A,因为R1中保存了抢答时间 SETB OK ;对抢答标志位置1 MOV R3,#0AH A

13、JMP COUNT ;无条件转移到倒计时处理程序NEXT: JNB P1.0,FALSE1 ;非法抢答处理程序,判断抢答键是否按下 JNB P1.1,FALSE2 JNB P1.2,FALSE3 JNB P1.3,FALSE4 JNB P1.4,FALSE5 JNB P1.5,FALSE6 JNB P1.6,FALSE7 JNB P1.7,FALSE8 AJMP START ;无条件转移到查询程序FALSE1:ACALL BARK ;调用发声程序按键发声 MOV R3,#01H AJMP ERROR ;无条件转移到犯规抢答处理程序FALSE2:ACALL BARK MOV R3,#02H AJ

14、MP ERRORFALSE3:ACALL BARK MOV R3,#03H AJMP ERRORFALSE4:ACALL BARK MOV R3,#04H AJMP ERRORFALSE5:ACALL BARK MOV R3,#05H AJMP ERRORFALSE6:ACALL BARK MOV R3,#06H AJMP ERRORFALSE7:ACALL BARK MOV R3,#07H AJMP ERRORFALSE8:ACALL BARK MOV R3,#08H AJMP ERROR COUNT:MOV R0,#00H ;倒计时处理程序,重置定时器中断次数 MOV TH1,#3CH M

15、OV TL1,#0B0HRECOUNT: MOV A,R6 ; R6保存了倒计时的时间 MOV B,#0AH DIV AB ; 除法指令 MOV 30H,A ;十位存于(30H) MOV 31H,B ;个位存于(31H) MOV R5,30H ;取十位 MOV R4,31H ; 取个位 MOV A,R6 CLR C SUBB A,#07H JNC LARGER ;C=1转移 ,C=按顺序执行 MOV A,R0 CJNE A,#0AH,FULL ;比较不相等转移 CLR RING ;对响铃标志位清0 AJMP CHECK ;无条件转移到正常抢答处理程序FULL: CJNE A,#14H,CHEC

16、K SETB RING MOV A,R6 JZ QUIT ;A-0转移到按下停止键返回到开始 MOV R0,#00H DEC R6 ;计时1秒R6减1 AJMP CHECK ;无条件转移到正常抢答处理程序LARGER:MOV A,R0 CJNE A,#14H,CHECK ;比较不相等转移 DEC R6 ;计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P3.1,QUIT ;如按下停止键退出 ACALL DISPLAY ;无条件转移到显示处理程序 JNB P1.0,TRUE1 ;位=0转移到正常抢答处理程序 JNB P1.1,TRUE2 JNB P1.2,TRUE3 JNB P

17、1.3,TRUE4 JNB P1.4,TRUE5 JNB P1.5,TRUE6 JNB P1.6,TRUE7 JNB P1.7,TRUE8 AJMP RECOUNTQUIT: CLR OK ;对抢答标志位清0 CLR RING ;对响铃标志位清0 ACALL BARK ;调用发声程序并返回 AJMP START ;转移到查询程序TRUE1:ACALL BARK ;调用发声程序 CLR OK ;对开始抢答标志位清0 MOV R3,#01H AJMP LOOP3 TRUE2:ACALL BARK SETB OK MOV R3,#02H AJMP LOOP3TRUE3:ACALL BARK SETB

18、 OK MOV R3,#03H AJMP LOOP3TRUE4:ACALL BARK SETB OK MOV R3,#04H AJMP LOOP3TRUE5:ACALL BARK SETB OK MOV R3,#05H AJMP LOOP3TRUE6:ACALL BARK SETB OK MOV R3,#06H AJMP LOOP3TRUE7:ACALL BARK SETB OK MOV R3,#07H AJMP LOOP3TRUE8:ACALL BARK SETB OK MOV R3,#08H AJMP LOOP3LOOP2:AJMP DISPLAY ;抢答后停止计时,等待返回 SETB R

19、ING ;对响铃标志位置1 JNB P3.1,QUIT ;等待停止键按下 AJMP LOOP2ERROR:SETB RING ;犯规抢答程序 MOV R5,#0BH MOV R4,#0BH ; 显示FF和犯规号数LOOP3:ACALL DISPLAY JNB P3.1,QUIT1 ;等待停止键按下 AJMP LOOP3QUIT1:CLR RING CLR OK AJMP START ;转移到查询程序DISPLAY:MOV DPTR,#DAT1 ;显示处理程序 MOV A,R5 MOVC A,A+DPTR MOV P2,#01H MOV P0,A ACALL DELAY MOV DPTR,#DA

20、T2 MOV A,R4 MOVC A,A+DPTR MOV P2,#02H MOV P0,A ACALL DELAY MOV A,R3 MOVC A,A+DPTR MOV P2,#04H MOV P0,A ACALL DELAY RETDAT1:DB 00H,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71HDAT2:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,71HDELAY1:MOV 35H,#08HLOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET ;从子程序返回DELAY:

21、MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1:DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET ;从子程序返回BARK:SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING ;按键发声 RET INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.2,INC0 ;P3.2为+1s键,如按下跳到INCO JNB P3.3,DEC0 ;P3.3为-1s键,如按下跳到DECO JNB P3.4,BACK0

22、 ; P3.4为确定键;如按下跳到BACKO AJMP INT0SUBINC0: MOV A,R1 CJNE A,#63H,ADD0 ;如果不是99,R2加1;如果加到99了,R1就置0,重新加起 MOV R1,#00H ACALL DELAY1 AJMP INT0SUBADD0: INC R1 ACALL DELAY1 AJMP INT0SUBDEC0: MOV A,R1 JZ SETR1 ;如果R1为0, R1就置99 DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0:RETIT0INT:MOV TH0,#0ECH ;T0益出中断响应程序 MOV TL0,#0FFH JNB RING,OUT CPL P3.6 ;P3.6口不短取反使喇叭发出一定频率的声音OUT:RETIT1INT:MOV TH1,#3CH ;T1益出中断响应程序 MOV TL1,#0B0H INC R0 RETI END五、总体设计验证六、购买电路元器件及安装七、结论八、参考文献

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1