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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于单片机的四路抢答器的课程设计.docx

1、基于单片机的四路抢答器的课程设计学生姓名 学 号 系 电气工程系 专业班级 电气测控类一班 题目名称 四路抢答器设计 课程名称 单片机原理及应用 一、学生自我总结回顾起此次单片机课程设计,我仍感慨颇多,的确,在接近两星期的日子里,可以说得是苦多于甜,但是可以学到很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合的很重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从而、同时提高自己的实际动手能力和独立思考的能力,才能真正为社会服务。同时在设计的过程中发现了自己的不足之处,对以前所学过的知识

2、理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后,把以前所学过的知识重新温故。这次课程设计终于顺利完成了,是大家共同努力的结果。同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢! 学生签名: 2011年 6月 23 日二、指导教师评定评分项目平时成绩论文答辩综合成绩权 重304030单项成绩指导教师评语: 指导教师(签名): 年 月 日注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。目 录摘要 1第一章 抢答器总

3、体设计21.1 设计任务与要求2 1.2 方案设计与论证2第二章 单片机应用系统简介3 2.1 单片机结构3 2.2 单片机的封装形式,引脚定义及功能3第三章 硬件电路设计4 3.1 抢答器的电路图5 3.2 单元电路设计5 3.3 复位电路设计6 3.4 报警电路设计6 3.5 显示电路7第四章 软件设计74.1 系统主程序设计8 4.2 主程序清单9第五章 调试及性能分析23第六章 设计总结及心得24附录:参考文献 摘要随着现代娱乐节目及其它游戏环节的需要,也为了完善节目的紧张气氛和观众的互动,就出现了多路抢答器。它是人们常用于各种需要抢答比赛时用的电路器材,是一名公正的裁判员。抢答器的出

4、现给人们带来极大的方便,他能准确无误的从若干名参赛中确定出最先抢答者,并且有显示,声效等功能。 DigestWith modern entertainment programs and other game loop, also need in order to improve the program of tension and the audience interaction, appeared more road vies to answer first device. It is often used in all kinds of people in the game to vies

5、 to answer first circuit equipment, is a fair judge. The emergence of the vies to answer first people brings great convenience, he can accurate from several of participating in the first vies to answer first determine the, and have a show, sound effects, and other functions. 第一章 抢答器的总体设计1.1设计任务与要求 要

6、求实现功能:将其中3个按键定义为14号,第一位数码管用于计时,第二位数码管用于显示当前抢答着。当开始后第二位数码管闪烁显示“-”,计时开始后,等待抢答。抢答后,停止计时,第二位数码管显示抢答者对应编号,按清除键清除。1. 设计出电气原理图;2. 设计出程序流程图;3. 设计出程序;4. 在实验室做出产品或仿真调试。1.2 设计方案与论证 方案:该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制,信号识别以及显示功能的实现。由于用了单片机,使其技术比较成熟,应用起来方便,便于控制和实现。具有灵活的可编程性,能方便对系统功能的扩张和更改。警报电路 AT89C51主持人开关鉴

7、别电路 选手开关显示电路 图1.2 抢答器原理图 第二章 单片机应用系统简介 2.1单片机结构定时器0定时器1震荡器CPU4KBRAM中断控制可编程全双工串行口I/O编口64KB总线扩张控制数据存储器256BRAMSFR (1)80C51单片机的功能结构 图2.1 单片机内部结构图 2.2 单片机的封装形式,引脚定义及功能。(1)80C51封装 80C51系列单片机具有双列直插式和方形两种封装。(2) 80C51系列单片机引脚功能 VCC-工作电源 +5V GND-电源接地 ALE/PROG访问外部存储器时作为低8位地址锁存控制信号。 PSEN- 外部程序读选通信号。 EA/VPP-访问程序存

8、储器控制信号。 RET-复位信号 XTAL1-片内震荡电路输入端。 XTAL2-片内震荡电路输出端。 P0- P3输入输出端口。 图2.2 80C51双列直插式引脚分布图第三章 硬件电路设计3.1 抢答器的电路图如图3.1所示为电路图,其工作原理为:接通电源后主持人将开关拨到“清零”状态,抢答器处于禁止状态,定时器设定时间,主持人将开关置“开始”,宣布抢答开始时,定时器倒计时,扬声器发出响声。选手要在规定时间内完成抢答;优先判断,编号锁存,扬声器提示。 图3.1 抢答器电路图3.2 单元电路设计 3.2.1 抢答选手开关电路 图3.2所示,该图为各个选手抢答信号的输入装置,在通过单片机,选择有

