基于单片机的锁相频率合成器.doc

上传人:hw****26 文档编号:3099677 上传时间:2019-05-21 格式:DOC 页数:13 大小:2.66MB
下载 相关 举报
基于单片机的锁相频率合成器.doc_第1页
第1页 / 共13页
基于单片机的锁相频率合成器.doc_第2页
第2页 / 共13页
基于单片机的锁相频率合成器.doc_第3页
第3页 / 共13页
基于单片机的锁相频率合成器.doc_第4页
第4页 / 共13页
基于单片机的锁相频率合成器.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、1摘要 .21、引言 .22、设计任务及要求 .22.1 设计任务 .22.2 设计要求 .23、频率合成的基本原理框图 .24、硬件系统的设计 .34.1 原理图 .34.2 74HC4046.34.2.1 74HC4046 引脚功能介绍 .34.2.2 74HC4046 内部电路原理图 .44.2.3 74HC4046 典型应用 .54.3 CD4522 引脚功能介绍 .54.4 CD4518 引脚功能介绍 .64.5 1602LCD 的基本参数及引脚功能 .75、软件系统的设计 .95.1 流程图 .95.2 程序代码 .116、实训小结 .16参考文献 .16基于单片机控制的频率合成器

2、摘要给出一种以单片集成 PLL芯片 74HC4046为核心, 并通过 AT89C51 单片机对 74HC4046进行控制来实现锁相频率合成器的设计方法。文中在介绍了 74HC4046芯片的内部功能结构的基础上, 探讨了锁相频率合成器的基本原理和工作特性; 给出了基于 74HC4046的锁相频率合成器的硬件电路结构和软件程序设计方法。该设计经仿真测试证明, 锁相效果良好, 结构精简, 性能可靠。关键词: 74HC4046; AT89C51; 频率合成器1、引言在现代电子技术的设计与开发过程中,特别是在通信、雷达、航空、航天以及仪器仪表等领域, 都需要进一步提高一系列高精度、高稳定度的频率源的频率

3、精度。这样,一般的振荡器已经无法满足各种应用的发展要求,而晶体振荡器的性能虽然比较好, 但其频率单一, 或只能在极小的范围内进行微调。因此, 本文提出了一种基于单片机 AT89C51控制的利用锁相技术以频率合成器芯片 74HC4046为核心,来实现锁相频率合成器的设计方案。2、设计任务及要求2.1 设计任务设计一个基于单片机控制的频率合成器2.2 设计要求1.输入信号为1KHz的方波信号。2.合成的频率范围为1KHz999KHz。3.可设置分频比为1999。4.采用LCD显示。23、频率合成的基本原理框图1 M H ZR P D C P F V C ONf i1 K H Zf 0可编程置数单片

4、机4、硬件系统的设计4.1 原理图4.2 74HC40464.2.1 74HC4046 引脚功能介绍3上图是 74HC4046的引脚排列,采用 16脚双列直插式,各管脚功能:1 脚相位输出端,环路入锁时为高电平,环路失锁时为低电平。2脚相位比较器的输出端。3脚比较信号输入端。4脚压控振荡器输出端。5脚禁止端,高电平时禁止,低电平时允许压控振荡器工作。6、7 脚外接振荡电容。8、16 脚电源的负端和正端。9脚压控振荡器的控制端。10脚解调输出端,用于 FM解调。11、12 脚外接振荡电阻。13脚相位比较器的输出端。14脚信号输入端。15脚内部独立的齐纳稳压管负极。4.2.2 74HC4046 内

5、部电路原理图474HC4046工作原理:输入信号Ui从14脚输入后,经放大器A1进行放大、整形后加到相位比较器、的输入端,开关K拨至2脚,则比较器将从3脚输入的比较信号Uo与输入信号Ui作相位比较,从相位比较器输出的误差电压U则反映出两者的相位差。U经R3、R4及C2滤波后得到一控制电压Ud加至压控振荡器VCO的输入端9脚,调整VCO的振荡频率f2,使f2迅速逼近信号频率f1。VCO的输出又经除法器再进入相位比较器,继续与Ui进行相位比较,最后使得f2f1,两者的相位差为一定值,实现了相位锁定。若开关K拨至13脚,则相位比较器工作,过程与上述相同,不再赘述。4.2.3 74HC4046 典型应

6、用74HC4046是通用的 CMOS锁相环集成电路,其特点是电源电压范围宽(为 3V18V) ,输入阻抗高(约 100M),动态功耗小,在中心频率 f0为 10kHz下功耗仅为 600W,属微功耗器件。上图是用 74HC4046的 VCO组成的方波发生器,当其 9脚输入端固定接电源时,电路即起基本方波振荡器的作用。振荡器的充、放电电容 C1接在 6脚与 7脚之间,调节电阻 R1阻值即可调整振荡器振荡频率,振荡方波信号从 4脚输出。按图示数值,振荡频率变化范围在 20Hz至 2kHz。4.3 CD4522 引脚功能介绍16151413121110 9876543214522Q4 D4PEEND1

7、CPQ1 VSSQ2CRD2QCCFD3Q3VDD5CF反馈输入端 CP时钟输入端 D0D3并行数据输入端INH禁止端 ID置数控制端 Q0Q3计数器输出端QZ计数器零输出端 VDD正电源 VSS地CD4522是可预置数的二一十进制 1/N减计数器。其引脚见上图。其中 D1-D4是预置端,Q1Q4 是计数器输出端,其余控制端的功能如下:PE(3)=“1”时 D1D4值置进计数器;EN(4)=“0”且 CP(6)时,计数器(Q1Q4)减计数;CF(13)=“1”且计数器(Q1Q4)减到“0”时,QC(12)=“1” ;Cr(10) =“1”时,计数器清零。单片 4522分频器如下图所示:拨盘开关

