基于RDA5807的數(shù)控FM收音機實訓論文_第1頁
基于RDA5807的數(shù)控FM收音機實訓論文_第2頁
基于RDA5807的數(shù)控FM收音機實訓論文_第3頁
基于RDA5807的數(shù)控FM收音機實訓論文_第4頁
基于RDA5807的數(shù)控FM收音機實訓論文_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、標題:基于RDA5820的數(shù)控調頻收音機摘要現(xiàn)在人們經常使用的收音機是手動調頻接收機,使用起來比較麻煩,而且由于接收靈敏度不高,接收頻段比較窄。為了解決這些問題,本次將RDA5807收音模塊與單片機結合,實現(xiàn)FM收音并顯示頻率。自1970年代單片機問世以來,以其極高的性價比引起了人們的關注和關注,因此得到了廣泛的應用和迅速的發(fā)展。單片機的特點是體積小、集成度高、重量輕、抗干擾能力強、環(huán)境要求低、價格低、可靠性高、靈活性好、易于開發(fā),所以采用stc89c52單片機這次。此外,RDA5807模塊具有兼容65-108MHz全球FM接收頻段的效果,具有降噪、軟靜音、低音增強、高靈敏度、低噪音、抗干擾能

2、力強等功能.它還可以有頻率顯示功能,所以使用這個模塊很容易實現(xiàn)。關鍵詞:微控制器; RDA5807;調頻收音機介紹本次調頻收音機的設計與研究分為硬件電路和程序設計兩個方面。硬件電路方面,主要實現(xiàn)所需電壓值、電壓調節(jié)、站臺搜索、控制和頻率顯示等。系統(tǒng)程序方面,RDA5807模塊的功能主要通過軟件實現(xiàn),站臺調節(jié)IIC 總線。 ,并獲取當前頻率,處理并實現(xiàn)變頻顯示。計劃選擇1.1 方案一用分立元件連接電路實現(xiàn)模塊的功能,收發(fā)信號,調制信號的頻率或幅度,從而得到可處理的信號,實現(xiàn)監(jiān)聽功能。因為這種方案,調試極其復雜,很難成功,而且接收頻率范圍小,工作也很不穩(wěn)定,容易受到外界的影響。1.2 選項 2采用

3、RDA5807模塊實現(xiàn)接收信號及處理功能,結合單片機,真正實現(xiàn)現(xiàn)在數(shù)控,操作方便。由于RDA5807模塊集成度高,很多功能都集成在部門內,所以工作穩(wěn)定,不易受外界影響,需要的外部東西少,采用IIC總線與單片機連接,使用線路少,模塊簡單,操作方便。而且接收頻率范圍很廣。3 計劃三一般選擇第二種,模塊體積小,占用空間小,調試方便。它可以非常好??梢詫崿F(xiàn)收音機的功能,模塊功耗低,符合目前的要求。2 系統(tǒng)方案設計及各模塊原理本方案采用STC89C52單片機與RDA模塊連接實現(xiàn)數(shù)控無線電。 STC89C52單片機在這方面的設計為我們提供了極大的方便。使用它的好處是外圍電路極其簡單。它還提供了一個方便的編

4、程環(huán)境。外圍電路的設計包括液晶顯示和鍵盤控制電路設計兩部分。這里使用一個reset按鈕來實現(xiàn)RDA5807模塊的初始化。該設計的特點是全面采用數(shù)字電路方案,工作穩(wěn)定可靠。采用單片機控制和管理,使設置和調整操作準確。液晶顯示STC89C52單片機控制系統(tǒng)收音模塊與存儲芯片液晶顯示STC89C52單片機控制系統(tǒng)收音模塊與存儲芯片按鍵控制按鍵控制STC89C52最小系統(tǒng)原理圖RDA5807無線電模塊2.1 STC89C52核心模塊STC89C52是STC公司生產的一款低功耗、高性能CMOS 8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。 STC89C52采用經典的MCS-51內核,但做了很多改

