毕业设计(论文)-基于单片机的八路智力抢答器设计1_第1页
毕业设计(论文)-基于单片机的八路智力抢答器设计1_第2页
毕业设计(论文)-基于单片机的八路智力抢答器设计1_第3页
毕业设计(论文)-基于单片机的八路智力抢答器设计1_第4页
毕业设计(论文)-基于单片机的八路智力抢答器设计1_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 毕 业 设 计论 文 设 计论文题 目:八 路 抢 答 器 系 别: 电 子 工 程 系 专 业: 通 信 工 程 班 级: 05 通 信1班 姓 名: 学 号: 指导教师: 完成时间: 08 年 5 月 八路智力抢答器 摘要:八路抢答器,就是一种利用单片机功能而做出来的产品。本文介绍了单片机控制、数码显示八路抢答器的电路组成、设计思路及功能。该抢答器除具有根本的抢答功能外,还具有定时、计时和报警功能。 主持人通过时间预设开关预设供抢答的时间,系统将完成自动倒计时。假设在规定的时间内有人抢答,那么计时将自动停止;假设在规定的时间内无人抢答,那么系统中的蜂鸣器将发响,提示主持人本轮抢答无效,实

2、现报警功能。关键词:抢答器; 定时 ;报警目录摘要3关键字设计任务4444第二章 硬件电路设计及其功能介绍.66689C51 简介.7 .12.1217第三章硬件电路图简介.1819.20第四章软件设计 程序流程图及程序21第五章调试35第六章总结37元件清单 39附录参考文献.40引言引言 在知识比赛与娱乐竞赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。如果在抢答中,靠视觉是很难判断出哪组先答题。利用单片机系统来设计抢答器,使以上问题得以解决,即使两组的抢答时间相差几微秒,也可分辨出哪组优先答题。本文主要介绍了单片机抢答器设计

3、及工作原理,以及它的实际用途。系统工作原理本系统采用8051单片机作为核心。控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答开关模块。该抢答器系统通过开关电路四个按键输入抢答信号;利用语音芯片ISD1420完成语音的录放功能;利用存储程序;利用一个数码管来完成显示功能。工作时,用按键通过开关电路输入各路的抢答信号,经单片机的处理,输出控制信号,控制数码管和语音芯片工作。在数码管上显示哪一组先答题,并通过语音系统读出“第2组请答题,从而实现整个抢答过程。“一种基于单片机的抢答器与一般抢答器有四点不同:首先,抢答器反响异常灵敏。据了解,此抢答器的反响时间仅为几十微秒,大大缩短了抢答器的

4、反响时间,使抢答器可以迅速高效的工作。其次,抢答质量有保证。在抢答过程中,当有人首先枪答成功的同时,会伴有响亮的声音提示,并且,不同的抢答器会有不同的声音,为比赛更加公正透明化提供了依据。第三,抢答器设置了复位键。抢答的活动常常会有几个环节构成,为了保证在每个环节中枪答器都可以快速高效的运作,使得抢答更加顺利的进行,此类抢答器设置了复位键。最后,抢答器利用单片机技术。利用这一技术,保证了抢答器拥有上述功能的同时,提高了抢答器的寿命与质量,让抢答器可以更加实用的同时,提高了抢答器的技术含量。设计任务1 设计方案1确定单片机的型号 根据系统的功能与要求,选择AT89C51比拟宜。2任务:设计一个供

5、8名选手参加的八路扫描式抢答器。每组设计一个抢答按扭供参加者使用。电路具有第一抢答信号的鉴别和锁定存储功能。在主持人将系统复位并发出抢答指令后,如果参赛者在第一时间按抢答开关,那么按钮指示灯灯亮并用组别电路显示出抢答者的组别。同时扬声器发出声音。电路应具有自锁功能,使其他组不起作用。2 系统的功能与要求 每名选手有一个抢答按扭,按扭的编号与选手的编号相对应,抢答器具有信号的鉴别和数据的锁存、显示的功能。抢答开始后,假设有选手抢答按扭,那么选手指示灯亮,并在数码管上显示相应的编号,蜂鸣器发出音响提示。同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清零为止。

