freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于rda5807的收音機(jī)-在線瀏覽

2025-08-14 18:41本頁面
  

【正文】 電路設(shè)計(jì)。 RDA5807模塊與單片機(jī)接口 RDA5807是以I2C協(xié)議為通信方式的芯片,通過CLK時(shí)鐘總線和SDA數(shù)據(jù)總線與單片機(jī)相連。 PCB圖利用軟件DXP,將原理圖導(dǎo)入進(jìn)行制作PCB圖,通過白色線的指引,把各個(gè)部分的電路連接起來。IIC是由菲利浦半導(dǎo)體公司在八十年代初設(shè)計(jì)出來的,主要是用來連接整體電路(ICS)這種方式簡化了信號輸總線。IIC串行總線一般有兩根信號線,一根是雙向的數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。開始和停止條件均由主控制器產(chǎn)生。SDA線上的數(shù)據(jù)在時(shí)鐘“高”期間必須是穩(wěn)定的,只有當(dāng)SCL線上的時(shí)鐘信號為低時(shí),數(shù)據(jù)線上的“高”或“低”狀態(tài)才可以改變。如果一接收器件在完成其他功能(如一內(nèi)部中斷)前不能接收另一數(shù)據(jù)的完整字節(jié)時(shí),它可以保持時(shí)鐘線SCL為低,以促使發(fā)送器進(jìn)入等待狀態(tài);當(dāng)接收器準(zhǔn)備好接受數(shù)據(jù)的其它字節(jié)并釋放時(shí)鐘SCL后,數(shù)據(jù)傳輸繼續(xù)進(jìn)行。數(shù)據(jù)傳送具有應(yīng)答是必須的。當(dāng)尋址的被控器件不能應(yīng)答時(shí),數(shù)據(jù)保持為高并使主控器產(chǎn)生停止條件而終止傳輸。 I2C寫時(shí)序 I2C讀時(shí)序在應(yīng)用系統(tǒng)中,系統(tǒng)軟件的設(shè)計(jì)是建立在具體硬件電路基礎(chǔ)之上,根據(jù)系統(tǒng)功能要求可靠地實(shí)現(xiàn)系統(tǒng)的各種功能。先初始化接收頻率,并實(shí)現(xiàn)對頻率和音量步進(jìn)的控制。開始RDA5807初始化5110液晶初始化鍵盤掃描改寫當(dāng)前頻率、音量 顯示當(dāng)前頻率、音量結(jié)束 總程序流程圖。再對LCD清屏,為顯示作準(zhǔn)備。最后初始設(shè)置頻率和音量,初始化程序如下: LCD_init()。 //清屏xianshi()。 //RDA5807初始化Freq_Set(8830)。 //音量初始設(shè)置為10矩陣鍵盤掃描程序,當(dāng)按鍵按下時(shí),程序執(zhí)行對應(yīng)功能;當(dāng)鍵盤沒有按下時(shí),程序結(jié)束且這個(gè)過程不斷循環(huán)。 //鍵盤不斷掃描當(dāng)鍵1被按下時(shí),頻率值加100KHZRXFreq+=10。 //頻率設(shè)置當(dāng)鍵2被按下時(shí),頻率值減100KHZRXFreq=10。 //頻率設(shè)置當(dāng)鍵3被按下時(shí),音量值加1 Vol+=1。 //音量設(shè)置 0~15當(dāng)鍵4被按下時(shí),音量值減1 Vol=1。 //音量設(shè)置 0~15當(dāng)鍵5被按下時(shí),設(shè)置靜音成功;當(dāng)鍵5再次按下時(shí)靜音取消 Mute_Set(mute)。鍵盤不斷掃描時(shí),也不斷的顯示,分別對頻率、音量、信號強(qiáng)度和靜音標(biāo)志進(jìn)行顯示,顯示程序如下: display_2(RXFreq)。 //顯示音量 display_3(Rssi_Get())。 //顯示是否靜音,1為否,0為是以上步驟不斷的循環(huán)。打印PCB:通過轉(zhuǎn)印機(jī)把PCB轉(zhuǎn)印到電路板上。鉆孔:根據(jù)洞口大小選擇合適的鉆針鉆孔。涂松香:把松香和天那水的混合液涂在打磨清洗后的板子上,防止銅線被氧化和有助于焊接。 硬件調(diào)試剛開始調(diào)試的時(shí)候,我是根據(jù)一個(gè)文檔上寫的,耳機(jī)接口的公共端可以用作天線,并通過一個(gè)磁珠與地隔開,當(dāng)時(shí)一個(gè)勁的懷疑軟件問題,沒有認(rèn)真檢查硬件,經(jīng)過仔細(xì)查閱資料,了解到耳機(jī)接口的公共端為地,所以不能用作天線。天線端與耳機(jī)公共端斷路,耳機(jī)公共端直接接地?,F(xiàn)在為兩導(dǎo)線相連. 。在寫I2C讀一個(gè)字節(jié)的數(shù)據(jù)時(shí),數(shù)據(jù)只能讀出16位數(shù)據(jù)的高8位,而不能讀出數(shù)據(jù)的低8位,。部分程序如下:uchar IICReadByte(unsigned char ack) //IIC讀一個(gè)字節(jié){ unsigned char i,receive=0。 //51單片機(jī)講引腳置高可設(shè)為輸入引腳,缺少此語句,不能正常讀出數(shù)據(jù) for(i=0。i++ ) { SCL=0。 SCL=1。 if(SDA==1) receive++。 } if (!ack) IIC_NAck()。 return receive??梢燥@示接收頻率、音量、信號強(qiáng)度。在這兩個(gè)星期的實(shí)訓(xùn)中,我學(xué)到了很多東西,不管是在知識架構(gòu)上,還是在動手動腦能力上都起著潛移默化的影響。硬件做出來后,調(diào)試軟件遇到了不少的問題,剛開始把5110液晶屏點(diǎn)亮,費(fèi)了一段時(shí)間,通過查找網(wǎng)上一些關(guān)于5110液晶屏的驅(qū)動和參考別人的一些程序,終于可以在屏幕上隨意讀寫數(shù)據(jù),并且可以顯示漢字。關(guān)于矩陣鍵盤的程序,按鍵掃描是單片機(jī)的一個(gè)基本的知識,不過矩陣鍵盤掃描比較困難,它是8個(gè)IO口控制16個(gè)鍵盤,在觀看郭天祥的十天學(xué)會單片機(jī)后,對矩陣有了一定了解,最后能運(yùn)用矩陣鍵盤實(shí)現(xiàn)對頻率設(shè)置的功能。 謝 辭首先,感謝為我們安排了這次單片機(jī)設(shè)計(jì)實(shí)訓(xùn)。還要感謝老師的授課和實(shí)訓(xùn)操作指導(dǎo),在任務(wù)開始前,老師首先就全面的為我們講注意事項(xiàng),讓我們在實(shí)訓(xùn)過程中少犯了不少錯(cuò),節(jié)約了寶貴的時(shí)間。 參考文獻(xiàn)[1] :電子工業(yè)出版社,2008[2] :人民郵電出版社,1985[3] ,雷有華,:高等教育出版社,2002[4] 孫育才. MCS51系列單片機(jī)及應(yīng)用(第4版):東南大學(xué)出版社,2004[5] 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第5版):清華大學(xué)出版社,2005[6] (第3版):清華大學(xué)出版社,2005[7] 鄭學(xué)堅(jiān)、周斌. 微型計(jì)算機(jī)的原理及應(yīng)用:清華大學(xué)出版社,2002[8] 胡偉、季曉衡.單片機(jī)c程序設(shè)計(jì)及應(yīng)用實(shí)例:北京人民郵電出版社.2003 附 錄include include include include define uchar unsigned chardefine uint unsigned intdefine ulint unsigned long intdefine lint long intunsigned int RXFreq=8980。define RDA_R0A 0X0A //STC[14]seek plete SF[13]seek fail readchan[9:0]當(dāng)前頻道define RDA_R0B 0X0B //RSSI[15:9],FM TRUE[8]當(dāng)前頻道是一個(gè)節(jié)目臺define RDA_READ 0X23 //讀RDA5807define RDA_WRITE 0X22 //寫RDA5807sbit SDA=P0^1。uchar *table[]={0,1,2,3,4,5,6,7,8,9}。uint Diantai[20]={8830}。 for(i=z。i) for(j=110。j)。_nop_()。_nop_()。 SCL=1。 SDA=0。 SCL=0。 SDA=0。 SCL=1。 IIC_delayms()。 SDA=1。 SCL=1。 while(SDA==1) { ucErrTime++。 return 1。 return 0。 SDA=0。237。?243。 SCL=1。 SCL=0。 SDA=1。 SCL=1。 SCL=0。寫一個(gè)字節(jié){ uchar t。 for(t=0。t++) { if(((txdamp。 else SDA=0。 IIC_delayms()。 IIC_delayms()。 IIC_delayms()。 SDA=1。i8。 IIC_delayms()。 receive=1。 IIC_delayms()。 else IIC_Ack()。}uint ReadReg(uchar regAddr) //芯片讀寄存器{ uint buf。 IICsendByte(RDA_WRITE)。 IICsendByte(regAddr)。 OpenIIC()。 // 發(fā)送芯片地址 方向?yàn)樽x IIC_Wait_Ack()。 buf = buf8。 CloseIIC()。}void WriteReg(uchar regAddr,uint val) //芯片寫寄存器{ OpenIIC()。 //發(fā)送芯片地址 方向?yàn)閷?IIC_Wait_Ack()。 //發(fā)送寄存器地址 IIC_Wait_Ack()。 IIC_Wait_Ack()。0XFF)。 CloseIIC()。 temp=ReadReg(RDA_R05)。=0xfff0。 }void Mute_Set(uchar mute) //靜音設(shè)置 1為靜音 0為不靜音{ uint temp=0。 if(!mute)temp|=114。=~(114)。 }void Bass_Set(uchar bass) //頻帶設(shè)置{ uint temp=0。 if(bass)temp|=112。=~(112)。 }uchar Rssi_Get(void) //信號強(qiáng)度獲取 0~63{ uint temp=0。 temp=(temp9)amp。 return temp。 rssi = rssi amp。 temp=ReadReg(0X05)。=~(0xf8)。 WriteReg(0X05,temp) 。 temp=ReadReg
點(diǎn)擊復(fù)制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1