收藏 分销(赏)

2021年基于单片机的数字式竞赛抢答器设计说明.doc

上传人:二*** 文档编号:4516550 上传时间:2024-09-26 格式:DOC 页数:45 大小:403.04KB
下载 相关 举报
2021年基于单片机的数字式竞赛抢答器设计说明.doc_第1页
第1页 / 共45页
亲,该文档总共45页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

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

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

4、设计53.1单片机最小系统53.1.1单片机时钟电路53.1.2单片机复位电路63.2键盘电路设计63.2.1选手抢答电路73.2.2主持人控制电路73.3显示驱动电路83.4蜂鸣电路93.5电源电路10第4章软件某些114.1单片机内部信号分析114.2重要程序流程114.2.1系统主程序流程114.2.2中断程序流程12第5章仿真及调试145.1软件仿真145.2硬件调试14总结16致谢17参照文献18附录1整机电路图19附录2PCB板图20附录3源程序21摘要本设计是采用单片机设计多人比赛智力抢答器系统。它具备电路简朴、功能齐全、制作成本低、性价比高等特点,是一种经济、实用比赛用抢答器。

5、硬件某些重要由单片机、LED显示屏、LED驱动器、声音报警器、主持人操作键盘和其他基本外围电子电路构成。软件某些采用51系列单片机通用汇编语言与C语言设计编写。该抢答器不但能实现显示各位抢答选手号,并且具备抢答30秒倒计时(可调)、答题60秒倒计时(可调)、违例抢答报警等功能。并且功能增减以便,只需对软件做相应修改即可。核心词单片机;抢答;倒计时第1章绪论电子计算机发展经历了从电子管、晶体管、集成电路到大规模集成电路共四个阶段,即普通所说第一代、第二代、第三代和第四代计算机。当前广泛使用微型计算机是大规模集成电路技术发展产物,因而它属于第四代计算机,而单片机则是微型计算机一种分支。从1971年

6、微型计算机问世以来,由于实际应用需要,微型计算机向着两个不同方向发展:一种是向着高速度、大容量、高性能高档微机方向发展;而另一种则是向稳定可靠、体积小和价格廉单片机方向发展。但两者在原理和技术上是紧密联系。单片机因将其重要构成某些集成在一种芯片上而得名,详细说就是把中央解决器、随机存储器、只读存储器、中断系统、定期器/计数器以及I/O口电路等重要微型机部件,集成在一块芯片上。虽然单片机只是一块芯片,但从功能和构成上,它已具备了计算机属性,为此它称为单片微型机。单片机有诸多特点,重要体当前:体积小、功耗低、价格廉、控制功能强、应用现场环境恶劣等。本设计核心采用了AT89C51单片机。80C51单

7、片机系列是在MCS51系列基本上发展起来,初期80C51只是系列众多芯片中一类,但是随着日后发展,80C51已经形成独立系列,并且成为当前8位单片机典型代表。80C51芯片为40引脚双列直插封装,单一+5V电源,它具备3个可编程I/O口,其中2个口(A和B)为8位口,1个口(C)为6位口。此外尚有128单元RAM和1个14位计数构造定期器/计数器。第2章总体方案设计2.1方案比较方案一:采用数字电路实现定期抢答器总体框图如图2-1所示,它由主体电路和扩展电路两某些构成。主体电路完毕基本抢答功能,即开始抢答后,当选手按动抢答按钮时,能显示选手编号,同步能封锁输入电路,禁止其她选手抢答。扩展电路完

8、毕定期抢答功能。重要是对秒脉冲产生电路计算从而达到定期功能。图2-1数字抢答器构成框图定期抢答器工作过程是:主持人将开关置于“清除”位置,抢答器处在禁止工作状态,定期显示屏上显示设定期间,当节目主持人宣布抢答题目后,按下“开始”键,扬声器发出响声提示,定期器倒计时。当定期时间到,却没有选手抢答,系统报警,并禁止选手超时后抢答。当选手在定期时间内抢答时,电路及时辨别出抢答者编号,由锁存器进行锁存,然后译码显示电路显示编号,同步扬声器发声报警,同步对输入编码电路进行封锁,避免其她选手再次抢答,显示剩余抢答时间,并保持到主持人将系统清零为止。当选手将问题回答完毕时,主持人操作控制开关,使系统恢复到禁