9、效信号,同时封锁 图3.2.1 抢答器选手开关电路3.2.2复位电路设计 外部中断的内部中断并存,单片机硬件复位端。 图3.2.2 复位端电路图3.2.3报警电路设计报警电路用于报警,但遇到信号时,发出报警,图3.2.3就是报警电路。选手在设定时间内抢答时,实现优先判断编号锁存等提示。图3.2.3 报警器电路图3.2.4 显示电路 显示电路用于显示抢答时间以及抢答信号,同时对犯规抢答组进行闪烁显示。其显示电路如图3.2.4所示。 图3.2.4 显示电路图 第四章 软件设计4.1 主程序系统结构图 如图4-1所示为总体原理框图。其工作原理为:接通电源后,主持人将开光FW拨到“清零”状态,抢答器处

10、于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开光置“开始”状态,宣布“开始”抢答器工作。定时器开始倒计时。选手在规定的15s定时时间内抢答时,抢答器完成:优先判断、编号显示、扬声器提示,倒计时显示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作“清除”和“开始”状态开关。图4-1 总体原理框图4.2 系统主程序 为了能过达到抢答的公平,公正,合理,应该在主持人发布抢答命令之前必须设定抢答时间,因而设定时间程序很重要。下面是抢答器主程序流程图4.2 图4.2 抢答器主程序流程图4.3 主程序清单 OK EQU 20H ;抢答开始标志位

11、RING EQU 22H ;响铃标志位 DATA0 EQU 36H ;抢答按键口数据存放地址 ORG 0000H AJMP MAIN ORG 0003H AJMP INTT0 ORG 000BH AJMP T0INT ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,#15 ;初设抢答时间为15s MOV R2,#45 ;初设答题时间为45s mov 38h,#60 ;启用锦囊时间从60s倒计时 MOV TMOD,#11H ;设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH ;越高发声频率越高,越尖 MOV TH1,#3CH MO

12、V TL1,#0B0H ;50ms为一次溢出中断 SETB EA SETB ET0 SETB ET1 ;允许二个中断,T0/T1 CLR OK CLR RING SETB TR1 SETB TR0 ;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;=;=查询程序=;=START: MOV DATA0,#0FFH ;初始化 MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY ;未开始抢答时候显示FFF JNB P3.3,SELSUB0 JNB P3.4,TZ3 ;倒计时调整 JB P3.0,NEXT ACALL D

13、ELAY JB P3.0,NEXT ;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询 SETB EX0 ;开放INT0 ACALL BARK ;按键发声 MOV A,R1 MOV R6,A ;送R1-R6,因为R1中保存了抢答时间 SETB OK ;抢答标志位,在使用锦囊时用作判断是抢答倒计时还是回答倒计时 MOV R3,#0AH ;抢答只显示计时,灭号数 AJMP COUNT ;进入倒计时程序,查询有效抢答的程序在COUNT里面NEXT: JNB P1.0,FALSE1 JNB P1.1,FALSE2 JNB P1.2,TZ1 JNB P1.3,TZ2 AJMP STARTTZ1:

14、AJMP FALSE3TZ2: AJMP FALSE4TZ3: AJMP SELSUB1 AJMP START;=;=非法抢答处理程序=;=FALSE1: MOV R3,#01H AJMP ERRORFALSE2: MOV R3,#02H AJMP ERRORFALSE3: MOV R3,#03H AJMP ERRORFALSE4: MOV R3,#04H AJMP ERROR;=;=SELSUB0(抢答时间R1调整程序)=;=SELSUB0: MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY ;先在两

