-
大小: 30KB文件類型: .rar金幣: 2下載: 2 次發(fā)布日期: 2021-05-16
- 語(yǔ)言: 其他
- 標(biāo)簽: 單片機(jī)??BH1415F??數(shù)控調(diào)頻??
資源簡(jiǎn)介
類似校園廣播電臺(tái)的數(shù)控調(diào)頻發(fā)射器,單片機(jī),BH1415F

代碼片段和文件信息
#include
#include//調(diào)用_nop_()函數(shù)
#define?uchar?unsigned?char
#define?uint?unsigned?int
#define?key?P2?//鍵盤掃描口
sbit?rs=P1^0;?//液晶數(shù)據(jù)命令選擇端
sbit?w=P1^1;?//液晶讀寫選擇端
sbit?en=P1^2;?//液晶使能端
sbit?MUTE=P1^3;//靜音控制鍵
sbit?DA=P1^4;??//BH1415F數(shù)據(jù)輸入端
sbit?CLK=P1^5; ?//BH1415F時(shí)鐘信號(hào)輸入端
sbit?CE=P1^6??; ?//BH1415F使能端
uint?data_fm; ?//11位頻率控制字
void?delay() //4微妙延遲
{
_nop_();
????_nop_();
????_nop_();
????_nop_();
}
void?delayms(int?x) ??//毫秒延遲
{
int?ij;
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void?write_lcdcom(uchar?com)??//向液晶屏送命令
{
rs=0;
w=0;
en=0;
P0=com;
delayms(5);
en=1;
delayms(5);
en=0;
}
void?write_lcddata(uchar?date)?//向液晶屏送數(shù)據(jù)
{
rs=1;
w=0;
en=0;
P0=date;
delayms(5);
en=1;
delayms(5);
en=0;
}
void?lcd_init() ?//液晶屏初始化
{
write_lcdcom(0x38);
write_lcdcom(0x0c);
write_lcdcom(0x06);
write_lcdcom(0x01);
}
void?write_lcdfm(uint?data1)?// 將頻率控制字轉(zhuǎn)化為頻率顯示
{
uint?baishigefen;
bai=data1/1000;
shi=data1%1000/100;
ge=data1%1000%100/10;
fen=data1%1000%100%10;
lcd_init();
if(bai)
{
write_lcdcom(0x80+0x40);
write_lcddata(0x30+bai);
}
write_lcdcom(0x80+0x41);
write_lcddata(0x30+shi);
write_lcddata(0x30+ge);
write_lcddata(‘.‘);
write_lcddata(0x30+fen);
write_lcddata(‘M‘);
write_lcddata(‘H‘);
write_lcddata(‘z‘);
}?
void?write_bh1415f(uint?data2) //單片機(jī)將頻率控制字寫入BH1415F
{
?int?i;
?CLK=0;
?CE=0;
?CE=1;?????????????????????????????????
?for(i=11;i>0;i--) ???//寫入11位頻率控制字
?{
?DA=data2&0x01;??????????????????
?data2>>=1;
?????????delay();??????????
?CLK=1;
?????????delay();
?CLK=0;
?}
?????DA=1; ?//MONO=1表示立體聲開(kāi)啟
?????delay();
?????CLK=1;???????????????
?????delay();
?????CLK=0;
?????delay();
?DA=0;
?????delay();????????????
?????CLK=1;
?????delay();
?????CLK=0;
?????delay();
?????DA=0; //PD0=0?PD1=0?表明PLL輸出狀態(tài)為正常模式
?????delay();??????????????
?????CLK=1;
?????delay();
?????CLK=0;
?????delay();
?????DA=1; ??//T0=1
?????delay();??????????????
?????CLK=1;
?????delay();
?????CLK=0;
?????delay();
?????DA=0; ??//T1=0
?????delay();???????????
?????CLK=1;
?????delay();
?????CLK=0;
?????CE=0;?
}
void?keyscan() ??//鍵盤掃描程序
{??
uchar?keytemp;
key=0xf0;
if(key!=0xf0)
delayms(5);
if(key!=0xf0)
{
keytemp=key;
key=0x0f;
keytemp=keytemp|key;
while(key!=0x0f);
switch(keytemp)
{
case?0xee:{data_fm++;if(data_fm>1020)data_fm=820;
write_lcdfm(data_fm);write_bh1415f(data_fm);break;}?//以0.1MHZ頻率加
case?0xde:{data_fm--;if(data_fm<820)data_fm=1020;
write_lcdfm(data_fm);write_bh1415f(data_fm);break;}?//以0.1MHZ頻率減
case?0xbe:{MUTE=~MUTE;break;}?//靜音控制
case?0xe7:{data_fm=820;write_lcdfm(data_fm);
write_bh1415f(data_fm);break;}?//預(yù)置頻率82MHZ
case?0xd7:{data_fm=840;write_lcdfm(data_fm);
write_bh1415f(data_fm);break;}?//預(yù)置頻率84MHZ
case?0xb7:{data_fm=860;write_lcdfm(data_fm);
write_bh1415f(data_fm);bre
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????11059??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21
?????文件???????2327??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.hex
?????文件?????????59??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.lnp
?????文件??????14743??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.M51
?????文件???????1102??2014-05-30?19:07??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.opt.bak
?????文件????????204??2016-05-03?18:21??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.plg
?????文件???????2149??2014-04-28?16:15??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.Uv2.bak
?????文件??????57184??2016-05-03?18:21??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.uvopt
?????文件??????13403??2016-05-03?18:21??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21.uvproj
?????文件???????1090??2014-05-30?14:32??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21_Opt.Bak
?????文件???????2148??2014-04-27?23:12??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\jack21_Uv2.Bak
?????文件???????6376??2005-03-22?15:22??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\STARTUP.A51
?????文件??????14048??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\STARTUP.LST
?????文件????????758??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\STARTUP.OBJ
?????文件???????4186??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\Text1.c
?????文件???????9564??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\Text1.LST
?????文件??????11958??2014-05-30?18:56??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)\Text1.OBJ
?????目錄??????????0??2016-05-03?18:21??基于BH1415F的數(shù)控調(diào)頻發(fā)射器設(shè)計(jì)
-----------?---------??----------?-----??----
???????????????152358????????????????????18
評(píng)論
共有 條評(píng)論