基于51单片机频率计的设计与实现讲义

上传人:今*** 文档编号:105911694 上传时间:2019-10-14 格式:DOCX 页数:18 大小:308.79KB
返回 下载 相关 举报
基于51单片机频率计的设计与实现讲义_第1页
第1页 / 共18页
基于51单片机频率计的设计与实现讲义_第2页
第2页 / 共18页
基于51单片机频率计的设计与实现讲义_第3页
第3页 / 共18页
基于51单片机频率计的设计与实现讲义_第4页
第4页 / 共18页
基于51单片机频率计的设计与实现讲义_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于51单片机频率计的设计与实现讲义》由会员分享,可在线阅读,更多相关《基于51单片机频率计的设计与实现讲义(18页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学单片机课程设计说明书摘要本设计提出了一种基于AT89C52单片机开发的数字频率、相位测量仪的设计。系统以单片机AT89C52及异或器件为核心,构成完备的测量系统。可以对信号进行频率、相位等参数的精确测量,测频绝对误差不大于0.1HZ,测相位差绝对误差不大于0.1。采用液晶LCD1602显示被测信号的频率、相位差。与传统的电路系统相比,其有处理速度快、稳定性高、性价比高、硬件结构简单的优点。关键词:单片机;低频;绝对误差1、设计方案此次课程设计采用间接测量法来测量。此次设计涉及到相位差,即两列波形异或得到的波形只需要测高电平,要用到GATE信号,GATE=1时,TR0=1,INTO=

2、1才能启动计数器,而计数器0是通过外部中断INTO的下降沿开始触发的,计时器从0开始计时,计数器只能测高电平,因此测得的时间为半个周期。当计数器0计时溢出,执行m加1的操作。则测量时间为:t1=TH0*256+TL0+m*65536 ,所求频率F=1000000/(2*t1) 测量两方波的相位差时,先将两方波信号异或,得到的新波形输入外部中断1的入口,在信号的第n个下跳沿时,进入外部中断的程序,开启计数器1。第n+1个下跳沿到来时,则关闭计数器1,当GATE=1时,只有在INT1=1 时,TR1=1时,计数器T1才开始计数,当计数器0计时溢出,执行m加1的操作,所以读的的时间只为高电平的持续时

3、间,即为两方波的相隔时间t2,相位差可计算如下:t2=TH1*256+TLI+N*65536 ;则相位差P=t2/(2*t1)*360 1.1设计基本原理 1.1.1测量频率的原理 定时/计数器工作在方式1,每产生一次定时器0中断,计数65536个脉冲,此时的脉冲来自振荡器的12分频后的脉冲,其周期为1uS。根据产生外部中断0时,定时器0中断的次数u,以及此时定时/计数器0计数寄存器的数值X,即可求得待测方波的周期为:T=(65536*u+X)us ,取其倒数即可求得待测方波的频率,小数点后保留两位,即可使得频率精度为0.1HZ。1.1.2相位差的测量原理将两路同频不同相的方波信号进过鉴相器(

4、即异或)后得到的脉冲宽度t与方波信号的周期T的比值(占空比),即对应为两信号的相位差,此时相位差。其中,脉冲宽度的测量方法与方波周期的测量方法相同。相位差测量的原理图如下:图1 相位差测量原理图1.2系统设计框图经过方案论证和比较后,最终确定的系统框图如图1所示,主要由AT89C52单片机、异或器件、LCD1602、电源等组成。 单片机AT89C52显示器LCD1602鉴相器方波A方波B图2 系统设计框图2、系统硬件线路设计图2.1 单片机最小系统设计单片机最小系统是能补足单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。它是本系统的处理单元也是控制单元,负责处理信号、外设

5、的接口与控制,同时它也是所有软件的载体。本系统采用AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器

6、输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义。其管脚如下图所示:图3 AT89C52单片机管脚图本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接。单片机正常工作时,都需要有一个时钟电路和一个复位电路。本设计中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图3所示。图4 单片机最小系统2.2液晶LCD1602显示电路字符型液晶显示模块是一种专门用

7、于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表1所示:表 1 LCD1602引脚接口说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光

8、源负极1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。1602液晶模块内部的控制器共有11条控制指令,如下表2所示,其中1为高电平、0为低电平。表 2 LCD1602控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRA

9、M)10要写的数据内容指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电

10、平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。与HD44780相兼容的芯片时序如下表3所示:表 3 基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲

11、输出无其操作时序图如下所示:图5 读操作时序图图6 写操作时序图本设计中采用液晶LCD1602显示输入方波A和B的频率和相位差,其D0D7与单片机的P0端口连接,使能端E、RS、RW分别与单片机P2.4、P1.7、P1.6连接,此电路原理简单,电路连接方便,如图7所示。图7 液晶LCD1602显示电路2.3频率、相位差测量电路本设计中将方波A输入INT0,采用定时中断测量其频率,同时将方波A和方波B经过异或门74LS86异或后输入INT1即可测量出两路方波的相位差。如图7所示。图8 频率、相位差测量电路异或门74LS86真值表如表4所示:表4 74LS86真值表ABC000011101110综

12、上所述,频率、相位表的总体电路图如图9所示:图9 频率相位表的总体电路图3程序设计3.1资源分配表表5 资源分配表I/O口作用P0LCD1602数据接口P1.6LCD1602 RW接口P1.7LCD1602 RS接口P2.4LCD1602 E接口P3.2频率测量接口P3.3相位差测量接口3.2程序流程框图频率、相位表的程序流程图如图9所示:图10 程序流程图4.系统仿真和测试结果在仿真软件PROTUES中按照电路图连接好电路。输入两待测方波信号波形,当测试频率时,先依次设置好方波A和B的频率,进行仿真测得数据;当测试相位差,先将方波A和B频率设置为500HZ,然后依次设置相位差,测试波形和结果

13、如图11所示:图11 仿真波形表6 仿真频率测试结果输入频率/HZ051050100150200250测得频率/HZ0.995.0010.0050.00100.00150.01200.00250.00输入频率/HZ300350400450500550600650测得频率/HZ299.94349.95400.00450.04500.00550.05600.24650.19输入频率/HZ70075080085090095010001050测得频率/HZ699.94750.26800.64850.98899.92950.211000.641050.06表7 仿真相位差测试结果输入相位差/度030456090120135150测得相位差/度030.0645.0059.9490.00120.06135.00149.945、性能分析根据表6测试所得结果可以看出:当输入频率0-550HZ时,频率误差大约为0.05HZ,小于0.1HZ;当输入频率大于600HZ时,频率误差大于0.1HZ,并且随着输入频率增大,频率误差均大于0.1HZ,故输入频率为0-550HZ时满足要求。根据表7测试所得结果可以看出:当输入的两路方波的相位差0-1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号