15、个时间LED上显示R1 JNB P3.5,INC0 ;P3.5为+1s键,如按下跳到INCO JNB P3.6,DEC0 ;P3.6为-1s键,如按下跳到DECO JNB P3.1,BACK0 ;P3.1为确定键,如按下跳到BACKO AJMP SELSUB0INC0: MOV A,R1 CJNE A,#63H,ADD0 ;如果不是99,R2加1,如果加到99,R1就置0,重新加起。 MOV R1,#00H ACALL DELAY1 AJMP SELSUB0ADD0: INC R1 ACALL DELAY1 AJMP SELSUB0DEC0: MOV A,R1 JZ SETR1 ;如果R1为0

16、, R1就置99, DEC R1 ACALL DELAY1 AJMP SELSUB0SETR1: MOV R1,#63H ACALL DELAY1 AJMP SELSUB0BACK0: AJMP START;=;=SELSUB1(回答时间R2调整程序)=;=SELSUB1: MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.5,INC1 JNB P3.6,DEC1 JNB P3.1,BACK1 AJMP SELSUB1INC1: MOV A,R2 CJNE A,#63H,ADD1 MOV

17、R2,#00H ACALL DELAY1AJMP SELSUB1ADD1: INC R2 ACALL DELAY1 AJMP SELSUB1DEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP SELSUB1SETR2: MOV R2,#63H ACALL DELAY1 AJMP SELSUB1BACK1: AJMP START;=;=启用锦囊程序=;=REPEAT:MOV A,38h ;使用锦囊时重新计时 MOV R6,A CLR RING ;当倒计时进入最后5秒的时候,启用锦囊能消除蜂鸣;=;=倒计时程序(抢答倒计时和回答倒计时都跳到改程序)=;

18、=COUNT: MOV R0,#00H ;重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H ;重置定时器RECOUNT:MOV A,R6 ;R6保存了倒计时的时间,之前先将抢答时间或回答时间给R6 MOV B,#0AH DIV AB ;除十分出个位/十位 MOV 30H,A ;十位存于(30H) MOV 31H,B ;个位存于(31H) MOV R5,30H ;取十位 MOV R4,31H ;取个位 MOV A,R6 SUBB A,#07H JNC LARGER ;大于5s跳到LARGER,小于等于5s会提醒 MOV A,R0 CJNE A,#0AH,FULL ;1s中

19、0.5s向下运行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK ;下面是1s的情况,响并显示号数并清R0,重新计 SETB RING MOV A,R6 JZ QUIT ;计时完毕 MOV R0,#00H DEC R6 ;一秒标志减1 AJMP CHECKLARGER: MOV A,R0 CJNE A,#14H,CHECK ;如果1s向下运行,否者跳到查停/显示 DEC R6 ;计时一秒R6自动减1 MOV R0,#00HCHECK: JNB P3.1,QUIT;如按下停止键退出 JNB OK,CHECKK ;只在回答倒计时才有效 AJMP NEXTTCH

20、ECKK:JNB P3.0,REPEAT ;判断是否使用锦囊NEXTT: ACALL DISPLAY JB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT:MOV A,DATA0 JNB ACC.0,TRUE1 JNB ACC.1,TRUE2 JNB ACC.2,TZ7 JNB ACC.3,TZ8 AJMP RECOUNT TZ7: AJMP TRUE3 TZ8: AJMP TRUE4 AJMP RECOUNT QUIT: CLR OK ;如果按下了停止键执行的程序 CLR RING AJMP START;

21、=;=正常抢答处理程序=;=TRUE1: ACALL BARK MOV A,R2 MOV R6,A ;抢答时间R2送R6 MOV R3,#01H CLR OK ;因为答题的计时不再查询抢答,所以就锁了抢答 AJMP COUNTTRUE2:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#02H CLR OK AJMP COUNTTRUE3:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#03H CLR OK AJMP COUNTTRUE4:ACALL BARK MOV A,R2 MOV R6,A MOV R3,#04H CLR OK AJMP

22、COUNT;=;=犯规抢答程序=;=ERROR: MOV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3 ;犯规号数暂存与(34H)HERE: MOV A,R0 CJNE A,#06H,FLASH ;0.3s向下运行-灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH ;三灯全灭 AJMP CHECK1FLASH: CJNE A,#0CH,CHECK1 ;下面是0.8s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H ;取回号数 MOV R5,#0BH MOV R4,#0BH ;显示FF和号数 AJMP CHECK1CHECK1: JNB P3.1,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR RING CLR OK AJMP START;=;=显示程序=;=

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2