数字定时抢答器的设计

上传人:沈*** 文档编号:145766498 上传时间:2022-08-30 格式:DOC 页数:38 大小:820.50KB
收藏 版权申诉 举报 下载
数字定时抢答器的设计_第1页
第1页 / 共38页
数字定时抢答器的设计_第2页
第2页 / 共38页
数字定时抢答器的设计_第3页
第3页 / 共38页
资源描述:

《数字定时抢答器的设计》由会员分享,可在线阅读,更多相关《数字定时抢答器的设计(38页珍藏版)》请在装配图网上搜索。

1、辽宁科技大学毕业设计(论文)第34页数字定时抢答器的设计摘要抢答器被广泛应用于企事业单位和商业部门,本文介绍了一种以MCS51单片机为核心的八路数字抢答器系统,分别从硬件和软件两方面阐述了该控制系统的设计方法,并经过调试和运行使该系统达到预期目标,具有反应快、功能齐全、实用性强的特点,另外,还介绍了一种以集成电路为主体的数字定时抢答器,抢答器由主体电路与扩展电路组成。用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。关键词 单片机;数字控制系统;定时电路;复位

2、电路;时序控制AbstractThe figure vies for the answering device by the subject circuit and expands the circuit to make up . Have priority in code circuit , latch , decipher circuit and export the input signal of the entrant team on the display; Starting the warning circuit with the control circuit and hosts

3、 switch, two the above-mentioned parts make up the subject circuit. Through timing circuit and decipher second signal function while outputs and realizes counting on the displaying that pulse produce circuit, form and expand the circuit. Through connect up , weld , debug figure vie for answering dev

4、ice take shape after the work. Eight routes calling implement based on MCS51single chip controller,and A kind of eight routes digital calling implement is introduced in the thesis, in addition the MCS51 Single chip controller is its hard coreAlso, the design method of the control system was expounde

5、d from aspects of the software and the hardwareAnd after debugging and running, the system reached the expected target, which have many advantages such as fast reaction, all ready function and good practicabilityKeywords single chip controller; digital control system;timing circuit;reduction circuit

6、;time sequence controlling目录摘要IAbstractII第1章 绪论11.1抢答器设计背景11.1.1开发背景11.1.2单片机的发展背景1第2章 MCS-51系列单片机22.1 MCS-51单片机的介绍及主要应用特性22.1.1 MCS-51单片机的介绍22.2.2 MCS-51单片机主要应用特性22.2 MCS-51系列单片机的定时器功能5第3章 基于MCS_51单片机的八路抢答器63.1抢答器系统的功能63.2 抢答器的硬件系统63.3 抢答器的单片机时钟电路及复位电路分析83.3.1 抢答器的单片机时钟电路分析83.3.2 抢答器单片机的复位电路:93.4 抢

7、答器的软件系统123.5 MCS-51定时/计数器143.6 MCS-51单片机定时中断的精确定时编程方法19第4章 集成电路数字抢答器234.1 数字抢答器内容234.2 设计任务与要求234.3 方案论证与比较234.4 总体设计思路244.5 多功能硬件与软件设计及其理论分析与计算254.6 系统的组装与调试及测试方法28结论30致谢31参考文献32附录错误!未定义书签。第1章 绪论1.1 抢答器设计背景1.1.1 开发背景抢答器是一种广泛应用于企事业单位和商业部门,为各种知识竞赛、文娱活动提供公正客观快速裁决的一种常用电子设备,也是一种逐渐成型的电子产品,但市面上所售抢答器价格一般较贵

8、且多为小规模集成电路构成,其性能单一,工作起来不够理想。因此,提高抢答器的性能,使其具有更强的功能,使用可靠方便已为抢答器发展的一个方向。随着集成技术和计算机技术的发展,单片机作为其一个分支亦于20世纪80年代以来获得了飞速发展,各种新品不断涌现,使单片机的应用更加深入,灵活性也大大增强。本文介绍一种以MCS51单片机为核心的八路抢答器系统,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。1.1.2 单片机的发展背景单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。若把经典的电子系统当作一个僵死的电子

9、系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特点。第2章 MCS-51系列单片机2.1 MCS-51单片机的介绍及主要应用特性2.1.1 MCS-51单片机的介绍MCS-51单片机是美国INTE公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强

10、,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,各高校及专业学校的培训教材仍与MCS-51单片机作为代表进行理论基础学习。我们也以这一代表性的机型进行系统的讲解。12.2.2 MCS-51单片机主要应用特性(1) MCS-51系列单片机主要包括8031、8051和8751等通用产品,其主要功能如下:8位CPU4kbytes 程序存储器(ROM)128bytes的数据存储器(RAM)32条I/O口线111条指令,大部分为单字节指令21个专用寄存器2个可编程定时/计数器5个中断源