9、止工作状态,以便进行下一轮抢答。方案二:采用单片机实现相比第一方案而言此方案,采单片机为控制核心大大简化了系统电路构造,把各种解决功能整合在了单片机内部。此设计方案把软件设计作为设计重点,在原始单一功能上添加了倒计时抢答、答题倒计时、显示选手号等新颖附属功能,并保存了老式报警某些,电路还较简朴,详细方框图如2-2所示。图2-2方案二框图这是一种单片机控制智能化抢答器,该抢答器可以克服普通抢答器存在各种缺陷。本系统功能是通过按下抢答键按钮使单片机相应端口线读入信号,通过解决后输出显示所按下键号。本系统还具备筛选第一有效抢答信号、显示超前违规抢答信号、以及可变抢答倒计时信号和答题倒计时信号等功能。

10、2.2方案论证及选取无论是学校、工厂、军队还是益智性电视节目,都会举办各种各样智力竞赛,都会用到抢答器。当前市场上已有各种各样智力竞赛抢答器,但绝大多数以模仿电路、数字电路或者模仿电路与数字电路相结合产品。这某些抢答器以相称成熟,但是可以看到功能越多电路相对来说就越复杂,且成本较高,故障高,显示方式简朴,甚至没有显示电路。方案一中电路模块太多,还不能显示剩余答题时间,无法精确判断选手答题与否超时。近年来随着科技飞速发展,单片机应用正不断走向进一步。因此咱们选用单片机作为核心部件进行逻辑控制及信号产生,用单片机自身优势使竞赛真正达到公正、公平、公开。第3章抢答器硬件电路设计3.1单片机最小系统单

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

12、AL2分别为反向放大器输入和输出,这个放大器作为反馈元件片外石英晶体振荡或陶瓷谐振器一起构成自激振荡器。外接石英晶体及电容、接在放大器反馈回路中构成并联振荡电路。对于外接电容、虽然没有十分严格规定,但电容容量大小会轻微影响振荡频率高低、振荡器稳定性、起振难易限度及温度稳定性。普通使用石英晶体,电容使用30pF10pF,而如使用陶瓷谐振器,最佳选取40pF10pF。3.1.2单片机复位电路复位是单片机重要操作内容,复位功能是系统正常运营先决条件。在简朴复位电路中,只要在微解决芯片RST引脚保持高电平达2个以上机器周期,即可完毕一次复位操作。考虑到电源稳定期间,参数漂移,晶振稳定期间以及复位可靠性

13、等因素,普通只要在RST引脚浮现10ms以上高电平,就能使单片机有效复位。复位是由外部电路来实现,按功能分为如下两种方式:上电自动复位方式和人工复位方式。上电自动复位电路虽然能实现上电复位功能,但对干扰没有抵抗作用,不能保证复位电路任何时候都能可靠地工作。人工复位将一种按钮开关并联于上电复位电路中。按一下开关会在RST端浮现一段时间高电平,使单片机复位,安全可靠,因此选取人工复位电路。见图3-2所示。图3-2单片机最小系统电路原理图3.2键盘电路设计键盘是单片机应用系统最惯用输入设备,操作人员可以通过键盘向单片机系统输入指令、地址和数据,实现简朴人机通信。3.2.1选手抢答电路本设计规定设计可

