基于单片机的数字式竞赛抢答器_毕业设计说明书.docx

上传人:牧羊曲112 文档编号:4086549 上传时间:2023-04-03 格式:DOCX 页数:34 大小:320.03KB
返回 下载 相关 举报
基于单片机的数字式竞赛抢答器_毕业设计说明书.docx_第1页
第1页 / 共34页
基于单片机的数字式竞赛抢答器_毕业设计说明书.docx_第2页
第2页 / 共34页
基于单片机的数字式竞赛抢答器_毕业设计说明书.docx_第3页
第3页 / 共34页
基于单片机的数字式竞赛抢答器_毕业设计说明书.docx_第4页
第4页 / 共34页
基于单片机的数字式竞赛抢答器_毕业设计说明书.docx_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《基于单片机的数字式竞赛抢答器_毕业设计说明书.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字式竞赛抢答器_毕业设计说明书.docx(34页珍藏版)》请在三一办公上搜索。

1、四川信息职业技术学院毕业设计说明书设计题目: 基于单片机的数字式竞赛抢答器 专 业: 通 信 技 术 班 级: 学 号: 姓 名: 指导教师: 二八年十二月三十日四川信息职业技术学院毕业设计(论文)任务书学 生姓 名学号班级专业通信技术设计题目基于单片机的数字式竞赛抢答器指导教师姓名职 称工作单位及所从事专业联系方式备 注讲 师高级工程师设计(论文)内容:(1)设计指标抢答器可同时供8名选手或8个代表队比赛。设置一个系统清除和抢答控制开关,该开关由主持人控制。抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先

2、抢答选手的编号一直保持到主持人将系统清除为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动开始键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间秒左右。参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示FF。(2)设计要求画出电路原理图(或仿真电路图);元器件及参数选择;单片机程序设计与编程;电路仿真与调试;PCB文件生成。进度安排:第5周:任务下达,理解消化任务要求;初步设计方案确定;第6周第

3、10周:设计方案确定,分模块部分完成;第11周:中期检查,查找问题,分析解决难点;第12周第15周:分模块调试,整体电路调试,论文书写等;第16周:答辩。参考文献:1朱永金.成友才.单片机应用技术.北京:中国劳动社会保障出版社,20072何立民.单片机高等教程.北京:航空航天大学出版社,20003雄建云.Protel99 se EDA技术及应用.北京:机械工业出版社,20074林春方.电子线路学习指导与实训.北京:电子工业出版社,2004审批意见教研室负责人:年 月 日备注:任务书由指导教师填写,一式二份。其中学生一份,指导教师一份目录摘要1第1章绪论2第2章整体方案设计3方案比较3方案论证及

4、选择4第3章抢答器硬件电路设计5单片机最小系统5单片机时钟电路5单片机复位电路6键盘电路设计6选手抢答电路7主持人操纵电路7显示驱动电路8蜂鸣电路9电源电路10第4章软件部份11单片机内部信号分析11要紧程序流程11系统主程序流程11中断程序流程12第5章仿真及调试14软件仿真14硬件调试14总结16致谢17参考文献18附录1整机电路图19附录2PCB板图20附录3源程序21摘要本设计是采纳单片机设计的多人竞赛智力抢答器系统。它具有电路简单、功能齐全、制作本钱低、性价比高等特点,是一种经济、有效的竞赛用抢答器。硬件部份要紧由单片机、LED显示器、LED驱动器、声音报警器、主持人操作键盘和其它大

5、体外围电子电路组成。软件部份采纳51系列单片机通用汇编语言与C语言设计编写。该抢答器不仅能实现显示列位抢答选手号,而且具有抢答30秒倒计时(可调)、答题60秒倒计时(可调)、违例抢答报警等功能。而且功能增减方便,只需对软件做相应修改即可。关键词单片机;抢答;倒计时第1章绪论电子运算机的进展经历了从电子管、晶体管、集成电路到大规模集成电路共四个时期,即通常所说的第一代、第二代、第三代和第四代运算机。此刻普遍利用的微型运算机是大规模集成电路技术进展的产物,因此它属于第四代运算机,而单片机那么是微型运算机的一个分支。从1971年微型运算机问世以来,由于实际应用的需要,微型运算机向着两个不同的方向进展