5、進,使芯片具有傳統(tǒng)51單片機所不具備的功能。 STC89C52 在單芯片上,具有智能 8 位 CPU 和系統(tǒng)內可編程閃存,為許多嵌入式控制應用系統(tǒng)提供高度靈活和超高效的解決方案。具有以下標準功能:8k字節(jié)Flash、512字節(jié)RAM、32位I/O線、 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/1313309.htm t _blank 看門狗定時器、設置4KB EEPROM、MAX810復位電路、3個16位 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/281961.htm

6、 t _blank 定時器/計數(shù)器、4個外部中斷、一個7-向量4級中斷結構(兼容傳統(tǒng)的51向量2級中斷結構),全雙工 HYPERLINK %20%20%20%20:/baike.baidu%20%20%20%20/view/1060187.htm t _blank 串口。此外,STC89C52 可以降低到 0Hz 靜態(tài)邏輯操作,并支持兩種軟件可選的省電模式。2.1.1STC89C52單片機介紹其引腳結構及說明如下:圖圖2.1 STC89C52的引腳結構VCC:電源GND:地端口 P0:端口 P0 是一個 8 位開漏雙向 I/O 端口。作為輸出,每個位可以驅動 8 個 TTL 邏輯電平。向 P0

7、 端口寫入“”時1”,該引腳用作高阻抗輸入。當訪問外部程序和數(shù)據存儲器時,P0 端口也被復用為低 8 位地址/數(shù)據。在這種模式下,P0 有一個上拉電阻。P0 端口也用于在 Flash 端口 P1:端口 P1 是一個帶有上拉電阻的 8 位雙向 I/O 端口。 p1 輸出緩沖器可以驅動 4 個 TTL 邏輯電平。向P1端口寫“”時1”,外部上拉電阻將該端口拉高,可作為輸入端口使用。當用作輸入時,由于外部電阻,外部下拉的引腳將輸出電流(IIL)。 , P1.0 和 P1.2 分別用作定時器/計數(shù)器 2 的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器 2(P1.1/T2EX)的觸發(fā)輸入。在閃存編程和

8、驗證期間,端口 1 接收低 8 端口 P2:端口 P2 為 8 位雙向 I/O 端口,帶上拉電阻,P2 輸出緩沖器可驅動 4 個 TTL 邏輯電平。向P2端口寫“”時1”,外部上拉電阻將該端口拉高,此時可作為輸入端口使用。當用作輸入時,由于外部電阻,外部下拉的引腳將輸出電流(IIL)。當使用 16 位地址訪問外部程序存儲器或讀取外部數(shù)據存儲器時(如執(zhí)行 MOVX DPTR),P2 端口致地址的高 8 位。在本應用中,P2 端口使用內部強上拉來致 1。當使用 8 位地址(如 MOVX RI)訪問外部數(shù)據存儲器時,P2 端口輸出 P2 鎖存器的容量。在 Flash 編程和驗證過程中,P2 端口還接

9、收高 8 端口 P3:端口 P3 是一個帶上拉電阻的 8 位雙向 I/O 端口,p2 輸出緩沖器可以驅動 4 個 TTL 邏輯電平。向P3端口寫“”時1”,外部上拉電阻將該端口拉高,可作為輸入端口使用。當用作輸入時,由于外部電阻,外部拉低的引腳將輸出電流(IIL)。 P3 該端口也用作AT89S52P3.0 RXD(串行輸入端口)P3.1 TXD(串行輸出端口)P3.2 (外部中斷 0)P3.3 (外部中斷 1)P3.4 T0(定時器0的外部輸入)P3.5 T1(定時器1的外部輸入)P3.6 (外部數(shù)據存儲器寫選通)P3.7 (外部數(shù)據存儲器讀取選通)在 Flash 編程和驗證過程中,P3 端