6、抢答器具有定时抢答的功能。在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时蜂鸣器发出短暂的声响,声响持续0.5s左右。选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号,并保持到主持人将系统清零为止。3 八路抢答器的概述 本文介绍的八路数显抢答器具有电路简单、本钱较低、操作方便、灵敏可靠等优点,经使用效果良好,具有较高的推广价值。可用于8组或8组以下的智力竞赛中。比赛前,将参赛组从0至7编号,每组发给对应的的一个抢答按钮。主持人按一下总控制启动键后,抢答开始。此后,哪一组最先按下抢答按钮,数码显示器就立即显示该组的组号并锁定,同时蜂鸣器发出声响。以后,

7、按下任何一路抢答按钮均不起反响。只有主持人再次按动启动键后,才能进行下一次抢答该电路。 第二章 硬件电路设计及其功能介绍1 方案论证有许多比赛活动中,为了更准确、公正、直观地判断出第一个抢答者,通常设置一个抢答器,通过数字显示,灯光及音响等多种手段显示第一抢答者,同时还可设置记分,犯规及奖惩记录等多种功能,传统的数电控制电路可靠性虽好,但不能显示台几号给主持人带来一定的麻烦,而模拟电子控制电路可靠性较差。 8路抢答器可以利用硬件电子元器件实现,但电路结构复杂,调试困难,涉及到的外围元件多,不便于安装,实验给实际操作带来很大的麻烦。 核芯是一片AT89C51,其片内带有的4KFLASHROM,1

8、28B的RAM,以及15根I/O口线能满足设计要求。利用单片机可以用很少元件实现相同功能,而且单片机性能可操作性强。可以只用P0口连接上拉电阻,完成驱动LED的功能,串接按键可以由选手自己控制抢答时机,利用P3口的RXD接AT89C51的A,B端,TXD接移位脉冲做时钟信号。利用单片机程序判断选手按键是否有效,但选手违规抢答,利用简单程序显示选手序号,启动蜂鸣器并不间断,告诉主持人有人违规操作,抢答无效。给出相应的延时,选手按正常的操作抢答,软件倒记时,利用AT89C51移位存放8段数码管,实现倒记时显示时间,到5秒相应时间提醒选手时间快到了,要及时作答,并启动蜂鸣器。2 方案比拟分析从第一个

9、方案我们可以看出,这个抢答器是由抢答电路,定时电路,报警电路,时序控制电路四个电路组成。扩展电路是由秒钟脉冲信号产生电路,译码电路,显示电路等,它的功能很齐全,设计的电路也很稳定。但是它的造价却很高。仅仅是集成电路它就用了八个,这跟我们当初的设计理念是相冲突的。我们要的是功能齐全,但是造价比拟低的设计。所以我们放弃了这项设计。而本设计采用单片机,可靠性好,结构简单,具有显示出台号,分机得分显示,倒计时功能以及奖惩情况。该模式充分表达了原有系统性能的改良,功能的扩展及与其它同类系统的不同之处,它包括硬件逻辑图与软件流程图,比拟经济实用,所以我们选用单片机方案。3 AT89C51简介 1 MSC-

10、51系列单片机简介MSC-51系列单片机是英特尔公司于1980年起推出的第二代产品。与8084相比,8051的硬件结构和指令系统均有很大改良,可支持更大的存贮空间,扩充了更多的硬件功能I/O功能,速度提高了2- 5倍,可完成逻辑运算等。近年来推出的一些增强的MSC-51系统单片机,片内还集成了许多特殊功能单元,只需要加一些扩展电路及必要的通道接口即可构成各种计算机应用系统。因MSC-51系统单片机在智能仪表、智能接口、功能模块等领域得到了非常广泛的应用。主要技术特性:适于控制应用的8位CPU。扩展的逻辑处理能力。64K程序存贮器空间和64K数据存贮器空间。4KB片内程序存贮器。128B片内数据