6、:一个是向着高速度、大容量、高性能的高级微机方向进展;而另一个那么是向稳固靠得住、体积小和价钱廉的单片机方向进展。但二者在原理和技术上是紧密联系的。单片机因将其要紧组成部份集成在一个芯片上而得名,具体说确实是把中央处置器、随机存储器、只读存储器、中断系统、按时器/计数器和I/O口电路等要紧微型机部件,集成在一块芯片上。尽管单片机只是一块芯片,但从功能和组成上,它已具有了运算机的属性,为此它称为单片微型机。单片机有很多的特点,要紧表此刻:体积小、功耗低、价钱廉、操纵功能强、应用现场环境恶劣等。本设计的核心采纳了AT89C51单片机。80C51单片机系列是在MCS51系列的基础上进展起来的,初期的

7、80C51只是系列众多芯片中的一类,可是随着后来的进展,80C51已经形成独立的系列,而且成为当前8位单片机的典型代表。80C51芯片为40引脚双列直插封装,单一的+5V电源,它具有3个可编程I/O口,其中2个口(A和B)为8位口,1个口(C)为6位口。另外还有128单元的RAM和1个14位计数结构的按时器/计数器。第2章整体方案设计方案比较方案一:采纳数字电路实现按时抢答器的整体框图如图2-1所示,它由主体电路和扩展电路两部份组成。主体电路完成大体的抢答功能,即开始抢答后,被选手按动抢答按钮时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。扩展电路完成按时抢答功能。主若是对秒脉冲产

8、生电路计算从而达到按时功能。图2-1数字抢答器组成框图按时抢答器的工作进程是:主持人将开关置于“清除”位置,抢答器处于禁止工作状态,按时显示器上显示设定的时刻,当节目主持人宣布抢答题目后,按下“开始”键,扬声器发出响声提示,按时器倒计时。当定不时刻到,却没有选手抢答,系统报警,并禁止选手超时后抢答。被选手在定不时刻内抢答时,电路当即分辨出抢答者的编号,由锁存器进行锁存,然后译码显示电路显示编号,同时扬声器发声报警,同时对输入编码电路进行封锁,幸免其他选手再次抢答,显示剩余抢答时刻,并维持到主持人将系统清零为止。被选手将问题回答完毕时,主持人操作操纵开关,使系统恢复到禁止工作状态,以便进行下一轮

9、抢答。方案二:采纳单片机实现相较第一方案而言此方案,采单片机为操纵核心大大简化了系统电路结构,把各类处置的功能整合在了单片机内部。此设计方案把软件的设计作为设计重点,在原始的单一功能上添加了倒计时抢答、答题倒计时、显示选手号等新颖的附属功能,并保留了传统的报警部份,电路还较简单,具体方框图如2-2所示。图2-2方案二框图这是一种单片机操纵的智能化抢答器,该抢答器能够克服一般抢答器存在的各类缺点。本系统的功能是通过按下抢答键的按钮使单片机相应的端口线读入信号,通过处置后输出显示所按下的键号。本系统还具有挑选第一有效抢答信号、显示超前违规抢答信号、和可变的抢答倒计时信号和答题倒计时信号等功能。方案

10、论证及选择不管是学校、工厂、军队仍是益智性电视节目,都会举行各类各样的智力竞赛,都会用到抢答器。目前市场上已有各类各样的智力竞赛抢答器,但绝大多数以模拟电路、数字电路或模拟电路与数字电路相结合的产品。这部份抢答器以相当做熟,可是能够看到功能越多的电路相对来讲就越复杂,且本钱较高,故障高,显示方式简单,乃至没有显示电路。方案一中电路模块太多,还不能显示剩余答题时刻,无法准确判定选手答题是不是超时。最近几年来随着科技的飞速进展,单片机的应用正不断走向深切。因此咱们选用单片机作为核心部件进行逻辑操纵及信号的产生,用单片机本身的优势使竞赛真正达到公正、公平、公布。第3章抢答器硬件电路设计单片机最小系统

11、单片机利用51系列的AT89C51单片机,该单片机应用普遍,技术成熟。AT89C51单片机是一个低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM)。AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程按时计数器,2个全双工串行通信口,AT89C51能够依照常规方式进行编程,也能够在线编程。AT89C51单片机引脚见图3-1所示:图3-1AT89C51引脚图单片机时钟电路AT89C51单片机中有一个用于组成内部振荡器的高增益反向放大器,引脚XTAL1和X