10、口也接收一些控制信號。RST:復位輸入。當晶振工作時,RST 引腳高電平 2 個機器周期將使單片機復位。看門狗定時器完成后,RST 引腳輸出高電平,持續(xù) 96 個晶振周期。特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以禁用此功能。在 DISRTO 的默認狀態(tài)下,復位為高電平有效。ALE/PROG:地址鎖存控制信號(ALE)用于在訪問外部程序存儲器時鎖存低8位地址的輸出脈沖。在閃存編程期間,該引腳 (PROG) 也用作編程輸入脈沖。一般情況下,ALE以晶體振蕩器六分之一的固定頻率輸出脈沖,可用作外部定時器或時鐘。但是,需要強調的是,每次訪問外部數(shù)據存儲器時都會跳過 ALE 脈沖。

11、如果需要,將通過設置地址 8EH 的 SFR 的第 0 位來禁用 ALE 操作“ 1”。這個位” 1”,ALE 僅在執(zhí)行 MOVX 或 MOVC 指令時有效。否則,ALE 會被弱拉高。當微控制器處于外部執(zhí)行模式時,該 ALE 使能標志(地址 8EH 處的 SFR 的位PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當 AT89S52 從外部程序存儲器執(zhí)行外部代碼時,PSEN 每個機器周期被激活兩次,當訪問外部數(shù)據存儲器時,PSEN 不會被激活。EA/VPP:訪問外部程序存儲器控制信號。 EA 必須連接到 GND 以啟用從 0000H 到 FFFFH 的外部程序存儲器讀取指

12、令。為了執(zhí)行零件程序指令,EA 應該連接到 VCC。在閃存編程期間,EA 還接收 12 伏 VPP。XTAL1:振蕩器反相放大器和部分時鐘產生電路的輸入端。XTAL2:振蕩器反相放大器的輸出。2.1.2STC89C52的主要性能-兼容MCS-51 MCU產品-8K 字節(jié)系統(tǒng)內可編程閃存-1000 次擦寫循環(huán)-全靜態(tài)運行:0Hz33Hz-三級加密程序存儲器-32 條可編程 I/O 線-三個16位定時器/計數(shù)器-8個中斷源-全雙工UART串行通道-低功耗空閑和掉電模式-中斷可以在掉電后喚醒- 看門狗定時器-雙數(shù)據指針- 斷電標志-具有2K字節(jié)的EEPROM存儲空間-可以直接使用串口下載- 512字

13、節(jié)的數(shù)據存儲空間2.2 RDA5807模塊“ RRD-102V2.0 ” 立體聲收音模塊(FM Stereo Radio Module) 高靈敏度、低功耗、超小尺寸的FM立體聲收音模塊。該電路采用RDA Microelectronics的RDA5807M (或RDA5802NM) ,外圍元件少,噪聲系數(shù)極小。具有體積小、功耗低、成本低、應用簡單、使用范圍廣等優(yōu)點。它是一款易于使用且具有成本效益的單芯片調頻立體聲收音機模塊。模塊引腳及外圍電路圖2.2.1RDA5807模塊特點A. 使用通用102BC模塊封裝,用戶可以直接更換,無需改變電路設計。B. 靈敏度高,噪音低,抗干擾能力強,外圍元件少,體

14、積小(11*11.2MM Max),使用極其簡單。C. 76-108MHz全球FM頻段兼容(包括日本76-91MHz和歐美87.5-108.5MHz)。D、I2C串行數(shù)據總線接口通信,支持外部參考時鐘輸入方式。E、全集成CMOS工藝單片集成電路,功耗極低。F.設置高精度A/D(模數(shù)轉換器)和數(shù)字頻率合成器。G.設置LDO調節(jié),低功耗,超寬電壓范圍(2.7-3.6VDC)。H.集降噪、軟靜音、低音增強電路設計。一、大功率32負載音頻輸出,直接連接耳機,無需外接音頻驅動放大。J.應用簡單,成本低,性價比高。2.2.2RDA5807模塊使用說明A 、模塊電源濾波電容設計盡量靠近模塊電源輸入管腳。B.

15、 I2C DAT 和 CLK芯片已經包含47k上拉電阻;C.如果耳機的地線用作天線,請參考上圖應用大示意圖D.為使模塊工作良好、可靠, FM模塊的供電電壓一般應大于2.7V 。E 、本模塊集成了LDO ,電源輸入端可以使用簡單的LC電源濾波網絡。F 、使用時要做好ESD靜電防護。G.模塊連接電容后可直接驅動32歐耳機。如需驅動更高功率的音箱,請加功率放大器;2.3 顯示模塊顯示模塊由1602液晶電路組成。2.3.11602液晶介紹1602液晶是工業(yè)字符型液晶,可同時顯示16x02或32個字符。 (16 列和 2 行)。2.3.21602引腳說明1602字符LCD通常有14針線或16針線LCD,

16、另外2根線是背光電源線。 VCC(15腳)和地線GND(16腳),控制原理與14腳的LCD完全一樣,其中:1602液晶引腳說明IIC通訊根據RDA5807模塊的要求,采用IIC通訊方式與單片機連接,實現(xiàn)數(shù)控。2.4.1IIC簡介IIC由飛利浦半導體在 1980 年代初期設計。主要用于連接集成電路(ICS)。 IIC是多向控制總線,這意味著多個芯片可以連接到同一個總線結構上。 ,每個芯片都可以作為控制源實現(xiàn)數(shù)據傳輸。這種方法簡化了信號傳輸總線。IIC串行總線一般有兩條信號線,一條是雙向數(shù)據線SDA,另一條是時鐘線SCL。 IIC總線設備連接的所有串行數(shù)據SDA都連接到總線的SDA,每個設備的時鐘

17、線SCL連接到總線的SCL。2.4.3IIC時序在IC總線傳輸過程中,定義了兩種具體情況作為啟動和停止條件:當SCL保持“高”時,SDA由“高”變?yōu)椤暗汀弊鳛閱訔l件;當 SCL 保持“高”并且停止條件是當 SDA 從“低”變?yōu)椤案摺睍r。啟動和停止條件均由主控制器生成。使用硬件接口很容易檢測啟動和停止條件,沒有這種接口的微型計算機必須在每個時鐘周期至少對 SDA 進行兩次采樣以檢測這種變化。 SDA線上的數(shù)據必須在時鐘“高”期間保持穩(wěn)定,而數(shù)據線上的“高”或“低”狀態(tài)只有在SCL線上的時鐘信號為低時才能改變。 SDA線上輸出的每個字節(jié)必須是8位,每次傳輸?shù)淖止?jié)數(shù)沒有限制,但每個字節(jié)必須有一個A

