基于STC89C52单片机的等精度频率计.doc
《基于STC89C52单片机的等精度频率计.doc》由会员分享,可在线阅读,更多相关《基于STC89C52单片机的等精度频率计.doc(47页珍藏版)》请在沃文网上搜索。
1、目录前言3第一章 概论411课题研究的目的和意义41.2 测量原理41.3 等精度频率计计数测量误差51.4 设计思路及技术指标6第2章 STC89C52单片机系统结构和原理82.1 STC89C52单片机的简介82.2单片机的一般结构92.3 STC89C52存储器配置112.4 引脚功能说明122.5中断系统152.5.1中断源162.5.2 中断控制17第三章 硬件设计183.1 硬件电路设计183.2 电源电路183.3 单片机控制部分193.4 同步门控制电路193.5计数电路213.6 显示电路233.6.1 1602的功能简介233.6.2 1602与STC89C52的连接24第
2、四章 软件设计254.1 程序流程254.1.1 系统主程序流程图254.1.2 初始化液晶274.1.3 初始化定时器274.1.4定时器1溢出中断流程274.1.5主循环284.1.6 显示子程序29第5章 系统调试315.1 硬件调试315.2调试软件的介绍315.2.1 Keil uvision3软件介绍315.3调试345.3.1 测频精度分析345.3.2实验测试数据35附录一 完整的C语言源程序40附录二 系统设计原理图47附录三 系统设计PCB图48附录四 实物照片49附录五 元器件清单表50前言随着微电子技术和计算机技术的迅速发展,特别是单片微机的出现和发展,使传统的电子测量
3、仪器在原理、功能、精度及自动化水平等方面都发生了巨大的变化,形成一种完全突破传统概念的新一代测量仪器。频率计广泛采用了高速集成电路和大规模集成电路,使仪器在小型化、耗电、可靠性等方面都发生了重大的变化。传统的频率计测量误差较大,等精度频率计以其测量准确、精度高、方便等优势将得到广泛的应用。传统的测频方法有直接测频法和测周法,在一定的闸门时间内计数,门控信号和被测信号不同步,计数值会产生一个脉冲的误差。等精度测频法采用门控信号和被测信号同步,消除对被测信号计数产生的一个脉冲的误差。等精度频率测量方法消除了量化误差,可以在整个测试频段内保持高精度不变,其精度不会因被测信号频率的高低而发生变化。采用
4、单片机作为控制核心的等精度频率计,可以充分利用单片机软件编程技术实现等精度测频。通过单片机对同步门的控制,使被测信号和标准信号在闸门时间内同步测量,为了提高精度,将电子计数功能转为测周期,采用多周期同步测量技术,实现等精度测量。第一章 概论本次设计的等精度频率计是一种用液晶显示被测信号频率的测量仪器.它的基本功能是测量方波信号。本文讲述了等精度频率计的工作原理以及其各个组成部分,记述了整个设计过程中对各个部分的设计思路、对各部分电路设计方案的选择、以及对它们的调试、对调试结果的分析,最终得到实验结果。11课题研究的目的和意义测频一直以来都是电子和通讯系统工作的重要手段之一。高精度的测频仪有着广
5、泛的市场前景。以往的测频仪都是在低频段利用测周期的方法、高频段用测频率的方法,其精度往往会随着被测频率的下降而下降。基于传统测频原理的频率计的测量精度将随被测信号频率的下降而降低,在实用中有较大的局限性,而等精度频率计不但具有较高的测量精度,而且在整个测频区域内保持恒定的测试精度。所以等精度频率计有研究的价值。1.2 测量原理图1-1 等精度频率计测量原理图基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化。传统的直接测频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低,在实用中有较大的局限性,而等精度频率计不但具有较高的测量精度,而且在整个频
6、率区域能保持恒定的测试精度。等精度频率的测量原理图1-1 所示。频率为fx 的被测信号经通道滤波、放大、整形后输入到同步门控制电路和主门1(闸门),晶体振荡器的输出信号作为标准信号(时基信号)输入到主门2。被测信号在同步控制门的作用下,产生一个与被测信号同步的闸门信号,被测信号与标准信号(时基信号)在同步门控制信号的控制下。在同步门打开时通过同步门分别输入到事件计数器和时间计数器的信号输入端,计数器开始计数。同步门关闭时信号不能通过主门,计数器停止计数,单片机发出命令读入计数器的数值,并进行数据处理,将处理后的结果送显示。等精度频率测量方法是采用多周期同步测量。如图1的测量原理图所示由单片机发
7、出预置门控信号GATE,GATE的时间宽度对测频精度影响较少,可以在较大的范围内选择,即在高频段时,闸门时间较短;低频时闸门时间较长。实现了全范围等精度测量,减少了低频测量的误差。在同步门的控制下,一方面保证了被测信号和时基信号的同步测量;另一方面在同步门打开后计数器并不是马上计数,而是在被测信号的下一个上升沿开始计数,同步门关闭后计数器也不是马上停止计数,而是在被测信号的下一个上升沿停止计数。即在实际闸门时间计数,从而提高了测量精度。由于采用D 触发器实现的同步门的同步作用,事件计数器所记录的Nx 值已不存在误差的影响,但由于时钟信号与闸门的开和关无确定的相位关系,时间计数器所记录的N0 的
8、值仍存在1 误差的影响,只是由于时钟频率很高,误差的影响很小。所以在全频段的测量精度是均衡的,从而实现等精度频率测量。1.3 等精度频率计计数测量误差由上述测量原理可知,公式 fx=f0Nx/N0 成立。设所测频率的准确值为f x0。在一次测量中,由于fx 计数的起停时间是由该信号的上升沿控制的,因此,在T 时间内对fx 的计数NX无误差。在此时间内f0 的计数N0 最多相差一个脉冲,即N0 l,则下式成立:fx/Nx = f0/N0 (1)fx0/NX = f0/(N0+N0) (2)由此可分别推得: fx= (f0/N0)Nx (3)fx0=f0/(N0+N0)Nx (4)根据相对误差公式
9、有: f x0/f x0=f x0-fx/f x0 (5)将式(3)和式(4)代人式(5)整理后可得:f x0/f x0=N0/N0 (6)因为 N0l (7)所以 N0/N01/N0 (8)即相对误差: f=f x0/f x01/N0 (9)其中: N0 = Tf0 (10)由此可知, 增大Tp 或提高fx,可以增大Nx,减少测量误差,提高测量精度;相对测量误差与被测信号频率的大小无关,仅与取样时间及时基信号(标准信号)频率有关,可以实现被测频带内的等精度测量;取样时间越长,时基信号频率越高,分辨率越高。1.4 设计思路及技术指标一 设计方案以89C51型单片机为核心,结合其它的一些芯片一起
10、设计一个等精度频率计。根据本设计的要求和方案的设想,总结一下本设计要做的具体的工作主要有以下几个方面:第一 ,分析与论证本设计所采用的方案,包括主控系统、显示系统等的分析以及这些模块的功能等。在对设计要求充分分析的基础上,划分功能模块,选择需要的硬件设备。第二 ,收集大量等精度频率计方面的资料 包括文字资料和试验数据,总结规律。可以有两种方法实现软件部分。(一)定时1s测信号脉冲次数:用一个定时计数器做定时中断,定时1s,另一定时计数器仅做计数器使用,初始化完毕后同时开启两个定时计数器,直到产生1s中断,产生1s中断后立即关闭T0和T1(起保护程序和数据的作用)取出计数器寄存器内的值就是1s内
11、待测信号的下跳沿次数即待测信号的频率。用相关函数显示完毕后再开启T0和T1这样即可进入下一轮测量。(二)测信号正半周期。对于1:1占空比的方波,仅用一个定时计数器做计数器,外部中断引脚作待测信号输入口,置计数器为外部中断引脚控制(外部中断引脚为“1”切TRx=1计数器开始计数)。单片机初始化完毕后程序等待半个正半周期(以便准确打开TRx)打开TRx,这时只要INTx(外部中断引脚)为高电平计数器即不断计数,低电平则不计数,待信号从高电平后计数器终止计数,关闭TRx保护计数器寄存器的值,该值即为待测信号一个正半周期的单片机机器周期数,即可求出待测信号的周期:待测信号周期T=2*cnt/(12/f
12、soc) cnt为测得待测信号的一个正半周期机器周期数;fsoc为单片机的晶振。所以待测信号的频率f=1/T。第二种方法只适用于1:1占空比的方波信号,要测非1:1占空比的方波信号误差有点大,所以本设计优先使用第一种方法进行设计。第三 ,根据划分的功能模块,编写操作程序。这也是本设计中很重要的一个工作,确定编程时要尽量做到界面美观,操作简便。第四,进行程序调试,继续完善各功能模块的程序。二 技术指标1.设计一个4位的频率计,其频率范围在19999Hz;2.送入信号应该符合电路要求的脉冲或正统波;3完成硬件电路的原理设计; 4制作印刷电路板,要求电路布局合理,焊点合格。第2章 STC89C52单
13、片机系统结构和原理2.1 STC89C52单片机的简介在本设计中采用了STC89C52单片机作为中心处理系统进行研究。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。它与以前的程序存储器相比具有以下优点2:用户可自己写入,并根据需要灵活修改程序;用电擦除而不是用紫外线擦
14、除,不需要特殊的擦除设备;写入与擦除的速度非常快。所有的MCS-51系列单片机拥有一个相同的8位微处理器CPU,它由算术逻辑运算部件ALU、布尔处理器、控制器和工作寄存器组成。算术逻辑运算部件主要功能是实现数据的传送、数据的算术逻辑运算和布尔量处理,它们包括:加、减、乘、除算术运算;增量(加1)、减量(减1)运算;十进制数调整;位置“1”、位置“0”和取反;与、或、异或等逻辑操作;数据传送操作。控制器是控制整个单片机系统各种操作的部件,它包括时钟发生器、定时控制逻辑、指令寄存器译码器、程序存储器和数据存储器的地址/数据传送控制等。从编程的角度看,MCS-51CPU对用户开放的寄存器主要有以下几
15、个:累加器ACC、寄存器B、程序计数器PC、数据指针DPTR(由DPH和DPL两个8位寄存器组成),程序状态寄存器PSW、堆栈指针SP。2.2单片机的一般结构一、STC89C52单片机内部主要性能:(1)与MCS-51单片机产品兼容(2)8K字节在系统可编程Flash存储器(3)1000次擦写周期(4)全静态操作:0Hz33Hz(5)三级加密程序存储器(6)32个可编程I/O口线(7)个16位定时器/计数器(8)八个中断源(9)全双工UART串行通道(10)低功耗空闲和掉电模式(11)电后中断可唤醒(12)看门狗定时器(13)双数据指针 (14)掉电标识符二、STC89C52单片机结构框图ST
16、C89C52单片机采用模块式的结构,有多个存储空间,每一个存储空间都留有一定的余量,这种结构为单片机的发展留有充分的余地,其结构框图如图2-13。图2-1 STC89C52 结构框图三、引脚图和逻辑符号图STC89C52一般为DIP40双列直插封装形式的器件,其引脚图和逻辑符号如图2-2所示。STC89C52的引脚P00P07、P10P17、P20P27、P30P37为四个8位并行输入/输出口,其中P3口、P0口和P2口为双功能口,可以作为普通输入/输出口(第一功能),也可以作为特殊输入/输出口。RST为复位输入线,ALE、为系统扩展控制线,XTAL1和XTAL2为时钟电路输入/输出线,Vcc
17、、GND为电源输入线,一般接+5V和地4。 图2-2 STC89C52 引脚图、逻辑符号图2.3 STC89C52存储器配置STC89C52单片机独立的存储空间5:64K字节程序存储器空间(00FFFFH);256字节内部RAM空间(00FFH);128字节内部特殊功能寄存器空间(80H0FFH);位寻址空间(00FFH);64K字节外部数据存储器(RAM/IO)空间(00FFFFH)。一、 程序存储器MCS-51的程序存储器空间为64K字节,地址范围为0000HFFFFH,其地址指针为16位的程序计数器PC。0开始的部分程序存储器(4K,8K,16K,)可以在单片机的内部也可以在单片机的外部
18、,这取决于单片机的类型,并由输入到引脚的电平控制。STC89C52内部有4KB的程序存储器,用于存放程序、原始数据或表格。若接Vcc(+5v),则程序计数器PC的值在0至0FFFH之间时,CPU取指令时访问内部的程序存储器;PC 值大于0FFFH时,则访问外部的程序存储器。如果接Vss(地),则内部的程序存储器被忽略,CPU总是从外部的程序存储器中取指令。单片机外部扩展的程序存储器一般为EPROM电路(紫外线可擦除电可编程的只读存储器)。MCS-51的引脚输出外部程序存储器的读选通信号,仅当CPU访问外部程序存储器时,才有效(输出负脉冲)。MCS-51复位后,程序计数器PC为0,CPU从地址0
19、开始执行程序,即复位入口地址为0。另外,MCS-51的中断入口也是固定的,程序存储器地址3、0BH、13H、1BH、23H单元为中断入口,MCS-51的中断源数目是因型号而异的,中断入口也有多有少,但总是从地址3开始,每隔8个字节安排一个中断入口。表2-1 程序存储器中的特殊单元单元地址特殊用途0000H启动地址0003H外部中断0中断服务程序入口地址000BH定时/计数器T0溢出中断服务程序入口地址0013H外部中断1中断服务程序入口地址001BH定时/计数器T1溢出中断服务程序入口地址0023H串行口接收和发送中断服务程序入口地址二、数据存储器STC89C52芯片共有256个RAM单元,其
20、中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00HFFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。2.4 引脚功能说明STC89C52单片机采用40个引脚双列直插式封装,其中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复位的引脚,以及32条输入输出I/O引脚。下面按引脚功能分为4个部分叙述各个引脚的功能6。一、电源引脚Vcc和Vss1、Vcc(40脚):芯片工作电源输入端接+5V电源;2、Vss(20脚
21、):芯片工作接地端。二、外接晶振引脚XTAL1和XTAL21、XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHMOS单片机,该引脚作为外部振荡信号的输入端。2、XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接。 图2-3 内部振荡电路 外部振荡电路三、控制信号引脚控制信号或与其它电源复位引脚有RST、ALE、和等4种形式。1、RST(9脚):
22、RST即为RESET,为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。2、ALE(30脚):为地址锁存允许输出信号/编程脉冲信号输入端;此信号为外部的扩展大陆低位字节地址提供一个允许锁存信号对芯片内的EPROM/EEPROM空间固化程序时提供一个编程脉冲信号。当访问外部存储器时,ALE信号用来所存地址的低位字节。在不访问外部存储器时,ALE端总是以振荡频率的6分
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC89C52 单片机 精度 频率计