12、TAL2别离为反向放大器的输入和输出,那个放大器作为反馈元件的片外石英晶体振荡或陶瓷谐振器一路组成自激振荡器。外接石英晶体及电容、接在放大器的反馈回路中组成并联振荡电路。关于外接电容、尽管没有十分严格的要求,但电容容量的大小会轻微阻碍振荡频率的高低、振荡器的稳固性、起振的难易程度及温度稳固性。一样利用石英晶体,电容利用30pF10pF,而如利用陶瓷谐振器,最好选择40pF10pF。单片机复位电路复位是单片机的重要操作内容,复位功能是系统正常运行的先决条件。在简单的复位电路中,只要在微处置芯片的RST引脚维持高电平达2个以上的机械周期,即可完成一次复位操作。考虑到电源的稳固时刻,参数漂移,晶振稳

13、固时刻和复位的靠得住性等因素,一样只要在RST引脚显现10ms以上的高电平,就能够使单片机有效复位。复位是由外部电路来实现的,按功能分为以下两种方式:上电自动复位方式和人工复位方式。上电自动复位电路尽管能实现上电复位功能,但对干扰没有抗击作用,不能保证复位电路任何时候都能靠得住地工作。人工复位将一个按钮开关并联于上电复位电路中。按一下开关会在RST端显现一段时刻的高电平,使单片机复位,平安靠得住,因此选择人工复位电路。见图3-2所示。图3-2单片机最小系统电路原理图键盘电路设计键盘是单片机应用系统最经常使用的输入设备,操作人员能够通过键盘向单片机系统输入指令、地址和数据,实现简单的人机通信。选

14、手抢答电路本设计要求设计可供8名选手抢答的抢答器,可选用矩阵键盘独立式行列键盘。独立式按键确实是各按键彼此独立,每一个按键单独占用一根I/O口线,每根I/O口线的按键工作状态可不能阻碍其他I/O口线上的工作状态。因此,通过检测输入线的电平状态能够很容易判定哪个按键被按下了。优势:电路配置灵活,软件结构简单。缺点:每一个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。因此,此键盘是用于按键较少或操作速度较高的场合。矩阵键盘与独立式按键键盘相较,硬件电路大大节省。可通过软件的方式让一键具有多功能。它适用于按键数量较多的场合,由行列线组成,按键位于行列的交叉点上,节省I

15、/O口。可是需要大量扫描、译码程序设计关于咱们来讲有些困难,考虑到本设计只需8名选手抢答,因此采纳独立式行列按键,S1-S8别离是选手1至选手8的抢答按键,如图3-3所示。图3-3选手抢答电路主持人操纵电路操纵电路是抢答器所必要的部份,它由主持人操纵,用于操纵开始/停止抢答、抢答时刻和答题时刻的调整。采纳功能按键实现,如图3-4所示。图3-4主持人操纵电路显示驱动电路驱动显示部份是本设计一个重要部份,LED数码管分为共阴极7段数码管如图3-5所示,共阳极7段数码管如图3-6所示。图3-5共阴极7段数码管图3-6共阳极7段数码管在单片机设计中,LED数码管的显示方式有静态显示、动态显示两种,由于

16、静态显示数码管的每一个LED需要占用单片机的一条端口线实现显示操纵,而单片机端口有限,因此采纳动态操纵显示方式。将几只数码管的a-h别离连在一路与单片机段码操纵端P0口连在一路,作为数码管段码操纵。P2口的与数码管公共端连在一路作为位码选择操纵,使每只数码管能够单独显示。由于单片机端口驱动能力不足,数码管的电流较大,因此在P0口接上拉电阻增加驱动能力,P2口作为位码操纵端驱动共阴型数码管显示。如图3-7所示。图3-7驱动显示电路蜂鸣电路蜂鸣器要紧分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,

