广东海洋大学《单片机》课程设计说明书1电子产品设计与开发结课论文题目:其于51单片机的频率计设计与仿真班级:电子1104班姓名:陈**(组员)学号:03电话:1376******成员:曾*(组长)学号:29电话:13726******成员:孙*(组员)学号:21电话:137*******广东海洋大学《单片机》课程设计说明书2目录一、需求分析二、方案设计1设计基本原理·······························································41.1测量频率的原理·······················································41.2系统设计框图·························································4三、软件设计··································································51资源分配表·································································52程序流程框图·······························································6四、系统硬件线路设计图·····················································71单片机最小系统设计·······················································72液晶LCD1602显示电路····················································83频率测量电路······························································11五.系统仿真、测试结果及性能分析·······································121系统仿真、测试结果························································122性能分析·····································································13六、心得与体会·································································14七、参考文献·····································································14广东海洋大学《单片机》课程设计说明书3摘要本设计提出了一种基于AT89C51单片机开发的数字频率测量仪的设计。系统以单片机AT89C51为核心,构成完备的测量系统。可以对信号进行频率的精确测量,测频在1Hz至10kHZ。采用液晶LCD1602显示被测信号的频率。与传统的电路系统相比,其有处理速度快、稳定性高、性价比高、硬件结构简单的优点。关键词:单片机;低频;绝对误差广东海洋大学《单片机》课程设计说明书4一、需求分析频率测量在科技研究和实际应用中的作用日益重要。传统的频率计通采用组合电路和时序电路等大量的硬件电路构成,产品不但体积较大,运行速度慢,而且测量低频信号时不宜直接使用。频率信号抗干扰性强、易于传输,可以获得较高的测量精度。同时,频率测量方法的优化也越来越受到重视.并采用AT89C51单片机和相关硬软件实现。MCS—51系列单片机具有体积小,功能强,性能价格比较高等特点,因此被广泛应用于工业控制和智能化仪器,仪表等领域。我们研制的频率计以89c51单片机为核心,具有性能优良,精度高,可靠性好等特点。二、设计方案此次课程设计采用间接测量法来测量。要用到GATE信号,GATE=1时,TR0=1,INTO=1才能启动计数器,而计数器0是通过外部中断INTO的下降沿开始触发的,计时器从0开始计时,计数器只能测高电平,因此测得的时间为半个周期。当计数器0计时溢出,执行m加1的操作。则测量时间为:t1=TH0*256+TL0+m*65536,所求频率F=1000000/(2*t1)1设计基本原理1.1测量频率的原理定时/计数器工作在方式1,每产生一次定时器0中断,计数65536个脉冲,此时的脉冲来自振荡器的12分频后的脉冲,其周期为1uS。根据产生外部中断0时,定时器0中断的次数u,以及此时定时/计数器0计数寄存器的数值X,即可求得待测方波的周期为:T=(65536*u+X)us,取其倒数即可求得待测方波的频率,小数点后保留两位,即可使得频率精度为0.1HZ。1.2系统设计框图经过方案论证和比较后,最终确定的系统框图如图1所示,主要由AT89C51单片机、异或器件、LCD1602、电源等组成。广东海洋大学《单片机》课程设计说明书5图2系统设计框图三、软件设计1资源分配表表5资源分配表I/O口作用P0LCD1602数据接口P1.6LCD1602RW接口P1.7LCD1602RS接口P2.4LCD1602E接口P3.2频率测量接口广东海洋大学《单片机》课程设计说明书62程序流程框图频率程序流程图如图9所示:图10程序流程图广东海洋大学《单片机》课程设计说明书7四、系统硬件线路设计图1单片机最小系统设计单片机最小系统是能补足单片机工作的最简单电路,它由单片机、电源、晶体振荡器、复位电路等构成。它是本系统的处理单元也是控制单元,负责处理信号、外设的接口与控制,同时它也是所有软件的载体。本系统采用AT89C51是美国Atmel公司生产的低电压、高性能CMOS8位单片机,片内含4KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C51单片机可灵活应用于各种控制领域。与Intel公司的80C51在引脚排列、硬件组成、工作特点和指令系统等方面兼容。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义。其管脚如下图所示:图3AT89C51单片机管脚图本设计中,P0端口(32~39脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接。单片机正常工作时,都需要有一个时钟电路和一个复位电路。本设计中选择了内部时钟方式和按键电平复位电路,来构成单片机的最小电路。如图3所示。广东海洋大学《单片机》课程设计说明书8图4单片机最小系统2液晶LCD1602显示电路字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别。LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表1所示:表1LCD1602引脚接口说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极广东海洋大学《单片机》课程设计说明书91602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。1602液晶模块内部的控制器共有11条控制指令,如下表2所示,其中1为高电平、0为低电平。表2LCD1602控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。广东海洋大学《单片机》课程设计说明书10与HD44780相兼容的芯片时序如下表3所示:表3基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0—D7=状态字写指令输入RS=L,R/W=L,D0—D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0—D7=数据写数据输入RS=H,R/W=L,D0—D7=数据,E=高脉冲输出无其操作时序图如下所示:图5读操作时序图图6写操作时序图广东海洋大学《单片机》课程设计说明书11本设计中采用液晶LCD1602显示输入方波A的频率,其D0~D7与单片机的P0端口连接,使能端E、RS、RW分别与单片机P2.4、P1.7、P1.6连接,此电路原理简单,电路连接方便,如图7所示。图7液晶LCD1602显示电路3频率测量电路本设计中将方波A输入,采用定时中断测量其频率。如图7所示。图8频率测量电路广东海洋大学《单片机》课程设计说明书12综上所述,频率的总体电路图如图9所示:图9频率计的总体电路图五.系统仿真、测试结果及性能分析1系统仿真、测试结果在仿真软件PROTUES中按照电路图连接好电路。输入待测方波信号波形,当测试频率时,先依次设置好方波A的频率,进行仿真测得数据;测试波形和结果如图11所示:广东海洋大学《单片机》课程设计说明书13图11仿真波形表6仿真频率测试结果输入频率/HZ121050100200500测得频率/HZ0.991.9910.0050.00100.00200.01500.00输入频率/HZ9001000102412342000500010000测得频率/HZ899.921000.641024.231234.202000.925000.4810000.602性能分析根据表6测试所得结果可以看出:,频率范围为1Hz~3000HZ;频率误差少于1Hz.当输入频率大于4000HZ时,频率误差小于6HZ,并且随着输入频率增大,频率误差逐渐增大。由此可得如下结论:本次所设计的频率适合测试低频信号,最佳频率范围为1-3000HZ,输入方波任意均可。广东海洋大学《单片机》课程设计说明书14六、心得与体会刚刚拿到做频率计这个题目时,我们的感觉可以说是比较轻松的,在一开始的时候也不算太着急。过了几天后,我和几个组员开始打算动手去做了,这时才感觉到频率计不是那么容