無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)畢業(yè)論文資料
無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)畢業(yè)論文資料,無(wú)線數(shù)據(jù),收發(fā),系統(tǒng),畢業(yè)論文,資料
1 引言
伴隨著短距離、低功率無(wú)線數(shù)據(jù)傳輸技術(shù)的成熟,無(wú)線數(shù)據(jù)傳輸被越來(lái)越多地應(yīng)用到新的領(lǐng)域。與有線通信方式相比,無(wú)線通信以其不需鋪設(shè)明線,使用便捷等一系列優(yōu)點(diǎn),在現(xiàn)代通信領(lǐng)域占重要地位。
但以往的無(wú)線產(chǎn)品存在范圍和方向上的局限。例如,一些無(wú)線產(chǎn)品在使用時(shí),無(wú)法將信息反饋給控制者;還有一些無(wú)線產(chǎn)品不能很好地顯示參數(shù)或狀態(tài)信息,如果能在系統(tǒng)中增加一塊小型液晶顯示電路,產(chǎn)品不僅能向用戶顯示其狀態(tài)或狀態(tài)的改變,而且可以大大降低成本。正如人們所發(fā)現(xiàn)的,只要建立雙向無(wú)線通信-雙工通信并且選擇成本低的收發(fā)芯片,就會(huì)出現(xiàn)許多新應(yīng)用。
本次設(shè)計(jì)主要是利用無(wú)線收發(fā)電路,加上單片機(jī)控制與液晶顯示制成一套完整的數(shù)據(jù)收發(fā)系統(tǒng)。考慮到目前市場(chǎng)上的一些需求,設(shè)計(jì)的主要要求是方案成本低,體積小,低功耗,集成度高,盡量無(wú)需調(diào)外部元件,傳輸時(shí)間短,接口簡(jiǎn)單。nRF401是國(guó)外最新推出的單片無(wú)線收發(fā)一體芯片,它在一個(gè)20腳的芯片中包括了高頻發(fā)射、高頻接收、PLL合成、FSK調(diào)制、多頻道切換等功能,并且外圍元件少,便于設(shè)計(jì)生產(chǎn),功耗極低,集成度高,是目前集成度較高的無(wú)線數(shù)傳產(chǎn)品,它為低速率低成本的無(wú)線技術(shù)提出了解決方案。
2 無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)
2.1 系統(tǒng)組成
無(wú)線數(shù)據(jù)傳輸系統(tǒng)有點(diǎn)對(duì)點(diǎn),點(diǎn)對(duì)多點(diǎn)和多點(diǎn)對(duì)多點(diǎn)三種。本系統(tǒng)由于實(shí)際應(yīng)用的需要,接收器和數(shù)據(jù)終端之間的數(shù)據(jù)傳輸通過(guò)nRF401進(jìn)行,構(gòu)成點(diǎn)對(duì)點(diǎn)無(wú)線數(shù)據(jù)傳輸系統(tǒng)。整個(gè)系統(tǒng)中,兩數(shù)據(jù)終端之間的無(wú)線通信采用433MHz的頻段作為載波頻率,收發(fā)通過(guò)串口通信。
無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)可以分為無(wú)線收發(fā)控制電路、單片機(jī)控制電路、顯示電路和按鍵電路四部分組成,系統(tǒng)原理如圖2-1所示:
液晶
顯示屏
單片機(jī)系統(tǒng)
無(wú)線收發(fā)器
按鍵
單片機(jī)系統(tǒng)
無(wú)線收發(fā)器
圖2-1 無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)原理圖
2.2 實(shí)現(xiàn)過(guò)程
當(dāng)我們需要發(fā)送數(shù)據(jù)時(shí),使用按鍵來(lái)輸入所需發(fā)送的信息。按鍵與單片機(jī)AT89S52的P3.2-P3.5口相接,單片機(jī)的 P1.0口控制信息的發(fā)送與接收,并且TXD端與收發(fā)器輸入端相連,通過(guò)TXD將數(shù)據(jù)傳入收發(fā)器,收發(fā)器接收到數(shù)據(jù)后,通過(guò)FSK調(diào)制,將信號(hào)發(fā)送出去;接收端的收發(fā)器通過(guò)解調(diào),將載波信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),完成信息傳輸過(guò)程;收發(fā)器的輸出端通過(guò)RXD端將數(shù)字信號(hào)輸入到單片機(jī);單片機(jī)將數(shù)據(jù)傳送到顯示器,這樣就完成了一次數(shù)據(jù)發(fā)送與接收并顯示的過(guò)程。
本系統(tǒng)采用的是半雙工傳送方式。 所謂半雙工就是通信的雙方均具有發(fā)送和接收信息的能力,信道也具有雙向傳輸性能,但是,通信的任何一方都不能同時(shí)既發(fā)送信息又接收信息,即在指定的時(shí)刻,只能沿某一個(gè)方向傳送信息。所以上述實(shí)現(xiàn)過(guò)程只介紹了由一方傳送到另一方的過(guò)程,而相反方向與其原理相同。無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)的電路圖見附錄3。
3 收發(fā)部分原理與設(shè)計(jì)
nRF401是一種基于短程無(wú)線通信技術(shù)的芯片。收發(fā)部分采用nRF401芯片,其引腳DIN與單片機(jī)的TXD相連,需要發(fā)射的數(shù)字信號(hào)通過(guò)DIN輸入;引腳DOUT與單片機(jī)的RXD相連,解調(diào)出來(lái)的信號(hào)經(jīng)過(guò)DOUT輸出進(jìn)入單片機(jī)。
3.1 無(wú)線收發(fā)芯片nRF401介紹[1]
3.1.1 主要引腳功能
圖3-1 nRF401引腳圖
(1) 9腳及10腳分別是DIN輸入數(shù)字信號(hào)和DOUT輸出數(shù)字信號(hào)均為標(biāo)準(zhǔn)的邏輯電平信號(hào),需要發(fā)射的數(shù)字信號(hào)通過(guò)DIN輸入,解調(diào)出來(lái)的信號(hào)經(jīng)過(guò)DOUT輸出。
(2) 12腳為通道選擇,F(xiàn)REQ =“0”為通道#1(433.92MHz),F(xiàn)REQ =“1”為通道#2(434.33MHz)。
(3) 18腳為電源開關(guān),PWR_UP =“1”為工作模式,PWR_UP =“0”為待機(jī)模式。
(4) 19腳TXEN:高電平允許發(fā)送數(shù)據(jù),低電平允許接收數(shù)據(jù)。
(5) ANT1、ANT2:天線接入端。
3.1.2 內(nèi)部結(jié)構(gòu)與工作原理
nRF401無(wú)線收發(fā)芯片的結(jié)構(gòu)框圖如圖3-2所示:芯片內(nèi)包含有發(fā)射功率放大器(PA)、低噪聲接收放大器(LNA),晶體振蕩器(OSC),鎖相環(huán)(PLL),壓控振蕩器(VCO),混頻器(MIXER)等電路[2]。
圖3-2 內(nèi)部結(jié)構(gòu)方框圖
在接收模式中,RF輸入信號(hào)被低噪聲放大器(LNA)放大,經(jīng)由混頻器(MIXER)變換,這個(gè)被變換的信號(hào)在送入解調(diào)器(DEM)之前被放大和濾波,經(jīng)解調(diào)器解調(diào),解調(diào)后的數(shù)字信號(hào)在DOUT端輸出。在發(fā)射模式中,壓控振蕩器(VCO)的輸出信號(hào)是直接送入到功率放大器(PA),DIN端輸入的數(shù)字信號(hào)被頻移鍵控后饋送到功率放大器輸出。由于采用了晶體振蕩器和PLL合成技術(shù),頻率穩(wěn)定性極好。
3.1.3 特點(diǎn)
nRF401是一個(gè)單片RF收發(fā)芯片,工作頻率為國(guó)際通用的數(shù)傳頻率433MHz;具有FSK調(diào)制和解調(diào)能力,抗干擾能力強(qiáng),特別適合工業(yè)控制應(yīng)用;采用PLL頻率合成技術(shù),頻率穩(wěn)定性好;最大發(fā)射功率達(dá)+10dBm,數(shù)據(jù)速率可達(dá)20kb/s;具有2個(gè)信號(hào)通道,適合需要多信道工作的特殊場(chǎng)合;工作電壓在+3~5V之間,最低工作電壓為2.7V;它還提供進(jìn)一步降低電流消耗的待機(jī)模式,接收待機(jī)狀態(tài)僅為8μA;僅需外接一個(gè)晶體和幾個(gè)阻容、電感元件,即可構(gòu)成一個(gè)完整的射頻收發(fā)器。nRF401接收機(jī)使用頻移鍵控(FSK)調(diào)制方式,改善了噪聲環(huán)境下的系統(tǒng)性能。與幅移鍵控(ASK)方式相比,這種方式的通信范圍更廣,特別是在附近有類似設(shè)備工作的場(chǎng)合。
3.2 FSK調(diào)制[3]
本系統(tǒng)中的nRF401是具備FSK調(diào)制的無(wú)線收發(fā)芯片。所謂FSK調(diào)制,就是頻移鍵控,又稱數(shù)字頻率調(diào)制,是數(shù)字通信調(diào)制方式的一種,由于其方法簡(jiǎn)單、易于實(shí)現(xiàn)、抗噪聲和抗衰落性能較強(qiáng)以及解調(diào)不須恢復(fù)本地載波等優(yōu)點(diǎn)而在現(xiàn)代數(shù)字通信系統(tǒng)的低、中速數(shù)據(jù)傳輸中得到廣泛得應(yīng)用。
3.2.1 產(chǎn)生原理
頻率鍵控法就是利用矩形脈沖序列控制的開關(guān)電路,對(duì)于兩個(gè)不同的獨(dú)立頻率源進(jìn)行選通。它有兩個(gè)獨(dú)立的振蕩器,數(shù)字基帶信號(hào)控制開關(guān),選擇不同頻率的高頻振蕩信號(hào)實(shí)現(xiàn)FSK調(diào)制。圖3-3為頻率鍵控法原理框圖。
圖3-3 頻率鍵控法原理框圖
以二進(jìn)制數(shù)字頻率調(diào)制為例,當(dāng)數(shù)字信號(hào)為“1”時(shí),正脈沖是控制門 1 接通,門 2 斷開,輸出頻率 f1 ;數(shù)字信號(hào)為“0”時(shí),門 1 斷開,門 2 接通,輸出頻率 f2 。如果產(chǎn)生 f1,f2 的兩個(gè)震蕩器是互相獨(dú)立的,則輸出 2FSK 信號(hào)的相位是不連續(xù)的。震蕩器的頻率 f1,f2 可以直接是所需的載頻,也可以是低頻范圍通過(guò)混頻、倍頻方式搬移到載頻范圍。
3.2.2 FSK信號(hào)波形圖
已調(diào)信號(hào)的時(shí)域表達(dá)式為
(3.1)
圖3-4 2FSK信號(hào)的波形
3.3 時(shí)序參數(shù)
nRF401有3種工作模式:接收模式(RX)、發(fā)射模式(TX)和等待模式(Standby)。工作模式可由2個(gè)引腳設(shè)定,分別是TXEN和PWR_UP。因此通過(guò)單片機(jī)控制nRF401的工作模式,使其在接收、發(fā)射、等待任一種狀態(tài)之間轉(zhuǎn)換。
(1) TX?RX之間的切換
當(dāng)從RX?TX模式時(shí),數(shù)據(jù)輸入腳(DIN)必須保持為高至少1ms才能發(fā)送數(shù)據(jù),時(shí)序如圖3-5(a)。當(dāng)從TX?RX模式時(shí),數(shù)據(jù)輸出腳(DOUT)至少3ms以后有數(shù)據(jù)輸出,如圖3-5(b)。
PWR-UP
PWR-UP
DIN
TXEN
4
RX to TX
DOUT
4
RX to TX
VDD
0
2
ms
TX to RX
VDD
TXEN
0
2
ms
(b)
(a)
圖3-5 TX與RX轉(zhuǎn)換的時(shí)序圖
(2) Standby?RX 、Standby?TX的切換
從待機(jī)模式到接收模式,當(dāng)PWR_UP輸入設(shè)成1時(shí),經(jīng)過(guò)tSR時(shí)間后,DOUT腳輸出數(shù)據(jù)才有效。對(duì)nRF401來(lái)說(shuō),tSR最長(zhǎng)的時(shí)間是3ms,如圖(a)。
從待機(jī)模式到發(fā)射模式,所需穩(wěn)定的最大時(shí)間是tST,如(b)。
Std. by to TX
TXEN
Std. by to RX
4
0
2
4
2
ms
ms
DIN
DOUT
PWR-UP
PWR-UP
VDD
VDD
0
(b)
(a)
圖3-6 Standby?RX 、Standby?TX的時(shí)序圖
(3) Power Up?TX 、Power Up?RX的切換
從上電到發(fā)射模式過(guò)程中,為了避免開機(jī)時(shí)產(chǎn)生干擾和輻射,在上電過(guò)程中TXEN的輸入腳必須保持為低,以便于頻率合成器進(jìn)入穩(wěn)定工作狀態(tài)。當(dāng)由上電進(jìn)入發(fā)射模式時(shí),TXEN必須保持1ms以后才可以往DIN發(fā)送數(shù)據(jù)。
從上電到接收模式過(guò)程中,芯片將不會(huì)接收數(shù)據(jù),DOUT也不會(huì)有數(shù)據(jù)輸出,直到電壓穩(wěn)定達(dá)到2.7V以上,并且至少保持5ms。
VDD=0 to RX
VDD=0 to TX
VDD
PWR-UP
DIN
(a)
0
2
4
ms
0
2
4
6
ms
(b)
DOUT
PWR-UP
VDD
圖3-7 Power Up?TX 、Power Up?RX時(shí)序圖
3.4 應(yīng)用電路設(shè)計(jì)
3.4.1 電路組成
nRF401無(wú)線收發(fā)芯片的應(yīng)用電路[5],如圖3-8所示:
圖3-8 nRF401的433Mhz應(yīng)用電路
(1) 輸入輸出
當(dāng)nRF401是接收模式時(shí),ANT1和ANT2引腳端提供射頻輸入到低噪聲放大器(LNA);當(dāng)nRF401為發(fā)射模式時(shí),從功率放大器提供射頻輸出到天線。
(2) PLL環(huán)路濾波器
PLL環(huán)路濾波器,是一個(gè)單端二階濾波器,濾波器元件參數(shù)值:C3=820pF,C4=15nF,R2=4.7kW
(3) VCO電感
芯片的VCO電路需要外接一個(gè)VCO電感,這個(gè)電感是非常關(guān)鍵的,需要一個(gè)高質(zhì)量的片式電感,Q值大于45,最大誤差±2%。
(4) 晶振電路
晶體振蕩器需要外接晶振,晶振的特性要求是:并聯(lián)諧振頻率f=4MHz,并聯(lián)等效電容C0<5pF,晶振等效串聯(lián)電阻RESR<150W,全部負(fù)載電容,包括印制板電容CL<14pF。負(fù)載電容CL如下式所示:
(3.2)
式中和, 和是電路板的寄生電容。
(5) RF輸出功率
連接在RF_PWR端和VSS之間的電阻R3可以設(shè)置輸出功率,最大發(fā)射功率可以調(diào)整到+10dBm。
3.4.2 印刷電路板設(shè)計(jì)
(1) nRF401電路的PCB板設(shè)計(jì)過(guò)程[9]
利用 Protel DXP 軟件設(shè)計(jì)制作nRF401無(wú)線收發(fā)電路部分,按本論文中的圖3-8所示。
① 在Protel DXP 軟件中按照設(shè)計(jì)電路制作連接電路,并封裝電路。制作PCB板,設(shè)置布局范圍,加載網(wǎng)絡(luò)表和元件庫(kù),自動(dòng)布局并做好調(diào)整電路,自動(dòng)布線過(guò)程,最后調(diào)整整個(gè)電路板,將其實(shí)現(xiàn) 3D 功能。
② 查看模擬的 PCB 板后,實(shí)現(xiàn)制作[10]。
首先生成報(bào)表和網(wǎng)絡(luò)表,設(shè)置電路圖中已有的仿真模型的器件。在Protel DXP軟件中運(yùn)行電路仿真。并觀察記錄有關(guān)電路仿真過(guò)程中的波形圖。
再進(jìn)行對(duì)電路板 1:1的打印。
最后,將加工成形的 PCB 電路板打孔,并焊接元器件,實(shí)現(xiàn)nRF401應(yīng)用電路,檢測(cè)并調(diào)試其電路使之正常工作。nRF401應(yīng)用電路印刷電路板,如下圖所示:
圖3-9 應(yīng)用電路印制電路板圖
(2) PCB板設(shè)計(jì)要求
印刷電路板(PCB)的設(shè)計(jì)直接關(guān)系到射頻性能,為了獲得較好的RF性能,PCB設(shè)計(jì)至少需要兩層板來(lái)實(shí)現(xiàn),PCB分成射頻電路和控制電路兩部分布置。nRF401采用PCB天線,在天線的下面沒(méi)有接地層。射頻部分的電源與數(shù)字電路部分的電源分離。為了減少分布參數(shù)的影響,在PCB應(yīng)該避免長(zhǎng)的電源走線,所有元件地線,VDD連接線必須離nRF401盡可能的近。nRF401的電源必須經(jīng)過(guò)很好的濾波,并且與數(shù)字電路供電分離,在離電源腳VDD盡可能近的地方用高性能的電容去耦。PCB板頂層和底層最好敷銅接地,把這兩層的敷銅用較多的過(guò)孔緊密相連,再將VSS腳連接到敷銅面。所有開關(guān)信號(hào)和控制信號(hào)都不能經(jīng)過(guò)PLL環(huán)路濾波器元件和VCO電感附近。
4 控制部分原理
控制電路主要組成部分為單片機(jī)AT89S52,通過(guò)AT89S52與nRF401進(jìn)行串行通信,并用其控制nRF401的TXEN端,來(lái)調(diào)整收發(fā)狀態(tài)。AT89S52還控制液晶屏的顯示和按鍵等一些工作。
4.1 AT89S52功能介紹
AT89S52是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,片內(nèi)含8k bytes的可重復(fù)編程的Flash存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),3個(gè)16位可編程定時(shí)計(jì)數(shù)器,1個(gè)全雙工串行通信口,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)。AT89S52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。
4.1.1 內(nèi)部結(jié)構(gòu)
AT89S52單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)器/計(jì)數(shù)器、并行I/O口、串行I/O口和中斷系統(tǒng)等幾大單元以及數(shù)據(jù)總線、地址總線和控制總線三大總線構(gòu)成。圖4-1為單片機(jī)內(nèi)部結(jié)構(gòu)框圖[13]。
(1) 中央處理器
中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。
(2) 程序存儲(chǔ)器
AT89S52共有8KB個(gè)E2PROM,用于存放用戶程序,原始數(shù)據(jù)或表格。
(3) 數(shù)據(jù)存儲(chǔ)器(RAM)
AT89S52內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用戶定義的字型表。
圖4-1內(nèi)部結(jié)構(gòu)框圖
(4) 并行輸入輸出口
AT89S52共有4組8位I/O口(P0、 P1、P2或P3),用于對(duì)外部數(shù)據(jù)的傳輸。
(5) 串行輸入輸出口
AT89S52內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。
(6) 定時(shí)/計(jì)數(shù)器
AT89S52有三個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能,并以其定時(shí)或計(jì)數(shù)結(jié)果對(duì)單片機(jī)進(jìn)行控制。
(7) 中斷系統(tǒng)
AT89S52具備較完善的中斷功能,有兩個(gè)外中斷、三個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有兩級(jí)的優(yōu)先級(jí)別選擇。
4.1.2 引腳功能
圖4-2 AT89S52芯片引腳圖
(1) 電源和晶振
VCC:供電電壓。
GND:接地。
XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
XTAL2:來(lái)自反向振蕩器的輸出。
(2) I/O口
① P0口
P0口的字節(jié)地址為80H,位地址為80H~87H。P0口既可以作為通用I/O口使用,也可以作為單片機(jī)系統(tǒng)的地址/數(shù)據(jù)線使用。當(dāng)作為輸出口使用時(shí),由于輸出電路是漏極開路,必須外接上拉電阻才能有高電平輸出。
② P1口
P1口的字節(jié)地址為90H,位地址為90H~97H。P1口只能作為通用I/O口使用。當(dāng)作為輸出口使用時(shí),已能對(duì)外提供推拉電流負(fù)載,外電路無(wú)需再接上拉電阻;當(dāng)作為輸入口使用時(shí),應(yīng)先向其鎖存器寫入“1”,使輸出驅(qū)動(dòng)電路的FET截止。
③ P2口
P2口的字節(jié)地址為0A0H,位地址為0A0H~0A7H。P2口用于為系統(tǒng)提供高位地址,但只作為地址線使用而不作為數(shù)據(jù)線使用。此外,P2口也可作為通用I/O口使用。
④ P3口
P3口的字節(jié)地址為0B0H,位地址為0B0H~0B7H。P3口可以作為通用I/O口使用,但在實(shí)際應(yīng)用中它的第二功能信號(hào)更為重要。
P3口引腳的第二功能,如下所示:
P3.0 RXD(串行輸入口)
P3.1 TXD(串行輸出口)
P3.2 /INT0(外部中斷0)
P3.3 /INT1(外部中斷1)
P3.4 T0(計(jì)時(shí)器0外部輸入)
P3.5 T1(計(jì)時(shí)器1外部輸入)
P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)
P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)
(3) 4根控制線
① RST:復(fù)位信號(hào)。保持RST腳兩個(gè)機(jī)器周期以上的高電平,就可以完成CPU系統(tǒng)復(fù)位操作,使系統(tǒng)的一些單元內(nèi)容回到規(guī)定值。
② /PSEN:外部程序存儲(chǔ)器讀選通信號(hào)。在讀外部ROM時(shí),/PSEN有效(低電平),以實(shí)現(xiàn)外部ROM單元的讀操作。
③ /EA/VPP:訪問(wèn)程序存儲(chǔ)器控制信號(hào)。當(dāng)/EA信號(hào)為低電平時(shí),對(duì)ROM的讀操作限定在外部程序存儲(chǔ)器;而當(dāng)/EA為高電平時(shí),則對(duì)ROM的讀操作是從內(nèi)部程序存儲(chǔ)器開始,并可延續(xù)至外部程序存儲(chǔ)器。
④ ALE/PROG:地址鎖存控制信號(hào)。在系統(tǒng)擴(kuò)展時(shí),ALE用于控制P0口輸出的低8位地址送入鎖存器鎖存起來(lái),以實(shí)現(xiàn)低位地址和數(shù)據(jù)的分時(shí)傳送。此外由于ALE是以六分之一晶振頻率的固定頻率輸出的正脈沖,因此也可作為外部時(shí)鐘或外部定時(shí)脈沖使用。
4.2 串口通信
通信主要有兩種方式:并行通信和串行通信。并行通信是在傳送數(shù)據(jù)過(guò)程中每個(gè)字節(jié)的各位同時(shí)進(jìn)行傳送的通信方式,而串行通信[14]是指每個(gè)字節(jié)的各位分別進(jìn)行傳送的通信方式。
4.2.1 串口通信方式
AT89S52串行口可設(shè)置四種工作方式,可有8位、10位和11位幀格式。本系統(tǒng)中,AT89S52采用串行口工作于方式1,即每幀10位的異步通信格式:1位起始位,8位數(shù)據(jù)位(低位在前),1位停止位。當(dāng)SM0=0,SM1=1時(shí),串行口選擇方式1。其幀格式為:
停止
起始
D6
D7
D0
D1
D2
D3
D4
D5
圖4-3 幀格式圖
4.2.2 串行通信控制寄存器
(1) 串行控制寄存器(SCON)
SCON的地址為98H,用于選擇串行口的工作方式和指示串行口的工作狀態(tài)。
各位含義如下:
① SM0、SM1:串行口工作方式選擇位。
② SM2:多機(jī)通信選擇位。
③ REN:串行口允許接收位。‘1’時(shí)允許接收,‘0’時(shí)禁止接收。
④ TI: 串行口發(fā)送中斷標(biāo)志位。在方式1中,于發(fā)送停止位之前,由硬件置位。因此TI=1,表示幀發(fā)送結(jié)束。
⑤ RI: 串行口接收中斷標(biāo)志位。在方式1中,當(dāng)接收到停止位時(shí),該位由硬件置位。RI=1,表示幀接收結(jié)束。
(2) 串行數(shù)據(jù)緩沖器(SBUF)
串行數(shù)據(jù)緩沖器SBUF的地址為99 H,用來(lái)存放需發(fā)送和接收的數(shù)據(jù),它由兩個(gè)獨(dú)立的寄存器組成,一個(gè)是發(fā)送緩沖器,另一個(gè)是接收緩沖器,它們占用同一地址(99H)。當(dāng)執(zhí)行寫SBUF指令時(shí),數(shù)據(jù)寫入到串行口發(fā)送緩沖器中,讀SBUF就是讀串行口接收緩沖器。
(3) 電源控制寄存器(PCON)
PCON的地址為87H,該寄存器的最高位(SMOD)是串行口波特率的倍增位,當(dāng)SMOD=1時(shí),串行口波特率加倍。系統(tǒng)復(fù)位時(shí),SMOD=0。
(4) 中斷允許寄存器(IE)
在IE中,ES位為串行中斷允許控制位。ES=0時(shí)禁止串行中斷,ES=1時(shí)允許串行中斷。
4.2.3 數(shù)據(jù)發(fā)送與接收
(1) 數(shù)據(jù)發(fā)送
在不發(fā)送數(shù)據(jù)時(shí),TXD端保持高電平。當(dāng)執(zhí)行寫SBUF的指令時(shí),便啟動(dòng)一次發(fā)送過(guò)程;發(fā)送數(shù)據(jù)時(shí),先發(fā)送一個(gè)起始位,該位通知接收端開始接收,也使發(fā)送和接收過(guò)程同步。接下來(lái)發(fā)送8位數(shù)據(jù),先發(fā)送低位,最后發(fā)送的是高電平的停止位。
(2) 數(shù)據(jù)接收
REN=1,CPU允許串行口接收數(shù)據(jù),接收數(shù)據(jù)開始于檢測(cè)到RXD(P3.0)端發(fā)生一個(gè)“1”到“0”的跳變。先接收起始位,然后依次將采樣RXD端并將數(shù)據(jù)移入移位寄存器中。
若滿足條件RI=0且SM2=0或接收到停止位,則將前8位數(shù)據(jù)送入SBUF并置位RI;如果上述條件不滿足,則數(shù)據(jù)丟失。
(3) 波特率的設(shè)定
串口方式1的波特率是可變的,由定時(shí)器T1的溢出率決定:
(4.1)
其中,SMOD為PCON寄存器最高位的值。
溢出率為溢出周期的倒數(shù),假定計(jì)數(shù)初值為X,則計(jì)數(shù)溢出周期為
(4.2)
其中,fosc為晶振頻率。
則波特率計(jì)算公式為:
(4.3)
由波特率算出計(jì)數(shù)初值,以便進(jìn)行定時(shí)器的初始化。初值X確定如下:
(4.4)
5 顯示部分
HY-12864[12]是使用HD61202作為列驅(qū)動(dòng)器,同時(shí)使用HD61203作為行驅(qū)動(dòng)器的液晶模塊,共有兩片HD61202和一片HD61203。由于HD61203不與MPU發(fā)生聯(lián)系,只要提供電源就能產(chǎn)生行驅(qū)動(dòng)信號(hào)和各種同步信號(hào),比較簡(jiǎn)單,所以不做介紹。
HD61202是一種帶有列驅(qū)動(dòng)輸出的液晶顯示控制器,它可與行驅(qū)動(dòng)器HD61203配合使用,組成液晶顯示驅(qū)動(dòng)控制系統(tǒng)。
5.1 HD61202功能簡(jiǎn)介
5.1.1 特點(diǎn)
(1) 內(nèi)藏64×64=4096位顯示RAM,RAM中每位數(shù)據(jù)對(duì)應(yīng)LCD屏上一個(gè)點(diǎn)的亮、暗狀態(tài);
(2) HD61202是列驅(qū)動(dòng)器,具有64路列驅(qū)動(dòng)輸出;
(3) HD61202的占空比為1/32--1/64。
5.1.2 引腳功能
CS1,CS2:芯片片選端,CS1和CS2低電平選通;
E:讀寫使能信號(hào),在E下降沿,數(shù)據(jù)被鎖存(寫)入HD61202;在E高電平期間,數(shù)據(jù)被讀出;
R/W: 讀寫選擇信號(hào),R/W=1為讀選通,R/W=0為寫選通;
RS:數(shù)據(jù)、指令選擇信號(hào),RS=1為數(shù)據(jù)操作,RS=0為寫指令或讀狀態(tài);
DB0-DB7:數(shù)據(jù)總線;
RST:復(fù)位信號(hào),復(fù)位信號(hào)有效時(shí),關(guān)閉液晶顯示,使顯示起始行為0,RST可跟MPU相連,由MPU控制;也可直接接VDD,使之不起作用。
5.2 HD61202的指令系統(tǒng)
(1) 顯示開/關(guān)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
0 0 1 1 1 1 1 1/0
當(dāng)DBO=1時(shí),LCD顯示RAM中的內(nèi)容;DBO=0時(shí),關(guān)閉顯示。
(2) 顯示起始行(ROW)設(shè)置指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
1 1 顯示起始行(0-63)
該指令設(shè)置了對(duì)應(yīng)液晶屏最上一行的顯示RAM的行號(hào),有規(guī)律的改變顯示起始行,可以使LCD實(shí)現(xiàn)顯示滾屏的效果。
(3) 頁(yè)(RAGE)設(shè)置指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
1
0
1
1
1
頁(yè)號(hào)(0-7)
顯示RAM共64行,分8頁(yè),每頁(yè)8行。
(4) 地址(Y Address)設(shè)置指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 0
0 1 顯示列地址(0-63)
設(shè)置了頁(yè)地址和列地址,就唯一確定了顯示RAM中的一個(gè)單元,這樣MPU就可以用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進(jìn)一個(gè)字節(jié)數(shù)據(jù)。
(5) 狀態(tài)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 0
BUSY 0 ON/OFF REST 0 0 0 0
該指令用來(lái)查詢HD61202的狀態(tài),各參量含義如下:
BUSY: 1-內(nèi)部在工作 0-正常狀態(tài)
ON/OFF:1-顯示關(guān)閉 0-顯示打開
REST: 1-復(fù)位狀態(tài) 0-正常狀態(tài)
在BUSY和REST狀態(tài)時(shí),除讀狀態(tài)指令外,其它指令均不對(duì)HD61202產(chǎn)生作用。
在對(duì)HD61202操作之前要查詢BUSY狀態(tài),以確定是否可以對(duì)HD61202進(jìn)行操作。
(6) 數(shù)據(jù)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
0 1
寫 數(shù) 據(jù)
(7) 讀數(shù)據(jù)指令
R/W RS
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
1 1
讀 顯 示 數(shù) 據(jù)
讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就自動(dòng)增1,必須注意進(jìn)行讀操作之前,必須有一次空讀操作,緊接著再讀才會(huì)讀出所要讀的單元中的數(shù)據(jù)。
5.3 顯示電路
在AT89S52的P3.6和P3.7口接入四-二輸入與非門芯片74LS00來(lái)控制顯示器的讀寫使能信號(hào)端;顯示器的8根數(shù)據(jù)總線接在AT89S52的P0口,實(shí)現(xiàn)數(shù)據(jù)傳輸;在顯示器的V0口接一電位器,由于液晶的對(duì)比度會(huì)隨著溫度的變化而相應(yīng)變化,所以加電位器可以調(diào)節(jié)液晶的對(duì)比度。
圖5-1 收發(fā)系統(tǒng)顯示電路
6 軟件設(shè)計(jì)
無(wú)線數(shù)據(jù)傳輸主要由無(wú)線數(shù)據(jù)收發(fā)器、AT89S52單片機(jī)、顯示器和按鍵組成,收發(fā)器與AT89S52間用串行口通信。整個(gè)系統(tǒng)的各個(gè)部分都是服務(wù)于無(wú)線數(shù)據(jù)傳輸這個(gè)目的。所以,在整個(gè)系統(tǒng)的軟件設(shè)計(jì)中,無(wú)線數(shù)據(jù)的傳輸是最為重要的。這里使用匯編語(yǔ)言編寫單片機(jī)控制程序。控制系統(tǒng)CPU采用AT89S52單片機(jī),nRF401芯片發(fā)射/接收模式由程序控制,當(dāng)有控制發(fā)送的按鍵按下時(shí),nRF401為發(fā)射狀態(tài),其余的時(shí)候nRF401始終處于接收狀態(tài)。DOUT、DIN分別和單片機(jī)的RXD和TXD端相連,作為發(fā)射和接收時(shí)的數(shù)據(jù)傳輸。TXEN和P1.0端相連,由單片機(jī)的P1.0端對(duì)其發(fā)射還是接收進(jìn)行程序控制。
6.1 主程序流程圖
當(dāng)單片機(jī)上電開始執(zhí)行之后,對(duì)液晶和單片機(jī)寄存器進(jìn)行初始化,同時(shí)設(shè)置串口控制字及波特率,接著進(jìn)入鍵盤掃描程序和接收程序。若有某個(gè)按鍵按下,則執(zhí)行相應(yīng)的鍵盤子程序;若單片機(jī)判斷接收到數(shù)據(jù),則開始進(jìn)行CRC校驗(yàn)[14],如果數(shù)據(jù)正確就通過(guò)液晶顯示傳送的信息。主程序流程圖見圖6-1。
開始
初始化
設(shè)置串口工作方式
N
Y
N
N
判斷是否有按鍵按下
執(zhí)行相應(yīng)的程序
判斷是否接收到數(shù)據(jù)
CRC校驗(yàn)是否正確
數(shù)據(jù)處理
送入顯示
掃描鍵盤,同時(shí)判斷是否有數(shù)據(jù)接收
Y
Y
圖6-1 主程序流程圖
6.2 液晶顯示子程序流程圖
液晶顯示模塊HY-12864內(nèi)有一個(gè)忙標(biāo)志位ACC.7,它反映了控制器HD61202內(nèi)部運(yùn)行時(shí)序狀態(tài)。當(dāng)ACC.7=1時(shí),表示內(nèi)部操作正在運(yùn)行,不能接受外部數(shù)據(jù);當(dāng)ACC.7=0時(shí),表示已準(zhǔn)備好接收,可以隨時(shí)接收單片機(jī)發(fā)來(lái)的數(shù)據(jù)和命令,這是HY-12864向單片機(jī)發(fā)出的唯一聯(lián)絡(luò)信號(hào)。液晶顯示子程序流程圖見圖6-2。
入口
對(duì)HY-12864初始化
寫入顯示設(shè)置命令
ACC.7=0?
延時(shí)1ms
獲得顯示RAM地址
Y
N
延時(shí)1ms
檢測(cè)忙信號(hào)
寫入相應(yīng)的數(shù)據(jù)
數(shù)據(jù)顯示完畢
返回主程序
圖6-2 液晶顯示子程序流程圖
6.3 數(shù)據(jù)收發(fā)子程序流程圖
單片機(jī)AT89S52控制nRF401的收發(fā)狀態(tài)、完成編解碼等工作。nRF401芯片 “PWR-UP” 端接高電平,“FREQ” 端接低電平,分別表示系統(tǒng)在上電后始終處于 “正常工作模式”和“工作頻道為通道1”。單片機(jī)AT89S52控制nRF401,使其一直為接收狀態(tài)。當(dāng)按鍵4按下時(shí),AT89S52接收到輸入的低電平信號(hào),從腳送出高電平至P1.0腳,使nRF401進(jìn)入發(fā)射狀態(tài)。數(shù)據(jù)收發(fā)子程序流程圖見圖6-3。
入口
置nRF401為接收狀態(tài)
判斷按鍵4是否按下
置nRF401為發(fā)射狀態(tài)
數(shù)據(jù)發(fā)射
Y
N
鍵盤掃描
圖6-3 數(shù)據(jù)收發(fā)子程序流程圖
6.4 鍵盤子程序流程圖
下圖為鍵盤子程序流程圖,此流程圖的含義是:當(dāng)有按鍵按下時(shí),程序開始進(jìn)行判斷是哪個(gè)按鍵按下,判斷完畢后則轉(zhuǎn)向相應(yīng)的鍵處理子程序,進(jìn)行字符的輸入或命令的處理,并通過(guò)按鍵4把要發(fā)送的數(shù)據(jù)進(jìn)行CRC校驗(yàn)編碼,再把編碼后的數(shù)據(jù)發(fā)送出去。
有按鍵按下
判斷是哪個(gè)按鍵按下
按鍵1
按鍵4
按鍵3
按鍵2
CRC校驗(yàn)發(fā)送數(shù)據(jù)
清零
選擇要發(fā)送的數(shù)據(jù)
將要顯示的數(shù)據(jù)
移位
圖6-4 鍵盤子程序流程圖
7 測(cè)試結(jié)果及分析
7.1 硬件電路測(cè)試
本設(shè)計(jì)中將控制模塊和無(wú)線射頻模式分開設(shè)計(jì),控制模塊通過(guò)一只單排7腳的接口控制射頻模塊,測(cè)試的步驟如下:
(1) 將控制模塊和無(wú)線射頻模塊焊好,檢查確認(rèn)無(wú)虛焊、粘焊;
(2) 先對(duì)控制模塊上電進(jìn)行測(cè)試,主要是測(cè)試控制模塊的串口能否收發(fā)數(shù)據(jù),測(cè)試方法是將控制模塊的串口與PC機(jī)的串口通過(guò)RS232標(biāo)準(zhǔn)相連接,并將串口的程序?qū)懙紸T89S52上,然后用串口測(cè)試軟件測(cè)試,如果串口能收發(fā)數(shù)據(jù),便可開始對(duì)無(wú)線射頻模塊進(jìn)行測(cè)試;
(3) 將無(wú)線收發(fā)模塊與控制模塊連接起來(lái),上電進(jìn)行測(cè)試,按照程序,上電時(shí)處于接收狀態(tài),看是否與程序吻合;
(4) 確認(rèn)射頻模塊上電處于接收狀態(tài)后,可測(cè)試nRF401的第4管腳是否為1.1V左右,如果是,則說(shuō)明VCO電感設(shè)計(jì)合理,否則要重新設(shè)計(jì)PCB板,此外,nRF401在沒(méi)有數(shù)據(jù)接收時(shí),仍會(huì)自動(dòng)從DOUT發(fā)送隨機(jī)數(shù)據(jù),使用萬(wàn)用表進(jìn)行測(cè)試時(shí),該引腳電壓應(yīng)為2.5V左右。
7.2 系統(tǒng)測(cè)試
7.2.1 測(cè)試方法
(1) 首先讓電路正常工作,把接收器放在一定的位置,將發(fā)射器從遠(yuǎn)處逐漸靠近接收器,可測(cè)到傳送的最遠(yuǎn)距離。
(2) 在距離接收器一定的距離時(shí),間隔一段時(shí)間就發(fā)送數(shù)據(jù)信息,可測(cè)出接收器的接收靈敏度。
(3) 比較發(fā)射器和接收器的數(shù)據(jù)顯示是否相同,以測(cè)試傳輸數(shù)據(jù)的正確性。
7.2.2 功能測(cè)試及分析
由于無(wú)線通信環(huán)境的不確定性,各種環(huán)境下的傳輸效果是不盡相同的,路徑損耗、建筑物影響、人體影響、外界干擾、多徑現(xiàn)象和周圍環(huán)境的吸收等都會(huì)對(duì)傳輸?shù)木嚯x產(chǎn)生一定的影響,只能在一個(gè)給定的條件下進(jìn)行測(cè)試和評(píng)估。因此,分別選擇了不同的試驗(yàn)場(chǎng)地來(lái)進(jìn)行實(shí)驗(yàn)。
(1) 當(dāng)建筑物很多的時(shí)候,數(shù)傳模塊兩端均離地面1.5m(2.0m)高時(shí),能夠達(dá)到的最佳通信距離為5~10m;接收靈敏度為2~3秒;當(dāng)發(fā)送端發(fā)送MESSAGE時(shí),接收端能準(zhǔn)確顯示MESSAGE這段英文字符。
(2) 在空曠場(chǎng)地,數(shù)傳模塊兩端均離地面1.5m高時(shí),最遠(yuǎn)的通信距離能夠達(dá)到50m;接收靈敏度為3~5秒;當(dāng)發(fā)送端發(fā)送字母A時(shí),接收端能準(zhǔn)確顯示。
但測(cè)試中的通信距離與數(shù)據(jù)手冊(cè)上的說(shuō)明相差較大,原因可能源于調(diào)諧天線。在實(shí)驗(yàn)中發(fā)現(xiàn),當(dāng)有人員走動(dòng)或其它信號(hào)出現(xiàn)的時(shí)候,通信的距離會(huì)變得不穩(wěn)定,這是由于天線是一個(gè)輻射器件,任何環(huán)境的改變都會(huì)影響天線的性能。
測(cè)試中還發(fā)現(xiàn),在現(xiàn)場(chǎng)即使沒(méi)有任何發(fā)送器,在nRF401的DOUT引腳上也會(huì)觀察到微小的連續(xù)數(shù)字“噪聲”。后來(lái)通過(guò)研究發(fā)現(xiàn),當(dāng)接收器打開時(shí),環(huán)境中的任何信號(hào)(數(shù)據(jù)或噪聲)都會(huì)被天線捕捉到并被解調(diào)。這就是所看到的系統(tǒng)中沒(méi)有工作的發(fā)送器卻存在“噪聲”的原因。
通過(guò)對(duì)系統(tǒng)數(shù)據(jù)傳輸能力的測(cè)試,該系統(tǒng)發(fā)送和接收數(shù)據(jù)正確、可靠,各元件工作正常。在硬件連接正確的基礎(chǔ)上,利用nRF401進(jìn)行串行數(shù)據(jù)接收及發(fā)送,收到了較好效果。
8結(jié)論
此次設(shè)計(jì)將應(yīng)用于無(wú)線通信領(lǐng)域,并且針對(duì)當(dāng)前市場(chǎng)上無(wú)線產(chǎn)品的不足進(jìn)行了改進(jìn)。本文根據(jù)nRF401的特點(diǎn),提出了一種將其應(yīng)用無(wú)線數(shù)據(jù)收發(fā)系統(tǒng)的實(shí)現(xiàn)方案。此方案采用了較完善的軟硬件設(shè)計(jì)和抗干擾措施,保證了系統(tǒng)工作的安全性和可靠性,是一種較好的設(shè)計(jì)思路,具有通用性,便于投入實(shí)際應(yīng)用。并且只要稍作改動(dòng)就可以應(yīng)用到小區(qū)傳呼、工業(yè)數(shù)據(jù)采集、自動(dòng)讀表、警報(bào)和安全系統(tǒng)、無(wú)線鍵盤、無(wú)線操縱桿、家庭自動(dòng)化、遙測(cè)和玩具等其他一些短距離無(wú)線通信領(lǐng)域,實(shí)現(xiàn)無(wú)線數(shù)據(jù)的雙向傳輸,具有較好的市場(chǎng)應(yīng)用價(jià)值。
參考文獻(xiàn)
[1] 黃智偉.無(wú)線數(shù)字收發(fā)電路設(shè)計(jì),第2版,電子工業(yè)出版社,2004年,253-269.
[2] WU Xunwei,HANG Guoqiang. Low power DC circuits employing AC power supply, SCIENCE IN CHINA (INFORMATION SCIENCES),2002,Vol.45 No.3,232.
[3] 苗長(zhǎng)云,沈保鎖,竇晉江等.現(xiàn)代通信原理,第1版,電子工業(yè)出版社,2005年,174-177.
[4] Behrouz Forouzan. Introduction to Data Communications and Networking,F(xiàn)irst Edition,mechanic industry book concern,1999,121-125.
[5] Kaveh Pahlavan .Nordic nRF401 Product Specification,Nordic corporation,2000,36.
[6] Nigel Brooke.串行數(shù)據(jù)標(biāo)準(zhǔn)的選擇與使用,電子產(chǎn)品世界,2000年,10月,31-32.
[7] Richard G.lyons. Understanding Digital Signal Processing,Bradford University,2001,36-37.
[8] Tugal. D. A, Tugal. 0. Data Transmission-analysis Design Applications,
Florence,Italy,2004,32.
[9] 趙景波,劉金輝,榮盤祥等.Protel DXP 基礎(chǔ)與實(shí)例培訓(xùn)教程,第1版,中國(guó)電力出版社,2005年,119-144.
[10] 臧鐵鋼,唐才峰,陳學(xué)鋒等. Protel DXP 電路設(shè)計(jì)與應(yīng)用,第1版,中國(guó)鐵道出版社,2004年,172-179.
[11] 劉立楓,趙民建.信號(hào)接收機(jī),中國(guó)無(wú)線電電子學(xué)文摘,2005年,31期,45-47.
[12] 周仕鳳.用MCS-51做LCD接口實(shí)驗(yàn),電子世界,2002年,第8期,37.
[13] 李廣第,朱月秀,王秀山等.單片機(jī)基礎(chǔ),第2版,北京航空航天大學(xué)出版社,2001年,40-70.
[14] 楊振江,杜鐵軍,李群等. 流行單片機(jī)實(shí)用子程序及應(yīng)用實(shí)例,第1版,西安電子科技大學(xué)出版社,2002年,102-115.
[15] 張俊謨. MCS-51和80C51系列單片機(jī),電子世界,2001年,第8期,30.
[16] 蔡瑩.液晶技術(shù)與電子紙,電子產(chǎn)品世界,2003年,11上半月,38-40.
[17] 康華光,鄒壽彬.電子技術(shù)基礎(chǔ),第1版,高等教育出版社,2002年,191-197.
[18] 黃智偉,王彥,陳文光等.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程,第1版,電子工業(yè)出版社,2004年,73-80.
致 謝
四年大學(xué)的學(xué)習(xí)已經(jīng)接近尾聲,這次畢業(yè)設(shè)計(jì)不僅使我將所學(xué)的知識(shí)都融合在一起,還給了我一次鍛煉動(dòng)手能力的機(jī)會(huì),并且在指導(dǎo)教師的幫助下,使我的專業(yè)水平有了很大的提高。
在畢業(yè)設(shè)計(jì)即將結(jié)束之際,我要感謝我的指導(dǎo)教師李杰老師以及胡建明老師。他們不辭辛苦,經(jīng)常利用自己的休息時(shí)間幫助我。當(dāng)我有不明白的問(wèn)題時(shí),老師們會(huì)耐心地給我講解,并在學(xué)習(xí)和科研方面給了我大量的指導(dǎo),為我提供了良好的科研環(huán)境,不僅讓我學(xué)到了知識(shí),掌握了科研的方法,也獲得了實(shí)踐鍛煉的機(jī)會(huì)。老師們言傳身教、循循善誘,使我學(xué)到了作為一名大學(xué)生應(yīng)該具備的那種踏實(shí)勤懇、一絲不茍、求真務(wù)實(shí)的優(yōu)良品質(zhì)和嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度。在本論文的撰寫過(guò)程中,老師從選題直至成稿一直給予我重要的指導(dǎo)和幫助,為我解開了無(wú)數(shù)的困惑,提供了很多關(guān)鍵性的建議。在課題的設(shè)計(jì)中,我對(duì)各種編程方法都有了更進(jìn)一步的了解,拓寬了知識(shí)面,開闊了眼界,提高了對(duì)知識(shí)的綜合應(yīng)用能力,增強(qiáng)了學(xué)習(xí)知識(shí)的興趣。在內(nèi)容的研究中,他們?cè)诩夹g(shù)上給予了我極大的幫助,并且在論文的最后評(píng)閱過(guò)程中,也給我提出了非常有價(jià)值的意見,使我受益匪淺。在此祝愿老師們身體健康,全家幸福。
最后,我要再一次感謝所有在此期間幫助過(guò)我的人,我衷心的祝福你們!
附錄1:程序
COM EQU 34H ;指令寄存器
DAT EQU 35H ;數(shù)據(jù)寄存器
CWADD1 EQU 8400H ;寫指令代碼地址(左)
CRADD1 EQU 8600H ;讀狀態(tài)字地址(左)
DWADD1 EQU 8500H ;寫顯示數(shù)據(jù)地址(左)
DRADD1 EQU 8700H ;讀顯示數(shù)據(jù)地址(左)
CWADD2 EQU 8800H ;寫指令代碼地址(右)
CRADD2 EQU 8A00H ;讀狀態(tài)字地址(右)
DWADD2 EQU 8900H ;寫顯示數(shù)據(jù)地址(右)
DRADD2 EQU 8B00H ;讀顯示數(shù)據(jù)地址(右)
RELIE EQU 36H ;在漢字中保存列其始值
COLUMN EQU 30H ;列地址寄存器(0-127)
PAGER EQU 31H ;頁(yè)地址寄存器D2,D1,D0:頁(yè)地址
;D7:字符體D7=0為6X8點(diǎn)陣
; D7=1為8X8點(diǎn)陣
CODER EQU 32H ;字符代碼寄存器
COUNT EQU 33H ;計(jì)數(shù)器
ZIDI EQU 37H ;字體在表中的位置指針地位
;MOV DPTR,#CCTAB
; MOV ZIDI,DPL MOV ZIGAO,DPH 44,43,4A,4B,4C,4D,4E,4F
ZIGAO EQU 38H ;字體在表中的位置指針高位
;3CH,3DH,3EH,3FH作鍵盤用
;*******************************************************************
ORG 0000H
AJMP MAIN
;ORG 0023H
;AJMP JIESHOU
ORG 0030H
;數(shù)據(jù)接P0口
MAIN: MOV SP,#70H
LCALL INT
LCALL CLEAR
LCALL DDD ;靜態(tài)字顯示
MOV 41H,#20H
MOV 48H,#00H
MOV 42H,#50H
MOV R0,#12H
MOV R1,#50H
MOV A,#00H
CHUFAN2: MOV @R1,A
INC R1
DJNZ R0,CHUFAN2
MOV SCON,#50H
MOV TMOD,#00100001B
MOV TL1,#0F3H
MOV TH1,#0F3H
MOV TH0,#00H;軟件看門狗
MOV TH0,#00H
CLR TR0
SETB TR1
MOV PCON,#00H
CLR P1.0
;SETB EA
SETB ES
SETB PS
ANJIAN: JNB P3.2,DOU1
JNB P3.3,DOU1
JNB P3.4,DOU1
JNB P3.5,DOU1
LCALL JIESHOU
;LCALL DELAY
;LCALL DELAY
LJMP ANJIAN
DOU1: LCALL DELAY1
JNB P3.2,JIAYI0
JNB P3.3,JIASHI0
JNB P3.4,JIANYI0
JNB P3.5,JIANSHI0
LJMP ANJIAN
JIAYI0: AJMP MN0
JIASHI0:AJMP MN1
JIANYI0:AJMP MN2
JIANSHI0:AJMP MN3
;鍵盤入口地址
MN0: CLR C
MOV A,48H
SUBB A,#78H
JC MN3XIA
AJMP MNC
MN3XIA: MOV A,48H
CLR C
ADD A,#08H
MOV 48H,A
INC 42H
MNC: AJMP ANJIAN
MN1: CLR C
MOV A,41H
SUBB A,#3AH
JC MN2XIA1
MOV 41H,#21H
MOV 47H,41H
MOV 45H,#87H
MOV 46H,48H
LCALL SONGXIAN
AJMP QQ
MN2XIA1:INC 41H
MOV 47H,41H
MOV 45H,#87H
MOV 46H,48H
MOV R0,42H
MOV @R0,41H
LCALL SONGXIAN
QQ: AJMP ANJIAN
MN2: MOV R0,#12H
MOV R1,#50H
MOV A,#00H
CHUFAN1: MOV @R1,A
INC R1
DJNZ R0,CHUFAN1
LCALL QINGPING
MOV 41H,#20H
MOV 42H,#50H
MOV 48H,#00H
AJMP ANJIAN
MN3: CLR EA
MOV TMOD,#20H
MOV TL1,#0F3H
MOV TH1,#0F3H
MOV IE,#00H
SETB TR1
MOV PCON,#00H
MOV SCON,#40H
SETB P1.0
LCALL DELAY
MOV R7,#2FH
MN33: LCALL CHUANSONG
DJNZ R7,MN33
CLR P1.0
;SETB EA
AJMP ANJIAN
DELAY: MOV R7,#01H
D11: MOV R6,#01H
收藏