11、,2个优先级一个全双工串行通信口外部数据存储器寻址空间为64kB外部程序存储器寻址空间为64kB逻辑操作位寻址功能双列直插40PinDIP封装单一+5V电源供电(2) MCS-51以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“名机”,为以后的其它单片机的发展奠定了基础。正因为其优越的性能和完善的结构,导致后来的许多厂商多沿用或参考了其体系结构,有许多世界大的电气商丰富和发展了MCS-51单片机,象PHILIPS、Dallas、ATMEL等著名的半导体公司都推出了兼容MCS-51的单片机产品,就连我国的台湾WINBOND公司也发展了兼

12、容C51(人们习惯将MCS-51简称C51,如果没有特别声明,二者同指MCS-51系列单片机)的单片机品种。(3) 近年来C51获得了飞速的发展,C51的发源公司INTEL由于忙于开发PC及高端微处理器而无精力继续发展自己的单片机,而由其它厂商将其发展,最典型的是PHILIPS和ATML公司,PHILIPS公司主要是改善其性能,在原来的基础上发展了高速I/O口,A/D转换器,PWM(脉宽调制)、WDT等增强功能,并在低电压、微功耗、扩展串行总线(I2C)和控制网络总线(CAN)等功能加以完善。(4) PHILIPS公司在发展C51的低功耗,高速度和增强型功能上作了不少贡献,当初主要由其来发展C

13、51单片机,他们的83Cxx和87Cxx系列省去了并行扩展总线,适合于作为家用电器类控制的经济型单片机。(5) ATMEL公司推出的AT89Cxx系列兼容C51的单片机,完美地将Flash(非易失闪存技术)EEPROM与80C51内核结合起来,仍采用C51的总体结构和指令系统,Flash的可反擦写程序存储器能有效地降低开发费用,并能使单片机作多次重复使用。(6) Siemens公司也沿用C51的内核,相继推出了C500系列单片机,在保持了与C51指令兼容的前提下,其产品的性能得到了进一步的提升,特别是在抗干扰性能,电磁兼容和通信控制总线功能上独树一帜,其产品常用于工作环境恶劣的场合。亦适用于通

14、信和家用电器控制领域。(8) 台湾的WINBOND公司亦开发了一系列兼容C51的单片机,其产品通常具备丰富的功能特性,而且与其质优价廉在市场也占有一定的分额。下表是80C51系列单片机的主要分类及功能特性:系列典型芯片I/O口定时/计数器中断源串行通信口片内RAM片内ROM51系列80C314x8位2x16位51128字节无80C514x8位2x16位51128字节4kB掩膜ROM87C514x8位2x16位51128字节4kBEPROM89C514x8位2x16位51128字节4kBEEPROM52系列80C324x8位2x16位61256字节无80C514x8位2x16位61256字节8k

15、B掩膜ROM87C524x8位2x16位61256字节4kBEPROM89C524x8位2x16位61256字节4kBEEPROM图2.1 80C51系列单片机功能特性表8051是MCS-51系列单片机中的代表产品,它内部集成了功能强大的中央处理器,包含了硬件乘除法器、21个专用控制寄存器、4kB的程序存储器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。MCS-51具有比较大的寻址空间,地址线宽达16条,即外部数据存储器和程序存储器的寻址范围达216=64kB,这作为单片机控制来说已是比较大的,这同时具备对I/O口的访问能力。此外

16、,MCS-51采用模块化结构,可方便地增删一个模块就可引脚和指令兼容的新产品。从而容易使产品形成系列化。由于MCS-51集成了几乎完善的8位中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,硬件的加、减、乘、除法器和布尔处理机及各种逻辑运算和转移指令,这给应用提供了极大的便利。2(8) MCS-51的指令系统近乎完善,指令系统中包含了全面的数据传送指令、完善的算术和逻辑运算指令、方便的逻辑操作和控制指令、对于编程来说,是相当灵活和方便的。MCS-51单片机的工作频率为2-12MHz,当振荡频率为12MHz时,一个机器周期为1us,这个速度应该说是比较快的。(9) 8051中集

17、成了完善的各种中断源,用户可十分方便地控制和使用其功能,使得它的应用范围加大,可以说它可以满足绝大部分的应用场合。(10) MCS-51把微型计算机的主要部件都集成在一块心片上,使得数据传送距离大大缩短,可靠性更高,运行速度更块。由于属于芯片化的微型计算机,各功能部件在芯片中的布局和结构达最优化,抗干扰能力加强,工作亦相对稳定。因此,在工业测控系统中,使用单片机是最理想的选择。单片机属于典型的嵌入式系统,所以它是低端控制系统最佳器件。(11) MCS-51的开发环境要求较低,软件资源十分丰富,介绍其功能特性书籍和开发软件随处可取,只需配备一台PC(个人电脑对电脑的配置基本上无要求),一台仿真编

