




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、抢答器课程设计原文一、设计要求及目的(1)设计一个可供6人进行的抢答器。(2)系统设置复位按钮,按动后,重新开始抢答。(3)抢答器开始时数码管显示序号0,选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。抢答后显示优先抢答者序号,同时发出音响。,并且不出现其他抢答者的序号。(4)抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间设定为60秒,当主持人启动“开始”开关后,定时器开始减计时,同时音乐盒有短暂的声响。(5)设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。并保持到主持人按复位键。(6)当设定的时间到,而无人抢
2、答时,本次抢答无效,扬声器报警发出声音,并禁止抢答。定时器上显示00。二、设计电路方框图:.三、电路组成本抢答器的电路主要有四部分组成:数字抢答电路、时序控制电路、报警电路以及可预置时间的定时电路。其中数字抢答部分有一个CD4511译码器和LED数码管显示器组成,可以将六位抢答者的按钮通过CD4511译码驱动LED数码管显示器显示出他们最先抢答者的序号。而时序控制电路的功能是当参赛选手按动抢答器时,使扬声器发声,这时抢答电路和定时电路停止工作。而且设定的时间60秒到达后若无人抢答,则报警电路工作。报警电路工作的条件是当设定时间到达后或者有人抢答时,报警电路被输入一个高电平,这时此电路工作。可预
3、置时间的定时电路是靠74LS121工作的。以下是抢答电路的组成以及各部分功能(1)抢答电路1.电路组成电路如下图3.1所示,该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。. 目录目录:第一部分:设计的要求及目的第二部分:系统方框图第三部分:电路组成及各部分选定方案、功能及计算(1) 抢答电路: 1、抢答电路功能2、方案选定(2) 报警电路(3) 定时电路 1、电路功能介绍2、电路选定方案分析及计算(4) 时序控制电路 1、电路组成分析2、电路功能第四部分:器件说明第五部分:参考文献第六部分:设计总结第六部分:总体电
4、路图(用PROTEL99制作) 参考资料康华光 电子技术基础数字部分高等教育出版社董子舟、段辉娟 电子技术 机械工业出版社2002年,第7期 电子报 类别:电子制作2002年,第50期 电子报 类别:电子产品与器件张惠敏、肖耀南 数字电子技术 化学工业出版社 江国强 现代数字逻辑电路 电子工业出版社 简单介绍本抢答器的电路主要有四部分组成:数字抢答电路、时序控制电路、报警电路以及可预置时间的定时电路。其中数字抢答部分有一个CD4511译码器和LED数码管显示器组成,可以将六位抢答者的按钮通过CD4511译码驱动LED数码管显示器显示出他们最先抢答者的序号。而时序控制电路的功能是当参赛选手按动抢
5、答器时,使扬声器发声,这时抢答电路和定时电路停止工作。而且设定的时间60秒到达后若无人抢答,则报警电路工作。报警电路工作的条件是当设定时间到达后或者有人抢答时,报警电路被输入一个高电平,这时此电路工作。可预置时间的定时电路是通过74LS121实现的。 八位数字抢答器(含电路图)题 目 : (数字电路课程设计)八位数字抢答器尺 寸 : 课件目 录 : 绪论原理分析与电路设计一、设计内容与要求:1)设计内容2)学习要求3) 设计要求二、元器件的功能和作用-集成电路定时器555及其基本应用三、设计原理与参考电路1)数字抢答器总体方框图2)电路及其电路图四、整机电路设计五、实验调试六、电路的检测方法参
6、考文献原 文 : 原理分析与电路设计一、设计内容与要求1)设计内容:1,利用各种器件设计一个多路智力竞赛抢答器。2,利用电路板对所设计的电路进行检验。 3,总结检验电路设计结果 2)学习要求: 1,复习编码器、十进制加/减计数器的工作原理,设计可预置时间的定时电路分析与设计时序控制电路。画出定时抢答器的整机逻辑电路图,掌握智力抢答器的工作原理及其设计方法,并对各种元器件的功能和应用有所了解。并能对其在电路中的作用进行分析。例如:555定时器,优先编码器74ls148和rs锁存器74ls279以及十进制同步加/减计数器74ls192。另外对电路图要学会分析。了解电路设计流程的原理图。每个电路的设
7、计都要有完整的设计流程。这样才能在分析电路是有良好的思路,便于查找出错的原因。 3)设计要求1. 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 S7表示。2. 设置一个系统清除和抢答控制开关S,该开关由主持人控制。3. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在优先抢答选手的编号一直保持到主持人将系统清除为止。4. 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。5. 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显
8、示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。6. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。目录第1章 六路抢答器设计功能要求1第2章 抢答器方案论证3第3章 系统硬件电路设计4 系统原理图 4 时钟频率电路的设计5 复位电路的设计6 显示电路的设计7 键盘扫描电路的设计7 发声8 系统复位8第4章 系统软件设计9 主程序系统结构图9 程序流程图10 系统程序11第5章 调试及性能分析19第6章 课程设计小结20参考文献 21 第1章 六路抢答器设计功能要求单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收
9、到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和
10、一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。1.1 数字抢答器的概述 对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。选手们都站在同一个起跑线上,体现了公平公正的原则。 本实验设计的数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。
11、更具有实用性。1.2 设计任务与要求 任务:设计一款数字抢答器1、基本要求(1)抢答器同时供6名选手或6个代表队比赛,分别用6个按钮S0 S5表示。(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。(3) 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。(4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。(5)参赛选
12、手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。(6)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00 优点:与普通抢答器相比,本作品有以下几方面优势: 1、具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说“开始”前提前抢答违反规则。 2、具有定时功能,在30秒内无人抢答表示所有参赛选手获参赛队对本题弃权。 3、30秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。1.3 系统主要功能抢答器原理:该抢答器供不多于四个的抢答比赛使用。每个选手的座位前安装一只抢答按钮开关和一只信号
13、灯。主持人的座位前安装一只复原按钮开关、一只蜂鸣器和一只抢答器工作状态指示灯。每当主持人口头发出允许抢答的号令之后,哪个队先按下座位上的按钮开关,该座位的信号灯就先被点亮,同时封锁其他按钮开关的活动。并且熄灭主持人座位上的状态指示灯和发出 3 声类似于电话振铃的提示声,以“声明”此次抢答动作已经完成。在主持人确认后,按下复原按钮,状态指示灯重新点亮,并且同时发出“笛笛”声,为下一次的抢答作好准备。电路中的蜂鸣器 FM 是一只带有助音腔的压电陶瓷蜂鸣器,用于模拟发出报警声的功率放大器和喇叭。在 FM 发声的同时,灯 D6 也在发光。FM 可以看作是一个电容性负载,本身不能流过直流电流。发声的原理
14、是,作用在两个电极极板的电位在发生变化时,陶瓷材料就发生弯曲,从而振动空气发出声音。FM和 4 只按钮开关 SWaSWd 以及 4 只电阻 RaRd 都是在演示板的基础上额外添加的。由于RB端口内部具有上拉电阻,只要用软件设置其有效,即可省略在4 只端口引脚上外接上拉电阻。按钮开关和指示灯与座位的对应关系如表3所示。按钮开关和指示灯与座位的对应关系座位主持人席座位1座位2座位3座位4座位5座位6按钮开关SW1 SWaSWbSWcSWdSWeSWf指示灯D7 D0D1D2D3D4D5蜂鸣器 有无无无无无无第2章 方案论证( 1 ) 抢答器同时供6名选手或6个代表队比赛,分别用6个按钮S0 S5表
15、示。( 2 ) 设置一个系统清除和抢答控制开关S,该开关由主持人控制。( 3 ) 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。( 4 ) 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动"开始"键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。( 5 ) 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果
16、定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00(6)6路抢答器可以利用硬件电子元器件实现,但电路结构复杂,调试困难,涉及到的外围元件多,不便于安装,实验给实际操作带来很大的麻烦。(7)我们利用单片机可以用很少元件实现相同功能,而且单片机性能稳定,可操作性强。可以只用P0口连接上拉电阻,完成驱动LED的功能,串接按键可以由选手自己控制抢答机会,利用P3口的RXD接74LS164的A,B端,TXD接移位脉冲做时钟信号。利用单片机程序判断选手按键是否有效,但选手违规抢答,利用简单程序显示选手序号,启动蜂鸣器并不间断,告诉主持人有人违规操作,抢答无效。给出相应的延时,选
17、手按正常的操作抢答,软件倒记时,利用74LS164移位寄存8段数码管,实现倒记时显示时间,到5秒相应时间提醒选手时间快到了,要及时作答,并启动蜂鸣器。如果有选手在规定的时间以前完成问题,主持人通过按键P2.4复位,开始新的问题作答,因为程序不是很大不需要扩展存储空间,选手按键跳入相应的子程序,回答倒记时,通过单片机实现功能可以更人性化,只需单电源供电更方便,容易实现。电路结构简单,外围扩展的电路不是很多,锻炼我们所学的知识应用到现实生活当中。为我们提供实践的机会。单片机是电子专业发展的方向,更好的使用单片机可以是我们的产品小型化,使用更方便,性能更稳定,功能更齐全,所以我们选用单片机加一定的外
18、围设备实现本次课程设计的要求。第3章 系统硬件设计为使硬件电路设计尽可能合理,应注意以下几方面:(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。(2) 留有设计余地。在设计硬件电路时,要考虑到将来修改扩展的方便。因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。(3) 程序空间,选用片内程序空间足够大的单片机,本设计采用AT89C51单片机。(4) I/O端口,在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是
19、靠单纯的软件措施来解决的。如有些新的信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。3.1总体原理图如图2-1,P1.0为开始抢答,P1.7为停止,P1.1-P1.6为六路抢答输入,数码管段选P0口,位选P2口低3位,蜂鸣器输出为P3.6口。P3.2为时间加1调整,P3.3为时间减1调整。图2-1 系统原理图时钟频率电路的设计单片机必须在时钟的驱动下才能工作.在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元,决定单片机的工作速度。图2
20、-2 外部振荡源电路一般选用石英晶体振荡器。此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要由石英晶振的频率确定。电路中两个电容 C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。C1,C2的典型值为30PF。单片机在工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期。其大小是时钟信号频率的倒数,常用fosc表示。如时钟频率为12MHz,即fosc=12MHz,则时钟周期为1/12µs。 复位电路的设计单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高
21、电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图4所示:图2-3 复位电路值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。软复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。 显示电路的设计显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。 键盘扫描电路的设计键盘是人与微机系统打交道
22、的主要设备。关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路,这些书籍中一般也提供了相应的键盘扫描程序。站在系统监控软件设计的立场上来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。在单片机应用中键盘用得最多的形式是独立键盘及矩阵键盘。图2-4 独立键盘它们各有自己的特点,其中独立键盘硬件电路简单,而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势
23、得多,因此它更适合于多按键电路。其次就是消除在按键过程中产生的“毛刺” 现象。这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。 发声我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇
24、叭发出不同的声音。 系统复位使CPU进入初始状态,从0000H地址开始执行程序的过程叫系统复位。从实现系统复位的方法来看,系统复位可分为硬件复位和软件复位。硬件复位必须通过CPU外部的硬件电路给CPU的RESET端加上足够时间的高电位才能实现。上电复位,人工按钮复位和硬件看门狗复位均为硬件复位。硬件复位后,各专用寄存器的状态均被初始化,且对片内通用寄存器的内容没有影响。但是,硬件复位还能自动清除中断激活标志,使中断系统能够正常工作,这样一个事实却容易为不少编码人员所忽视。软件复位就是用一系列指令来模拟硬件复位功能,最后通过转移指令使程序从0000H地址开始执行。对各专用寄存器的复位操作是容易的
25、,也没有必要完全模拟,可根据实际需要去主程序初始化过程中完成。而对中断激活标志的清除工作常被遗忘,因为它没有明确的位地址可供编程。有的编程人员用020000(LJMP 0000H)作为软件陷阱,认为直接转向0000H地址就完成了软件复位,就是这类错误的典型代表。软件复位是使用软件陷阱和软件看门狗后必须进行的工作,这时程序出错完全有可能发生在中断子程序中,中断激活标志已置位,它将阻止同级中断响应。由于软件看门是高级中断,它将阻止说要中断响应,由此可见清除中断激活标志的重要性。在所有的指令中,只有RETI指令能够清除中断激活标志。前文各处提案到的出错处理程序ERR主要完成这一功能,其他的善后工作交
26、由复位后的系统去完成。这部分程序如下:POWER DATA 67H ;上电标志存放单元 ERR: CLR EA ;关中断 MOV DPTR,#ERR1 ;准备返回地址PUSH DPLPUSH DPHRETI ;清除高级中断激活标志ERR1: MOV POWER,#0AAH;重建上电标志 CLR A ;准备复位地址 PUSH ACC ;压入复位地址0000HPUSH ACCRETI ;清除低级中断激活标志,从程序0000H开始执行。这段程序先关中断,以便后续处理能顺利进行,然后用两个RETI指令代替两个LJMP指令,从而清除了两级中断激活标志。有相应软件陷阱捕捉来的程序可能没有全部激活两个标志,
27、这也无妨。第4章 系统软件设计软件任务分析和硬件电路设计结合进行,哪些功能由硬件完成,哪些任务由软件完成,在硬件电路设计基本定型后,也就基本上决定下来了。4.1 主程序系统结构图图2-5 软件系统结构图4.2 程序流程图在本设计中包括了以下八个主要的程序:主程序;非法抢答序;抢答时间调整程序;回答时间调整程序;倒计时程序;正常抢答处理程序;犯规处理程序;显示及发声程序。主流程图如2-6所示:图2-6 程序设计流程图4.3 系统程序P1.0为开始抢答,P1.7为停止,p1.1-p1.6为六路抢答输入 数码管段选P0口,位选P2口,蜂鸣器输出为P3.6口。OK EQU 20H;抢答开始标志位 RI
28、NG EQU 22H;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040HMAIN: MOV R1,#0FH; 初设抢答时间为15s MOV R2,#0AH; 初设答题时间为10s MOV TMOD,#11H; 设置未定时器/模式1 MOV TH0,#0F0H MOV TL0,#0FFH; 越高发声频率越高,越尖 MOV TH1,#3CH MOV TL1,#0B0H; 50ms为一次溢出中断 SETB
29、EA SETB ET0 SETB ET1 SETB EX0 SETB EX1; 允许四个中断,T0/T1/INT0/INT1 CLR OK CLR RING SETB TR1 SETB TR0; 一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了查询程序:START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY; 未开始抢答时候显示FFF JB P1.0,NEXT ACALL DELAY JB P1.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询 ACALL BA
30、RK;按键发声 MOV A,R1 MOV R6,A; 送R1->R6,因为R1中保存了抢答时间 SETB OK; 抢答标志位,用于COUNT只程序中判断是否查询抢答 MOV R3,0AH; 抢答只显示计时,灭号数 AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面NEXT: JNB P1.1,FALSE1 JNB P1.2,FALSE2 JNB P1.3,FALSE3 JNB P1.4,FALSE4 JNB P1.5,FALSE5 JNB P1.6,FALSE6 AJMP START非法抢答处理程序:FALSE1: ACALL BARK; 按
31、键发声 MOV R3,#01H AJMP ERRORFALSE2: ACALL BARK MOV R3,#02H AJMP 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 ERRORINT0(抢答时间R1调整程序): INT0SUB:MOV A,R1 MOV B,#0AH DIV AB MOV R5,A MOV R4,
32、B MOV R3,#0AH ACALL DISPLAY;先在两个时间LED上显示R1 JNB P3.2,INC0; P3.2为+1s键,如按下跳到INCO JNB P3.3,DEC0; P3.3为-1s键,如按下跳到DECO JNB P1.7,BACK0; P1.7为确定键,如按下跳到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 INT0SUB
33、DEC0: MOV A,R1 JZ SETR1;如果R1为0, R1就置99, DEC R1 ACALL DELAY1 AJMP INT0SUBSETR1: MOV R1,#63H ACALL DELAY1 AJMP INT0SUBBACK0: RETIINT1(回答时间R2调整程序):INT1SUB:MOV A,R2 MOV B,#0AH DIV AB MOV R5,A MOV R4,B MOV R3,#0AH ACALL DISPLAY JNB P3.2,INC1 JNB P3.3,DEC1 JNB P1.7,BACK1 AJMP INT1SUBINC1: MOV A,R2 CJNE A,
34、#63H,ADD1 MOV R2,#00H ACALL DELAY1 AJMP INT1SUBADD1: INC R2 ACALL DELAY1 AJMP INT1SUBDEC1: MOV A,R2 JZ SETR2 DEC R2 ACALL DELAY1 AJMP INT1SUBSETR2: MOV R2,#63H ACALL DELAY1 AJMP INT1SUBBACK1: RETI倒计时程序(抢答倒计时和回答倒计时都跳到该程序): COUNT: MOV R0,#00H; 重置定时器中断次数 MOV TH1,#3CH MOV TL1,#0B0H; 重置定时器RECOUNT: MOV A,
35、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中0.5s向下运行 CLR RING AJMP CHECKFULL: CJNE A,#14H,CHECK; 下面系1s的情况,响并显示号数并清R0,重新计时 SE
36、TB 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 P1.7,QUIT; 如按下停止键退出 ACALL DISPLAY JB OK,ACCOUT; 如果是抢答倒计时,如是则查询抢答,否者跳过查询继续倒数(这里起到锁抢答作用) AJMP RECOUNTACCOUT: JNB P1.1,TRUE1 JN
37、B P1.2,TRUE2 JNB P1.3,TRUE3 JNB P1.4,TRUE4 JNB P1.5,TRUE5 JNB P1.6,TRUE6 AJMP RECOUNTQUIT: CLR OK; 如果按下了"停止键"执行的程序 CLR RING AJMP START正常抢答处理程序: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
38、,#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 COUNTTRUE5: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#05H CLR OK AJMP COUNTTRUE6: ACALL BARK; MOV A,R2 MOV R6,A MOV R3,#06H CLR OK AJMP COUNT犯规抢答程序:ERROR: M
39、OV R0,#00H MOV TH1,#3CH MOV TL1,#0B0H MOV 34H,R3; 犯规号数暂存与(34H)HERE: MOV A,R0 CJNE A,#0AH,FLASH; 0.5s向下运行->灭并停响 CLR RING MOV R3,#0AH MOV R4,#0AH MOV R5,#0AH; 三灯全灭 AJMP CHECK1FLASH: CJNE A,#14H,CHECK1; 下面系1s的情况,响并显示号数并清R0,重新计 SETB RING MOV R0,#00H MOV R3,34H; 取回号数 MOV R5,#0BH MOV R4,#0BH; 显示FF和号数 A
40、JMP CHECK1CHECK1: JNB P1.7,QUIT1 ACALL DISPLAY AJMP HEREQUIT1: CLR RING CLR OK AJMP START显示程序:入口参数:R5,R4,R3存入的分别为第一,二,三为数码所显示的位码出口参数:无DISPLAY:MOV DPTR,#DAT1; 查表显示程序,利用P0口做段选码口输出/P2低三位做位选码输出 MOV A,R5 MOVC A,A+DPTR MOV P2,#01H MOV P0,A ACALL DELAY MOV DPTR,#DAT2 MOV A,R4 MOVC A,A+DPTR MOV P2,#02H MOV
41、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,71H;"灭","1","2","3","4","5","6","7","8","9","灭","F"D
42、AT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一个为零,其他与上相同,因为十位如果为零显示熄灭加减时间延时(起到不会按下就加N个数):DELAY1: MOV 35H,#08HLOOP0: ACALL DISPLAY DJNZ 35H,LOOP0 RET延时(显示和去抖动用到):DELAY: MOV 32H,#12HLOOP: MOV 33H,#0AFHLOOP1: DJNZ 33H,LOOP1 DJNZ 32H,LOOP RET发声程序:BARK: SETB RING ACALL DELAY1 ACALL DELAY1 CLR RING; 按键发声 RETTO溢出中断(响铃程序):T0INT:MOV TH0,#0ECH MOV TL0,#0FFH JNB RING,OUT CPL P3.6 ; RING标志位为1时候P3.6口不短取反使喇叭发出一定频率的声音OUT:RETIT1溢出中断(计时程序):T1INT: MOV TH1,#3CH MOV TL1,#0B0H INC R0 RETI END第4章 调试及性能分析
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生严谨治学决心书3篇
- 会计账目清晰承诺书提升审计效率3篇
- 公积金授权委托办理3篇
- 学生不穿校服的谅解书3篇
- 交通违章委托办理协议3篇
- 农村地基买卖合同无效的情形3篇
- 多元文化市场拓展策略改进承诺3篇
- 委托生产代销合同书3篇
- 工程变更与施工合同的关系3篇
- 借用别人公司经营协议3篇
- 培训行业用户思维分析
- 星巴克消费者数据分析报告
- 实时数据采集系统方案
- PMC-651T配电变压器保护测控装置使用说明书V1.2
- 中国红色革命故事英文版文章
- 《体育保健学》课件-第三章 运动性病症
- 雷雨话剧第四幕雷雨第四幕剧本范文1
- 办公设备维保服务投标方案
- 服装终端店铺淡旺场管理课件
- PQR-按ASME要求填写的焊接工艺评定报告
- 医院中央空调维保合同范本
评论
0/150
提交评论