17、使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的彼此作用下,周期性的振动发声。压电式蜂鸣器要紧由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。它的发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要必然的电流才能驱动,本设计采纳I/O口()向扬声器送高电平来操纵扬声器发声。如图3-8所示。图3-8蜂鸣电路电源电路80C51单片机正常工作电压范围为直流+至+6V,标准电压为+5V。实际应历时,可采纳3节干电池串联组成或三端集成稳压器组成+5V直流电压源。假设采纳后者,可用220V市电经整流、滤波、稳压后输出稳固的+5V的直流电为其供电。+5V稳压器采纳CW7805,

18、其应用电路如图3-9所示。图中滤波电容C2和C4的值约为1000F,C3和C5为F。发光二极管D6的作用是显示读写器的电源是不是接通,假设接通那么D6灯亮,无接通那么D6灯灭。图3-9电源电路原理图第4章软件部份单片机内部信号分析第一主持人按下复位按键,单片机进行内部扫描的同时主持人能够调剂抢答时刻和许诺答题时刻,在整定的时刻当中若是没有调剂抢答时刻和答题时刻,那么抢答器工作为设置的默许值(抢答时刻30s,答题时刻60s)。如倒计时期间,主持人想停止倒计时能够随时按“停止”按键,系统会自动进入预备状态,等待主持人按“抢答开始键”进入下次抢答计时。同时在主持人未按下开始抢答按钮的时候有选手抢答,

19、那么单片机发出一个选手犯规信号送入扬声器,同时在LED数码管上显示选手号,以便主持人记录。只有当主持人按下开始抢答按钮,现在单片机开始倒计时并送到数码管显示,与此同时单片机向扬声器发一个提示信号驱动扬声器发声,现在选手才能开始抢答。要紧程序流程系统主程序流程系统主程序操纵单片机系统按预定的操作方式运行,它是单片机系统程序的框架。系统上电后,对系统进行初始化。初始化程序要紧完成对单片机内专用寄放器的设定,单片机工作方式及各端口的工作状态的规定流程图如图4-1所示。NN图4-1要紧流程图中断程序流程时刻调剂采纳中断来实现,流程图如图4-2所示,若是想调剂抢答时刻或答题时刻,按“抢答时刻调剂”键或“

20、答题时刻调剂”键进入调剂状态,现在会显示此刻设定的抢答时刻或回答时刻值,如想加一秒按一下“加1s”键,若是想减一秒按一下“-1s”键,时刻LED上会显示改变后的时刻,调整范围为0s99s,0s时再减1s会跳到99s,99s时再加1s会变到0s。图4-2中断流程图第5章仿真及调试软件仿真第一安装keilC51软件,成立工程,在工程目录下成立项目,在项目下编辑程序,保留在工程项目中,注意必然要设置文件后辍名,汇编语言程序为.ASM,C语言程序为.C,然后编译仿真直到0错误,0警告,最后生成hex文件以备后用,如图5-1所示。图5-1程序仿真完成硬件调试安装硬件调试软件ProteusISIS,在原理

21、图编辑区画好硬件电路图,设置好相应参数,导入hex文件。具体功能仿真如下:电路初始化,显示FFF等待主持人按下开始键,如图5-2所示。图5-2电路初始化抢答时刻调至72秒时,如图5-3所示。图5-3抢答时刻调至72秒答题时刻调至67秒时,如图5-4所示。图5-4答题时刻调至67秒在主持人未按下开始键时3号选手抢答犯规,显示器显示选手号并闪烁,同时扬声器发声报警,如图5-5所示。图5-53号选手抢答犯规主持人按下开始键,倒计时到21秒都无人抢答,显示器显示倒计时,如图5-6所示。图5-6无人抢答倒计时到21秒主持人按下开始键,4号选手成功抢答,显示器显示4号选手号,同时扬声器短暂发声报警,如图5

22、-7所示。图5-74号选手成功抢答通过调试此设计除知足显示、报警、操纵等设计要求外,还具有显示犯规选手号并闪烁提示、抢答时刻答题时刻可调等新颖的功能。还需要改良的地址是在抢答期间或答题期间主持人按“停止”按键,终止抢答和答题时,扬声器不能报警。总结时至今日,几个礼拜的毕业设计终于能够画上一个句号,可是此刻回忆起毕业设计的整个进程,很有心得!没有同意任务以前感觉毕业设计只是对这几年来所学知识的单纯总结,可是通过这次做毕业设计发觉自己以前的观点有点太片面、太偏激了。毕业设计不仅是对前面所学知识的一种查验,而且也是对自己能力的一种提高。下面我对整个毕业设计的进程做一下简单的总结。第一,接到任务以后进