18、程器即可实现产品开发,早期的开发软件多使用DOS版本,随着Windows视窗软件的普及,现在几乎都使用Windows版本,并且软件种类繁多,琳琅满目,在众多的单片机品种中,C51的环境资源是最丰富的,这给C51用户带来极大的便利。2.2 MCS-51系列单片机的定时器功能MCS51系列的单片机一般有两个内部的16位定时器/计数器分别称为T0和Tl。这两个计数器分别是由两个8位的RAM单元组成的,即每个计数器都是16位的计数器,最大的计数量是65536。那么这个定时/计数器是如何产生定时作用的呢?举个例子,如果将时钟定时到1分钟,那么秒针计数到60次后,时钟闹铃就会响。这里有个计数和定时之间的概

19、念转化,时间表示为秒针计数值,即秒针每一次走动的时间正好是ls。单片机中的定时器和计数器是复用的,计数器是记录外部脉冲的个数,而定时器则是由单片机提供的一个非常稳定的计数源。定时器是由单片机的晶振经过12分频后获得的一个脉冲源。当单片机的晶振为12MHz时,计数值1代麦的时间就是1us。计数器的容量是16位,也就是最大的计数值到65536,因此计数计到65536就会产生溢出。当定时器/计数器计溢出时,就会使得相关的寄存器标志产生变化,单片机将由此I而产生定时中断,在中断服务程序中处理定时到而需要完成的任务。第3章 基于MCS_51单片机的八路抢答器3.1抢答器系统的功能3.1.1本抢答系统可实

20、现以下功能:(1) 抢答功能:通过八路按键配合程序来实现抢答功能。当主持人按下抢答键开始抢答后,此时任一路按下按钮均闭锁其它各路,由程序对键盘译码并显示最先按下抢答键的路数及其当前时间。(2) 抢答限时:主持人按下抢答键后,设置5秒为抢答时间(此时间可在199秒之间修改)。若5秒内无人抢答,倒计时为0时发出报警,说明该抢答题目作废。此时闭锁所有抢答按键,只有当主持人再次按下抢答键开始下一次抢答方可抢答。(3) 答题限时:当主持人按下开始答题按钮时,启动倒计时(此倒计时时间可在199秒之间修改),若答题时间过长,倒计时为0时发出报警,说明答题时间到,显示返回当前台数及其分数为下一步计分作出准备。

21、(4) 计分功能:当按下计分键后可始计分,可实现加减计分,分值可在1999之间设置。如果各题分值相同,可在第一次设定计数分值后直接按加键或减键来实现计分。(5) 查询功能:当按下查询键后,可查询各台分值。按下分组数直接显示当前台数及其分值,比如按1,显示台数为1,分值为其当前实际分值。(6) 设定功能:按下设定键后,可按顺序设置抢答限时时间,答题限时时间和默认计分分值。(7) 其它可附加功能:如果采用语音芯片可实现语音报警。3.2 抢答器的硬件系统本抢答器的硬件系统包括以下几个部分:(1) 抢答按钮和各功能键:09十个按键(在抢答时18为抢答键,0和9无效;在计分和设定时为数字输入键)、一个开

22、始抢答键、一个开始答题键、一个计分键、一个加分键、一个减分键、一个查询键、一个设定键共17个键,其中开始抢答键单独设置。键盘采用行列式键盘,各键分布电路图如图3.1所示。图3.1 抢答器的硬件系统(2) 显示电路:显示电路可由LED或LCD来实现。此处选用LED方式,由6位七段显示器来实现,其亮度高,使用简单方便。(3) 声光电路:这里的声音电路是指实现报警的电路,发光电路由发光二极管来实现。(4) 电源电路:电源采用市电经整流稳压来获得,其具体电路如图 3.2所示。图3.2电源电路图3.3 抢答器的单片机时钟电路及复位电路分析3.3.1 抢答器的单片机时钟电路分析抢答器的单片机的时钟信号用来

23、提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。时钟电路:8031单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。内部振荡方式的外部电路如下图所示。图中,电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MH2,采用6MHz的情况也比较多。内部振荡方式所得的时钟情号比较稳定,实用电路中使用

24、较多。外部振荡方式是把外部已有的时钟信号引入单片机内。这种方式适宜用来使单片机的时钟与外部信号保持同步。外部振荡方式的外部电路如下图 3.3所示。图3.3 内外振荡方式由上图可见,外部振荡信号由XTAL2引入,XTAL1接地。为了提高输入电路的驱劝能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。基本时序单位:单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。振荡频率foscl2分频后形成机器周期MC。所以,1个机器周期包含有6个状态周期