8、为BCD码开关,如当数据窗口显示“3”时则A和“1” “2”相连;当显示“5”时,则A和“1” “4”相连,其余类推。4个100K电阻用来保证当拨盘开关为某脚不和A相连,也就是悬空时,为低电平。工作过程是这样的:设拨盘开关拨到“N” ,当某时刻PE(3)=“1” ,则N置到IC内的计数器中,下一个CP来时,计数器减计数变为N-1,一直到第N个CP来时,计数器为0。这时由于CF(13)=“1” ,QC(12)=“1” ,也即PE(3)=“1”又恢复到开始状态,开始一个新的循环。很显然,每来个N个CP,QC(12)就会出现一个高电平,也就是QC(12)应是CP的N分频信号。4.4 CD4518 引

9、脚功能介绍CD4518是一个双 BCD同步加计数器,由两个相同的同步4级计数器组成。CD4518引脚功能(管脚功能)如下:1CP、2CP:时钟输入端。1CR、2CR:清除端。1 2 3 4 5 6 7 89101112131415169V 9VCP4218A9V4522100K100K100K100K61EN、2EN:计数允许控制端。1Q01Q3:计数器输出端。2Q02Q3:计数器输出端。Vdd:正电源。Vss:接地。CD4518是一个同步加计数器,在一个封装中含有两个可互换二/十进制计数器,其功能引脚分别为17和915.该 CD4518计数器是单路系列脉冲输入(1脚或2脚;9脚或10脚) ,

10、4路 BCD码信号输出(3脚6脚;11脚14脚) 。CD4518控制功能:CD4518有两个时钟输入端 CP和 EN,若用时钟上升沿触发,信号由 CP输入,此时 EN端为高电平(1),若用时钟下降沿触发,信号由 EN输入,此时 CP端为低吨平(0),同时复位端 Cr也保持低电平(0),只有满足了这些条件时,电路才会处于计数状态.否则没办法工作。将数片 CD4518串行级联时,尽管每片 CD4518属并行计数,但就整体而言已变成串行计数了。需要指出,CD4518未设置进位端,但可利用 Q4做输出端。有人误将第一级的 Q4端接到第二级的 CP端,结果发现计数变成“逢八进一”了。原因在于 Q4是在

11、CP8作用下产生正跳变的,其上升沿不能作进位脉冲,只有其下降沿才是“逢十进一”的进位信号。正确接法应是将低位的 Q4端接高位的 EN端,高位计数器的 CP端接 USS。4.5 1602LCD 的基本参数及引脚功能1602LCD主要技术参数: 显示容量:162个字符芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm 引脚功能说明序列号属性符号 引脚说明 编号 符号 引脚说明1 VSS 电源地 9 D2 数据2 VDD 电源正极 10 D3 数据3 VL 液晶显示偏压 11 D4 数据4 RS 数据/命令选择 12 D

12、5 数据5 R/W 读/写选择 13 D6 数据6 E 使能信号 14 D7 数据7 D0 数据 15 BLA 背光源正极8 D1 数据 16 BLK 背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙

13、信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。7第16脚:背光源负极。5、软件系统的设计5.1 流程图开始系统初始化调键盘扫描子程序调显示子程序调脉冲计数子程序结束主程序流程图8开始系统初始化K 0 是否按下软件去抖动K 0 是否按下软件计数器加 1送 P 3 口输出K 0 是否按下K 1 是否按下软件去抖动K 1 是否按下软件计数器加 1送 P 2 口输出K 1 是否按下K 2 是否按下软件去抖动K 2 是否按下软件计数器加 1送 P 2 口输出K 2 是否按

14、下YNNYNYYNNYNYNYNYY结束键盘扫描流程图9开始定时计数器赋初值开相应的中断启动定时计数器是否有中断信号进入中断服务程序一秒钟是否到T 0 停止计数存储计数结果调将计数器得到的结果转成 B C D 码子程序调将 B C D 码转成 A S C I I 码子程序定时计数器重赋初值存储计数结果中断返回调显示程序NYNY脉冲计数流程图5.2 程序代码#include#define uchar unsigned char#define uint unsigned intsbit P34=P34;sbit lcdrs=P37;sbit lcden=P36;sbit P32=P32;sbit

15、P33=P33;uchar dispbuf3=0,0,1;uchar code table=“0123456789“;int i=0,temp;char temp_g,temp_s,temp_b;void delay(uchar z)uchar x,y;for(x=z;x0;x-)10for(y=110;y0;y-);void write_data(uchar date)lcdrs=1;P0=date;delay(2);lcden=1;delay(2);lcden=0;void write_com(uchar com)lcdrs=0;P0=com;delay(2);lcden=1;delay(

16、2);lcden=0;void main()TMOD=0x10;TH1=(65536-500)/256;TL1=(65536-500)%256;ET1=1;PT1=1;EX0=1;EX1=1;EA=1;TR1=1;lcden=0;write_com(0x38);write_com(0x0c);write_com(0x04);write_com(0x01);write_com(0x80);write_data(F);write_data(r);write_data(e);write_data(q);write_data(u);write_data(e);write_data(n);write_data(c);write_data(y);write_data(:);write_data(*);write_com(0xc0+13);write_data(K);write_data(H);

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

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。