毕业设计基于单片机的数字频率计设计.doc

上传人:laozhun 文档编号:4149566 上传时间:2023-04-07 格式:DOC 页数:41 大小:332.50KB
返回 下载 相关 举报
毕业设计基于单片机的数字频率计设计.doc_第1页
第1页 / 共41页
毕业设计基于单片机的数字频率计设计.doc_第2页
第2页 / 共41页
毕业设计基于单片机的数字频率计设计.doc_第3页
第3页 / 共41页
毕业设计基于单片机的数字频率计设计.doc_第4页
第4页 / 共41页
毕业设计基于单片机的数字频率计设计.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《毕业设计基于单片机的数字频率计设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的数字频率计设计.doc(41页珍藏版)》请在三一办公上搜索。

1、郑州科技学院专科毕业设计(论文) 题 目 数字频率计的设计 学生姓名 专业班级 学 号 所 在 系 指导教师 完成时间 2012年3月 6日 数字频率计设计摘 要数字频率计是采用数字电路制成的实现对周期性变化信号的频率的测量。数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。它是一种用十进制数字,显示被测信号频率的数字测量仪器。它的基本功能是测量正弦信号,方波信号以及其他各种单位时间内变化的物理量。在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精度高,显示直观,所以经常要用到数字频率计。关键词: 数字频率计,正弦信号,方波信号,数字测量仪

2、器THE DESIGN OF DIGITAL FREQUENCY METERABSTRACT Digital frequency meter is the use of digital circuit implementation of the cyclical changes in the signal frequency measurement. Digital frequency meter is the computer, communications equipment, audio, video and other essential areas of scientific res

3、earch and production of measuring instruments. It is a decimal figures, displaying measured the number of signal frequency measuring instruments. Its basic function is to measure the sinusoidal signal, square wave signal and other physical changes in unit time quantity. In the simulation, digital ci

4、rcuit design, installation, commissioning process, due to its use decimal number display, rapid measurement, high precision, visual display, so often used in digital frequency meter.KEYWORDS:digital frequency meter, sinusoidal signal, square wave signals, digital measuring instruments目 录摘要 IAbstract

5、 II第1章数字频率计的概述11.1 智能仪器的发展概况21.2 单片机在智能仪器中的应用21.3基于单片机的数字频率计3第2章系统硬件分析与设计42.1频率计工作原理42.2硬件电路设计52.3主要元件介绍82.4定时/计数器15第3章系统软件分析和设计173.1主程序设计173.2中断服务程序设计193.3子程序设计20第4章系统调试234.1硬件调试234.2单片机电路及显示电路调试23致 谢25参考文献26附 录27 第1章数字频率计的概述随着经济、科技的高速发展,人们对于对与自动控制的要求也迅速提高,自动控制可以帮助人们提高生产效率、节省生产资料等等,所以符合各种要求、各种类型的自动

6、控制系统在人们的生活中广泛应用,数字频率计就是一个简单的实例。数字频率计是一种用十进制数字显示被测信号频率的数字测量仪器,它的基本功能是测量正弦信号、方波信号、尖脉冲信号以及其他各种单位时间内变化的物理量,因此它的用途十分广泛:数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器。数字频率计的设计原理实际上是测量单位时间内的周期数。这种方法免去了实测以前的预测,同时节省了划分频段的时间,克服了原来高频段采用测频模式而低频段采用测周期模式的测量方法存在换挡速度慢的缺点。通常情况下计算每秒内待测信号的脉冲个数,此时我们称闸门时间为1秒。闸门时间也可以大于或小于一秒。闸门时间越长,

7、得到的频率值就越准确,但闸门时间越长则没测一次频率的间隔就越长。闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得更为重要。测量频率的方法有多种,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。直接测频法适用于高频信号的频率测量,间接测频法适用于低频信号的频率测量。 集成电路的类型很多,从大