11、RAM。32根双向和可单独寻址的输入输出线。2个16位定时/计数器,片内时钟发生器。全双工异步发送/接收器。 6源5向量中断结构,具有两个优先级。1128个字节的片内数据存储器RAM。其片外数据存储器的寻址范围为64KB用于 存放可读写的数据,如运算的中间结果或最终结果等。 图2-1 MSC-51系列24KB的片内程序只读存储器ROM或EPROM。其片外可寻址范围为64KB,主要用于存放已编程的程序,也可以存放一些原始数据和表格。318个特殊功能存放器SFR。它用于控制和管理片内算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作。44个8位并行输入输出I/O接口

12、:P0口、P1口、P2口、P3口,用于并行输入或输出数据。51个串行I/O接口。他可使数据1位串行地在计算机与外设之间传送,可用软件设置4种工作方式,用于多处理机通信、I/O扩展或全双工通用异步接受器。6个16位定时器/计数器。他可以设置为计数方式对外部事件进行计数,也可以设置为定时方式进行定时。7具有5个中断源,可编程为2个优先级的中断系统。他可以接受外部中断申请、定时器/计数器中断申请和串行口中断申请。MCS-51系列单片机的40个引脚中有2 个专用于主电源的引脚,2个外接晶体的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。2 MCS-51单片机的指令程序时序是用定时

13、单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。节拍与状态我们把振荡脉冲的周期定义为节拍为方便描述,用P表示,振荡脉冲经过两个分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态用S表示,这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1P1,后半周期对应的节拍定义为2P2。机器周期MCS-51有固定的机器周期,规定一个机器周期有6个状态,分别表示为S1-S6,而一个状态包含两个节拍,那么一个机器周期就有12个节拍,我们可以记着S1P1、S1P2、S6P1、S6P2,一个机器周期共包含12个振荡脉冲,即机器周期

