




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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输入,采用定时中断测量其频率,同时将方波A和方波B经过异或门74LS86异或后输入即可测量出两路方波的相位差。如图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,然后依次设置相位差,测试波形和结果如图11所示:图
13、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 仿真相位差测试结果输入相位差/度0304560901201
14、35150测得相位差/度030.0645.0059.9490.00120.06135.00149.945、性能分析根据表6测试所得结果可以看出:当输入频率0-550HZ时,频率误差大约为0.05HZ,小于0.1HZ;当输入频率大于600HZ时,频率误差大于0.1HZ,并且随着输入频率增大,频率误差均大于0.1HZ,故输入频率为0-550HZ时满足要求。根据表7测试所得结果可以看出:当输入的两路方波的相位差0-180度时,测试相位差大约为0度,小于0.1度,测试所得相位差性能比较好。由此可得如下结论:本次所设计的频率/相位差表适合测试低频信号,最佳频率范围为0-550HZ,输入方波相位差任意均可
15、。6、心得与体会7、参考文献附录一:源程序#include #include#define uint unsigned int#define uchar unsigned charuchar m=0,n=0;uchar u,v;uint i,j;uint x,y;uint c,d; /相位数据结果保存float t0,t1,f,p;uint a=70,61,48,48,48,48,48,46,48,48,72,90; /频率数据结果保存/F,=,0,0,0,0,0,.,0,0,H,Zuint b=80,61,48,48,48,46,48,48,34; /相位数据结果保存 /P,=,0,0,0,
16、.,0,0, /相位数据结果保存sbit lcdrw=P16;sbit lcdrs=P17;sbit lcden=P24;/LCD1602的设置/void delay(uint s)/延时1MS uint r,g; for(r=s;r0;r-) for(g=110;g0;g-); void write_com(uchar com) / 写指令 lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;void write_data(uchar date) / 写数据 lcdrs=1; P0=date; delay(5); lcden=1; de
17、lay(5); lcden=0;void initlcd()/初始化 lcdrw=0; lcden=0; /write_com(0x01);/显示清屏 write_com(0x38);/显示模式设置 write_com(0x0c); /显示开,开游标,不闪烁 write_com(0x06); / 字符时整体不移动 /LCD1602设置/定时器的设置/ void CT_init() /定时计数器初始化TMOD=0x99; /GATE=1,T1、T0工作在方式1,定时方式TH0=0; /定时计数器初值清零TL0=0;TH1=0;TL1=0;TR0=1; /TR0,TR1置位,此时定时计数器的启动有
18、INT0,INT1引脚电平决定TR1=1;ET0=1; /开中断ET1=1;void ITC0() interrupt 0 /外部中断0服务程序u=m; /读定时计数器0溢出次数m=0; /溢出次数清零x=TH0*256+TL0; /读定时计数器0当前值TH0=0; /定时计数器0清零TL0=0;void TIME0() interrupt 1 /定时计数器0溢出中断m+; /溢出次数加1void ITC1() interrupt 2 /外部中断1服务程序v=n; /读定时计数器1溢出次数n=0; /溢出次数清零y=TH1*256+TL1; /读定时计数器1当前值TH1=0; /定时计数器1清零TL1=0; void TIME1() interrupt 3 /定时计数器1溢出中断n+; /溢出次数加1/定时器的设置/void main()initlcd(); /液晶显示初始化 CT_init(); /定时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司晨间律动活动方案
- 公司组建志愿者活动方案
- 公司摄影采风活动方案
- 公司氛围营销大会策划方案
- 公司春季活动方案
- 公司日常特色活动方案
- 公司机制策划方案
- 公司组织编发活动方案
- 公司特色自助餐活动方案
- 公司突破亿元活动方案
- 酒店用火用电安全管理制度
- 模具机加工管理制度
- 区畜牧局十五五总结及十五五规划
- 2025年普通高等学校招生全国统一考试(全国I卷英语)及答案
- 银行支行安全防范教育培训制度
- 艾梅乙考试试题及答案
- DB31/T 1096-2018医院日间手术管理规范
- DB32-T 5119-2025 锂离子电池工厂生产安全技术规范
- 中医诊所挂证医生合同6篇
- ★教导型组织-行动管理模式(三)
- 朗文英语2B英语复习资料
评论
0/150
提交评论