標(biāo)題: 基于51單片機(jī)的低頻鎖相環(huán)頻率合成設(shè)計(jì) 含原理圖 程序 [打印本頁]

作者: 帥帥進(jìn)城    時(shí)間: 2017-5-16 13:51
標(biāo)題: 基于51單片機(jī)的低頻鎖相環(huán)頻率合成設(shè)計(jì) 含原理圖 程序
基于51單片機(jī)的鎖相環(huán)頻率合成器的設(shè)計(jì)。使用PLL集成芯片CD4046,可編程分頻芯片CD4522(同MC14522),使用LCD1602顯示,頻率由按鍵輸入。標(biāo)準(zhǔn)輸入信號(hào)為1khz方波。

Altium Designer畫的原理圖如下:(附件中可下載工程文件)



單片機(jī)源程序如下:
  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標(biāo)志
  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. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
資料.rar (764.36 KB, 下載次數(shù): 61)

程序代碼:
鎖相環(huán)頻率合成.rar (52.1 KB, 下載次數(shù): 55)




作者: admin    時(shí)間: 2017-5-16 19:02
好資料,51黑有你更精彩!!!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1