14、供8名选手抢答抢答器,可选用矩阵键盘独立式行列键盘。独立式按键就是各按键互相独立,每个按键单独占用一根I/O口线,每根I/O口线按键工作状态不会影响其她I/O口线上工作状态。因而,通过检测输入线电平状态可以很容易判断哪个按键被按下了。长处:电路配备灵活,软件构造简朴。缺陷:每个按键需占用一根I/O口线,在按键数量较多时,I/O口挥霍大,电路构造显得复杂。因而,此键盘是用于按键较少或操作速度较高场合。矩阵键盘与独立式按键键盘相比,硬件电路大大节约。可通过软件办法让一键具备多功能。它合用于按键数量较多场合,由行列线构成,按键位于行列交叉点上,节约I/O口。但是需要大量扫描、译码程序设计对于咱们来说

15、有些困难,考虑到本设计只需8名选手抢答,因此采用独立式行列按键,S1-S8分别是选手1至选手8抢答按键,如图3-3所示。图3-3选手抢答电路3.2.2主持人控制电路控制电路是抢答器所必要某些,它由主持人控制,用于控制开始/停止抢答、抢答时间和答题时间调节。采用功能按键实现,如图3-4所示。图3-4主持人控制电路3.3显示驱动电路驱动显示某些是本设计一种重要某些,LED数码管分为共阴极7段数码管如图3-5所示,共阳极7段数码管如图3-6所示。图3-5共阴极7段数码管图3-6共阳极7段数码管在单片机设计中,LED数码管显示方式有静态显示、动态显示两种,由于静态显示数码管每一种LED需要占用单片机一

16、条端口线实现显示控制,而单片机端口有限,因此采用动态控制显示方式。将几只数码管a-h分别连在一起与单片机段码控制端P0口连在一起,作为数码管段码控制。P2口P2.0P2.2与数码管公共端连在一起作为位码选取控制,使每只数码管可以单独显示。由于单片机端口驱动能力局限性,数码管电流较大,因此在P0口接上拉电阻增长驱动能力,P2口作为位码控制端驱动共阴型数码管显示。如图3-7所示。图3-7驱动显示电路3.4蜂鸣电路蜂鸣器重要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等构成。接通电源后,振荡器产生音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在

17、电磁线圈和磁铁互相作用下,周期性振动发声。压电式蜂鸣器重要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等构成。它发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声,因而需要一定电流才干驱动,本设计采用I/O口(P3.6)向扬声器送高电平来控制扬声器发声。如图3-8所示。图3-8蜂鸣电路3.5电源电路80C51单片机正常工作电压范畴为直流+4.5V至+6V,原则电压为+5V。实际应用时,可采用3节1.5V干电池串联构成4.5V或三端集成稳压器构成+5V直流电压源。若采用后者,可用220V市电经整流、滤波、稳压后输出稳定+5V直流电为其供电。+5V稳压器采用CW7805,其应用电

18、路如图3-9所示。图中滤波电容C2和C4值约为1000F,C3和C5为0.33F。发光二极管D6作用是显示读写器电源与否接通,若接通则D6灯亮,无接通则D6灯灭。图3-9电源电路原理图第4章软件某些4.1单片机内部信号分析一方面主持人按下复位按键,单片机进行内部扫描同步主持人可以调节抢答时间和容许答题时间,在整定期间当中如果没有调节抢答时间和答题时间,则抢答器工作为设立默认值(抢答时间30s,答题时间60s)。如倒计时期间,主持人想停止倒计时可以随时按“停止”按键,系统会自动进入准备状态,等待主持人按“抢答开始键”进入下次抢答计时。同步在主持人未按下开始抢答按钮时候有选手抢答,则单片机发出一种

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

20、题时间调节”键进入调节状态,此时会显示当前设定抢答时间或回答时间值,如想加一秒按一下“加1s”键,如果想减一秒按一下“-1s”键,时间LED上会显示变化后时间,调节范畴为0s99s,0s时再减1s会跳到99s,99s时再加1s会变到0s。图4-2中断流程图第5章仿真及调试5.1软件仿真一方面安装keilC51软件,建立工程,在工程目录下建立项目,在项目下编辑程序,保存在工程项目中,注意一定要设立文献后辍名,汇编语言程序为.ASM,C语言程序为.C,然后编译仿真直到0错误,0警告,最后生成hex文献以备后用,如图5-1所示。图5-1程序仿真完毕5.2硬件调试安装硬件调试软件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号选手号,同步扬声器短暂发声报警

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