18、CK。如果接收設備在完成其他功能(如中斷)之前無法接收到另一個完整字節(jié)的數(shù)據,則可以將時鐘線 SCL 保持為低電平,使致器進入等待狀態(tài);當接收器準備好接受數(shù)據時 數(shù)據傳輸在其他字節(jié)和時鐘 SCL 被釋放后繼續(xù)。 I2C 數(shù)據總線傳輸時序。需要確認的數(shù)據傳輸。與確認對應的時鐘脈沖由主控制器產生,致器在確認期間必須拉低 SDA 線。當被尋址的受控設備未能響應時,數(shù)據保持高電平并導致主機產生一個停止條件以終止傳輸。在傳輸過程中,當使用主接收器時,主接收器必須向受控致器致數(shù)據結束信號,使受控致器釋放數(shù)據線,讓主控器產生停止條件。系統(tǒng)編程框圖初始化初始化液晶顯示初始值液晶顯示初始值檢測是否有按鍵按下檢測

19、是否有按鍵按下模塊進行搜索頻道和音量的相關變化模塊進行搜索頻道和音量的相關變化液晶顯示當前頻率和音量液晶顯示當前頻率和音量結束結束具體流程見附件4.1 印制電路板布線設計此過程由Altium Designer完成。布線設計實現(xiàn)如下。圖圖4.1 布線流程新建工程(.Prjpcb文件)畫原理圖(.SchDoc文件)生成網表(.Net文件)畫PCB圖,即布線(.PcbDoc文件)接線注意事項:放置元件時,先按原理圖放置,再微調位置。使用的是單面板,因此接線應在底部按鈕層上。布線區(qū)域應在禁止布線層的 Keep Out Layer 上劃定。兩條線之間的距離不能太小,線的拐角不要用直角。一般來說,45度角