8、的方面可以分为模拟电路和数字集成电路2大类。数字集成电路广泛用于计算机、控制与测量系统,以及其它电子设备中。一般说来,数字系统中运行的电信号,其大小往往并不改变,但在实践分布上却有着严格的要求,这是数字电路的一个特点。本文讲述了数字频率计的工作原理以及其各个组成部分,记述了我在整个设计过程中对各部分电路设计方案的选择、对各个部分的设计思路、元器件的筛选、以及对它们的调试、对调试结果的分析,到最后得到比较满意的实验结果的过程。 1.1智能仪器发展概况综观科学上的重大发现,往往是由于新的观测手段的发明而开展起来的。以物理学诺贝尔奖金获得者为例,百分之五十的工作是得益于新的仪器或测试手段的发明创造。

9、仪器仪表也是实现信息的获取、转换、存贮、处理和揭示物质运动的必备工具,仪器仪表装备水平在很大程度上反映出一个国家的生产力发展和现代化水平。50年代初期,仪器仪表取得了重大突破,数字技术的出现使各种数字仪器得以问世,把模拟仪器的精度、分辨力与测量速度提高了几个量级,为实现测试自动化打下了良好的基础。60年代中期,测量技术又一次取得了进展,计算机的引入,使仪器的功能发生了质的变化,从个别电量的测量转变成测量整个系统的特征参数,从单纯的接收、显示转变为控制、分析、处理、计算与显示输出,从用单个仪器进行测量转变成用测量系统进行测量。70年代,计算机技术在仪器仪表中的进一步渗透,使电子仪器在传统的时域与

10、频域之外,又出现了数据域(Data domain)测试。80年代,由于微处理器被用到仪器中,仪器前面板开始朝键盘化方向发展,过去直观的用于调节时基或幅度的旋转度盘,选择电压电流等量程或功能的滑动开关,通、断开关键已经消失。测量系统的主要模式,是采用机柜形式,全部通过IEEE-488总线送到一个控制器上。测试时,可用丰富的BASIC语言程序来高速测试。不同于传统独立仪器模式的个人仪器(Personal instrument)已经得到了发展。90年代,仪器仪表与测量科学进一步取得重大的突破性进展。这个进展的主要标志是仪器仪表智能化程度的提高。突出表现在以下几个方面:1 微电子技术的进步将更深刻地影

11、响仪器仪表的设计;2 DSP芯片的大量问世,使仪器仪表数字信号处理功能大大加强;3 微型机的发展,使仪器仪表具有更强的数据处理能力;4 图像处理功能的增加十分普遍;5 VXI总线得到广泛的应用。1.2单片机在智能仪器中的应用随着微处理器或微计算机技术的不断发展,越来越多的、功能更加完善的智能仪器仪表将应用于各行各业,尤其是在工业控制方面的应用,前景将更广大。单片机的使用还将进一步降低智能仪器仪表的成本,使智能仪器仪表有更大的发展,反过来也可以说,智能仪器仪表是单片机的广阔应用领域,将推动单片机技术向更高、更新的方向发展。因为它具有功能强、体积小、结构紧凑、功耗低、性能价格比高等优点,因此很适合

12、用于智能仪器仪表中。1.3基于单片机的数字频率计基于单片机的一系列的优点,在实时控制、自动测试、智能仪表、计算机终端、遥测通讯、家用电器等许多方面得到了广泛的应用。它的应用正在不断地走向深入,带动了传统控制检测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用。在设计单片机和数字电路时经常需要测量脉冲数量、脉冲宽度、脉冲周期、脉冲频率等参数,虽然使用逻辑分析仪可以很好的测量这些参数,但其价格昂贵。实现频率测量的方法较多,可使用专用芯片,其电路简单,调试容易,但一般造价也较高,使用时灵活性欠佳。且实现测量的数字化、自动化、智能化已成为各类仪器仪表设计的方向

13、。这里研究以单片机AT89S51为核心的数字频率计的设计与制作。设计要求所需外围元件较少,扩展性能强,操作简单,测试准确度高,有很好的开发前景。第2章系统硬件分析与设计通过查阅大量相关技术资料,并结合自己的实际知识,我主要提出了一技术方案来实现系统功能。下面我将首先对这种方案的组成框图和实现原理分别进行说明。2.1频率计工作原理2.1.1系统组成频率计由信号预处理电路、AT89S51芯片、并行口显示电路和系统软件所组成。其中信号预处理电路包含信号放大、波形变换和波形整形。系统硬件框图如图2.1所示。信号预处理电路中的放大器实现对待测信号的放大,降低对待测信号幅度的要求;波形变换和波形整形电路将

