版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、RDA5807rlE動程序+ IIC程序5:AklI2CCHIPI2CCHIPADOR.E55ADOR.E55WAREGISTERREGISTERADDRESSADDRESSAREGISTERREGISTERBI.TAREGISTERREGISTERBlTZNANAiirOP國1010復(fù)合珞式在寫特義陽1111篁含格丸i2i2。逢他戈CmCm w w lidlid viavia14M14MIH?IM*tewitewif 產(chǎn),* *; + +*i*i * *AK*AK*國2 2。O O:z zo o O OCA1ZZOCA1ZZO_ _n nfifi llllI II I | |i|i| | |
2、N NI IhidhidH H IIIII II I | |i|iH HI III I I I Illscsc“WW八ATTVfefe llllI II I J Jlili |j|jH HI Ih h | | |h hSTARTSTART addadd比七E E南ACKACK 3 3 H H用i i的區(qū)ACXACX出心krwkrwAUKAUK STOPSTOP STARTSTART*介紹:RD5807M收音機(jī)程序供電3.3v主控使用51單片機(jī)顯示使用LCD1602*胖子*時(shí)間:2021-1-5START12CCHIP12CCHIPADDRESSADDRESSREGIJTERREGIJTERAD
3、DRESSADDRESSSTARTSTARTI2CCHIPADDADD HESSHESS35TER35TERBITD 5GRECisreaRECisreaNANASTOP/*2121 1 1 12c12c接口等就乘時(shí)序*地點(diǎn):桂林電子科技大學(xué)*/#include #include #include #define uchar unsigned char#define uint unsigned int#define ulint unsigned long int#define lint long intuchar code xian44=123,4,5,6,7,8,9,10,11,12,13,
4、14,15,16;uchar code hang=0 xfe,0 xfd,0 xfb,0 xf7; /矩陣鍵盤掃描使用/RDA的存放器地址#define RDA_R00 0X00 /讀出16個(gè)位的ID =0X5800#define RDA_R02 0X02 /DHIZ15,DMUTE14靜音,MONO13聲道,BASS12重低音,SEEKUP9,SEEK8,SKMODE7,CLK_MODE6:4時(shí)鐘源選擇,SOFTRESET1軟復(fù)位,ENABLE0電源使能#define RDA_R03寬步長0X03 /CHAN15:6,TUNE4,BAND3:2,SPACE1:0設(shè)置頻率#define RDA
5、_R04#define RDA_R050X04 STCIEN14,DE11,I2Senable6,0X05 /INT_MODE15,SEEKTH14:8(設(shè)定自動搜索信號強(qiáng)度閥值工LNA_PORT_SEL7:6=0b10,LNA_ICSEL_BIT5:4,VOLUME3:0音量;#define RDA_R0A0X0A /STC14seek complete SF13seek fail readchan9:0當(dāng)前頻道#define RDA_R0B 0X0B /RSSI15:9,FM TRUE8當(dāng)前頻道是一個(gè)節(jié)目臺#define RDA_READ 0X23 /讀RDA5807#define RDA
6、_WRITE 0X22 /寫RDA5807/IO操作函數(shù)sbit SDA=P2A1;sbit SCL=P2A0;sbit RW =P1A1;sbit RS=P1A0;sbit EN=P2A5;uchar code a=FM:.;uchar code b=Vol: RSSI: uchar codeshu=0123456789; uchar num ;void delayms(uint x)/ 延遲程序uint i,j;for(i=x;i0;i-)for(j=113;j0;j-);/*/switch(gaowei)case 0 xe:y=0; break;case 0 xd:y=1; break;
7、case 0 xb:y=2; break;case 0 x7:y=3; break;while(temp!=0 xf0)temp=P3&0 xf0;return xianxy;return 0;*uchar ScanKey()返回值為零uint x,y;for(x=0;x250) CloseIIC();return 1; SCL=0;return 0;void IIC_Ack(void) /發(fā)送應(yīng)答信號SCL=0;SDA=0; /0 f ?6| e IIC_delayms();SCL=1;IIC_delayms();SCL=0;void IIC_NAck(void) /IIC非應(yīng)答信號
8、SCL=0;SDA=1;IIC_delayms();等待從機(jī)發(fā)送響應(yīng)信SCL=1;IIC_delayms();SCL=0;void IICsendByte(uchar txd)/IIC寫一個(gè)字節(jié)uchar t;SCL=0;for(t=0;t7)=1)SDA=1;elseSDA=0;txd=1;IIC_delayms();SCL=1;IIC_delayms();SCL=0;IIC_delayms(); uchar IICReadByte(unsigned char ack) /IIC讀一個(gè)字節(jié)unsigned char i,receive=0;SDA=1; /51單片機(jī)講引腳置高可設(shè)為輸入引腳f
9、or(i=0;i8;i+ ) SCL=0;IIC_delayms();SCL=1;receive=1;if(SDA=1)receive+;IIC_delayms(); if (!ack)IIC_NAck();elseIIC_Ack();return receive;uint ReadReg(uchar regAddr)/芯片讀存放器uint buf;OpenIIC();IICsendByte(RDA_WRITE); /發(fā)送芯片地址方向?yàn)閷慖IC_Wait_Ack();IICsendByte(regAddr); /發(fā)送存放器地址IIC_Wait_Ack();OpenIIC();IICsendBy
10、te(RDA_READ); /發(fā)送芯片地址方向?yàn)樽xIIC_Wait_Ack();buf = IICReadByte;buf = buf8);IIC_Wait_Ack();IICsendByte(val&0XFF);IIC_Wait_Ack();CloseIIC();void Vol_Set(uchar vol) /音量設(shè)置015uint temp=0;temp=ReadReg(RDA_R05);temp&=0 xfff0;WriteReg(0 x05,vol|temp); void Mute_Set(uchar mute) uint temp=0;temp=ReadReg(0X
11、02);if(!mute)temp|=114;else temp&=(114);WriteReg(0X02,temp);void Bass_Set(uchar bass)/頻帶設(shè)置uint temp=0;temp=ReadReg(0X02);if(bass)temp|=112;else temp&=(19)&0 x7f; return temp;void Seekth_Set(uint rssi)/自動搜臺信號閾值強(qiáng)度015默認(rèn)為8數(shù)值越低搜到的臺越多uint temp;rssi = rssi & 0 xf;temp=ReadReg(0X05);temp&
12、;=(0 xf8);temp|= rssi8;WriteReg(0X05,temp);void Seek_direction(uchar direction)/搜臺方向1向上搜索0向下搜索uint temp;temp=ReadReg(RDA_R02);temp&=(19);indirection = 1)temp尸19;/ indirection = 0)/ temp尸02)&0 x03;spc=temp&0 x03;if(spc=0)spc=10;else if(spc=1)spc=20;else spc=5;if(band=0)fbtm=8700;else if(b
13、and=1|band=2)fbtm=7600; elsefbtm=ReadReg(0X53);fbtm*=10; if(freqfbtm)return;chan=(freq-fbtm)/spc;chan&=0X3FF;temp|=chan6;temp|=14;WriteReg(RDA_R03,temp);delayms(20);/while(ReadReg(0X0B)&(17)=0); unsigned int seek_channel(void) /半自 動搜臺unsigned long temp;temp=ReadReg(RDA_R02);temp |= (18);Writ
14、eReg(RDA_R02,temp) ;/SEEK位置一 使能自動搜臺while( (ReadReg(RDA_R0A)&(114) = 0 ) /等待STC位置一 表示搜索完成delayms(10);?o e 10mstemp = (ReadReg(RDA_R0A)&0 x3FF) * 100000 + 87000000)/10000 ; /獲取當(dāng)前頻return temp; /返回搜到電臺頻率單位是:10Khzvoid FM_enable(uchar flag) /1使能芯片0禁用芯片uint temp;temp=ReadReg(RDA_R02);if(flag =1 )te
15、mp |=1;if(flag = 0)temp &= 0 x1;WriteReg(RDA_R02,temp);void RDA_Init(void)/RDA3? c?一WriteReg(RDA_R02,0 x0002);/delayms(30);WriteReg(RDA_R02,0 xd081);/?i?e uSKMODE = 1?+? e i 1WriteReg(RDA_R03,0 x0000);亡?a87M108MWriteReg(RDA_R04,0 x0040);/?WriteReg(RDA_R05,0X8882);/FM_enable(1);Seekth_Set(8);的臺越多
16、void display_1602()write_com(0 x80);for(num=0;num34;num+)write_data(anum);delayms(5);write_com(0 x80+0 x40);for(num=0;num1000)Display_RSSI(Rssi_Get(); 顯示信號強(qiáng)度Key_num=ScanKey();switch(Key_num)case 1: if(RXFreq=8800)RXFreq=8800; 頻率減else RXFreq-=10;Freq_Set(RXFreq);DisplayFrq(RXFreq/100.0);while(0!=Scan
17、Key(); /按鍵釋放break; case 2:if(RXFreq=10800)RXFreq=10800;頻率力口else RXFreq+=10;Freq_Set(RXFreq); DisplayFrq(RXFreq/100.0); while(0!=ScanKey();/按鍵釋放break; case 5: /聲音減if(Vol=0) Vol=0; else Vol-=1; Vol_Set(Vol); DisplayVol(Vol);/顯示音量while(0!=ScanKey(); /按鍵釋放break; case 6: if(Vol=15)Vol=15;/聲音力口else Vol+=1
18、; Vol_Set(Vol); DisplayVol(Vol);/顯示音量while(0!=ScanKey(); /按鍵釋放break; case 7: if(mute=1)靜音 Mute_Set(1); Display_mute(); 顯示靜音while(0!=ScanKey(); /按鍵釋放mute=0; break; if(mute=0) Mute_Set(0); DisplayVol(Vol); /取消靜音顯示音量mute=1; while(0!=ScanKey(); break;case 9:搜索while(0!=ScanKey();Seek_direction(0);RXFreq = seek_channel();Freq_Set(RXFreq);DisplayFrq(RXFreq/100.0); break;case 10:搜索while(0!=ScanKey();Seek_direction;RXFreq = seek_channel()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版八年級物理下冊《第七章力》單元檢測卷及答案
- 開發(fā)具有抗蟲特性的轉(zhuǎn)基因作物品種
- 新高考走班制選課排課解決方案
- 高一化學(xué)達(dá)標(biāo)訓(xùn)練:第四單元太陽能、生物質(zhì)能和氫能的利用
- 2024屆江蘇省淮陰區(qū)高三二診模擬考試數(shù)學(xué)試卷含解析
- 2024高中物理第四章牛頓運(yùn)動定律3牛頓第二定律課后作業(yè)含解析新人教版必修1
- 2024高中語文第一課走進(jìn)漢語的世界第2節(jié)古今言殊-漢語的昨天和今天訓(xùn)練含解析新人教版選修語言文字應(yīng)用
- 2024高考化學(xué)一輪復(fù)習(xí)第1章認(rèn)識化學(xué)科學(xué)章末化學(xué)素材與命題架構(gòu)學(xué)案魯科版
- 2024高考地理一輪復(fù)習(xí)專練64區(qū)域能源礦產(chǎn)資源的綜合開發(fā)利用含解析新人教版
- 人教版四年級上冊數(shù)學(xué)20套試卷(可打印)
- 中職英語語文版(2023)基礎(chǔ)模塊1 Unit 1 The Joys of Vocational School 單元測試題(含答案)
- 最全-房屋市政工程安全生產(chǎn)標(biāo)準(zhǔn)化指導(dǎo)圖冊
- 算法向善與個(gè)性化推薦發(fā)展研究報(bào)告
- 聚合物的流變性詳解演示文稿
- 電氣設(shè)備預(yù)防性試驗(yàn)安全技術(shù)措施
- 壓力彈簧力度計(jì)算器及計(jì)算公式
- 內(nèi)科學(xué)教學(xué)課件:免疫性血小板減少癥(ITP)
- 聚焦項(xiàng)目化學(xué)習(xí),讓核心素養(yǎng)在教學(xué)中落實(shí) 教學(xué)設(shè)計(jì)
- 路立得4.1roadleaderv3.0說明書Roadleader是鴻業(yè)研制的BIM系列軟件之一旨在
- GB/T 37375-2019交通運(yùn)輸物聯(lián)網(wǎng)標(biāo)識規(guī)則
- 小兒體質(zhì)中醫(yī)調(diào)理方案課件
評論
0/150
提交評論