20、是合適的。線寬設置在0.8-1.0mm,在一些拐角處可以適當補充線,以防止線路在腐蝕過程中被腐蝕或因為線路太細而對電路造成不良影響。4.2 印刷電路板的制作首先,印刷PCB,用砂紙去除銅板外層的氧化銅,預熱熨斗后,將PCB放在板上,將導線熨燙到銅板上。待銅板冷卻后,撕下銅板上的紙,檢查銅板上是否有斷線。如果量少,用油性筆補線!如果太多,請使用砂紙去除線,然后重新熨燙。然后,盡快將熨燙好的銅板放入三氯化鐵溶液中。三、腐蝕完成后,先打孔,再去除銅線上的油墨。這使得打孔更容易。四是安裝組件。在這個過程中,一定要注意有正負極性的元器件,比如LED燈、電解電容等。最后,進行焊接。5 電路板調試調試過程是

21、一個非常重要的環(huán)節(jié),是整板成功的關鍵。首先斷開電源,用數(shù)字萬用表仔細檢查電路連接是否錯誤,是否有短路或斷路和虛焊現(xiàn)象。初步檢查后,即可通電。此時不應加載芯片。連接電源時,應明確電源的正負極性,不得接反。如果接反,可能會立即燒毀重要部件!經常用手觸摸每個部件,看是否有發(fā)熱現(xiàn)象,注意是否冒煙。穩(wěn)定一段時間后,如無不良現(xiàn)象,電路基本正常,可以用數(shù)字萬用表依次檢查各點工作電壓,各點工作穩(wěn)定,確認兩端電壓芯片插座與芯片工作電壓相匹配 斷電后即可安裝芯片。最后將程序編譯到MCU芯片后生成的后綴.HEX文件燒錄,查看效果,調試程序。單詞這門課程的設計經過幾天的坎坷和坎坷,終于順利完成。完成這門課程后,我重新

22、學習了模擬電子電路、單片機、C語言編程等知識,并應用到實踐中??梢哉f這次的課程設計讓我對整個電子電路設計流程有了新的認識,學會了如何查閱資料,也意識到之前學到的電路知識只能通過實際電路來實現(xiàn).對他們有更深入的了解。本次設計的重點是最小系統(tǒng)的制作和模塊程序的消化。在我的原理設計中,每個集成塊的外圍電路都不是特別復雜,所以整個設計的重點都落在了程序設計上,所以單片機的知識一定要加強,尤其是編程能力??梢哉f通過這樣的設計,用匯編語言對電路的知識進行了重復和強化,同時也接觸了幾個新器件,了解了它們的用法。在繪制原理圖、PCB布線、安裝調試等過程中,難免會遇到各種問題。這就需要保持冷靜,積極思考,接觸書

23、本上的理論知識。如果不能解決,你可以問你的同學或導師。雖然在生產過程中難免會遇到很多問題,從個人水平、設備質量、生產工藝和條件等方面來看,有些指標并不完善,但最終在老師和同學的幫助下,這些問題都得到了解決。已實現(xiàn)系統(tǒng)整體調試,基本滿足相關指標要求,較好地完成了設計任務。參考1康華光.電子技術基礎M .:高等教育出版, 2006,68 ( 3 ): 40 57 .2強. 51系列單片機應用軟件編程技術M :航空航天大學, 2009 : 7790.3譚浩強. C語言程序設計教程M .:高等教育, 1991 : 3032。4范長新傳播原理(第6版) M :國防工業(yè), 2006 : 20655百度百科