23、选题是毕业设计开端,选取恰当、感兴趣题目,对于整个毕业设计与否可以顺利进行关系极大。好比走路,第一步是具备决定意义,第一步迈向何方,需要慎重考虑。否则,就也许走许多弯路、费许多周折,甚至南辕北辙,难以到达目地。因而,选题时一定要考虑好。然后,就是找资料了。查找资料是做毕业设计前期准备工作。到图书馆、书店、资料室去虽说是比较原始方式,但也有可取之处。总之,不论通过哪种方式查资料都是有运用价值,要一一记录下来以备后用。通过上面过程,已经积累了不少资料,对所选题目也大概有了某些理解,下一步就是在这样一种基本上,综合已有资料来更透彻分析题目。有了研究方向,就应当动手实现了。其实此前三步都是为这一步作铺

24、垫。编写源代码时候最佳是编写一种小模块就进行调试,这样可以避免设计最后浮现太多错误而乱成一团糟。每做一会儿会发现一处错误就要即时修改,就这样不断修改调试,再修改再调试。总之,知识必要通过应用才干实现其价值!有些东西以为学会了,但真正到用时候才发现是两回事,因此我以为只有到真正会用时候才是真学会了。在整个毕业设计过程中使我懂得了许多东西,也培养了我独立工作能力,树立了对自己工作能力信心,相信会对此后学习工作生活有非常重要影响。并且大大提高了动手能力,使我充分体会到了在创造过程中摸索艰难和成功喜悦。虽然这个设计还不是很完善,但是在设计过程中所学到东西是这次毕业设计最大收获和财富,使我终身受益。致谢

25、本文是在潘锋教师悉心指引下完毕,衷心感谢她在设计写作期间给与我热情协助和指引。潘锋教师渊博知识,认真负责工作作风,平易近人态度,给与我勇敢面对困难勇气和力量,让我获益匪浅。在此,向潘锋教师表达最衷心感谢和最诚挚敬意。还要感谢我同窗,她们在我设计写作过程中提出了诸多宝贵意见,并给了我诸多启发。感谢四川信息职业技术学院全体领导和教师,你们深厚学术功底和诲人不倦崇高师德将让我受用毕生。感谢通技06-2班全班同窗予以我关怀、情谊和协助,是你们给了我美好而难忘学习生活。最后,向百忙之中抽时间对本文进行审视,评议和参加本人论文答辩各位教师表达感谢。参照文献1朱永金,成友才单片机应用技术北京:中华人民共和国

26、劳动社会保障出版社,2何立民单片机高等教程北京:航空航天大学出版社,3雄建云Protel99 se EDA技术及应用北京:机械工业出版社,4林春方电子线路学习指引与实训北京:电子工业出版社,附录整机电路图附录PCB板图PCB元器件放置面PCB元器件焊接面附录源程序OK EQU 20H;抢答开始标志位RING EQU 22H;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN:MOV R1,#30;初设抢答时间为30

27、sMOV 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;一开始就运营定期器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;=查询程序=START:MOV R5,#0BHMOV R4,#0BHMOV R3,#0BH

28、ACALL DISPLAY;未开始抢答时候显示FFFJB P3.0,NEXT;dddddddACALL DELAYJB P3.0,NEXT;去抖动,如果开始键按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1MOV R6,A;送R1-R6,由于R1中保存了抢答时间SETB OK;抢答标志位,用于COUNT只程序中判断与否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表达只读一次有用信号MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,查询有效抢答程序在COUNT里面NEXT:JNB P1.0,FALSE1JNB P

29、1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START;=非法抢答解决程序=FALSE1:MOV R3,#01HAJMP ERRORFALSE2:MOV R3,#02HAJMP ERRORFALSE3:MOV R3,#03HAJMP ERRORFALSE4:MOV R3,#04HAJMP ERRORFALSE5:MOV R3,#05HAJMP ERRORFALSE6:MOV R3,#06HAJMP ERRORFALSE7:MOV