25、或12个振荡周期。1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。8031单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。下面是单片机外接晶振频率12MHZ时的各种时序单位的大小:振荡周期1/fosc=1/12MHZ=0.0833us3.3.2抢答器单片机的复位电路当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有

26、两种基本形式:上电复位和上电或开关复位。上电复位要求接通电源后,自动实现复位操作。常用的上电复位电路如下图3.4 A中左图所示。图中电容C1和电阻R1对电源十5V来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图3.4中电阻R1,也能达到上电复位的操作功能,如下图3.4(A)中右图所示。3图3.4 单片机的复位电路上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。常用的上电或开关复位电路如上图(B)所示。上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K

27、后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。上图(A)中:Cl10-30uF,R11kO上图127(B)中:C:1uF,RllkO,R210kO单片机复位后的状态:单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见下图3.5。值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始

28、化部分是十分必要的。说明:表中符号*为随机状态;A00H,表明累加器已被清零;特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 A 00H TMOD 00H B 00H TCON 00H PSW 00H TH0 00H SP 07H TL0 00H DPL 00H TH1 00H DPH 00H TL1 00H P0P3 FFH SBUF 不定 IP *00000B SCON 00H IE 0*00000B PCON 0*B 图3.5寄存器复位后的状态为确定值PSW00H,表明选寄存器0组为工作寄存器组;SP07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一

29、个被压入的内容写入到08H单元中;Po-P3FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;IP00000B,表明各个中断源处于低优先级;IE000000B,表明各个中断均被关断;系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。51单片机在系统复位时,将其内部的一些重要寄存器设置为特

30、定的值,(在特殊寄存器介绍时再做详细说明)至于内部RAM内部的数据则不变。33.3.2 影响单片机系统运行稳定性的因素:(1) 外因射频干扰,它是以空间电磁场的形式传递,在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰;电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。(2) 内因振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。3.4 抢答器的软件系统本抢答器的软件系统主要包括以下几个部分:

31、(1) 主程序:主程序的功能主要是完成内部各寄存单元的初始化,对8155接口电路的初始化,内部定时器的初始化,中断的初始化及调用显示程序对初始状态的显示以及对外部信号的等待处理,也就是说完成前期的准备工作等待随时对外部信号进行响应。(2) 对开始抢答信号的处理:当主持人按下开始抢答键后开始抢答,程序部分采用中断方式进行处理。在中断处理程序中完成相应操作,修改计时单元的数据并使红色指示灯亮。(3) 键盘扫描子程序:对行列式键盘的扫描方法有两种。一为扫描法,对键盘按行(或列)逐行(或列)扫描查询,其结构清晰但对处于最后行列的按键需经多次扫描;一为反转法,它先使行(或列)全为零,读入列(或行)的状态

32、暂存,然后使列(或行)全为零,读入行(或列)的状态保存,对两次保存数据进行查询即可得知按下键的行列数从而确定键值。在程序中采用反转法对键盘进行扫描。键盘扫描程序在确定键值后保存等待后续处理。(4) 键值处理子程序:此子程序根据键盘扫描所取得的键值作出相应处理。在抢答时,只有数字键(代表相应抢答分组)18按下有效,其它键按下无效并且一旦抢答成功,只有按开始答题键有效,其它键均无效。开始答题键按下给出相应信号指示。答题结束后,按下计分键后,可按“+”键加分或按“-”键减分,输入分值后按“Enter”确认分值运算。如果每题分值相同可在抢答前设置,此时在按2下“+”或“-”后直接按下“Enter”确认

33、分值运算。在抢答完成后,可按查询键对各分组的成绩进行查询。在按下查询键后输入相应分组号即可显示其分数,按下“Enter”退出查询。在抢答前按下“Enter”键可进行抢答限时时间、答题限时时间和默认分值的设置。(5) 显示子程序:此程序仅完成6位数据的动态显示,可显示数字和代码。在抢答时,显示为qX3X02,其中“q”代表正在抢答;“X”代表熄灭;“3”表示分组数,是18中的任一个数;“0”和“2”分别为09中的任一个数,是抢答限时倒计时的时间。开始答题后,显示为DX3X02,其中“D”表示正在答题;“X”代表熄灭;“3”代表分组数,是18中的任一个数;“0”和“2”分别为09中的任一个数,是答

34、题限时倒计时的时间。在计分时,显示为J3200,其中“J”表示当前为计分状态,“3”代表分组数,是18中的任一个数;“”为“+”或“-”号,表示当前为加分状态或减分状态;“2”、“0”和“0”3位分别为09中的任一个数,是当前题目的分值。在查询时,显示为C30500,其中“C”表示当前为查询状态;“3”代表分组数,是18中的任一个数;“0”、“5”、“0”和“0”四位代表所查分组的当前总分,是09中的任一个数。在设置时,显示为S1XX05、S2XX15或S3X300中的任一个,其中“S”表示当前为设置状态;“1”是13中的任一个数,表示正在设置的值是哪一个,为1时表示对抢答限时时间设置,为2时

