找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5650|回复: 1
打印 上一主题 下一主题
收起左侧

基于51单片机的低频锁相环频率合成设计 含原理图 程序

[复制链接]
跳转到指定楼层
楼主
基于51单片机的锁相环频率合成器的设计。使用PLL集成芯片CD4046,可编程分频芯片CD4522(同MC14522),使用LCD1602显示,频率由按键输入。标准输入信号为1khz方波。

Altium Designer画的原理图如下:(附件中可下载工程文件)



单片机源程序如下:
  1. #include <reg52.h>
  2. #include "key.h"
  3. #include "delay.h"
  4. #include "lcd1602.h"

  5. sbit led0 = P3^6;
  6. sbit led1 = P3^7;

  7. u8 temp[]="1234567890";
  8. u8 a[] = "PLL";
  9. u8 b[] = "fre:    KHz";
  10. u8 c[] = "OK!";
  11. u8 d[] = "                ";


  12. void main(){
  13.        
  14.         u8 key,ge=0,shi=0,bai=0;
  15.         u16 fre;       
  16.         lcd1602_init();
  17.   write_fre(1);  //初始频率1KHz
  18.         lcd1602_display_string(0,0,b);

  19.         while(1){
  20.                         key = Key_Scan();
  21.                         switch(key){
  22.                                 case ge_pres:
  23.                                         lcd1602_display_char(0,6,temp[ge]);
  24.                                         ge++;
  25.                                         if(ge == 10) ge=0;
  26.                                         lcd1602_display_string(1,0,d);   //清除OK标志
  27.                                         led0=0;
  28.                                         led1=1;
  29.                                         break;
  30.                                
  31.                                 case shi_pres:
  32.                                         lcd1602_display_char(0,5,temp[shi]);
  33.                                         shi++;
  34.                                         if(shi == 10) shi=0;
  35.                                         lcd1602_display_string(1,0,d);
  36.                                         led0=0;
  37.                                         led1=1;
  38.                                         break;
  39.                                
  40.                                 case bai_pres:
  41.                                         lcd1602_display_char(0,4,temp[bai]);
  42.                                         bai++;
  43.                                         if(bai == 10) bai=0;
  44.                                         lcd1602_display_string(1,0,d);
  45.                                         led0=0;
  46.                                         led1=1;
  47.                                         break;
  48.                                
  49.                                 case enter_pres:
  50.                                         fre = bai*100+shi*10+ge;
  51. ……………………

  52. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
资料.rar (764.36 KB, 下载次数: 61)

程序代码:
锁相环频率合成.rar (52.1 KB, 下载次数: 55)



评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2017-5-16 19:02 | 只看该作者
好资料,51黑有你更精彩!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表