14、放大的信号转变成可与单片机接口的TTL信号;单片机通过设置使T1引脚控制内部计数器T1工作,这样能精确地测出加到T1引脚的正脉冲的个数;频率显示部分采用并行LED显示模块,精简了外围器件2。系统软件在第三章介绍。放大器波形变换波形整形单片机数字显示图2.1系统硬件框图关于TTL信号的点滴介绍:TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑1,0V等价于逻辑0,这被称做TTL(晶体管-晶体管逻辑电平)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。TTL电平信号对于计算机处理器控制的设备内部的数据传输是很理想的,首先计算机处理器控制的设备内部的数据

15、传输对于电源的要求不高以及热损耗也较低,另外TTL电平信号直接与集成电路连接而不需要价格昂贵的线路驱动器以及接收器电路;再者,计算机处理器控制的设备内部的数据传输是在高速下进行的,而TTL接口的操作恰能满足这个要求。TTL型通信大多数情况下,是采用并行数据传输方式,而并行数据传输对于超过10英尺的距离就不适合了。这是由于可靠性和成本两面的原因。因为在并行接口中存在着偏相和不对称的问题,这些问题对可靠性均有影响;另外对于并行数据传输,电缆以及连接器的费用比起串行通信方式来也要高一些。2.1.2系统工作原理频率的测量实际上就是在1s时间内对信号进行计数,计数值就是信号频率。用单片机计频率通常采用两

16、种办法,1)单片机外部使用计数器对脉冲信号进行计数,计数值再由单片机读取;2)使用单片机自带的计数器对输入脉冲进行计数,或者测量信号的周期。由于第二种方法电路简洁易懂,功能容易实现,调试简单,所以这里选用这种方法。单片机AT89S51有两个16位定时/计数器,其中T0用作定时器,每次定时100ms,利用中断使它实现10次定时,得到1s定时;T1用作计数器,对输入脉冲进行计数。计数器和定时器同时启动,当定时满1s时,计数器同时停止计数,此时计数值为N,如图2.2所示,T=1s。单片机读取T1的计数值N,存于两个存储器中,这是个16位二进制数,经十进制BCD码转换后,分别取数据的千,百,十,个位,

17、把它们分别存放在数据缓冲区40H43H中,然后用软件将数据分别送P2口并行输出显示。图2.2计数器计数原理2.2硬件电路设计数字频率计硬件电路图见附图,该电路可分为:(1)信号预处理电路,(2)单片机电路,(3)数字显示电路。2.2.1信号预处理电路频率计的信号预处理电路如图2.3所示,它由两级电路构成,第一级为由开关三极管组成的零偏置放大器,三极管采用开关三极管,以保证放大器具有良好的高频响应。当输入信号为零或负电压时,三极管截止,输出高电平。当输入信号为正电压时,三极管导通,输出电压随着输入电压的上升而下降,这使得频率计既可测量任意方波信号的频率,也可以测量正弦波信号的频率。放大器的放大功

18、能降低了对待测信号幅度的要求,实现了系统能对任意大于0.5V的正弦波和脉冲信号进行测量。第二级采用NE555构成的施密特触发器,把放大放大器生成的单相脉冲转换成单片机能检测到的TTL信号3。图2.3信号预处理电路图2.2.2单片机电路(一)电源电路设计随着微电子技术的不断进步,系统电源的设计在单片机应用系统设计中显得越来越重要。它对单片机系统是否正常工作起着至关重要的作用。在这个设计中,用了一个能把220V的交流电压转换成9V直流电压的变压器,所以根据系统的要求,选择7805稳压管将9V电压转成5V输出。7805直流稳压电路图见图2.4这里所有芯片都是用5V电压供电。图2.4电源电路(二)复位

19、电路设计单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位,所以我们必须弄清楚MCS-51型单片机复位的条件、复位电路和复位后状态。单片机复位的条件是:必须使RST/Vpd或RST引脚(9)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12MHz,每机器周期为1s,则只需2s以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。单片机常见的复位电路如图2.5(a),(b)所示。图2.5(a)为上电复位电路