35、表示对答题限时时间设置,为3时表示对题目默认分值的设置;“X”表示熄灭;数字分别为09中的任一个数,时间最多可设二位,题目默认分值最多可设三位。初始状态显示6位全熄灭。部分程序的流程图如图3.6所示。图3.6 程序流程图3.5 MCS-51定时/计数器下面介绍下的MCS-51定时/计数器,MCS-51的单片机内有两个16位可编程的定时/计数器,它们具有四种工作方式,其控制字和状态均在相应的特殊功能寄存器中,通过对控制寄存器的编程,就可方便地选择适当的工作方式。下面我们对它们的特性进行阐述。3.5.1定时/计数器的工作方式MCS-51单片机内部的定时/计数器的结构如图1所示,定时器T0特性功能寄

36、存器TL0(低8位)和TH0(高8位)构成,定时器T1由特性功能寄存器TL1(低8位)和TH1(高8位)构成。特殊功能寄存器TMOD控制定时寄存器的工作方式,TCON则用于控制定时器T0和T1的启动和停止计数,同时管理定时器T0和T1的溢出标志等。程序开始时需对TL0、TH0、TL1和TH1进行初始化编程,以定义它们的工作方式和控制T0和T1的计数。43.5.2 TMOD和TCON这两个特殊功能寄存器的格式参见下表:(1)定时/计数器的方式控制字TMOD,字节地址为89H,其格式如表1:表1TMOD寄存器结构D7D6D5D4D3D2D1D0GATAM1M0GATAM1M0T1方式字段T0方式字

37、段 (2) 定时器控制积存器TCON,字节地址为88H,位地址为88H8FH,其格式如表2:表2TCON结构D7D6D5D4D3D2D1D0TF1TR1TF0TR0IE1IT1IE0IT03.5.3 MCS-51的定时/计数器工作方式TMOD和TCON各位的意义和用途我们将在下面的章节中予以介绍,需要注意的是,TCON的D0D3位与中断有关,我们会在中断的内容中加以说明,MCS-51的定时/计数器共有四种工作方式,我们逐个进行讨论。(1) 工作方式0定时/计数器0的工作方式0电路逻辑结构见图 3.7(定时/计数器1与其完全一致),工作方式0是13位计数结构的工作方式,其计数器由TH的全部8位和

38、TL的低5位构成,TL的高3位没有使用。当=0时,多路开关接通振荡脉冲的12分频输出,13位计数器以次进行计数。这就是定时工作方式。当=1时,多路开关接通计数引脚(To),外部计数脉冲由银南脚To输入。当计数脉冲发生负跳变时,计数器加1,这就是我们常称的计数工作方式。图3.7 定时/计数器方式不管是哪种工作方式,当TL的低5位溢出时,都会向TH进位,而全部13位计数器溢出时,则会向计数器溢出标志位TF0进位。我们讨论门控位GATA的功能,GATA位的状态决定定时器运行控制取决于TR0的一个条件还是TR0和INT0引脚这两个条件。当GATA=1时,由于GATA信号封锁了与门,使引脚INT0信号无

39、效。而这时候如果TR0=1,则接通模拟开关,使计数器进行加法计数,即定时/计数工作。而TR0=0,则断开模拟开关,停止计数,定时/计数不能工作。当GATA=0时,与门的输出端由TR0和INT0电平的状态确定,此时如果TR0=1,INT0=1与门输出为1,允许定时/计数器计数,在这种情况下,运行控制由TR0和INT0两个条件共同控制,TR0是确定定时/计数器的运行控制位,由软件置位或清“0”。如上所述,TF0是定时/计数器的溢出状态标志,溢出时由硬件置位,TF0溢出中断被CPU响应时,转入中断时硬件清“0”,TF0也可由程序查询和清“0”。在工作方式下,计数器的计数值范围是:18192(213)

40、当为定时工作方式时,定时时间的计算公式为:(213计数初值)晶振周期12或(213计数初值)机器周期其时间单位与晶振周期或机器周期相同。如果单片机的晶振选为6.000MHz,则最小定时时间为:213(2131)1/610-612=210-6(s)=2(us)(2130)1/610-612=1638410-6(s)=16384(us)。(2) 工作方式1当M1,M0=01时,定时/计数器处于工作方式1,此时,定时/及数器的等效电路如图3.8所示,仍以定时器0为例,定时器1与之完全相同。图3.8 定时/计数器工作方式1等效电路可以看出,方式0和方式1的区别仅在于计数器的位数不同,方式0为13位,而