30、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 P3.4,INC0;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0;P3.1为拟定键,如按下跳到BACKOAJMP INT0SUBINC0:MOV A,R1CJNE A,#63H,ADD0;如果不是99,

31、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,AMOV R4,BMOV R3,#0AHACALL DISPL

32、AYJNB P3.4,INC1JNB P3.5,DEC1JNB P3.1,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 ;=倒计时程序(抢答倒计时和回答倒计时都跳到改程序)=REPEAT:MOV A,R2 ;

33、使用锦囊时重新计时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 A,R0CJNE A,#0AH,FULL;

34、1s中0.5s向下运营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 P3.1,QUIT;如按下停止键退出JNB OK,CHECKK ;只在回答倒计时才有效AJMP NEXTTCHECKK:JNB P3.0,REPE

35、AT ;判断与否使用锦囊NEXTT:ACALL DISPLAYJB OK,ACCOUT;如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)AJMP RECOUNTACCOUT:MOV A,36HJNB ACC.0,TRUE1JNB ACC.1,TRUE2JNB ACC.2,TRUE3JNB ACC.3,TRUE4JNB ACC.4,TRUE5JNB ACC.5,TRUE6JNB ACC.6,TZ1JNB ACC.7,TZ2AJMP RECOUNTTZ1:JMP TRUE7TZ2:JMP TRUE8 QUIT:CLR OK;如果按下了停止键执行程序CLR RINGAJM

36、P START;=正常抢答解决程序=TRUE1: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 BAR

37、K MOV A,R2MOV R6,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)H

38、ERE:MOV A,R0CJNE A,#06H,FLASH;0.3s向下运营-灭并停响CLR RING MOV R3,#0AHMOV R4,#0AHMOV R5,#0AH;三灯全灭AJMP CHECK1FLASH:CJNE A,#0CH,CHECK1;下面是0.8s状况,响并显示号数并清R0,重新计SETB RINGMOV R0,#00HMOV R3,34H;取回号数MOV R5,#0BHMOV R4,#0BH;显示FF和号数AJMP CHECK1CHECK1:JNB P3.1,QUIT1ACALL DISPLAYAJMP HEREQUIT1:CLR RINGCLR OKAJMP START;

39、=显示程序=DISPLAY:MOV DPTR,#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,

40、3,4,5,6,7,8,9,灭,FDAT2: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 3

41、2H,#43HLOOP3:MOV 33H,#1EHMOV A,R7 ;每隔6070个机器周期读一次P1口,全为1时为无效数据,继续读,有一种不为1时,转到正常抢答解决JNZ AAAA1 ;没读到有效数据时继续转到AAAA1LOOP2:DJNZ 33H,LOOP2DJNZ 32H,LOOP3RET;=读抢答按键数据口程序=;由于在读抢答数据口时候,单片机一方面进入倒计时程序,再调用显示程序,最后才检测按键口;然而在检测按键口时动态扫描要调用三次(4ms)延时程序.这样就会导致读数据口浮现滞后,导致1号优先最高.8号最低.;故采用在延时子程序中加了读数据口程序.保证了敏捷度和可靠性AAAA1:MO

42、V A,P1CJNE 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 P3.6;RING标志位为1时候P3.6口不短取反使喇叭发出一定频率声音OUT:RETI;=T1溢出中断(计时程序)=T1INT:MOV TH1,#3CHMOV TL1,#0B0HINC R0RETIEND四川信息职业技术学院学生姓名张智勇学号068班级通技06-2专业通信技术设计(论文)题目基于单片机数字式竞赛抢答器指引教师潘锋 谭望春指引教师考核意见级别:指引教师:答辩评语级别: 答辩教师:总评成绩级别: 考核小组组长:备注以上两项成绩综合后,指引教师考核成绩占总分60%,答辩成绩占总分40%,按五级记分(优、良、中、及格、不及格)。毕业设计(论文)评语

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服