23、行选题。选题是毕业设计的开端,选择适当的、感爱好的题目,关于整个毕业设计是不是能够顺利进行关系极大。比如走路,第一步是具有决定意义的,第一步迈向何方,需要慎重考虑。不然,就可能走许多弯路、费许多周折,乃至背道而驰,难以抵达目的地。因此,选题时必然要考虑好。然后,确实是找资料了。查找资料是做毕业设计的前期预备工作。到图书馆、书店、资料室去虽说是比较原始的方式,但也有可取的地方的。总之,不管通过哪一种方式查的资料都是有利用价值的,要一一记录下来以备后用。通过上面的进程,已经积存了很多资料,对所选的题目也可能有了一些了解,下一步确实是在如此一个基础上,综合已有的资料来更透彻的分析题目。有了研究方向,

24、就应该动手实现了。其实以前的三步都是为这一步作的铺垫。编写源代码的时候最好是编写一个小模块就进行调试,如此能够幸免设计的最后显现太多的错误而乱成一团糟。每做一会儿会发觉一处错误就要即时修改,就如此不断的修改调试,再修改再调试。总之,知识必需通过应用才能实现其价值!有些东西以为学会了,但真正到用的时候才发觉是两码事,因此我以为只有到真正会用的时候才是真的学会了。在整个毕业设计进程中使我知道了许多东西,也培育了我独立工作的能力,树立了对自己工作能力的信心,相信会对尔后的学习工作生活有超级重要的阻碍。而且大大提高了动手的能力,使我充分体会到了在制造进程中探讨的艰巨和成功的喜悦。尽管那个设计还不是很完

25、善,可是在设计进程中所学到的东西是这次毕业设计的最大收成和财富,使我终身受益。致谢本文是在潘锋教师的悉心指导下完成的,衷心感激他在设计的写作期间给与我的热情帮忙和指导。潘锋教师渊博的知识,认真负责的工作作风,平易近人的态度,给与我勇敢面对困难的勇气和力量,让我获益匪浅。在此,向潘锋教师表示最衷心的感激和最真挚的敬意。还要感激我的同窗,他们在我的设计写作进程中提出了很多宝贵的意见,并给了我很多启发。感激四川信息职业技术学院的全部领导和教师,你们深厚的学术功底和诲人不倦的高贵师德将让我受用一生。感激通技06-2班全班同窗给予我的关切、友谊和帮忙,是你们给了我美好而难忘的学习生活。最后,向百忙当中抽

26、时刻对本文进行审阅,评议和参与本人论文答辩的列位教师表示感激。参考文献1朱永金,成友才单片机应用技术北京:中国劳动社会保障出版社,20072何立民单片机高等教程北京:航空航天大学出版社,20003雄建云Protel99 se EDA技术及应用北京:机械工业出版社,20074林春方电子线路学习指导与实训北京:电子工业出版社,2004附录整机电路图附录PCB板图PCB元器件放置面PCB元器件焊接面附录源程序OK EQU 20H;抢答开始标志位RING EQU 22H;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG

27、 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30;初设抢答时刻为30sMOV R2,#60;初设答题时刻为60sMOV TMOD,#11H;设置未按时器/模式1MOV TH0,#0F0HMOV TL0,#0FFH;越多发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H;50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1;许诺四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0;一开始就运行按时器,以开始显

28、示FFF.若是想从头计数,重置TH1/TL1就能够够了;=查询程序=START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY;未开始抢答时候显示FFFJB ,NEXT;dddddddACALL DELAYJB ,NEXT;去抖动,若是开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1MOV R6,A;送R1-R6,因为R1中保留了抢答时刻SETB OK;抢答标志位,用于COUNT只程序中判定是不是查询抢答MOV R7,#01H ;读抢答键数据信号标志,那个地址表示只读一次有效信号MOV R3,#0AH;抢答