41、方式1则为16位,由TH0作为高8位,TL0为低8位,有关控制状态字(GATA、TF0、TR0)和方式0相同。在工作方式1下,计数器的计数值范围是:165536(216)当为定时工作方式1时,定时时间的计算公式为:(216计数初值)晶振周期12或(216计数初值)机器周期其时间单位与晶振周期或机器周期相同。如果单片机的晶振选为6.000MHz,则最小定时时间为:213(2161)1/610-612=210-6(s)=2(us)(2160)1/610-612=13107210-6(s)=131072(us)。(3) 工作方式2 当M1M0=10时,定时/计数器处于工作方式2.此时定时器的等效电阻

42、如图3.9所示.我们还是以定时/计数器0为例,定时/计数器1与之完全一致。图3.9 定时/计数器工作方式2等效电路工作方式0和工作方式1的最大特点就是计数溢出后,计数器为全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度,工作方式2就针对这个问题而设置,它具有自动重装载功能,即自动加载计数初值,所以也有的文献称之为自动重加载工作方式。在这种工作方式中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是

43、由预置寄存器TH以硬件方法自动给计数器TL0重新加载。 程序初始化时,给TL0和TH0同时赋以初值,当TL0计数溢出时,置位TF0的同时把预置寄存器TH0中的初值加载给TL0,TL0重新计数。如此反复,这样省去了程序不断需给计数器赋值的麻烦,而且计数准确度也提高了。但这种方式也有其不利的一面,就是这样一来的计数结构只有8位,计数值有限,最大只能到255。所以这种工作方式很适合于那些重复计数的应用场合。例如我们可以通过这样的计数方式产生中断,从而产生一个固定频率的脉冲。也可以当作串行数据通信的波特率发送器使用。(4) 工作方式3当M1M0=11时,定时/计数器处于工作方式3,此时,定时/及数器的

44、等效电路如图3.8所示,仍以定时器0为例,值得注意的是,在工作方式3模式下,定时/计数器1的工作方式与之不同,下面我们分别讨论,如图3.10图3.10 定时/计数器工作方式3等效电路在工作方式3模式下,定时/计数器0被拆成两个独立的8位计数器TL0和TH0。其中TL0既可以作计数器使用,也可以作为定时器使用,定时/计数器0的各控制位和引脚信号全归它使用。其功能和操作与方式0或方式1完全相同。TH0就没有那么多“资源”可利用了,只能作为简单的定时器使用,而且由于定时/计数器0的控制位已被TL0占用,因此只能借用定时/计数器1的控制位TR1和TF1,也就是以计数溢出去置位TF1,TR1则负责控制T

45、H0定时的启动和停止。等效电路参见图3.11。由于TL0既能作定时器也能作计数器使用,而TH0只能作定时器使用而不能作计数器使用,因此在方式3模式下,定时/计数器0可以构成二个定时器或者一个定时器和一个计数器。如果定时/计数器0工作于工作方式3,那么定时/计数器1的工作方式就不可避免受到一定的限制,因为自己的一些控制位已被定时/计数器借用,只能工作在方式0、方式1或方式2下,等效电路参见图3.11图3.11 T1工作方式2在这种情况下,定时/计数器1通常作为串行口的波特率发生器使用,以确定串行通信的速率,因为已没有TF1被定时/计数器0借用了,只能把计数溢出直接送给串行口。当作波特率发生器使用

46、时,只需设置好工作方式,即可自动运行。如要停止它的工作,需送入一个把它设置为方式3的方式控制字即可,这是因为定时/计数器本身就不能工作在方式3,如硬把它设置为方式3,自然会停止工作。3.6 MCS-51单片机定时中断的精确定时编程方法MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为38个机器周期1。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。文中以定时器T1工作在定时方式1为例,晶振频率为12MHz。(1

47、) 方法1在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序在计算每个定时周期的精确重装载值时,考虑了由停止计数(CLR TR1)到重新启动计数(SETB TR1)之间的7个机器周期时间。程序中#LOW(-1000+7)和#HIGH(-1000+7)是汇编符号,分别表示-1000+7=0FC1FH这个立即数的低位字节(1FH)和高位字节(0FCH)。CLR EA ;禁止所有中断CLR TR1 ;停止定时器T1M

48、OV A,#LOW(-1000+7) ;期望数的低位字节ADD A,TL1 ;进行修正MOV TL1,A ;重装载低位字节MOV A,#HIGH(-1000+7) ;对高位字节处理ADDC A,TH1MOV TH1,ASETB TR1 ;重启动定时器SETB EA ;重开中断此方法适用于各种原因造成的定时误差的情况,为通用方法。(2) 方法2假如定时周期为10ms,通常定时器重装载值为0D8F0H,中断子程序如下2:ORL TL1,#0F0HMOV TH1,#0D8H这里用ORL TL1,#0F0H代替MOV TL1,#0F0H 可提高定时精度。此方法只适用于重装载值低位字节的低4位为零,且中

