多路抢答器设计论文
- 格式:doc
- 大小:372.00 KB
- 文档页数:13
毕业设计(论文)题目:多路抢答器PLC控制设计系部:信息技术系专业:电气自动化学号: 090513142学生姓名:指导教师姓名:田祖德指导教师职称:二○ 12 年 4 月 3日摘要近年来随着科技的飞速发展, PLC的应用不断地走向深入,同时带动传统的控制检测技术的不断更新,可编程控制器由于其优良的控制性能,极高的可靠性,在各行各业中的应用日益广泛普及。
本次设计是利用PLC(Programmable Logic Controller)对PLC控制智力抢答器进行控制。
首先,选择这个题目之后,我对本次设计进行了全面的思考。
使自己对本次设计有一个大致的总体思路,然后仔细分析PLC控制的三路智力抢答器的工作原理,以及它的一些工作过程,分析后得出它主要需要完成主持人的控制、选手的抢答、计时及计分输出显示功能等。
关键词:智力控制;三路抢答器;PLC;计分目录1 前言 (1)2 系统设计内容及要求 (2)2.1 概述 (2)图1 三路智力抢答器组成框图 (2)2.2 设计要求 (3)2.3 设计任务 (4)3 抢答器硬件系统设计 (5)3.1 控制系统选取 (5)3.2 控制系统的硬件组成 (5)3.3 硬件I/O地址分配 (7)3.4 硬件系统接线图 (9)3.5 硬件接线分析 (10)4 抢答器软件系统设计 (11)4.1 整体设计 (11)4.2 PLC控制程序 (12)4.2.1 主持人开始复位初始化 (12)4.2.2 三组抢答者抢答程序 (13)4.2.3 计时时间程序 (15)4.2.4 加减分初始化 (16)4.2.5 加减分显示程序 (17)4.2.6 抢答器总程序 (19)4.3 指令表 (25)5 安装与调试 (27)6 结论 (28)参考文献 (29)致谢 (30)1 前言目前国内外市场上已有很多类型的知识竞赛抢答器,其大致采用模拟电路、数字电路、单片机或者PLC芯片、计算机控制系统等四类产品。
抢答器课程设计论文一、课程目标知识目标:1. 学生能理解抢答器的原理,掌握其电路组成及功能。
2. 学生能运用所学知识,设计并制作一个简易的抢答器。
3. 学生了解抢答器在现实生活中的应用,提高对电子技术的兴趣。
技能目标:1. 学生能够运用所学电子技术知识,分析并解决实际问题。
2. 学生通过动手实践,提高电路搭建、调试和故障排除的能力。
3. 学生培养团队协作和沟通能力,提高课堂参与度。
情感态度价值观目标:1. 学生对电子技术产生浓厚兴趣,培养探索精神。
2. 学生在实践过程中,树立自信心,勇于面对挑战。
3. 学生培养良好的团队精神,尊重他人,积极参与课堂讨论。
课程性质:本课程为电子技术实践课程,以学生动手实践为主,注重培养学生的实际操作能力和创新意识。
学生特点:五年级学生,具有一定的电子技术基础,好奇心强,喜欢动手操作,但注意力和耐心有限。
教学要求:结合学生特点,课程设计应注重趣味性和实践性,激发学生兴趣,提高动手能力。
教师需关注学生个体差异,进行分层教学,确保每个学生都能在课程中收获成果。
通过课程学习,使学生将所学知识与实际应用相结合,培养创新精神和团队合作能力。
二、教学内容本课程依据课程目标,结合电子技术教材第五章“数字电路”相关内容,组织以下教学内容:1. 抢答器原理及电路组成:讲解抢答器的基本原理,包括触发器、编码器、译码器等数字电路元件的功能和连接方式。
2. 抢答器电路设计:指导学生运用所学知识,设计一个简易的抢答器电路,包括电路图绘制、元件选择等。
3. 抢答器制作与调试:学生分组进行抢答器制作,学会电路搭建、调试和故障排除。
4. 抢答器在实际应用中的案例分析:分析抢答器在各类竞赛、答题节目中的应用,提高学生将理论知识应用于实际的能力。
教学内容安排如下:第一课时:抢答器原理及电路组成介绍,使学生了解抢答器的工作原理和电路结构。
第二课时:抢答器电路设计,指导学生绘制电路图,选择合适的元件。
第三课时:抢答器制作与调试,学生动手实践,提高操作能力。
基于PLC四路抢答器的设计毕业论文目录摘要 ................................................. 错误!未定义书签。
1 PLC四路抢答器概述 (1)1.1PLC四路抢答器概述 (1)1.2PLC智能抢答器的工作原理 (3)2 PLC概述 (4)2.1PLC的产生、定义、组成、特点及发展趋势 (4)2.2PLC工作原理 (9)2.3PLC的编程语言 (10)2.4PLC的分类及性能指标 (10)3 系统硬件设计 (12)3.1控制系统选取 (12)3.2控制系统的硬件组成 (12)3.3系统控制要求 (13)3.4控制系统I/O分配表 (14)3.5系统硬件连接图 (15)4 系统软件设计 (17)4.1整体设计 (17)4.2PLC控制程序 (18)5 模拟运行与调试过程 (36)5.1程序的模拟运行 (36)5.2程序的现场调试 (37)致谢 (43)参考文献 (44)1 PLC四路抢答器概述1.1 PLC四路抢答器概述抢答器广泛用于电视台、商业机构及学校,为竞赛增添了刺激性、娱乐性,在一定程度上丰富了人们的业余生活。
本文介绍一种数字式抢答器,能使四个队同时参加抢答,赛场中设有1个裁判台,4个参赛台,分别为1号、2号、3号、4号参赛台.总体设计选用西门子PLC控制,抢答操作方便,在很多的场所都可以使用,并且给人的视觉效果非常好。
抢答器,顾名思义就是用于比赛时,跟对手比反应时间,思维运转快慢的新型电器。
随着社会科技技术的不断发展,他的应用场合也随之增加;技术含量大大提升;更加方便可靠。
目前, 形式多样、功能完备的抢答器已广泛应用于电视台、商业机构、学校及企事业单位, 它为各种竞赛增添了刺激性、娱乐性, 在一定程度上丰富了人们的业余生活。
用PLC进行知识竞赛抢答器设计,其控制方便,灵活,只要改变输入PLC的控制程序,便可改变竞赛抢答器的抢答方案。
PLC智能抢答器与单片机抢答器相比,在许多方面都显示出优越性.首先说一下单片机抢答器,所谓单片机系统就是采用目前市场上的单片机CPU及其它外围芯片,根据不同系统设计电路板,最终设计成一台简易的计算机系统,并在此基础上设计程序以达到所要求的控制功能。
摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。
本设计是以八路抢答为基本理念。
考虑到依需设定限时回答的功能,利用80C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和计数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发声提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
关键词:80C51,LED数码管,抢答器,计时目录前言 (1)第一章绪论 (2)第二章设计要求、构思理论依据 (3)2.1设计要求 (3)2.2设计构思理论依据 (3)第三章关键器件介绍 (5)3.1数码管简介 (5)3.2555定时器简介 (8)第四章电路设计...................................................... 错误!未定义书签。
4.1抢答电路 ........................................................ 错误!未定义书签。
4.2音响电路 (15)4.3时序电路 ........................................................ 错误!未定义书签。
第五章电路实验及调试................................................ 错误!未定义书签。
电子工艺实习多路抢答器的设计目录一.课程设计的题目二.课程设计的目的三.课程设计的内容和要求四.课程设计的总体方案及原理五.单元电路设计方案和原理说明1)抢答器电路设计2)定时电路设计3)秒脉冲电路设计4)报警电路设计六.电路仿真过程中遇到的问题及解决方法七.心得体会八.参考文献附录:1) 总体仿真电路图2) 元器件清单八路抢答器设计一课程设计题目八路抢答器设计二课程设计目的1.培养数字电路的设计能力。
2.掌握用软件multisim10设计抢答器电路图并完成仿真。
3培养独立分析问题和解决问题的能力以及创新能力和创新思维。
4.掌握基本的焊接知识。
5巩固和加强“数字电子技术”课程的理论知识。
6.学会定时计数的基本方法。
三课程设计内容和要求1.设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们的编号分别是1、2、3、4、5、6、7、8一个抢答按钮,按钮的编号与选手的编号相对应,分别是S1、S2、S3、S4、S5、S6、S7、S8。
对应抢答成功指示灯,分别是LED1、LED2、LED3、LED4、LED5、LED6、LED7、LED8.2.给节目主持人设置一个控制开关S9,用来控制系统的清零(编号显示数码管灭灯和蜂鸣器停止报警)和抢答的开始。
3.抢答器具有定时抢答功能。
当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示。
抢答开始后,如果定时抢答的时间60s已到,仍没有选手抢答时,本次抢答无效,系统报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00,直到主持人按下“清除”键复位。
4.抢答器具有抢答后答题倒计时功能(并且答题时间可在20s ,40s,60s之间切换)当有选手抢答成功后, 74LS148的输入始能端为“高”电平。
接4输入与门,其他三端分别为555秒脉冲信号输出端,60秒抢答时间结束标志端和答题时间结束的标志端。
以此控制答题时间的开始和结束。
5.抢答器具有数据锁存和显示的功能。
单片机课程设计报告项目名称基于单片机的抢答器设计摘要此次设计提出了用STC89C52单片机为核心控制元件,设计一个简易的抢答器,本方案以STC89C52单片机作为主控核心,发光二极管、数码管、蜂鸣器等构成四路抢答器,利用了单片机的按键复位电路、时钟电路、定时/中断等电路,设计的抢答器具有实时显示抢答选手的的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用C语言编程,使其实现一些基本的功能。
本设计的系统实用性强、判断精确、操作简单、扩展功能强。
它的功能实现是比赛开始,主持人读完题之后按下总开关,此时数码管显示初始状态0,直到有一个选手抢答时,对应的会在数码管上显示出该选手的编号,同时发光二极管出现闪烁状态,蜂鸣器也会发出声音,以提示有人抢答本题,主持人按下复位键,示意可以答题。
关键字:STC89C52单片机;动态显示;中断;按键控制AbstractThis design use STC89C52as the core control element is presented to design a simple responder, this scheme is STC89C52 single chip microcomputer as control core, light-emitting diode, digital tube, buzzer and so on four road vies to answer first device, using the single chip microcomputer button reset circuit, clock circuit, timing/interrupt circuit, design of vies to answer first appliance has the characteristic of real-time display vies to answer first contestant's number, and reset circuit, to start a new round of the answer and, at the same time also use of C language programming, make it implements some basic functionality.The design of the system is practical, accurate judgment, simple operation, strong extended functionality. Its function realization is the match began, and the host to read the topic after press the main switch, the digital tube display initial condition 0, until there is a contestant vies to answer first, the corresponding in the contestant's serial number is shown on the digital tube, light-emitting diodes, flicker status at the same time, the buzzer will sound, to remind someone vies to answer first ontology, host press the reset button, the signal can be the answer.Keywords:STC89C52 microcomputer; Dynamic display; Interrupt; The key control目录摘要IAbstractII第1章绪论11.1 单片机抢答器的背景11.2 单片机抢答器的意义11.3 抢答器的应用1第2章系统硬件部分的设计22.1设计要求22.2 总体设计方案22.3 单元模块设计32.3.1 单片机简介32.3.2 最小系统的设计52.3.3 数码管显示电路62.3.4 按键模块设计6第3章系统的软件设计 (8)3.1 抢答器工作原理83.2 流程图83.3 KEIL软件简介9第4章系统的仿真与调试114.1 软件的仿真与调试114.2硬件的安装与调试114.2.1晶振电路的测试114.2.2复位电路的测试124.2.3显示电路的测试12总结13参考文献13附录1源程序代码14附录2 元件清单16附录3 仿真图17附录4 实物照片展示18致19第1章绪论1.1 单片机抢答器的背景二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
多路抢答器的设计姓名王海童学号201103111029 专业机械制造及自动化摘要本作品以AT89S52单片机作为主要模块、数码管做为显示模块。
本抢答器主要是通过八个按键开关来摸拟八路选手的抢答,开始键按下,则进入到八个按键的扫描中,同时显数倒计时时间。
同时该抢答器还有时间的加减、数据的清零、八路选择手犯规报警功能;通过数码管来显示抢答的时间和抢答选手的号数。
本作品造价便宜,硬件比较简单,通俗易懂,趣味十足。
关键词:单片机,抢答器,显示一、作品设计方案论证与比较1、主控部分的方案比较方案一:用以AT89S52为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示,运用这个方案来实现题目的要求,其硬件电路的设计简单,编程并不是很复杂,作品功能的调试只要稍微结合电路,修改一下相应程序即可。
方案二:采用数字电路实现输出电压的控制方案,用加减计数器,通过加减键实现加计数或减计数,通过计数器的自动加减,锁存器的锁存显示等。
用这种方法来实现,其优点是不用编程,但其不足的之处是电路复杂,焊接工程量大,一旦焊接错误,就会给检查硬件带来很大的麻烦,而且调试也相对麻烦。
通过比较发现,用单片机来制作的抢答器,硬件电路比较简单,容易明白,且成本相对较低;而用数电芯片来制作的抢答器,电路相对比较复杂,,成本相对较高。
综合考滤,最终选择方案一。
2、显示部份的比较设计方案一:采用LCD1602显示,用单片机可实现数据显示,显示内容较为丰富,较为美观,但显示亮度和字体大小在演示时不尽人意,价格也比较昂贵,且题目要求的显示内容也较少,只是倒计时的时间和相应的队号而以,所以没有采用此方案。
方案二:采用LED七段数码管,采用三极管9012做为位码驱动,电路结构简单,并且可以实现单片机 I/O 口的并用,显示效果直观,明亮,调试容易, 成本较低。
故采用 LED 数码管显示。
汉口学院学士学位毕业论文论文题目:多路多功能抢答器的设计学生姓名:叶壮学号: 2012952054专业名称:机械电子专业指导教师姓名:陈爱菊指导教师职称:副教授二0 15 年 4 月 24 日汉口学院学士学位论文原创性声明本人郑重声明:所呈交的学位论文是本人在导师指导下独立进行研究工作所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
本人完全意识到本声明的法律后果由本人承担。
学位论文作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保障、使用学位论文的规定,同意学校保留并向有关学位论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权省级优秀学士学位论文评选机构将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本学位论文属于1、保密□,在_____年解密后适用本授权书。
2、不保密□。
(请在以上相应方框内打“√”)学位论文作者签名:日期:年月日导师签名:日期:年月日目录内容摘要 (1)关键词 1 Abstarct (1)Key words 1 1 系统的概述 (2)1.1课题研究的相关背景 (2)1.2 选题的目的和意义 (2)1.3 课题研究的内容 (2)2 抢答器的系统概述 (3)2.1 系统的主要功能简介 (3)2.2抢答器的工作原理简介 (4)2.3 抢答器系统的需求分析 (6)3 抢答器的电路设计 (6)3.1抢答器的总体结构 (6)3.2电路选择 (7)3.3 单元电路设计 (7)3.4 555多谐振荡器的脉冲波形图 (13)3.5电路元件选择 (14)4 总结与展望 (15)参考文献 (17)致谢 19内容摘要:当今社会,随着现代科技的不断发展,促使人们学习知识的途径呈现多样化,因此知识竞赛也举办的越来愈多,而抢答器在各种竞赛中的出现,也是竞赛中不可少的亮点之一。
内容摘要:本实验主要分为三部分,第一部分为抢答电路,第二部分为9秒倒计时电路,第三部分为时钟和响铃电路,通过各个电路的逻辑变化,来达到相应的目的。
一、设计要求1.4名选手编号为:1、2、3、4。
各有一个抢答按钮,按钮的编号与选手的编号对应,也分别为1、2、3、4。
2.给主持人设置一个控制按钮,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。
3.抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答按钮,该选手编号立即锁存,并在编号显示器上显示该编号,同时扬声器给出音响提示。
同时封锁输入编码电路,禁止其他选手抢答。
优先抢答选手的编号一直保持到主持人将系统清零为止。
4.抢答器具有定时(9秒)抢答的功能。
当主持人按下开始按钮后,要求定时器开始倒计时,并用定时显示器显示倒计时时间,同时扬声器发出音响,音响持续0.5秒。
5.参赛选手在设定的时间(9秒)内抢答,抢答有效,扬声器发出音响,音响持续0.5秒。
同时定时器停止倒计时,编号显示器上显示抢答选手的编号,定时显示器上显示剩余抢答时间。
并保持到主持人将系统清零为止。
6.如果定时抢答时间已到,却没有选手抢答时,本次抢答无效。
系统扬声器报警(音响持续0.5秒),并封锁输入编码电路,禁止选手超时后抢答,时间显示器显示0。
7.555定时器产生频率为1kHz的脉冲信号,经多级分频产生周期为1s的信号。
作为定时计数器的CP信号。
二、系统总体方案设计(一)设计方案1实验设计实现四路抢答,由抢答电路、时钟电路、响铃电路组成,四路抢答电路中当有选手按键按下时,会产生一个下降沿,这个下降沿经过74LS148后的导线上会发生相应电平的变化,在74LS20上产生一个边沿作用在74LS175上的CLK,使触发器导通,然后将变化的信号传到显示数码管中,来显示相应组号的抢答,此时一个二输入与非门将方波型号和按键电平与非,使与非后使方波终端,由于没有边沿使74LS175的CLK中断,使数据锁存,时段显示数码管中就锁存住了剩余抢答时间,同时连接响铃电路中的四输入与非门74LS20中,此时产生一个低电平使74121的B管脚产生一个边沿,此时出发响铃0.5秒,这是抢答时,当开始时,需响亮0.5秒,这时按下space键,响铃电路中四输入与非门74LS20中输入一个低电平,此时74121中B口产生一个边沿,响铃0.5秒,当抢答时间结束时,7段显示数码管的译码器74LS47的输入为全为0,此时四输入与非门74LS20全为1,与非门产生一个低电平,同理使B口产生一个边沿,触发响铃0.5秒(二)设计方案21、0.5秒定时响铃电路:此电路主要由555定时器和74LS175锁存器组成,由于软件本身的限制,时间走的很慢,故未加分频器,如果在实际电路中,可以在555三阶分频中的第三阶上加一个74LS160做一个5分频的分频器,这样就可以得到0.5秒的方波信号。
多路抢答器的设计摘要本作品以AT89S52单片机作为主要模块、数码管做为显示模块。
本抢答器主要是通过八个按键开关来摸拟八路选手的抢答,开始键按下,则进入到八个按键的扫描中,同时显数倒计时时间。
同时该抢答器还有时间的加减、数据的清零、八路选择手犯规报警功能;通过数码管来显示抢答的时间和抢答选手的号数。
本作品造价便宜,硬件比较简单,通俗易懂,趣味十足。
关键词:单片机,抢答器,显示一、作品设计方案论证与比较1、主控部分的方案比较方案一:用以AT89S52为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示,运用这个方案来实现题目的要求,其硬件电路的设计简单,编程并不是很复杂,作品功能的调试只要稍微结合电路,修改一下相应程序即可。
方案二:采用数字电路实现输出电压的控制方案,用加减计数器,通过加减键实现加计数或减计数,通过计数器的自动加减,锁存器的锁存显示等。
用这种方法来实现,其优点是不用编程,但其不足的之处是电路复杂,焊接工程量大,一旦焊接错误,就会给检查硬件带来很大的麻烦,而且调试也相对麻烦。
通过比较发现,用单片机来制作的抢答器,硬件电路比较简单,容易明白,且成本相对较低;而用数电芯片来制作的抢答器,电路相对比较复杂,,成本相对较高。
综合考滤,最终选择方案一。
2、显示部份的比较设计方案一:采用LCD1602显示,用单片机可实现数据显示,显示内容较为丰富,较为美观,但显示亮度和字体大小在演示时不尽人意,价格也比较昂贵,且题目要求的显示内容也较少,只是倒计时的时间和相应的队号而以,所以没有采用此方案。
方案二:采用LED七段数码管,采用三极管9012做为位码驱动,电路结构简单,并且可以实现单片机I/O口的并用,显示效果直观,明亮,调试容易,成本较低。
故采用LED数码管显示。
电路如下图1-1所示图1-1三、硬件电路设计本系统采用AT89S52单片机作为控制核心,对按键开关送来的信号进行分析处理,最终控制数码管显示相应的数值。
本系统主要的单元电路有单片机主控电路、键盘控制电路、LED显示电路模块等。
1.系统整体方案的设计通过对整个电路部分的比较设计,得出整体系统如图1-2所示。
图1-2 系统框图2.单片机主控电路主控电路以单片机最小系统(电路图省略)为的接口电路部分,最小系统图作为单片机主控电路工作的基础包括了时钟电路、复位电路等。
主控电路中P0口控制驱动LED段码,P3键盘扫描控制,P2与P0部分接口分别用来作为开始与关断的输入端口。
四、软件的设计系统程序主流程图如图1-3所示。
五、调试与分析本次作品的调试是通过实验板供电和编写程序来调试的。
首先,把编好的程序,通过实验板稍入单片机中,在利用单片机放到我们的电路板里进行每项功能的校验与调试,刚开始时我们的电路有些问题,经过修改电路后在重新调试才出功能,需要每实现一个功能就并入另外一个功能,最后使它们完整的结合在一起才算成功。
具体操作:1、接上五伏电源,观察数码管显示及报警状态。
2、此时按下P2.1,即可进行抢答时间的设置,可加、可减。
3、此时先不按下开始键,而是按下任意键,这时就可以获知犯规的功能是否实现了,结果完全正确。
4、然后再按下开始键,此时观察数码管显示倒计时是否正确,还有按下选手键,这时数码管会显示相应的选手号,同时时间停止。
这个过程完全正确。
综合各个测试合果,发现完全符合题目的要求,所以所有测试完全成功。
六、设计制作总结通过一个多星期的努力,我们顺利的完成了抢答器的制作,成功的完了此次实训,此次实训相对来说程序比较多,也有很多值得我们去学习的地方。
从作品的构思、用实验板的测试、对要制作板的构造、制作板、整体调试这是一个比较复杂的过程,这是一次对我们的考验,这是给我们的一个锻炼机会。
我们很珍惜此次实训,用心的去完成每个步骤,努力去达到所要得到的理想效果。
作品完成了,我感觉到我们的各方面的能力都上了一层,包括设置、编程、画PCB等等。
实训能促进我们的进步,能够使我们对学习本专业增加信心,锻炼了我们各方面的能力。
七、原理图八主程序清单定时器T1时间初值设50ms时间初值为Z,Z的计算方法为(216- Z)×12=12×50×103,结果Z=15536D=3CB0H OK EQU 20H ;抢答开始标志位RING EQU 22H ;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30 ;初设抢答时间为30sMOV R2,#60 ;初设答题时间为60sMOV TMOD,#11H ;设置定时器T0/T1模式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 =====查询程序=====START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY ;未开始抢答时候显示FFFJB P3.0,NEXT;dddddddACALL DELAYJB P3.0,NEXTACALL BARK ;按键发声MOV A,R1MOV R6,A ;送R1->R6,因为R1中保存了抢答时间SETB OK ;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R3,#0AH ;抢答只显示计时,灭号数AJMP COUNT ;进入倒计时程序,"查询有效抢答的程序"在COUNT里面NEXT: JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,TZ1JNB P1.7,TZ2AJMP STARTTZ1: JMP FALSE7TZ2: JMP FALSE8=====非法抢答处理程序=====FALSE1: ACALL BARK; ;按键发声MOV R3,#01HAJMP ERRORFALSE2: ACALL BARKMOV R3,#02HAJMP ERRORFALSE3: ACALL BARKMOV R3,#03HAJMP ERRORFALSE4: ACALL BARKMOV R3,#04HAJMP ERRORFALSE5: ACALL BARKMOV R3,#05HAJMP ERRORFALSE6: ACALL BARKMOV R3,#06HAJMP ERRORFALSE7: ACALL BARKMOV R3,#07HAJMP ERRORFALSE8: ACALL BARKMOV R3,#08HAJMP ERROR=====INT0(抢答时间R1调整程序)=====INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY ;先在两个时间LED上显示R1 JNB P3.4,INC0 ;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0 ;P3.5为-1s键,如按下跳到DECO JNB P3.1,BACK0 ;P3.1为确定键,如按下跳到BACKO AJMP INT0SUBINC0: MOV A,R1CJNE 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,AMOV R4,BMOV R3,#0AHACALL DISPLAYJNB 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===倒计时程序(抢答倒计时和回答倒计时都跳到改程序)===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 1s中0.5s向下运行CLR RINGAJMP 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 ;如按下停止键退出ACALL DISPLAYJB OK,ACCOUT如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用)AJMP RECOUNTACCOUT:JNB P1.0,TRUE1JNB P1.1,TRUE2JNB P1.2,TRUE3JNB P1.3,TRUE4JNB P1.4,TRUE5JNB P1.5,TRUE6JNB P1.6,TZ3JNB P1.7,TZ4AJMP RECOUNTTZ3: JMP TRUE7TZ4: JMP TRUE8QUIT: CLR OK ;如果按下了"停止键"执行的程序CLR RINGAJMP START=====正常抢答处理程序=====TRUE1: ACALL BARK ;按键发声MOV A,R2MOV R6,A ;抢答时间R2送R6MOV R3,#01HCLR OK 因为答题的计时不再查询抢答,所以就锁了抢答AJMP COUNTTRUE2:ACALL BARKMOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP COUNTTRUE3:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#04HCLR OKAJMP COUNTTRUE5:ACALL BARK;MOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK;MOV A,R2MOV 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,R0CJNE A,#0AH,FLASH ;0.5s向下运行->灭并停响CLR RINGMOV R3,#0AHMOV R4,#0AHMOV R5,#0AH ;三灯全灭AJMP CHECK1FLASH: CJNE A,#14H,CHECK1 下面是1s的情况,响并显示号数并清R0,重新计SETB RINGMOV R0,#00HMOV R3,34H ;取回号数MOV R5,#0BHMOV R4,#0BH ;显示FF和号数AJMP CHECK1CHECK1: JNB P3.1,QUIT1ACALL DISPLAYAJMP HEREQUIT1: CLR RINGAJMP START=====显示程序=====DISPLAY:MOV DPTR,#DAT1 查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出,MOV A,R3MOVC A,@A+DPTRMOV P2,#0feHMOV P0,AACALL DELAYMOV DPTR,#DAT2MOV A,R5MOVC A,@A+DPTRMOV P2,#0fdHMOV P0,AACALL DELAYMOV A,R4MOVC A,@A+DPTRMOV P2,#0fbHMOV P0,AACALL DELAYRETDAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;"灭","1","2","3","4","5","6","7","8","9","灭","F"DAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位如果为零显示熄灭====加减时间延时(起到不会按下就加N个数)======DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAYDJNZ 35H,LOOP0RET=====延时(显示和去抖动用到)=====DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1DJNZ 32H,LOOPRET=====发声程序=====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九、参考资料[1] 《电子整机装配实训-李伟民》 . 苏伯贤[2] 《单片机原理与应用》. 王效华张咏梅[3] 《数字电路》.刘勇杜德昌陈松。