24、baike.baidu./附錄主程序#include “reg52.h”#include intrins.h#包括“l(fā)cd.h”#include IIC.h#include “延遲.h”位 K1 = P20;sbit K2= P21;位 K3 = P22;位 K4 = P23;無符號長頻率;/ RDA5807 寄存器無符號字符 RDA_reg_data8 =0 xd0, 0 x00, / 02H0 x00, 0 x00, / 03H0 x00, 0 x40, / 04H0 x90, 0 x88, / 05H;無符號字符碼 cdis1 = FM cuis RADIO;無符號字符碼 cdis2 =

25、 FM VOL;字符代碼保留3_at_0 x3b; /保留從0 x3b開始的3個字節(jié)/* * *連續(xù)寫寄存器子功能* * */無效 RDA5807_write_reg(無效)uchar我;I2C_start();/ Radio模塊寫操作I2C_write_byte(0 x20);/注冊連續(xù)寫操作對于(i=0;i8;i+)I2C_write_byte(RDA_reg_datai);I2C_stop();/* * *連續(xù)讀寄存器子功能* * */無效 RDA5807_read_reg(uchar *reg_buf)I2C_start();/ Radio模塊讀操作I2C_write_byte(0 x

26、21);/注冊連續(xù)讀操作reg_buf0 = I2C_read_byte(I2C_ACK);reg_buf1 = I2C_read_byte(I2C_ACK);reg_buf2 = I2C_read_byte(I2C_ACK);reg_buf3 = I2C_read_byte(I2C_NACK);I2C_stop();/* * *模塊上電初始化子功能* * */無效 RDA5807_power(無效)延遲(50);/ 致軟件復位命令RDA_reg_data0 = 0 x00;RDA_reg_data1 = 0 x02;RDA5807_write_reg();延誤(10);/ Radio 模塊默

27、認參數(shù)RDA_reg_data0 = 0 xd0;RDA_reg_data1 = 0 x01;RDA5807_write_reg();/* * *功能描述:電臺模塊自動搜索模式* * */無效 RDA5807_FM_seek(無效)uint chan;uchar reg_data4 = 0 x00, 0 x00, 0 x00, 0 x00;RDA_reg_data3 &= (1 4); /調整禁用/ 啟用自動頻道搜索RDA_reg_data0 |= (1 0); /尋找位置1RDA5807_write_reg();/ 等待設置 STC 標志而(0 = (reg_data0 & 0 x40)延誤

28、(20);/ 讀取狀態(tài)RDA5807_read_reg(reg_data);/ 獲取當前工作頻率chan = reg_data0 & 0 x03;chan = reg_data1 | (陳 8);陳 = 陳 8) & 0 xff;RDA_reg_data3 = (chan & 0 xff);/* * *頻率顯示子功能* * */無效顯示頻率(無效)無符號字符 i,顯示 5;無符號整數(shù)溫度;溫度 = (RDA_reg_data2*256)+(RDA_reg_data3&0 xc0); /計算溫度=溫度6;頻率 = (unsigned long)(100*temp+87000)/100;for(i

29、=0; i5; i+) / 清除內存單元顯示i = 0 x00;顯示0 =(頻率)/1000; /數(shù)據轉換顯示1 = (頻率%1000)/100;顯示2 = (頻率%100)/10;顯示3 = 0 x2e; /小數(shù)點顯示4 = (頻率%10);如果(顯示0 = 0)顯示0 = 顯示1+0 x30;顯示1 = 顯示2+0 x30;顯示2 = 顯示3;顯示3 = 顯示4+0 x30;顯示4 = 0 x20;別的顯示0 += 0 x30;顯示1 += 0 x30;顯示2 += 0 x30;顯示4 += 0 x30;lcd_pos_xy(3,2); /頻率顯示lcd_wdat(顯示0);lcd_wda