49、断响应的延迟时间小于16个机器周期的情况。类似的定时器重装载值有0FFF0H,0FFE0H等。(3) 方法3假如定时周期为1ms,通常定时器重装载值为0FC18H,中断子程序如下:MOV A,#LOW(-1000+4) ;期望数的低位字节ADD A,TL1 MOV TL1,A MOV A,#HIGH(-1000+4) ;对高位字节处理ADDC A,TH1 MOV TH1,A DEC TL1 ;恢复提前了的2个机器周期这种方法中不停止定时器计数过程,若在执行指令ADDC A,TH1 或MOV TH1,A时,恰好产生TL1溢出向TH1进位的情况,则TH1的值就不对了,会产生更大的误差。为此,程序段

50、开头为重装载值加4,若有溢出进位,则可提前发生,其中2个机器周期是考虑到为TL1重装载占用的时间。此方法适用于系统中无其它更高优先级中断源的情况。若类似方法1,在程序段开头和结尾分别加上禁止所有中断(CLR EA)和开中断(SETB EA)指令,则将适用于所有情况。(4)方法4假如定时周期不确定,只知道定时器重装载值存放在寄存器R3、R2中,中断子程序如下:MOV A,#05H ;3个机器周期装载TL1,2个周期提前ADD A,TL1ADD A,R2MOV TL1,AMOV A,R3 ;处理高位字节ADDC A,TH1MOV TH1,ADEC TL1 ;恢复提前了的2个机器周期 此法适用于定时

51、周期不确定的情况,其它同方法3。(5)方法5 当定时中断发生的位置可预知时,通常出现在主程序的AJMP $ (或SJMP $)等待指令处,中断延迟时间为3个或4个机器周期。取固定值4可简化补偿程序。以定时周期1ms为例,中断子程序如下:ORG 001BHMOV TL1,#LOW(-1000+4)MOV TH1,#HIGH(-1000+4) 此方法适用于定时中断总发生在同一条指令位置,且无其它中断源的情况。结语:上述5种方法误差均不超过1个机器周期,其中方法1、3、4较为通用,适用于任何情况,但程序较长;方法2、5简单,但必须注意满足对应条件,才能使用。5第4章集成电路数字抢答器4.1数字抢答器

52、内容这是一种以74LS148编码器为核心的数字抢答器,与上述数字抢答器相比,只是实现方式有所不同。这种抢答器用到EDA(电子设计自动化),即通过造一个集合电路(利用VHDL硬件描述语言对FPGA和CPLD器件进行开发),利用功能强大的FPGA和CPLD器件结构特点,同时译码显示电路显示编号。4.2设计任务与要求(1) 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 S7表示。(2) 设置一个系统清除和抢答控制开关S,该开关由主持人控制。(3) 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选

53、手的编号一直保持到主持人将系统清除为止。(4) 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动开始键后,定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。(5) 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。(6) 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。4.3 方案论证与比较与普通抢答器相比,本作品有以下几方面优势:(1) 具有清零装置和抢答控制,可由主持人操纵避免有人在主持人说“开始”前提前抢答违反规则。(2) 具有

54、定时功能,在30秒内无人抢答表示所有参赛选手获参赛队对本题弃权。(3) 30秒时仍无人抢答其报警电路工作表示抢答时间耗尽并禁止抢答。4.4 总体设计思路4.4.1设计任务与要求(1) 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 S7表示。(2) 设置一个系统清除和抢答控制开关S,该开关由主持人控制。(3) 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。(4) 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如30秒)。当主持人启动开始键后,

55、定时器进行减计时,同时扬声器发出短暂的声响,声响持续的时间0.5秒左右。(5) 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。(6) 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。4.4.2设计原理与参考电路(1) 数字抢答器总体方框图图4.1 总体方框图(2) 其工作原理:接通电源后,主持人将开关拨到清除状态,抢答器处于禁止状态,编号显示器灭灯,定时器显示设定时间;主持人将开关置“开始”状态,宣布开始抢答器工作。定时器倒计时,扬声器给出声响提示。选手在定时时间内抢答时,抢答器完

56、成:优先判断、编号锁存、编号显示、扬声器提示。当一轮抢答之后,定时器停止、禁止二次抢答、定时器显示剩余时间。如果再次抢答必须由主持人再次操作清除和开始状态开关。4.5多功能硬件与软件设计及其理论分析与计算各单元部分电路设计如下:(1) 抢答器电路(2) 参考电路如图4.2所示。图4.2 抢答器电路该电路完成两个功能:一是分辨出选手按键的先后,并锁存优先抢答者的编号,同时译码显示电路显示编号;二是禁止其他选手按键操作无效。工作过程:开关S置于清除端时,RS触发器的 端均为0.4个触发器输出置0,使74LS148的 0,使之处于工作状态。当开关S置于开始时,抢答器处于等待工作状态,当有选手将键按下

