|
基于51單片機(jī)的鎖相環(huán)頻率合成器的設(shè)計(jì)。使用PLL集成芯片CD4046,可編程分頻芯片CD4522(同MC14522),使用LCD1602顯示,頻率由按鍵輸入。標(biāo)準(zhǔn)輸入信號(hào)為1khz方波。
Altium Designer畫(huà)的原理圖如下:(附件中可下載工程文件)
單片機(jī)源程序如下:
- #include <reg52.h>
- #include "key.h"
- #include "delay.h"
- #include "lcd1602.h"
- sbit led0 = P3^6;
- sbit led1 = P3^7;
- u8 temp[]="1234567890";
- u8 a[] = "PLL";
- u8 b[] = "fre: KHz";
- u8 c[] = "OK!";
- u8 d[] = " ";
- void main(){
-
- u8 key,ge=0,shi=0,bai=0;
- u16 fre;
- lcd1602_init();
- write_fre(1); //初始頻率1KHz
- lcd1602_display_string(0,0,b);
- while(1){
- key = Key_Scan();
- switch(key){
- case ge_pres:
- lcd1602_display_char(0,6,temp[ge]);
- ge++;
- if(ge == 10) ge=0;
- lcd1602_display_string(1,0,d); //清除OK標(biāo)志
- led0=0;
- led1=1;
- break;
-
- case shi_pres:
- lcd1602_display_char(0,5,temp[shi]);
- shi++;
- if(shi == 10) shi=0;
- lcd1602_display_string(1,0,d);
- led0=0;
- led1=1;
- break;
-
- case bai_pres:
- lcd1602_display_char(0,4,temp[bai]);
- bai++;
- if(bai == 10) bai=0;
- lcd1602_display_string(1,0,d);
- led0=0;
- led1=1;
- break;
-
- case enter_pres:
- fre = bai*100+shi*10+ge;
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
資料.rar
(764.36 KB, 下載次數(shù): 61)
2017-5-16 13:48 上傳
點(diǎn)擊文件名下載附件
包括芯片數(shù)據(jù)手冊(cè)和電路圖
程序代碼:
鎖相環(huán)頻率合成.rar
(52.1 KB, 下載次數(shù): 55)
2017-5-16 13:49 上傳
點(diǎn)擊文件名下載附件
51程序
|
評(píng)分
-
查看全部評(píng)分
|