20、,它是利用电容充电来实现的。在接电瞬间,RESET端的电位与VCC相同,随着充电电流的减少,RESET的电位逐渐下降。只要保证RESET为高电平的时间大于两个机器周期,便能正常复位。 (a) (b)图2.5 复位电路图2.5(b)为按键复位电路。该电路除具有上电复位功能外,若要复位,只需按图(b)的RESET键,此时电源VCC经电阻R1、R2分压,RESET端产生复位高电平。单片机复位期间不产生ALE信号,即ALE1。表明单片机复位期间不会有任何取指操作。2.2.3数字显示电路如图2.6所示,位控制码从P0口输出,外加10k的上拉电阻,当某一位为1其他位为0时,该路的三极管导通,使得对应位的L

21、ED亮。段控制从P2口输出,用74LS244作驱动器来驱动显示管。显示管采用的是KD5641AH四位连体LED显示器4。图2.6 显示电路2.3主要元件介绍2.3.1AT89S51单片机AT89S51的内部结构图如图2.7所示,它是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。兼容了89C51的所有功能。89C51受到了PIC单片机阵营的挑战,89C51最致命的缺陷在于不支持ISP(在线更新程序)功能,必须加上ISP功能等新功能才能更好延

22、续MCS-51的传奇。89S51就是在这样的背景下取代89C51的,现在,89S51目前已经成为了实际应用市场上新的宠儿,它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器与单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。一、主要性能参数: 与MCS-51产品指令系统完全兼容 4k字节在系统编程(ISP)Flash闪速存储器 1000次擦写周期 4.0-5.5V的工作电压范围 全静态工作模式:0Hz-33MHz 三级程序加密锁 1288字节内部RAM 32个可编程I/O口线 2个16

23、位定时/计数器 6个中断源 全双工串行UART通道 低功耗空闲和掉电模式 中断可从空闲模唤醒系统 看门(WDT)及双数据指针 掉电标识和快速编程特性 灵活的在系统编程(ISP-字节或页写模式)二、功能特性概述: AT89S51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工

24、作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。图2.7 AT89S51内部结构方框图三、 引脚功能说明(图2.8): Vcc:电源电压GND:地图2.8 AT89S51引脚图P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1口是一

25、个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流()。Flash编程和程序校验期间,P1接收低8位地址。表2-1是对P1口的一个补充说明。表2-1 P1口第二功能表端口引脚第二功能P1.5MOSI(用于ISP编程)P1.6MISO(用于ISP编程)P1.7SCK(用于ISP编程)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“

26、1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流()。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX Ri指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其他控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”

27、时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流()。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如(表2-2)所示。此外,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。WDT溢出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。表2-2 P3口第二功能表引脚第二功能备选功能P3.0RXD串行输入口P3.1TXD串行输出口P3.2外部中

28、断0P3.3外部中断1P3.4T0定时器0外部输入P3.5T1定时器1外部输入P3.6外部数据存储器写选通P3.7外部数据存储器读选通2.3.2555构成的施密特触发器施密特触发器是一种能够把输入波形整形成为适合于数字电路需要的矩形脉冲的电路。而且由于具有滞回特性,所以抗干扰能力也很强。施密特触发器可以由分立元件构成,也可以由门电路及555定时器构成。它在脉冲的产生和整形电路中应用很广。555的结构及工作原理(图2.9)引脚1:地线;引脚2:低电平触发端引脚3:输出端引脚4:复位端低电平有效引脚5:电压控制段引脚6:高电平触发端引脚7:放电端 引脚8:电源(4.5-16V)图2.9 555定时

29、器结构图R=0时,Q=1,uo=0,T导通。R=1、UTH2VCC/3、UTRVCC/3时,C1=0、C2=1,Q=1、Q=0,uo=0,T饱和导通。R=1、UTH2VCC/3、UTRVCC/3时,C1=1、C2=1,Q、Q不变,uo不变,T状态不变。R=1、UTH2VCC/3、UTRVCC/3时,C1=1、C2=0,Q=0、Q=1,uo=1,T截止。2.3.374LS24474LS244是三态八缓冲器/线驱动器/线接收器(3S,两组控制),其逻辑图图2.10所示。简要说明:244为三态输出的八组缓冲器和总线驱动器,其主要电器特性的典型值如表2-3所示(不同厂家具体值有差别)。表2-3 244