57、时(如按下S5),74LS148的输出 经RS锁存后,1Q=1, =1,74LS48处于工作状态,4Q3Q2Q=101,经译码显示为5。此外,1Q1,使74LS1481,处于禁止状态,封锁其他按键的输入。当按键松开即按下时,74LS148的 此时由于仍为1Q1,使1,所以74LS148仍处于禁止状态,确保不会出二次按键时输入信号,保证了抢答者的优先性。如有再次抢答需由主持人将开关重新置“清除”然后再进行下一轮抢答。74LS148为8线-3线优先编码器,下表为其功能表。674LS148的功能真值表由节目主持人根据抢答题的难易程度,设定一次抢答的时间,通过预置时间电路对计数器进行预置,计数器的时钟

58、脉冲由秒脉冲电路提供。可预置时间的电路选用十进制同步加减计数器74LS192进行设计,具体电路如图4.3所示。图4.3 74LS148功能真值表(3) 报警电路由555定时器和三极管构成的报警电路如图4.4所示。图4.4 报警电路其中555构成多谐振荡器,振荡频率fo1.43(RI2R2)C,其输出信号经三极管推动扬声器。PR为控制信号,当PR为高电平时,多谐振荡器工作,反之,电路停振。(4) 时序控制电路时序控制电路是抢答器设计的关键,它要完成以下三项功能: 将控制开关拨到开始位置时,扬声器发声,抢答电路和定时电路进入正常抢答工作状态。 当参赛选手按动抢答键时,扬声器发声,抢答电路和定时电路

59、停止工作。 当设定的抢答时间到,无人抢答时,扬声器发声,同时抢答电路和定时电路停止工作。根据上面的功能要求以及图4.2,设计的时序控制电路如图4.5 所示。图4.5 时序控制电路图中,门G1 的作用是控制时钟信号CP的放行与禁止,门G2的作用是控制74LS148的输人使能端 。图4.4的工作原理是:主持人控制开关从清除位置拨到开始位置时,来自于图4.2中的74LS279的输出 1Q=0,经G3反相, A1,则时钟信号CP能够加到74LS192的CPD时钟输入端,定时电路进行递减计时。同时,在定时时间未到时,则定时到信号为 1,门G2的输出 =0,使 74LS148处于正常工作状态,从而实现功能

60、的要求。当选手在定时时间内按动抢答键时,1Q1,经 G3反相, A0,封锁 CP信号,定时器处于保持工作状态;同时,门G2的输出 =1,74LS148处于禁止工作状态,从而实现功能的要求。当定时时间到时,则定时到信号为0, =1,74LS148处于禁止工作状态,禁止选手进行抢答。同时, 门G1处于关门状态,封锁 CP信号,使定时电路保持00状态不变,从而实现功能的要求。集成单稳触发器74LS121用于控制报警电路及发声的时间。7图4.6 可预置时间的定时电路4.6 系统的组装与调试及测试方法3块实验电路板分别做成数字抢答器电路、可预置时间的定时电路、报警电路及时序控制电路,根据EWB仿真电路及

61、工程上的可操作性布置芯片、元件、导线等。4.7 扩展功能(1) 可以设计声控装置,在主持人说开始时,系统自动完成清零并开始计时的功能。(2) 在主持人读题的过程中,禁止抢答,可以在主持人控制的开关上另接一个与图4.2 一样的电路,即可实现“违规者可见”的功能,即在主持人读题时如果有人违反比赛规定抢先按动按钮,显示器可以显示是哪个参赛队抢先,便于作出相应的处理。结论MCS51单片机为核心的八路数字抢答器系统,分别从硬件和软件两方面阐述了该控制系统的设计方法,并经过调试和运行使该系统达到预期目标,具有反应快、功能齐全、实用性强的特点,另外,还介绍了一种以集成电路为主体的数字定时抢答器,抢答器由主体电路与扩展电路组成。对多次检验,抢答器的设计合理、结构简单、功能强大、抢答可靠、反应速度快、成本相对较低,达到了设计的预期目标并且具有较好的通用性。通过本次论文学习到了很多关于MCS-51单片机的知识,了解了复位电路以及时钟电路,并且学习了两种以不同抢答器,一种以单片机为核心,一种用到EDA(电子设计自动化),即通过造一个集合电路(利用VHDL硬件描述语言对FPGA和CPLD器件进行开发),利用功能强大的FPGA和CPLD器件结构特点,同时译码显示电路显示编号。致谢感谢辽宁科技大学信息技术学

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!