30、t(顯示1);lcd_wdat(顯示2);lcd_wdat(顯示3);lcd_wdat(顯示4);/* * *音量顯示子功能* * */無效 show_volume()無符號字符溫度,顯示2;溫度 = RDA_reg_data7 & 0 x0f; /取音量值顯示0 = 溫度/10;顯示1 = 溫度%10;if(display0 = 0) /如果高位為0顯示0 = 顯示1; /低內存容量進入高內存顯示1 = 0 x20; /低位不顯示別的顯示1 += 0 x30;顯示0 += 0 x30;lcd_pos_xy(13,2); /音量值顯示lcd_wdat(顯示0);lcd_wdat(顯示1);/*

31、 * *主功能* * */無效主要(無效)P0 = 0 xff;P1 = 0 xff;P2 = 0 xff;液晶初始化();lcd_w_string(0,1,cdis1,0);lcd_w_string(0,2,cdis2,0);RDA5807_power();而(1)如果(K1 = 0)延誤(20);如果(K1 = 0)RDA_reg_data0 |= (1 1); /尋找 RDA5807_FM_seek(); 而(K1 = 0);如果( K2= 0)延誤(20);如果( K2= 0)RDA_reg_data0 &= (1 1); /向下搜索 RDA5807_FM_seek();而( K2=

32、0); 如果(K3 = 0)延誤(20);如果(K3 = 0)if(RDA_reg_data7 & 0 x0f) 0 x0f)RDA_reg_data0 = 0 xd0;RDA_reg_data1 = 0 x01;RDA_reg_data3 &= (1 0 x00 ) ;RDA_reg_data0 = 0 xd0;RDA_reg_data1 = 0 x01;RDA_reg_data3 &= (1 4);RDA_reg_data7-; / 重量遞減RDA5807_write_reg();而(K4 = 0);顯示音量();顯示頻率();L光盤程序#include “reg52.h”#include

33、 intrins.h#包括“l(fā)cd.h”#include “延遲.h”#define uchar 無符號字符#define uint 無符號整數(shù)#define DATA_PORT P1位 LCD_RS = P26;位 LCD_RW = P25;位 LCD_EN = P24;/* * *檢查 LCD 忙碌狀態(tài)當 lcd_busy 為 1 時,忙和等待。 lcd-busy為0時為空閑,可以寫入指令和數(shù)據。* * */位 lcd_busy()位結果;LCD_RS = 0;LCD_RW = 1;LCD_EN = 1;延遲NOP();結果 = (位)(DATA_PORT&0 x80);LCD_EN =

34、0;返回(結果);/* * *將命令數(shù)據寫入 LCDRS=L,RW=L,E=高脈沖,D0-D7=指令碼。Check=1,執(zhí)行忙檢測。* * */void lcd_wcmd(uchar cmd, 位檢查)如果(檢查)而(lcd_busy();LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;延遲NOP();數(shù)據端口 = cmd;延遲NOP();LCD_EN = 1;延遲NOP();LCD_EN = 0;/* * *將顯示數(shù)據寫入 LCDRS=H,RW=L,E=高脈沖,D0-D7=數(shù)據。* * */無效 lcd_wdat(uchar dat)而(lcd_busy(); /忙檢測LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;DATA_PORT = 數(shù)據;延遲NOP();LCD_EN = 1;延遲NOP();LCD_EN = 0;/* * *LCD 初始化設置* * */無效 lcd_init()延遲(50);lcd_wcmd(0 x38,0); /16*2顯示,5*7點陣,8位數(shù)據延誤(5);lcd_wcmd(0 x38,0); /不執(zhí)行忙檢測,強制執(zhí)行。延誤(5);lcd_wcmd(0 x38,0);延誤(5);lcd_wcmd(0 x38,1); /忙檢測延誤(5);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論