29、只显示计时,灭号数AJMP COUNT;进入倒计时程序,查询有效抢答的程序在COUNT里面NEXT: JNB ,FALSE1JNB ,FALSE2JNB ,FALSE3JNB ,FALSE4JNB ,FALSE5JNB ,FALSE6JNB ,FALSE7JNB ,FALSE8AJMP START;=非法抢答处置程序=FALSE1: MOV R3,#01HAJMP ERRORFALSE2: MOV R3,#02HAJMP ERRORFALSE3: MOV R3,#03HAJMP ERRORFALSE4: MOV R3,#04HAJMP ERRORFALSE5: MOV R3,#05HAJMP

30、ERRORFALSE6: MOV R3,#06HAJMP ERRORFALSE7: MOV R3,#07HAJMP ERRORFALSE8: MOV R3,#08HAJMP ERROR;=INT0(抢答时刻R1调整程序)=INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY;先在两个时刻LED上显示R1JNB ,INC0;为+1s键,如按下跳到INCOJNB ,DEC0;为-1s键,如按下跳到DECOJNB ,BACK0;为确信键,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1

31、CJNE A,#63H,ADD0;若是不是99,R2加1,若是加到99,R1就置0,从头加起。MOV R1,#00HACALL DELAY1AJMP INT0SUBADD0: INC R1ACALL DELAY1AJMP INT0SUBDEC0: MOV A,R1JZ SETR1;若是R1为0, R1就置99,DEC R1ACALL DELAY1AJMP INT0SUBSETR1: MOV R1,#63HACALL DELAY1AJMP INT0SUBBACK0: RETI ;=INT1(回答时刻R2调整程序)=INT1SUB:MOV A,R2MOV B,#0AHDIV ABMOV R5,AM

32、OV R4,BMOV R3,#0AHACALL DISPLAYJNB ,INC1JNB ,DEC1JNB ,BACK1AJMP INT1SUBINC1: MOV A,R2CJNE A,#63H,ADD1MOV R2,#00HACALL DELAY1AJMP INT1SUBADD1: INC R2ACALL DELAY1AJMP INT1SUBDEC1: MOV A,R2JZ SETR2DEC R2ACALL DELAY1AJMP INT1SUBSETR2: MOV R2,#63HACALL DELAY1AJMP INT1SUBBACK1: RETI ;=倒计时程序(抢答倒计时和回答倒计时都跳到

33、改程序)=REPEAT:MOV A,R2 ;利用锦囊时从头计时MOV R6,ACLR RING COUNT: MOV R0,#00H;重置按时器中断次数MOV TH1,#3CHMOV TL1,#0B0H;重置按时器RECOUNT:MOV A,R6;R6保留了倒计时的时刻,之前先将抢答时刻或回答时刻给R6MOV B,#0AHDIV AB;除十分出个位/十位MOV 30H,A;十位存于(30H)MOV 31H,B;个位存于(31H)MOV R5,30H;取十位MOV R4,31H;取个位MOV A,R6SUBB A,#07HJNC LARGER;大于5s跳到LARGER,小于等于5s会提示MOV

34、A,R0CJNE A,#0AH,FULL;1s中向下运行CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK;下面是1s的情形,响并显示号数并清R0,从头计SETB RINGMOV A,R6JZ QUIT;计时完毕MOV R0,#00HDEC R6;一秒标志减1AJMP CHECKLARGER: MOV A,R0CJNE A,#14H,CHECK;若是1s向下运行,否者跳到查停/显示DEC R6;计时一秒R6自动减1MOV R0,#00HCHECK: JNB ,QUIT;如按下停止键退出JNB OK,CHECKK ;只在回答倒计时才有效AJMP NEXTTCHE

35、CKK:JNB ,REPEAT ;判定是不是利用锦囊NEXTT: ACALL DISPLAYJB OK,ACCOUT;若是是抢答倒计时,如是那么查询抢答,否者跳过查询继续倒数(那个地址起到锁抢答作用)AJMP RECOUNTACCOUT:MOV A,36HJNB ,TRUE1JNB ,TRUE2JNB ,TRUE3JNB ,TRUE4JNB ,TRUE5JNB ,TRUE6JNB ,TZ1JNB ,TZ2AJMP RECOUNTTZ1:JMP TRUE7TZ2:JMP TRUE8 QUIT: CLR OK;若是按下了停止键执行的程序CLR RINGAJMP START;=正常抢答处置程序=TR