14、就是振荡脉冲的12分频,显然如果使用6MHZ的时钟频率,一个机器周期就是2us,而如果使用12MHZ的时钟频率,一个机器周期就是us。c) 引脚说明(1)VCC:供电电压。(2)GND:接地。(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 (4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚

15、写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 (5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口

16、在FLASH编程和校验时接收高八位地址信号和控制信号。 (6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外部数据存储器读选通P3口

17、同时为闪烁编程和编程校验接收一些控制信号。 (7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 (8)ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 (9)/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 (10)/EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储

18、器。在FLASH编程期间,此引脚也用于施加12V编程电源VPP。 (11)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 (12)XTAL2:来自反向振荡器的输出。4 系统的硬件构成及功能我们这里用的单片机是MCS51系列的AT89C51作为控制系统,它外接了八个键盘,也就是它可以为八个人同时提供抢答。它的显示系统为两个数码显示管共阳级接法;另外还有一个扬声器和八个发光二极管作为提示装置。当接通电源时,单片机将会对键盘进行扫描,当有按键按下时,单片机将会向数码显示关发出信号,于是数码显示管将显示按下键盘所对应的显示号18。同时,单片机还会将扬声器连接的接口设置为零低电平,而扬声器的

19、另一端接的是+5v 电压,从而将扬声器接通并发出报警声;单片机还会将按下的按键所对应的发光二极管的接口至低电平,而发光二极管用的是共阳极接法,从而点亮发光二极管。5 抢答器的原理图 CPU定时电路 声响抢答按扭30秒控制手动复位数码显示台位显示 图2-2 原理框图1) 单元电路的设计及硬件介绍a) 抢答器电路如图2.2所示电路,该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键,即使其他选手操作无效。抢答器具有锁存、定时、显示和报警功能。即当抢答开始后,选手抢答按动按钮,锁存器锁存相应的选手编码,同时用LED数码管把选手的编码显

20、示出来,并且开始抢答时间的倒计时,同时用LED数码管把选手的所剩抢答时间显示出来。而在选手按键抢答以及抢答时间倒计时到时的时候都有报警以提醒主持人和选手。图2-3 抢答器电路 b 时序控制电路时序控制电路是抢答器设计的关键,它要完成以下功能:A主持人将控制开关拨到“开始位置时,抢答电路和定时电路进入正常抢答状态。B当参赛选手按动抢答键时,蜂鸣器声响,抢答电路和定时电路停止工作。图2-4 时序控制电路c 复位电路的设计复位是计算机的一个重要工作状态。在单片机工作时,接电之前要复位,断电后也要复位,发生故障也要复位,在抢答器中复位那么是为定时做铺垫的,在抢答之前要复位,抢答完毕业要复位,按了复位键

21、之后,LED的显示的是0。单片机的复位引脚RST全称RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。整个复位电路包括芯片内外二局部。外部电路产生的复位信号通过复位引脚RST进入片内的斯密特触发器(抑制噪声作用)再与片内复位电路相连。复位电路每个机器周期对斯密特触发器的输出采样一次。当RST引脚端保持两个机器周期(24个时钟周期)以上的高电平时,AT89C51进入复位状态.图2-5 复位电路d) 定时电路的设计 1设置一个系统去除和抢答控制开关S即复位键,该开关由主持人控制。 2抢答器具有定时抢答功能,且一次抢答的时间由主持人设定如30秒。当主持人启动总控制启动复位键后,定时器进

22、行减计时,并在显示器上显示。3抢答器要具有数据锁存和显示的功能,参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,并在LED数码管上显示,同时扬声器发出报警声响提示。显示器上显示选手的编号,同时其他人在按就无效,并一直保持到主持人将系统去除为止。4如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示0,并发出一段时间的报警声。e) 报警电路设计 4.7K的电阻,一个三级管和一个蜂鸣器就组成了一个报警的电路,中选手开始抢答是蜂鸣器便提醒主持人是哪一个台号,当在设定的时间内没有人抢答,倒计时完毕后蜂鸣器也会发出短时间的叫声。图2中,接在三极管基极的4.7K电阻为限

23、流电阻,在此利用晶体管的高电流增益,以到达电路快速饱和的目的。图2-6 报警电路6 LED数码显示器及驱动电路LED是发光二极管的缩写,LED显示器由假设干个发光二极管构成的,当发光二极管导通时,显示对应的字符。LED显示器由7个发光二极管组成,也称为7段显示器,排列形状如图2-6所示。LED显示器还有一个圆点型的发光二极管,用于显示小数点,有时也称为8段LED显示器。LED显示器的发光二极管有共阴极和共阳极两种接法。共阴极接法,各发光二极管的阴极连在一起并接地,当某一发光二极管的阳极输入高电平时,那么该段发光;图右为共阳极接法,各发光二极管的阳极连在一起并接+5V,当阴极输入低电平时,该段发

24、光二极管发光。 2-7七段LED显示器图 7 电源电路图2-8 电源电路电源电路是由整流桥,7805稳压块和前后滤波电容组成,整流器接收变压器送来的低压交流信号,经整流后变成直流电,在经过100F的电解电容滤波后,送到7805稳压块后,输出稳定的正5V电压,再次滤波后送到单片机内第三章 硬件电路图简介3.1 原理图 3.2 原理图简要说明基于这个设计的上述要求,根据功能要求,须设计有抢答电路、显示电路、主持人控制电路、定时电路、报警电路,各个电路都有其自己的功能。通过复位键SW,电路进入就绪状态,等待抢答。首先由主持人发布抢答命令,按下S9进入倒计时状态和抢答状态。在电路中“S1S8”为八路抢

25、答器的8个按键,如果有人按下按键,如果有人按下按键,程序就会判断是谁先按下的,然后从P2口输出抢答者号码的七段码值,送到码管显示,并封锁键盘,保持刚刚按键按下时刻的时间,禁止其他人按键的输入,从而实现了抢答的功能。如果在设定的时间中没有一个人按下按键,一到时间那么产生报警信号已超时,不可以抢答。当要进行下一次抢答时,由主持人先按一下复位按键SW,电路复位,进入下一次抢答的就绪状态。第四章 软件设计 程序流程图及程序4.1 系统主要程序设计系统主程序设计 为了能到达抢答的公平、公正、合理,应该在主持人发布抢答命令之前设定抢答的时间。当时间设好了之后,主持人发布抢答命令。按下S9按键后,程序开始翻

26、开,定时中断开始倒计时,然后调用键盘扫描子程序,编写键盘扫描程序。当扫描到有人按下了键,马上关闭T0,调用显示程序,并封锁键盘。2抢答器的源程序 P1.0-P1.7为八路抢答器的输入端口,数码管断选P0口,位选P2口,蜂鸣器输出为P3.6。程序框架图:开始P1.5=0? N NP1.0=0? Y 调用响铃,显示程序调用响铃,显示程序 Y NP1.1=0? N P1.6=0? Y 调用响铃,显示程序 Y调用响铃,显示程序 NP1.7=0?P1.2=0? Y N Y 调用响铃,显示程序调用响铃,显示程序 NP1.3=0? Y结束调用响铃,显示程序 NP1.4=0? Y调用响铃,显示程序 完整的源程

27、序:BEEP BIT 00HORG 0000HLJMP MAIN ORG 0003H ;定义四个中断的入口地址 LJMP STARTORG 000BHLJMP STARTORG 0013HLJMP START1ORG 001BHLJMP START3ORG 0030HMAIN : MOV P1, #0FFH ;P1口全置1 SETB P3.0 ;串行输入端置1 SETB P3.1 ;串行输出端置1 CLR BEEP ;清零 MOV R0, #40H ;个位送“0” MOV R1, #0FFH ;十位全灭 MOV IP, #01H MOV IE, #8FHLOOP: CLR P3.6 ;串行输入

28、端清零 MOV P0, R1 LCALL DEL ;延时 MOV P0, R0 LCALL DEL ;延时 SETB P3.1 ;串行输出端置1 SJMP LOOPDEL: MOV R4, #20H ;立即数送R4DLY1: MOV R3, #49 ;立即数送R4DLY2: DJNZ R3, DLY2 ;R31不为0,继续 DJNZ R4, DLY1 ;R41不为0,继续 RET ;返回START0: CLR EA MOV A, P1ML0: CJNE A, #0FEH, ML1 ;1”字符码送P0口 MOV R0, 0F9H SJMP ML8ML1: CJNE A, #0FEH, ML2 ;

29、2字符码送P0口 MOV R0, 0A4H SJMP ML8ML2: CJNE A, #0FBH, ML3 ;“3字符码送P0口 MOV R0, 0B0H SJMP ML8ML3: CJNE A, #0F7H, ML4 ;“4字符码送P0口 MOV R0, 99H SJMP ML8ML4: CJNE A, #0EFH, ML5 ;“5字符码送P0口 MOV R0, 92H SJMP ML8ML5: CJNE A, #0DFH, ML6 ;“6字符码送P0口 MOV R0, 82H SJMP ML8ML6: CJNE A, #0BFH, ML7 ;“7字符码送P0口 MOV R0, F8H SJ

30、MP ML8ML7: CJNE A, #7FH, ML8 ;“8”字符码送P0口 MOV R0, 80HML8: CLR P3.6 ;蜂鸣器响 RET ISTART1: CLR EA ;关中断 MOV R7, #30 ;立即数30送R7 MOV R0, #0L0H MOV R1, #0B0H MOV TMOD, #42H MOV TH0, #80H ;80H送TH0 MOV TH1, #83H ;83H送TH1 MOV TL1, #00H SETB TR0 SETB TR1 SETB EA RET ISTART2: SETB P3.4 ;定时/计数器0外部信号输入端置1 NOP NOP RET

31、 ISTRAT3: DEC R7 ;秒减1 LCALL DISP ;调显示处理程序 MOV A, R7 ; (R7)送累加器A JZ ML10 CJNZ R7, #00H, ML10 MOV TH1, #83H ;将83H送到TH1 MOV TL1, #00H ;将00H送到TL1 SETB TR1 SETB TR0 SETB EA ;开中断 LJMP ML11ML10: CLR P3.6 ;蜂鸣器响 CLR TR0 ;关闭定时器T0 CLR TR1 ;关闭定时器T0 CLR EAML11: RET IDISP MOV A, R7 MOV B, #2 MUL AB MOV B, A ADD A

32、, #09H MOVC A, A+PC MOV R1, A MOV A, B ADD A, #02H INC A MOVC A, A+PC MOV R0, A RETTAB: DB 0FFH, 40H, 0FFH, 79H, 0FFH, 24H DB 0FFH, 30H, 0FFH, 19H, 0FFH, 12H DB 0FFH, 02H, 0FFH, 78H, 0FFH, 00H DB 0FFH, 10H, 0F9H, 40H, 0F9H, 79H DB 0F9H, 24H, 0F9H, 30H, 0F9H, 19H DB 0F9H, 12H, 0F9H, 02H, 0F9H, 18H DB

33、 0F9H, 00H, 0F9H, 10H, 0A4H, 40H DB 0A4H, 79H, 0A4H, 24H, 0A4H, 30H DB 0A4H, 19H, 0A4H, 12H, 0A4H, 02H DB 0A4H, 78H, 0A4H, 00H, 0A4H, 10HEND. ;程序结束 开 始主程序框图:P1 口 全 置1 关 闭 显 示 个位送“0,十位全灭送FF 设定中断方式,下 降沿有效 开 四 个 中 断 关 提 示 音 十位位码取低电平即0送到p3.0口 十位字符码送P0口 延 时 十位位码取高电平即1送P3.0口 个位位码去低电平即0送P3.1口 个位字符码送P0口 延 时

34、 个位位码取高电平即1送P3.1口 主程序:BEEP BIT 00HORG 0000HLJMP MAIN ORG 0003H ;定义四个中断的入口地址 LJMP STARTORG 000BHLJMP STARTORG 0013HLJMP START1ORG 001BHLJMP START3ORG 0030HMAIN : MOV P1, #0FFH ;P1口全置1 SETB P3.0 ;串行输入端置1 SETB P3.1 ;串行输出端置1 CLR BEEP ;清零 MOV R0, #40H ;个位送“0” MOV R1, #0FFH ;十位全灭 MOV IP, #01H MOV IE, #8FH

35、LOOP: CLR P3.6 ;串行输入端清零 MOV P0, R1 LCALL DEL ;延时 MOV P0, R0 LCALL DEL ;延时 SETB P3.1 ;串行输出端置1 SJMP LOOP延时程序:开始20H送R449送R3(R3)1=0?(R4)1=0?返回DEL: MOV R4, #20H ;立即数送R4DLY1: MOV R3, #49 ;立即数送R4DLY2: DJNZ R3, DLY2 ;R31不为0,继续 DJNZ R4, DLY1 ;R41不为0,继续 RET ;返回显示处理程序: 开始表首址送到DPTR(R7)送A,立即数10送B秒数分解成十位,个位十位值=0?

36、0AH送A(不显示)取十位字符码送R1B 送 A取个位字符码送R0返回DISP: MOV DPTR,#TAB MOV A,R7 ;(R7)送A,立即数10送B MOV B,#10 ;秒数分解成十位,个位 DIV AB CJNZ A,#00H,MLR MOV A,#0AHML12:MOV A,A+DPTR MOV R0,A ;取个位字符码送R0 RETTAB:DB 00H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H,0FFHINT0中断效劳程序:开始关中断P1口数据送A(A)=FEH?1字符码送P0口(A)=FDH?“2”字符码送P0口(A)=FBH?“

37、3”字符码送P0口P2.2口置0,亮灯(A)=F7H?“4”字符码送P0口123P2.3置0,亮灯21(A)=EFH?3“5”字符码送P0口P2.4置0,亮灯(A)=DFH?“6”字符码送P0口P2.5置0,亮灯(A)=BFH?“7”字符码送P0口P2.6置0,亮灯(A)=7FH?“8”字符码送P0口P2.7置0,亮灯P3.6置0,报警返回 START0: CLR EA MOV A, P1ML0: CJNE A, #0FEH, ML1 ;1”字符码送P0口 MOV R0, 0F9H SJMP ML8ML1: CJNE A, #0FEH, ML2 ;2字符码送P0口 MOV R0, 0A4H S

38、JMP ML8ML2: CJNE A, #0FBH, ML3 ;“3字符码送P0口 MOV R0, 0B0H SJMP ML8ML3: CJNE A, #0F7H, ML4 ;“4字符码送P0口 MOV R0, 99H SJMP ML8ML4: CJNE A, #0EFH, ML5 ;“5字符码送P0口 MOV R0, 92H SJMP ML8ML5: CJNE A, #0DFH, ML6 ;“6字符码送P0口 MOV R0, 82H SJMP ML8ML6: CJNE A, #0BFH, ML7 ;“7字符码送P0口 MOV R0, F8H SJMP ML8ML7: CJNE A, #7FH

39、, ML8 ;“8”字符码送P0口 MOV R0, 80HML8: CLR P3.6 ;蜂鸣器响 RET IINT1中断效劳程序:开始关中断30送R7“0”字符码送R0(个位)“3字符码送R1(十位)T1计数,T0定时80H送TH083H送TH100H送TL1开启T0 T1,中断返回START1: CLR EA ;关中断 MOV R7, #30 ;立即数30送R7 MOV R0, #0L0H MOV R1, #0B0H MOV TMOD, #42H MOV TH0, #80H ;80H送TH0 MOV TH1, #83H ;83H送TH1 MOV TL1, #00H SETB TR0 SETB

40、 TR1 SETB EA RET IT0中断效劳程序:开始空操作2次(延时)返回START2: SETB P3.4 ;定时/计数器0外部信号输入端置1 NOP NOPT1中断效劳程序:开始(R7)1送R7调显示处理程序 R7送A(A)=0?83H送TH1,00H送TL1计数器重置初值启动T1,T0关T1,T0,中断返回STRAT3: DEC R7 ;秒减1 LCALL DISP ;调显示处理程序 MOV A, R7 ; (R7)送累加器A JZ ML10 CJNZ R7, #00H, ML10 MOV TH1, #83H ;将83H送到TH1 MOV TL1, #00H ;将00H送到TL1

41、SETB TR1 SETB TR0 SETB EA ;开中断 LJMP ML11ML10: CLR P3.6 ;蜂鸣器响 CLR TR0 ;关闭定时器T0 CLR TR1 ;关闭定时器T0 CLR EAML11: RET I第五章 调试接完毕后,在接通电源前,先用万用表仔细检查各管脚间是否有短路,虚焊、漏焊现象。检查无误后,先不要把各个集成块插入芯片插座中,然后接通电源,用手触摸桥碓,看看是否发热,或者用万用表测试其两端的电压是否在10V左右。如果发热或者电压为零那么说明电路中有短路的现象,要立刻切断电源,再做仔细的检查,改正后再进行同样的测试,直到正常为止。再测试各个芯片的电压是否正常,正常

42、的话可以把各个集成块芯片插入芯片插座中。 以上检查无误后,再进行调试。首先按下复位键,用万用表测试CD4013的第六引脚是否有高电平输出,有的话说明电路连接正确;再测试第一脚是否是低电平,不是的话说明电路连接有问题,要切断电源检查。如果没有的就再按下抢答按钮S1,用万用表测试第一脚是不是有高电平,数码管的显示数字是否为“1。不是的话再仔细地检查电路中的连接。是的话就依次按下S2、S3、S4,观察数码管的显示是否有变化,没有变化说明电路中的反相器CD4069起到了闭锁的作用。再看看蜂鸣器是否响。再按下S2,进行与S1相同的操作。同理按下S3、S4进行检查。软件调试是通过对用户程序的汇编、连接、执行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论