版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄摘 要1abstract2第1章 方案設(shè)計(jì)31.1 基于nrf401的接收控制設(shè)計(jì)31.2 基于rds功能的接收控制設(shè)計(jì)4第2章 接收模塊設(shè)計(jì)62.1接收模塊硬件設(shè)計(jì)62.1.1 fm接收電路設(shè)計(jì)62.1.2 單片機(jī)控制電路的設(shè)計(jì)72.1.3音頻放大電路的設(shè)計(jì)82.2 接收部分軟件設(shè)計(jì)92.2.1 qn8035的源程序92.2.2 12864源程序212.2.3 單片機(jī)控制qn8035的程序322.2.4 i2c總線的源程序36結(jié) 論43參考文獻(xiàn)44附 錄45摘 要 現(xiàn)代社會(huì)中,基于單片機(jī)的rds接收控制模塊是我們?cè)谏?、學(xué)習(xí)等各方面普遍接觸到的商品的重要組成部分之一,如無(wú)線對(duì)講機(jī)、收音
2、機(jī)等。它有效地為我們的生活提供了便利。 本文主要設(shè)計(jì)一個(gè)基于單片機(jī)的rds接收控制模塊。采用嵌入式處理器芯片stc89c52rc控制,使用fm接收芯片qn8035接收信息。本系統(tǒng)設(shè)計(jì)分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。硬件設(shè)計(jì)部分包含fm接收電路設(shè)計(jì)、單片機(jī)控制電路設(shè)計(jì)和音頻放大電路設(shè)計(jì);軟件設(shè)計(jì)部分包含qn8035的源程序、12864源程序、單片機(jī)控制qn8035的程序和i2c總線的源程序。然后通過(guò)protel進(jìn)行仿真,實(shí)現(xiàn)本次系統(tǒng)設(shè)計(jì)的功能。關(guān)鍵詞: 單片機(jī)stc89c52rc 、qn8035、接收控制、rds功能abstract in modern society, based on sing
3、le chip microcomputer rds reception control module is our life, study and so on various aspects in common exposure to one of the important component of the goods, such as radio, radio, etc. it effectively provides a convenience to our lives. in this paper, we design a rds receiver based on single-ch
4、ip microcomputer control module. using embedded processor chip stc89c52rc control, the use of fm receiver chip qn8035 receiving information. this system is divided into hardware design and software design two parts. hardware design part contains an fm receiver circuit design, the mcu control circuit
5、 design, and audio amplifier circuit design; software design section contains qn8035 source program, 12864 source program, single-chip microcomputer control qn8035 programs and source code of the i2c bus. then simulation by protel, can realize the function of the system design.keywords: scm ,stc89c5
6、2rc and qn8035, receives the control, the rds function 基于單片機(jī)的rds接收控制設(shè)計(jì)第1章 方案設(shè)計(jì)1.1 基于nrf401的接收控制設(shè)計(jì) nrf401是nordic公司研制的單片uhf無(wú)線收發(fā)芯片,工作在433mhz ism(industrial, scientific and medical)頻段。它采用fsk調(diào)制解調(diào)技術(shù),抗干擾能力強(qiáng),并采用pll頻率合成技術(shù),頻率穩(wěn)定性好,發(fā)射功率最大可達(dá)10dbm,接收靈敏度最大為105dbm,數(shù)據(jù)傳輸速率可達(dá)20kbps,工作電壓在+35v之間。nrf401無(wú)線nrf401無(wú)線收發(fā)芯片所需外圍
7、元件較少,并可直接接單片機(jī)串口。 nrf401芯片內(nèi)包含有發(fā)射功率放大器(pa)、低噪聲接收放大器(lna)、晶體振蕩器(osc)、鎖相環(huán)(pll)、壓控振蕩器(vco)、混頻器(mixfr)、解調(diào)器(dem)等電路。在接收模式中,nrf401被配置成傳統(tǒng)的外差式接收機(jī),所接收的射頻調(diào)制的數(shù)字信號(hào)被低噪聲效大器放大,經(jīng)混頻器變換成中頻,放大、濾波后進(jìn)入解調(diào)器,解調(diào)后變換成數(shù)字信號(hào)輸出(dout端)。在發(fā)射模式中,數(shù)字信號(hào)經(jīng)din端輸入,經(jīng)鎖相環(huán)和壓控振蕩器處理后進(jìn)入到發(fā)射功率放大器射頻輸出。由于采用了晶體振蕩和pll合成技木,頻率穩(wěn)定性極好;采用fsk調(diào)制和解調(diào),抗干擾能力強(qiáng)。50的單端天線通
8、過(guò)差分轉(zhuǎn)換匹配網(wǎng)絡(luò)連接到nrf401的ant1和ant2引腳。使用nrf401的ant1和ant2引腳是接收時(shí)低噪聲接收放大器lna的輸入,以及發(fā)送時(shí)發(fā)射功率放大器pa的輸出。連接nrf401的天線可以以差分方式連接到nrf401,一個(gè)50的單端天線也可以通過(guò)一個(gè)差分轉(zhuǎn)換匹配網(wǎng)絡(luò)連接到nrf401。環(huán)形天線nrf401,整個(gè)環(huán)形天線可以做在pcb上,對(duì)比傳統(tǒng)的鞭狀天線或單端天線,不僅節(jié)省空間和生產(chǎn)成本,機(jī)構(gòu)上也更穩(wěn)固可靠,圖1.1 基于nrf401無(wú)線收發(fā)設(shè)計(jì)的框圖。 話 筒功效前置放大nrf401單片機(jī)圖1.1 基于nrf401無(wú)線數(shù)字對(duì)講系統(tǒng)設(shè)計(jì)的框圖1.2 基于rds功能的接收控制設(shè)計(jì)調(diào)
9、頻發(fā)射部分:與qn8035接收機(jī)模塊配對(duì)的是以qn8027芯片為中心的發(fā)射模塊,可以實(shí)現(xiàn)音頻和rds的發(fā)射。單片機(jī)我們使用開(kāi)發(fā)板,這樣解決了我們編寫(xiě)軟件時(shí)沒(méi)有硬件的問(wèn)題,并且開(kāi)發(fā)板每個(gè)管腳可以用跳線引出,接線方便。qn8027是一顆高性能、低能耗、全功能的立體聲調(diào)頻發(fā)射單芯片,主要適用于便攜式音頻和視頻播放器、汽車配件、手機(jī)及gps個(gè)人導(dǎo)航設(shè)備等。qn8027集成了完整的fm發(fā)射、空臺(tái)掃描,以及天線自動(dòng)調(diào)諧等功能。先進(jìn)的數(shù)字架構(gòu)使變量輸入增益可編程,可選預(yù)加重,提供了精確的mpx 立體聲編碼,基于pll的低噪聲調(diào)制以及純凈的頻譜。qn8027憑借其體積小巧,所需外部元件數(shù)量少,并且支持多個(gè)時(shí)鐘
10、頻率,很容易被集成到多種小型低功耗便攜式應(yīng)用中。qn8027集成了穩(wěn)壓器使它可以直接連接電池,并提供高電源紋波抑制比可以更高效地抑制噪聲。具有低功耗待機(jī)模式,能充分延長(zhǎng)電池使用時(shí)間。所有管腳都有靜電保護(hù)。qn8027應(yīng)用高可靠性的cmos制程制造。 調(diào)頻接收機(jī):在眾多的fm接收模塊中我們選擇使用qn8035芯片為中心的模塊。qn8035 是一顆高性能、低能耗、全功能的立體聲調(diào)頻接收單芯片,主要適用于手機(jī)、mp3播放器及便攜式收音機(jī)等。qn8035支持rds/rbds數(shù)據(jù)接收。接收射頻信號(hào)首先由一個(gè)低噪聲放大器,然后向下轉(zhuǎn)換為一個(gè)中間頻率傳給正交混頻器。為了改善音質(zhì),抑制噪音,正交混頻器可被編程
11、在高端或低端注入。每個(gè)通道使用濾波器抑制干擾信號(hào)。它還可以接收rds信息,內(nèi)容可以通過(guò)lcd顯示。高功率32負(fù)載音頻輸出,直接耳機(jī)駁接,無(wú)需外接音頻放大,圖1.2 基于qn8027、qn8035無(wú)線收發(fā)系統(tǒng)設(shè)計(jì)框圖。fm射頻放大話筒8027前置放大單片機(jī)8035音頻功放揚(yáng)聲器單片機(jī)圖1.2 基于qn8027、qn8035無(wú)線數(shù)字對(duì)講系統(tǒng)設(shè)計(jì)框圖綜上比較兩種方案,考慮系統(tǒng)的便攜性,效率以及成本問(wèn)題nrf401雖然可以符合設(shè)計(jì)要求,所需外圍較少,可直接與串口相接,但是qn8035開(kāi)發(fā)板每個(gè)管腳可以用跳線引出,接線方便,qn8027應(yīng)用高可靠性的cmos制程制造,更加適合本設(shè)計(jì)的要求,因此采用方案二
12、來(lái)實(shí)現(xiàn)這個(gè)系統(tǒng)。第2章 接收模塊設(shè)計(jì)2.1接收模塊硬件設(shè)計(jì)2.1.1 fm接收電路設(shè)計(jì)qn8035 是一顆高性能、低能耗、全功能的立體聲調(diào)頻接收單芯片,主要適用于手機(jī)、mp3播放器及便攜式收音機(jī)等。qn8035支持rds/rbds數(shù)據(jù)接收。支持全球 fm 波段發(fā)射;76 mhz 108 mhz全波段調(diào)步長(zhǎng)50/100/200 khz;50/75s 去加重;易于集成;小封裝,提供 2.5 x2.5mm qfn16 和 3x3 msop10兩種封裝;支持32.768 khz mhz的時(shí)鐘輸入;i2c控制接口;低功耗;典型值 13 ma;vcc: 2.75.0v,集成穩(wěn)壓器,可直連電池;vio: 1
13、.63.6v, vcc: 2.75.0v;省電和待機(jī)模式;極小關(guān)斷電流;提供1.63.6v 數(shù)字接口;高性能;優(yōu)越的靈敏度,優(yōu)于 1.5vemf;63db 立體聲信噪比, 0.03% thd;集成了音頻處理 (snc, hcc, sm);改進(jìn)了自動(dòng)搜臺(tái)功能;l/r聲道分離 45db;rds/rbds 接收機(jī);支持美國(guó)和歐洲的數(shù)據(jù)服務(wù);穩(wěn)健運(yùn)行;在-250c 到 +850c 范圍內(nèi)運(yùn);所有輸入和輸出管腳都有靜電保護(hù)。圖2.1.1是qn8035fm接收電路框圖。圖2.1.1 qn8035接收電路內(nèi)部圖2.1.2 單片機(jī)控制電路的設(shè)計(jì) stc89c52單片機(jī)具有以下特點(diǎn):增強(qiáng)型8051 單片機(jī),6
14、時(shí)鐘/機(jī)器周期和12 時(shí)鐘/機(jī)器周期可以任意 選擇,指令代碼完全兼容傳統(tǒng)8051.2;工作電壓:5.5v3.3v(5v 單片機(jī))/3.8v2.0v(3v 單片機(jī));工作頻率范圍:040mhz,相當(dāng)于普通8051 的080mhz,實(shí)際工作 頻率可達(dá)48mhz;用戶應(yīng)用程序空間為8k 字節(jié);片上集成512 字節(jié)ram;通用i/o 口(32 個(gè)),復(fù)位后為:p0/p1/p2/p3 是準(zhǔn)雙向口/弱上拉, p0 口是漏極開(kāi)路輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為 i/o 口用時(shí),需加上拉電阻;isp(在系統(tǒng)可編程)/iap(在應(yīng)用可編程),無(wú)需專用編程器,無(wú) 需專用仿真器,可通過(guò)串口(rxd/p3
15、.0,txd/p3.1)直接下載用戶程 序,數(shù)秒即可完成一片;具有eeprom 功能;具有看門(mén)狗功能;共3個(gè)16位定時(shí)器/計(jì)數(shù)器。即定時(shí)器t0、t1、t2;外部中斷4 路,下降沿中斷或低電平觸發(fā)電路,power down 模式可 由外部中斷低電平觸發(fā)中斷方式喚醒;通用異步串行口(uart),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)uart;工作溫度范圍:-40+85(工業(yè)級(jí))/075(商業(yè)級(jí));pdip 封裝。圖2.1.2是stc89c52rc控制qn8035的電路圖。圖2.1.2 stc89c52控制qn8035電路2.1.3音頻放大電路的設(shè)計(jì)由于qn8035與qn8027均是雙信道接收機(jī),所以音頻放大的時(shí)
16、候也要選擇雙信道音頻放大。音頻放大電路主要用來(lái)向揚(yáng)聲器中送去驅(qū)動(dòng)信號(hào),它可以將功率進(jìn)行放大。圖2.1.3是音頻放大電路。圖2.1.3 音頻放大電路2.2 接收部分軟件設(shè)計(jì)2.2.1 qn8035的源程序/*qn8035.h*/#ifndef _qn8035_h_#ifndef _qn8035_h_#include #define uint unsigned int#define uchar unsigned char/*一級(jí)指令*/#define clear 0#define turn_on 1#define turn_off 2#define action_on3 #define actio
17、n_off 4#define send_rds5#define change_fm6/*從機(jī)開(kāi)關(guān)二級(jí)指令*/#define area11#define area22#define area33#define area44#define area55#define area66#define area77#define area88#define area99#define area_all10#define area_single11/*從機(jī)動(dòng)作二級(jí)指令*/#define yu_cun5#define man_set4#define feng_mq3#define ji_dq2#define
18、zhi_sd1uint fm=9000; /接收頻率初始值uchar vol=0x0f; /音量初始值最大sbit rssi_zs = p37;bit mute_flag=1;bit rds_flag=0; /rds標(biāo)志位extern uchar init_riss;extern uchar init_volue;extern uchar defu_mute;/定義操作qn8035數(shù)據(jù)區(qū)unsigned char idata qn8035_send9;unsigned char idata qn8035_read9;unsigned char idata buffer36=0,1,2,3,4,
19、5,6,7,8,9,0,1,2,3,4,5,6,7,8,9;void qn8035_delay(unsigned int count);void qn8035_init(void);bit rds_check();void rds_init();unsigned char qn8035_rssi_read();void qn8035_write_freq(unsigned int frequnt);void qn8035_vol_set(unsigned char uclevel);void qn8035_mute_ctr(bit mute_flag);void qn8035_set();un
20、signed int qn8035_auto_seek(unsigned int str_freq);unsigned int qn8035_auto_seek_ll(unsigned int str_freq);#endif/*函數(shù)功能:定義軟件延時(shí)函數(shù)名:qn8035_delay入口參數(shù):count出口參數(shù):無(wú)*/void qn8035_delay(unsigned int count)unsigned int i,j;for(i=count; i0; i-)for(j=111; j0; j-);/*函數(shù)功能:初始化qn8035模塊函數(shù)名:qn8035_init入口參數(shù):無(wú)出口參數(shù):無(wú)*/
21、void qn8035_init(void) qn8035_send0x00 = 0x00; qn8035_send0x01 = 0x81; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x18; qn8035_send0x01 = 0x10; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x2f; qn8035_send0x01 = 0x90; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x
22、00 = 0x40; qn8035_send0x01 = 0x01; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x46; qn8035_send0x01 = 0x05; qn8035_send0x02 = 0xd0; qn8035_send0x03 = 0xa8; i2c_data_write(0x20, &qn8035_send0, 4); qn8035_send0x00 = 0x4a; qn8035_send0x01 = 0x18; i2c_data_write(0x20, &qn8035_send0, 2); q
23、n8035_send0x00 = 0x14;qn8035_send0x01 = 0xc6; qn8035_send0x02 = 0x00; qn8035_send0x03 = 0x02; qn8035_send0x04 = 0x20; i2c_data_write(0x20, &qn8035_send0, 5); qn8035_send0x00 = 0x00; qn8035_send0x01 = 0x51; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_delay(1000); qn8035_send0x00 = 0x00; qn8035_sen
24、d0x01 = 0x01; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x00; qn8035_send0x01 = 0x11; qn8035_send0x02 = 0x49; i2c_data_write(0x20, &qn8035_send0, 3);qn8035_delay(279);/*函數(shù)功能:讀取rssi信號(hào),用來(lái)控制靜音,防止噪音,也可實(shí)現(xiàn)電源控制函數(shù)名:qn8035_rssi_read入口參數(shù):無(wú)出口參數(shù):qn8035_read0*/unsigned char qn8035_rssi_read()i2c_
25、selset_read(0x20, 0x03, &qn8035_read0, 1);/,讀取rssi信號(hào),用來(lái)控制靜音,防止噪音/return qn8035_read0;if(qn8035_read0-46) = init_riss)/理想的信號(hào)強(qiáng)度,開(kāi)啟聲音,(啟動(dòng)電源) if(defu_mute)/靜音時(shí)能 qn8035_send0x00 = 0x14;qn8035_send0x01 = 0x40|init_volue;i2c_data_write(0x20, &qn8035_send0, 2);rssi_zs=0;defu_mute=0; else/-/信號(hào)強(qiáng)度不夠,使能靜音,關(guān)閉電源!
26、 if(!defu_mute) /沒(méi)有靜音 qn8035_send0x00 = 0x14;qn8035_send0x01 = 0xc6;i2c_data_write(0x20, &qn8035_send0, 2);rssi_zs=1;defu_mute=1; /*函數(shù)功能:向qn8035模塊寫(xiě)入一個(gè)頻率,手動(dòng)設(shè)置頻率函數(shù)名:qn8035_write_freq入口參數(shù):frequnt 需要寫(xiě)入的頻率出口參數(shù):無(wú)*/void qn8035_write_freq(unsigned int frequnt) qn8035_send0x00 = 0x07; qn8035_send0x01 = (freq
27、unt - 6175)/5; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x0a; qn8035_send0x01 = (frequnt - 6175)/5 8) | 0x60; i2c_data_write(0x20, &qn8035_send0, 2);/*函數(shù)功能:軟件音量調(diào)節(jié)函數(shù)名:qn8035_write_freq入口參數(shù):uclevel 需要寫(xiě)入的聲音大小出口參數(shù):無(wú)*/void qn8035_vol_set(unsigned char uclevel)qn8035_send0x00=0x14;qn8035_
28、send0x01=0x40|(uclevel);i2c_data_write(0x20, &qn8035_send0, 2);/*函數(shù)功能:手動(dòng)靜音控制,如果mute_flag=1靜音,否則不靜音,函數(shù)名:qn8035_mute_ctr入口參數(shù):mute_flag 出口參數(shù):無(wú)*/void qn8035_mute_ctr(bit mute_flag)if(mute_flag)qn8035_send0x00 = 0x14;qn8035_send0x01 = 0xc6;i2c_data_write(0x20, &qn8035_send0, 2);elseqn8035_send0x00 = 0x14
29、;qn8035_send0x01 = 0x40|vol;i2c_data_write(0x20, &qn8035_send0, 2);/*函數(shù)功能rds 初始化*/void rds_init() qn8035_send0x00 = 0x17; /rds使能 qn8035_send0x01 = 0xa0; i2c_data_write(0x20, &qn8035_send0, 2);qn8035_send0x00 = 0x00; /開(kāi)啟rds qn8035_send0x01 = 0x19; i2c_data_write(0x20, &qn8035_send0, 2); bit rds_check
30、() uchar i,j,k;uchar bian=0,old=0;i=150;while(i-) i2c_selset_read(0x20,0x13,&qn8035_read0x00,1);qn8035_read0x00&=0x9f;if(qn8035_read0x00=16|qn8035_read0x00=144) if(old!=qn8035_read0x00) bian+;old=qn8035_read0x00; delay_1ms(5); /*觀測(cè)用*/wr_string(0,2,變化次數(shù):);/wr_int(5,2,bian);if(bian3)return 1;else retu
31、rn 0;void qn8035_set()bit flag; qn8035_init(); /qn8035初始化qn8035_write_freq(fm); /設(shè)置頻率rds_init(); /rds初始化/flag=rds_check();/if(flag)mute_flag=0;rds_flag=1; /else mute_flag=1; rds_flag=0; /qn8035_mute_ctr(mute_flag);qn8035_vol_set(vol); /設(shè)置音量/*函數(shù)功能:qn8035模塊實(shí)現(xiàn)自動(dòng)搜索函數(shù)名:unsigned int qn8035_auto_seek(unsig
32、ned int str_freq)入口參數(shù):str_freq出口參數(shù):搜索到的頻率*/unsigned int qn8035_auto_seek(unsigned int str_freq)unsigned int scan_freq,read_freq,send_freq;unsigned char freq_h;scan_freq=str_freq; rescan: qn8035_send0x00 = 0x08; qn8035_send0x01 = (scan_freq - 6175)/5; qn8035_send0x02 = 0x9d; qn8035_send0x03 = (scan_f
33、req - 6175)/5 6) | 0x70; i2c_data_write(0x20, &qn8035_send0, 4); qn8035_send0x00 = 0x01; qn8035_send0x01 = 0x7d; /75 i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x00; qn8035_send0x01 = 0x10; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x00; qn8035_send0x01 = 0x12; i2c_dat
34、a_write(0x20, &qn8035_send0, 2);qn8035_delay(500); i2c_selset_read(0x20, 0x0a, &qn8035_read0, 1); freq_h=(qn8035_read0&0x03); i2c_selset_read(0x20, 0x07, &qn8035_read0, 1); read_freq=freq_h*256+qn8035_read0; send_freq=(read_freq)*5+6175; if(send_freq=10800) scan_freq=8760; goto rescan; else return (
35、send_freq); /*/-qn8035程序完-/*/*函數(shù)功能:qn8035模塊實(shí)現(xiàn)自動(dòng)搜索,反向收縮函數(shù)名:unsigned int qn8035_auto_seek(unsigned int str_freq)入口參數(shù):str_freq出口參數(shù):搜索到的頻率*/unsigned int qn8035_auto_seek_ll(unsigned int str_freq)unsigned int scan_freq,read_freq,send_freq;unsigned char freq_h;scan_freq=str_freq; rescan_ll:qn8035_send0x00
36、 = 0x08;qn8035_send0x01 = (scan_freq - 6175)/5; qn8035_send0x02 = 0x0d;/9d qn8035_send0x03 = (scan_freq - 6175)/5 6) | 0x60; i2c_data_write(0x20, &qn8035_send0, 4); qn8035_send0x00 = 0x01; qn8035_send0x01 = 0x59; i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x00; qn8035_send0x01 = 0x10;
37、 i2c_data_write(0x20, &qn8035_send0, 2); qn8035_send0x00 = 0x00; qn8035_send0x01 = 0x12; i2c_data_write(0x20, &qn8035_send0, 2);qn8035_delay(500); i2c_selset_read(0x20, 0x0a, &qn8035_read0, 1); freq_h=(qn8035_read0&0x03); i2c_selset_read(0x20, 0x07, &qn8035_read0, 1); read_freq=freq_h*256+qn8035_rea
38、d0; send_freq=(read_freq)*5+6175; if(send_freq=8800) scan_freq=10850; goto rescan_ll; else return (send_freq); /*/-qn8035程序完-/*2.2.2 12864源程序/*12864c.h*/設(shè)定wr為p24/設(shè)定en為p23/在main()中開(kāi)輸出/*#define uint unsigned int#define uchar unsigned char#ifndef _12864c_h_#define _12864c_h_#define uint unsigned int#de
39、fine uchar unsigned char#includesbit rs=p23; /片選(正)sbit sid=p24; /rw(sid)sbit sclk=p25; /e(scld)sbit rst=p37; /復(fù)位(正)sbit psb=p26; /(負(fù):串行模式) /sbitpsb=p04;/sbitrst=p03;/在此設(shè)置輸入端口*#define lcd_sid1 sid=1#define lcd_sid0 sid=0 /wr 做數(shù)據(jù)傳輸使用sid#define lcd_sclk1 sclk=1#define lcd_sclk0 sclk=0 /en 當(dāng)做串行時(shí)鐘使用sclk
40、#define x1 0x80#define x2 0x88#define y 0x80#define comm 0#define dat 1code uchar num=0123456789;#define cpu_f (double)16000000)/cpu frequency8000000#define delay_us(x) _delay_cycles(long)(cpu_f*(double)x/1000000.0)#define delay_ms(x) _delay_cycles(long)(cpu_f*(double)x/1000.0)/wr_lcd(1,data)/wr_lcd
41、(0,address)void clr_34();void delay180us();void delay_1ms(uchar del);void lcd_set();void wr_lcd(uchar dat_comm,uchar content); /寫(xiě)數(shù)據(jù)/地址或命令 dat_comm為數(shù)據(jù) content數(shù)據(jù)void init_lcd(void); /初始化void clrram(); /清屏void clr_lcd(uchar x,uchar y0,uchar length); /清除lcd任意位置字符 從y0行,的第x個(gè)位置(1、16),清除length個(gè)字符void lcd_xy
42、(uchar x,uchar y0);/定位光標(biāo)void wr_data(uchar x,uchar y0,uchar data0 );/void wr_string(uchar x,uchar y0,uchar *p);/void wr_int2(uchar x,uchar y0,uint num); void wr_int(uchar x,uchar y0,uint num); /寫(xiě)入4為整形數(shù)據(jù) void wr_xxx(uchar hang,uchar lie,int sign); void wr_long(uchar x,uchar y0,long num); void wr_floa
43、t(uchar x,uchar y0,float num); /寫(xiě)入xx.xxx型浮點(diǎn)數(shù)#endifvoid clr_34() clr_lcd(0,2,16); clr_lcd(0,3,16);void lcd_set()/配置液晶引腳工作在串口模式下rs=1;psb=0;rst=1;void delay180us()/11.0592mhzunsigned char i, j;_nop_();_nop_();i = 6;j = 93;dowhile (-j); while (-i); /* 名稱 : delay_1ms()/22.1184mhz*/void delay_1ms(uchar del)uchar i, j,k;for(k=0;kdel;k+)_nop_();i = 2;j = 199;dowhile (-j); while (-i);void init_lcd(void)/*init_lcd()wr_lcd(comm,0x30);/8-bit控制接口,基本指令集動(dòng)作wr_lcd(comm,0x01);/清除顯示 全屏清除delay_1ms(1);wr_lcd(comm,0x06);/光標(biāo)右移,ac自動(dòng)加一,整體顯示不移動(dòng)wr_lcd(comm,0x0c);/整體顯示on
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025承包合同協(xié)議書(shū)范本
- 2025年度雛雞養(yǎng)殖與農(nóng)業(yè)科技園區(qū)合作購(gòu)銷協(xié)議4篇
- 2025年觸控式公共信息發(fā)布系統(tǒng)銷售合同4篇
- 2025年度高端定制漁船買(mǎi)賣(mài)合同(豪華游艇版)3篇
- 二零二五年度工地食堂員工住房補(bǔ)貼合同4篇
- 2025年度池塘租賃與生態(tài)漁業(yè)發(fā)展合同4篇
- 2025廠房租賃安全協(xié)議標(biāo)準(zhǔn)范本15篇
- 二零二四年度渣土運(yùn)輸合同附帶施工現(xiàn)場(chǎng)噪聲及粉塵控制服務(wù)協(xié)議3篇
- 二零二五年度通信設(shè)備安裝工程勞動(dòng)合同3篇
- 二零二四年度印刷品出口業(yè)務(wù)委托合同3篇
- 《中國(guó)高考評(píng)價(jià)體系》解讀(化學(xué)學(xué)科)
- 公司發(fā)展能力提升方案
- 電梯安全守則及乘客須知
- IT硬件系統(tǒng)集成項(xiàng)目質(zhì)量管理方案
- 《容幼穎悟》2020年江蘇泰州中考文言文閱讀真題(含答案與翻譯)
- 水上水下作業(yè)應(yīng)急預(yù)案
- API520-安全閥計(jì)算PART1(中文版)
- 2023年廣東省廣州地鐵城際鐵路崗位招聘筆試參考題庫(kù)附帶答案詳解
- 商務(wù)提成辦法
- 直流電機(jī)電樞繞組簡(jiǎn)介
- GB/T 19889.5-2006聲學(xué)建筑和建筑構(gòu)件隔聲測(cè)量第5部分:外墻構(gòu)件和外墻空氣聲隔聲的現(xiàn)場(chǎng)測(cè)量
評(píng)論
0/150
提交評(píng)論