30、缓冲器的典型值型号TPLHTPHLPD54LS244/74LS24412ns12ns110mW图2.10 74LS244逻辑图引出端符号:1A11A4,2A12A4 输入端、 三态允许端(低电平有效)1Y11Y4,2Y12Y4 输出端极限值:电源电压: 7V输入电压: 5.5V输出高阻态时高电平电压: 5.5V工作环境温度: 070存储温度: -65150功能表(表2-4)。表2-4 74LS244功能表InputOutputAYLLHLHXLHZ2.4定时/计数器AT89S5151单片机内部设有两个16位的可编程定时器/计数器。可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)

31、均可由指令来确定和改变。在定时/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。2.4.1定时/计数器的结构图2.15所示,从图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。其访问地址依次为8AH-8DH。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停

32、止,此外TCON还可以保存T0、T1的溢出和中断标志。当定时器工作在计数器方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。2.4.2定时/计数器的工作原理16位的定时/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。当定时/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。显然,定时器的定时时间与系统的振荡频率有关。如果晶振为12MHz,则计数周期为:T=1/(12106)Hz1/12=1s这是最短的定时周期。若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位

33、等)。如图2.11 图2.11定时/计数器结构原理图当定时/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。计数器在每个机器周期的S5P2期间采样引脚输入电平。若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。此后的机器周期S3P1期间,新的计数值装入计数器。所以检测一个由1至0的跳变需要两个机器周期,故外部事年的最高计数频率为振荡频率的1/24。例如,如果选用12MHz晶振,则最高计数频率为0.5MHz。虽然对外部输入信号的占空比无特殊要求,但为了确保某给定电平在变化前至少被采样一次,外部计数脉冲的高电平与低电平保持时间均需在一个机器周期

34、以上。当CPU用软件给定时器设置了某种工作方式之后,定时器就会按设定的工作方式独立运行,不再占用CPU的操作时间,除非定时器计满溢出,才可能中断CPU当前操作。CPU也可以重新设置定时器工作方式,以改变定时器的操作。由此可见,定时器是单片机中效率高而且工作灵活的部件。定时/计数器T0和T1有2个控制寄存器TMOD和TCON,它们分别用来设置各个定时器/计数器的工作方式,选择定时或计数功能,控制启动运行,以及作为运行状态的标志等。其中,TCON寄存器中另有4位用于中断系统。第3章系统软件分析和设计系统完整的程序设计在附录,整个系统的软件设计可分为三部分:主程序设计、中断服务程序设计、子程序设计,

35、下面就各个部分分别介绍。3.1主程序设计根据单片机AT89S51定时器/计数器T1方式1结构图(如图3.1)可知T1计数脉冲控制电路中,有一个方式电子开关,当C/T=0时,方式电子开关打在上面,以振荡器的十二分频信号作为T1的计数信号,此时作为定时器用,C/T=1时,方式电子开关打在下面,此时以T1(P3.5)引脚上的输入脉冲作为T1的计数脉冲,实现对外界脉冲进行计数。C/T的状态可由T1的方式寄存器TMOD进行设置。振荡器1211&计数器TF1TR1C/T=1T1GATE中断控制图3.1定时/计数器T1方式1结构图用定时/计数器实现频率测量有两种方法。1、计数一定门限时间内的频率信号脉冲数。

36、此法以时基信号为基准,去测被测频率信号,时间值(即时基脉冲数)没有误差,而所计被测频率信号脉冲个数存在1的误差。T0定时器/计数器用来设置闸门时间Tg,T1定时器/计数器采用16位计数工作方式(初值为0),内部控制启停,若此时读取TL1、TH1的数据为N。则待测信号的频率值为:fx=N/Tg。2、计一定数量的被测脉冲所经历的时间。此法以被测频率信号为基准,去卡时间(即时基脉冲信号),被测频率信号脉冲个数没有误差,而所计时间数值存在1的误差。T1定时器/计数器采用16位计时工作方式(初值为0),内部控制启停。根据测量原理,在两次中断期间对Fosc/6计数。设T1计数器的计数值为M,则待测信号的频