36、UE1: ACALL BARKMOV A,R2MOV R6,A;抢答时刻R2送R6MOV R3,#01HCLR OK;因为答题的计时再也不查询抢答,因此就锁了抢答AJMP COUNTTRUE2:ACALL BARKMOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP COUNTTRUE3:ACALL BARKMOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4:ACALL BARKMOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5:ACALL BARK MOV A,R2MOV R6,

37、AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK MOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNTTRUE7:ACALL BARK MOV A,R2MOV R6,AMOV R3,#07HCLR OKAJMP COUNTTRUE8:ACALL BARK MOV A,R2MOV R6,AMOV R3,#08HCLR OKAJMP COUNT;=犯规抢答程序=ERROR: MOV R0,#00HMOV TH1,#3CHMOV TL1,#0B0HMOV 34H,R3;犯规号数暂存与(34H)HERE: MOV A,R0CJ

38、NE A,#06H,FLASH;向下运行-灭并停响CLR RING MOV R3,#0AHMOV R4,#0AHMOV R5,#0AH;三灯全灭AJMP CHECK1FLASH: CJNE A,#0CH,CHECK1;下面是的情形,响并显示号数并清R0,从头计SETB RINGMOV R0,#00HMOV R3,34H;取回号数MOV R5,#0BHMOV R4,#0BH;显示FF和号数AJMP CHECK1CHECK1: JNB ,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGCLR OKAJMP START;=显示程序=DISPLAY:MOV DPTR

39、,#DAT1;查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,MOV A,R3MOVC A,A+DPTRMOV P2,#0feHMOV P0,AACALL DELAY2MOV DPTR,#DAT2MOV A,R5MOVC A,A+DPTRMOV P2,#0fdHMOV P0,AACALL DELAY2MOV A,R4MOVC A,A+DPTRMOV P2,#0fbHMOV P0,AACALL DELAY2RETDAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;灭,1,2,3,4,5,6,7,8,9,灭,FDAT2:

40、DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位若是为零显示熄灭;=加减时刻延时(起到可不能按下就加N个数)=DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET;=延时4236个机械周期(去抖动用到)=DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET;=延时4236个机械周期(显示用到)=DELAY2: MOV 32H,#43HLOOP3: M

41、OV 33H,#1EHMOV A,R7 ;每隔6070个机械周期读一次P1口,全为1时为无效数据,继续读,有一个不为1时,转到正常抢答处置JNZ AAAA1 ;没读到有效数据时继续转到AAAA1LOOP2: DJNZ 33H,LOOP2DJNZ 32H,LOOP3RET;=读抢答按键数据口程序=;由于在读抢答数据口的时候,单片机第一进入倒计时程序,再挪用显示程序,最后才检测按键口;但是在检测按键口时动态扫描要挪用三次(4ms)延时程序.如此就会致使读数据口显现滞后,造成1号优先最高.8号最低.;故采纳在延时子程序中加了读数据口程序.保证了灵敏度和靠得住性AAAA1: MOV A,P1CJNE

42、A,#0FFH,AA1 ;当不全为1时的数据为有效数据AA0: MOV 36H,A ;将有效数据送到36H暂存AJMP LOOP2AA1: DEC R7 AJMP AA0;=发声程序=BARK: SETB RINGACALL DELAY1ACALL DELAY1CLR RING;按键发声RET;=TO溢出中断(响铃程序)=T0INT: MOV TH0,#0ECHMOV TL0,#0FFHJNB RING,OUT;CPL ;RING标志位为1时候口不短取反使喇叭发出必然频率的声音OUT: RETI;=T1溢出中断(计时程序)=T1INT: MOV TH1,#3CHMOV TL1,#0B0HINC R0RETIEND四川信息职业技术学院学生姓名张智勇学号0620058班级通技06-2专业通信技术设计(论文)题目基于单片机的数字式竞赛抢答器指导教师潘锋 谭望春指导老师考核意见等级:指导教师:答辩评语等级: 答辩老师:总评成绩等级: 考核小组组长:备注以上两项成绩综合后,指导老师考核成绩占总分的60%,答辩成绩占总分的40%,按五级记分(优、良、中、及格、不及格)。毕业设计(论文)评语

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号