37、率值为:fx=Fosc/(6M)7。本设计用的是方法2。根据16位定时/计数器的工作原理,由T0作定时器,T1对外部脉冲进行计数。当定时器T0产生溢出时,发出中断请求,利用中断服务程序读取计数器T1的计数值,并对计数值进行处理,然后中断返回。程序框图3.2如下:开始初始化等待中断,等待期间重复调用显示子程序置初值开中断结束图3.2主程序流程框图相应的程序如下:ORG 0000HLJMP STARTORG 000BHLJMP TX0ORG 0030HSTART: MOV R0,#40H ;40H43H为显示数据存放单元 MOV R7,#8 ;(40H为最高位)MOV R2,#10 ;1s=100

38、ms*10STR1: MOV R0,#00H ;把R0R7都清零 INC R0 DJNZ R7,STR1 MOV TMOD,#41H ;设定时/计数器的工作方式 MOV TH0,#3CH ;定时/计数器0赋初值 MOV TL0,#0B0H MOV TH1,#00 ;定时/计数器1赋初值 MOV TL1,#00 SETB EA ;开总中断 SETB ET0 ;开T0中断 MOV TCON ,#50H ;开定时/计数器 LOOP0: LCALL DISPLAY LJMP LOOP03.2中断服务程序设计中断服务程序完成的功能:读取计数器的计数值N,调用BCD码转换子程序,将要显示的数分别存放在显示

39、缓冲区里。程序框图如图3.3。中断服务程序入口读取计数值定时/计数器 重置值调用BCD码转换程序中断返回图3.3中断程序流程框图相应程序如下:TX0: MOV TL0,#0B0H ;定时/计数器0重置值 MOV TH0,#3CH DJNZ R2, NEXT MOV R4,TL1 ;读取计数值 MOV R5,TH1 MOV TL1,#00H ;定时/计数器1重置值 LCALL PROCESS ;调用BCD码转换程序 MOV R2,#10NEXT: NOP RETI3.3子程序设计3.3.1BCD码转换子程序 BCD码转换子程序是本系统对数据进行处理的核心程序。要在显示器上显示4位十进制数,就得要

40、把16位的二进制数转换成十进制BCD码。这里设R5R4的内容为16位二进制数,要求转换结果存入18H 19H 1AH,转换流程图如图3.4所示。16R6计数器存放结果寄存器清0R4带进位左循环一次;R5带进位左循环一次十进制调整,转换BCD码存于18H 19H 1AHBCD码送数据缓冲区R6=0?返回NY图3.4 BCD码转换程序相应程序如下:PROCESS8:MOV R6,#16 ;设置计数值 CLR A MOV 1AH,A ;存放结果寄存器清零 MOV 19H,A MOV 18H,ALOOP1: CLR C MOV A,R4 ;取被转换二进制数乘2 RLC A MOV R4,A MOV A

41、,R5 RLC A MOV R5,A MOV A,1AH ;十进制调整后转换成BCD码 ADDC A,1AH ;存入18H 19H 1AH DA A MOV 1AH,A MOV A,19H ADDC A,19H DA A MOV 19H,A MOV A,18H ADDC A,18H DA A MOV 18H,A DJNZ R6,LOOP1 MOV A,1AH ANL A,#00001111B ;取1AH的低四位作为个位 MOV 43H,A MOV A,1AH ANL A,#11110000B ;取1AH的高四位作为十位 SWAP A MOV 42H,A MOV A,19H ANL A,#00001111B ;取19H的低四位作为百位 MOV 41H,A MOV A,19H ANL A,#11110000B ;取19H的高四位作为千位 SWAP A MOV 40H,A MOV A,18H ANL A,#00001111B MOV 3FH,A MOV A,18H ANL A,#11110000B SWAP A MOV 3EH,A RET9第4章调试过程调试仪器:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号