微弱信號(hào)檢測(cè)裝置_第1頁(yè)
微弱信號(hào)檢測(cè)裝置_第2頁(yè)
微弱信號(hào)檢測(cè)裝置_第3頁(yè)
微弱信號(hào)檢測(cè)裝置_第4頁(yè)
微弱信號(hào)檢測(cè)裝置_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、微弱信號(hào)檢測(cè)裝置摘要:本設(shè)計(jì)以TI的Launch Pad為核心板,采用鎖相放大技術(shù)設(shè)計(jì)并制作了一套微弱信號(hào)檢測(cè)裝置,用以檢測(cè)在強(qiáng)噪聲背景下已知頻率微弱正弦波信號(hào)的幅度值,并在液晶屏上數(shù)字顯示出所測(cè)信號(hào)相應(yīng)的幅度值。實(shí)驗(yàn)結(jié)果顯示其抗干擾能力強(qiáng),測(cè)量精度高。關(guān)鍵詞:強(qiáng)噪聲;微弱信號(hào);鎖相放大;Launch PadAbstract:This design is based on the Launch Pad of TI core board, using a lock-in amplifier technique designed and produced a weak signal detecti

2、on device, to measure the known frequency sine wave signal amplitude values of the weak in the high noise background, and shows the measured signal amplitude of the corresponding value in the liquid crystal screen. Test results showed that it has high accuracy and strong anti-jamming capability.Keyw

3、ords: weak signal detection; lock-in-amplifier; Launch Pad 1、引言隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,在科研與生產(chǎn)過(guò)程中人們?cè)絹?lái)越需要從復(fù)雜高強(qiáng)度的噪聲中檢測(cè)出有用的微弱信號(hào),因此對(duì)微弱信號(hào)的檢測(cè)成為當(dāng)前科研的熱點(diǎn)。微弱信號(hào)并不意味著信號(hào)幅度小,而是指被噪聲淹沒(méi)的信號(hào),“微弱”也僅是相對(duì)于噪聲而言的。只有在有效抑制噪聲的條件下有選擇的放大微弱信號(hào)的幅度,才能提取出有用信號(hào)。微弱信號(hào)檢測(cè)技術(shù)的應(yīng)用相當(dāng)廣泛,在生物醫(yī)學(xué)、光學(xué)、電學(xué)、材料科學(xué)等相關(guān)領(lǐng)域顯得愈發(fā)重要。2、方案論證針對(duì)微弱信號(hào)的檢測(cè)的方法有很多,比如濾波法、取樣積分器、鎖相放大器等。下面就

4、針對(duì)這幾種方法做一簡(jiǎn)要說(shuō)明。方案一:濾波法。在大部分的檢測(cè)儀器中都要用到濾波方法對(duì)模擬信號(hào)進(jìn)行一定的處理,例如隔離直流分量,改善信號(hào)波形,防止離散化時(shí)的波形混疊,克服噪聲的不利影響,提高信噪比等。常用的噪聲濾波器有:帶通、帶阻、高通、低通等。但是濾波方法檢測(cè)信號(hào)不能用于信號(hào)頻譜與噪聲頻譜重疊的情況,有其局限性。雖然可以對(duì)濾波器的通頻帶進(jìn)行調(diào)節(jié),但其噪聲抑制能力有限,同時(shí)其準(zhǔn)確性與穩(wěn)定性將大打折扣。帶阻濾波器帶通濾波器高通濾波器低通濾波器圖2-1 常用的濾波器示意圖方案二:取樣積分器取樣積分法是利用周期性信號(hào)的重復(fù)特性,在每個(gè)周期內(nèi)對(duì)信號(hào)的一部分取樣一次,然后經(jīng)過(guò)積分器算出平均值,于是各個(gè)周期內(nèi)

5、取樣平均信號(hào)的總體便呈現(xiàn)出待測(cè)信號(hào)的真實(shí)波形。由于信號(hào)的取樣是在多個(gè)周期內(nèi)重復(fù)進(jìn)行的,而噪聲在多次重復(fù)的統(tǒng)計(jì)平均值為零,所以可大大提高信噪比,再現(xiàn)被噪聲淹沒(méi)的波形。其系統(tǒng)原理圖如圖2-1所示。取樣門(mén)脈沖產(chǎn)生與控制積分器放大器Vs(t)+Vn(t)Vr(t)Vo(t)圖2-2 取樣積分原理圖一個(gè)取樣積分器的核心組件式是取樣門(mén)和積分器,通常采用取樣脈沖控制RC積分器來(lái)實(shí)現(xiàn),使在取樣時(shí)間內(nèi)被取樣的波形做同步積累,并將累積的結(jié)果保持到下一次取樣。取樣積分器通常有定點(diǎn)式和掃描式兩種工作模式。定點(diǎn)式是測(cè)量周期信號(hào)的某一瞬態(tài)平均值,經(jīng)過(guò)m次取樣平均后,其幅值信噪比改善為;掃描式取樣積分器利用取樣脈沖在信號(hào)波

6、形上延時(shí)取樣,可用于恢復(fù)與記錄被測(cè)信號(hào)的波形,由于其采樣過(guò)程受到門(mén)脈沖寬度的限制,只有在門(mén)寬范圍內(nèi)才能被取樣。方案三:鎖相放大器鎖相放大器也稱(chēng)為鎖定放大器(Lock-In-Amplifier,LIA)。它主要作為一個(gè)極窄的帶通濾波器的作用,而非一般的濾波器。它的原理是基于信號(hào)與噪聲之間相關(guān)特性之間的差異。鎖相放大器即是利用互相關(guān)原理設(shè)計(jì)的一種同步相關(guān)檢測(cè)儀,利用參考信號(hào)與被測(cè)信號(hào)的互相關(guān)特性,提取出與參考信號(hào)同相位和同頻率的被測(cè)信號(hào)。鎖定放大器可在比被測(cè)信號(hào)強(qiáng)100dB的噪聲干擾中檢測(cè)出有用信號(hào)。其原理框圖如圖2-3。 放大器帶通濾波鑒相器低通濾波器移相器本地振蕩器Vs(t)+Vn(

7、t)Vo圖2-3 鎖相放大原理框圖鎖相放大器的核心部件是鑒相器,它實(shí)現(xiàn)了被測(cè)信號(hào)與參考信號(hào)的互相關(guān)運(yùn)算。它把輸入信號(hào)與參考信號(hào)進(jìn)行比較,當(dāng)兩個(gè)信號(hào)相位完全相同時(shí),即相位差為0時(shí),經(jīng)低通濾波后,輸出信號(hào)的直流分量達(dá)到最大,其正比于輸入信號(hào)中某一特定頻率(參考輸入頻率)的信號(hào)幅值。鎖相放大器具有很多優(yōu)點(diǎn):信號(hào)通過(guò)調(diào)制后交流放大,可以避免噪聲的不利影響;利用相敏檢波器實(shí)現(xiàn)對(duì)調(diào)制信號(hào)的解調(diào),同時(shí)檢測(cè)頻率和相位,噪聲同頻又同相的概率很??;利用低通濾波器來(lái)抑制噪聲,低通濾波器的頻帶可以做得很窄,并且其頻帶寬度不受調(diào)制頻率的影響,穩(wěn)定性也大大提高。但是值得注意的是適合于鎖相放大器的檢測(cè)信號(hào)應(yīng)該是單頻的,或者

8、傳導(dǎo)頻譜所占頻帶是較窄的。綜合考慮,尤其根據(jù)是手頭現(xiàn)有器件的情況,我們選擇了利用鎖相放大器作為本次的檢測(cè)方案,并達(dá)到了預(yù)期的效果。3、理論分析與計(jì)算設(shè)輸入信號(hào)為:根據(jù)傅里葉變換,r(t)可用三角函數(shù)的形式表示為:r(t)與x(t)相乘后的結(jié)果為:上式第一項(xiàng)為差頻項(xiàng),第二項(xiàng)為和頻項(xiàng)。在通過(guò)低通濾波器(LPF)后,所有的和頻項(xiàng)與差頻項(xiàng)都被濾除。最后濾波器的輸出為:上式說(shuō)明被測(cè)信號(hào)經(jīng)過(guò)相敏檢波器(PSD)和低通濾波器(LPF)后,輸出正比于被測(cè)信號(hào)的幅度,同時(shí)正比于參考信號(hào)與被測(cè)信號(hào)的相位差的余弦函數(shù),此時(shí),輸出最大,從而實(shí)現(xiàn)鑒相與鑒幅。同時(shí),有上式若測(cè)得輸出電壓可以反推得到輸入電壓的幅值:PSD信

9、號(hào)的輸出信號(hào)由于被測(cè)信號(hào)與參考信號(hào)之間的相位差而產(chǎn)生很大的變化。受此影響,經(jīng)過(guò)低通濾波器后的輸出電壓也會(huì)變化很大。如圖3-1所示:圖3-1 相位差的影響通過(guò)圖3-1,我們可以看到只有在相位差為時(shí)才能很好的檢測(cè)被測(cè)信號(hào)的大小。通常,我們?cè)谶M(jìn)行測(cè)量時(shí)需要通過(guò)相移網(wǎng)絡(luò)把參考信號(hào)與被測(cè)信號(hào)之間的相位差調(diào)到再輸入到PSD。4、總體方案設(shè)計(jì)本設(shè)計(jì)系統(tǒng)框圖如圖4-1所示。系統(tǒng)通過(guò)把正弦信號(hào)與噪聲源通過(guò)加法器混合,通過(guò)電阻分壓網(wǎng)絡(luò)使噪聲衰減到一定程度,模擬淹沒(méi)在噪聲中的有用信號(hào),再通過(guò)前置放大電路對(duì)信號(hào)進(jìn)行預(yù)放大,再通過(guò)帶通濾波器選擇設(shè)計(jì)所需的通頻帶,然后通過(guò)以AD630為核心器件的鎖相放大器,輸出電壓經(jīng)過(guò)低

10、通濾波器之后得到一個(gè)直流電壓輸出,最后通過(guò)MSP430進(jìn)行AD采樣、數(shù)據(jù)處理后送液晶顯示。在整個(gè)電路中放置了AE共5個(gè)測(cè)試點(diǎn)作為調(diào)試用。Vi Vo E D Vc Vn VsCBA正弦波信號(hào)源噪聲源加法器分壓網(wǎng)絡(luò)前置放大帶通濾波AD630低通濾波MSP430處理液晶顯示移相網(wǎng)絡(luò)4-1 系統(tǒng)框圖5、硬件設(shè)計(jì)整個(gè)系統(tǒng)的電路頂層設(shè)計(jì)如圖5-1所示:包含了電源模塊、信號(hào)產(chǎn)生電路、前置放大與帶通濾波、鎖相放大模塊、低通濾波器、單片機(jī)處理模塊這些部分。其中每個(gè)模塊的電源引腳部分都加入了去耦電容,PCB對(duì)電源線也進(jìn)行了相應(yīng)的覆銅處理,降低高頻干擾。其

11、整體硬件實(shí)物圖見(jiàn)附錄A。圖5-1 系統(tǒng)電路頂層設(shè)計(jì)5.1信號(hào)產(chǎn)生電路本電路模塊旨在產(chǎn)生一個(gè)能夠模擬實(shí)際中淹沒(méi)在噪聲中的微弱信號(hào)。包含加法器與純電阻分壓網(wǎng)絡(luò)兩部分。在實(shí)際電路中采用函數(shù)信號(hào)發(fā)生器產(chǎn)生頻率為500Hz 2kHz振幅為的200mV 2V正弦信號(hào)Vs。同時(shí)使用提供的音頻信號(hào)作為噪聲源Vn。首先通過(guò)電壓跟隨器,再經(jīng)過(guò)加法器實(shí)現(xiàn)信號(hào)的混合,芯片使用AD827來(lái)拓寬其頻帶到1 MHz帶寬,可調(diào)節(jié)音量使正弦信號(hào)完全淹沒(méi)在噪聲中。經(jīng)過(guò)混合后的信號(hào)再通過(guò)一個(gè)純電阻分壓電路把信號(hào)衰減大約100倍,得到輸入信號(hào)Vi。電路中取R5=R7=1k,R6=R8=100。其電路原理圖如圖5-2所示,并在適當(dāng)位置

12、預(yù)留了測(cè)試端口。圖5-2 信號(hào)產(chǎn)生電路5.2前置放大電路該電路用于對(duì)信號(hào)進(jìn)行預(yù)放大處理,使其輸入到后級(jí)鎖相放大器的信號(hào)有個(gè)適當(dāng)?shù)姆取F潆娐啡鐖D5-3所示。采用TI公司的OPA2227這款低噪聲、高精度的運(yùn)放(后改用AD827)。第一級(jí)放大倍數(shù)為11倍,第二級(jí)放大倍數(shù)為10倍,所以總共放大約110倍。同時(shí)在輸入端接入R10=2M,保證輸入阻抗Ri1 MW的要求。其電路連接如下圖所示。圖5-3 前置放大電路5.3 帶通濾波電路為滿足設(shè)計(jì)要求,設(shè)計(jì)了一個(gè)帶寬為500Hz 2K Hz的帶通濾波器,濾除所需頻帶外的噪聲,降低了噪聲對(duì)信號(hào)的干擾。設(shè)計(jì)選用了二階低通濾波器與二階高通濾波器構(gòu)成二階帶通濾波網(wǎng)

13、絡(luò),由TI的濾波器設(shè)計(jì)軟件FilterPro可以設(shè)計(jì)得到帶通濾波器,其中R16=8.2k,R17=15k,C11=2nF,C12=1nF,R18=10k,R19=24k。運(yùn)放使用TI的OPA2227,其電路如圖5-4所示。圖5-4 帶通濾波電路5.4 移相網(wǎng)絡(luò)該移相網(wǎng)絡(luò)用于對(duì)參考信號(hào)進(jìn)行移相,其原理是RC相移,通過(guò)跳線選擇不同的接口,調(diào)整可變電阻來(lái)實(shí)現(xiàn)不同的相移。通過(guò)使用一片OPA2227實(shí)現(xiàn)對(duì)參考信號(hào)進(jìn)行的相移。其中上方為0900的相移,下方的模塊實(shí)現(xiàn)901800相移。必須在下方的移相模塊中加入飽和電阻,否則頻率過(guò)低時(shí)容易出現(xiàn)輸出信號(hào)飽和。其電路設(shè)計(jì)如圖5-5所示。圖5-5 相移網(wǎng)絡(luò)5.5

14、鎖相放大電路鎖相放大電路采用AD630芯片作為核心,其電路如圖5-6所示。AD630是一款高精度的平衡調(diào)制器,具有出色的精度與溫度穩(wěn)定性,非常低的通道串?dāng)_,高的共模抑制比和增益調(diào)節(jié),同時(shí)還可以在外部加入反饋來(lái)實(shí)現(xiàn)所需增益與開(kāi)關(guān)反饋布局,它可以從100dB噪聲中恢復(fù)信號(hào),頻帶寬度達(dá)到2MHz。其信號(hào)處理應(yīng)用包括:平衡調(diào)制與解調(diào)、同步檢波、相位檢測(cè)、正交檢波、相敏檢測(cè)、鎖定放大以及方波乘法等。實(shí)際上鎖相放大器與調(diào)制解調(diào)有些類(lèi)似,只不過(guò)頻率更低。使用本芯片可以減少鑒相器與噪聲方面的許多考慮,大大減小開(kāi)發(fā)難度與開(kāi)發(fā)周期。圖5-6 鎖相放大電路注意這里的電路連接具有2倍的增益。5.6 低通濾波電路本濾波

15、電路采用TI的LF353運(yùn)放設(shè)計(jì),當(dāng)鎖相放大電路輸出的信號(hào)經(jīng)過(guò)低通濾波器之后可得到一個(gè)直流信號(hào),其幅值與輸入信號(hào)中某一特定頻率(參考輸入信號(hào)的頻率)的信號(hào)幅值成正比,即。其電路如圖5-7所示。圖5-7 低通濾波電路5.7 LaunchPad電路連接本設(shè)計(jì)以TI公司的MSP-EXP430G2 LaunchPad作為數(shù)據(jù)處理模塊,其基本電路連接如5-8所示。圖5-8 LaunchPad 電路連接圖MSP-EXP430G2 LaunchPad 具有很多優(yōu)良特性: USB 調(diào)試與編程接口無(wú)需驅(qū)動(dòng)即可安裝使用,且具備高達(dá) 9600 波特率的 UART 串行通信速度 支持所有采用 PDIP14 或 PDI

16、P20 封裝的 MSP430G2xx 和 MSP430F20xx 器件 分別連接至綠光和紅光 LED 的兩個(gè)通用數(shù)字 I/O 引腳可提供視覺(jué)反饋 兩個(gè)按鈕可實(shí)現(xiàn)用戶反饋和器件復(fù)位 器件引腳方便地用于調(diào)試目的,也可用作添加定制的擴(kuò)展板的插座 高質(zhì)量的 20 引腳 DIP 插座,可輕松簡(jiǎn)便地插入目標(biāo)器件或?qū)⑵湟瞥?、軟件設(shè)計(jì)本設(shè)計(jì)以TI提供的MSP-EXP430G2 LaunchPad為核心,用MSP430G2553單片機(jī)自帶的片上外設(shè)AD10對(duì)數(shù)據(jù)進(jìn)行AD轉(zhuǎn)換,并做相應(yīng)的處理然后送液晶顯示。其軟件流程圖如圖6-1。詳細(xì)的軟件代碼見(jiàn)附錄BNY開(kāi)始初始化時(shí)鐘、LCD、ADC進(jìn)入低功耗模式CvtCnt

17、 = CvtCnt + 1 定時(shí)器A0中斷開(kāi)始中斷返回 CvtCnt<=64?ADC采集數(shù)據(jù)數(shù)據(jù)處理LCD顯示結(jié)果    圖6-1 軟件設(shè)計(jì)流程圖7、系統(tǒng)測(cè)試與結(jié)果分析7.1 測(cè)試儀器DS1102E型100MHz 1GSa/s雙通道數(shù)字示波器,TFG6030 DDS函數(shù)信號(hào)發(fā)生器,數(shù)字萬(wàn)用表。7.2 測(cè)試方案基本功能測(cè)試:固定1KHz 改變輸入信號(hào)的峰峰值在200mV2V之間,記錄液晶顯示數(shù)據(jù),計(jì)算誤差大小。拓展功能測(cè)試:調(diào)節(jié)使輸入信號(hào)頻率在500Hz2kHz范圍內(nèi),峰峰值在20mV2V范圍內(nèi),觀看液晶顯示數(shù)據(jù),計(jì)算誤差大小。7

18、.3 測(cè)試結(jié)果噪聲幅度: 加法器帶寬:BW=0Hz6.4MHz純電阻網(wǎng)絡(luò)衰減倍數(shù):輸入阻抗Ri2M1M輸入輸出電壓幅度測(cè)量結(jié)果:表7-1 輸入輸出電壓測(cè)量輸入信號(hào)檢測(cè)結(jié)果誤差(%)幅值(mV)頻率(Hz)幅度(mV)基本測(cè)試1001k100 0101 1100 02001k200020211990.55001k50005020.44990.28001k7990.1258010.125800010001k10010.110020.29990.1Vs拓展101k1001110100501k801k頻率拓展500500500800500150050020007.4 結(jié)果分析經(jīng)過(guò)測(cè)量,該裝置達(dá)到了并且

19、還有很多地方超過(guò)了設(shè)計(jì)所需要求。但是仍然有很多提升的空間,例如可以通過(guò)使用外部的高速運(yùn)放來(lái)提高采樣的分辨率,提高測(cè)量精度;可以設(shè)計(jì)雙相位鎖定放大器來(lái)提高對(duì)任意頻率的測(cè)量;可以通過(guò)軟件算法來(lái)減小數(shù)據(jù)的波動(dòng);可以通過(guò)PCB布線布局,加屏蔽罩等措施提高裝置的高干擾能力等等8、總結(jié)本設(shè)計(jì)以AD630為核心器件的鎖相放大器對(duì)淹沒(méi)在噪聲中的微弱信號(hào)進(jìn)行檢測(cè),輸出的電壓經(jīng)MSP-EXP430G2 LaunchPad的處理,再通過(guò)液晶顯示出來(lái)。經(jīng)過(guò)系統(tǒng)測(cè)試,能夠完成對(duì)微弱信號(hào)的檢測(cè),所有指標(biāo)都已經(jīng)達(dá)到或者超過(guò)了設(shè)計(jì)要求。附錄A 硬件實(shí)物圖附錄B 軟件代碼main.c#include "msp430g

20、2553.h"#include "ADC10.h"#include "LCD.h"#include "HalInit.h"#define Filter_N 64float Filter(unsigned int pData);/-void main(void) WDTCTL = WDTPW + WDTHOLD; SysInit(); P2DIR |= BIT3 + BIT4; _low_power_mode_0(); /-#pragma vector = TIMER0_A0_VECTOR_interrupt void TA0

21、_ISR(void) unsigned int Data; float TempData; static unsigned int CvtCnt =0,valueFilter_N; CvtCnt+; if(CvtCnt <= Filter_N) ADC10Read(&Data,1); valueCvtCnt-1 = Data; else P2OUT = BIT4; CvtCnt = 0; TempData = value0; TempData = Filter(value); TempData = 1500*TempData/1023;/轉(zhuǎn)換成采樣電壓數(shù)據(jù) TempData *=

22、0.785398;/數(shù)據(jù)處理 LCD_Disp(unsigned int)TempData); /-float Filter(unsigned int pData) unsigned int Cnt; unsigned long Sum=0; for(Cnt = 1;Cnt <= Filter_N;Cnt+) Sum += pDataCnt - 1; return (float)(Sum/Filter_N);/-HalInit.c#include "LCD.h"#include <msp430g2553.h>#include "HalInit.h

23、"#include "ADC10.h"/-void SysInit(void) ClkInit(); LCD_init(); ADC10Init(1,0,0); LCD_Gui(); TimerA0Init(); IE1 |= WDTIE; _EINT();/-void TimerA0Init(void) TA0CTL = TASSEL_1 + TACLR; TA0CCTL0 = CCIE; TA0CCR0 = 339; TA0CTL |= MC_1;/-void ClkInit(void) if (CALBC1_12MHZ =0xFF | CALDCO_12MH

24、Z = 0xFF) / If calibration constants erased P1DIR |= BIT6; / do not load, trap CPU! P1OUT |= BIT6; while(1); BCSCTL1 = CALBC1_12MHZ; / Set DCO to 8MHz DCOCTL = CALDCO_12MHZ;/-void LCD_Gui(void) LCD_draw_lineX(0 , 83 , 0); LCD_draw_lineY(0 , 0 , 47); LCD_draw_lineY(83 , 0 , 47); LCD_show_char(8,3,

25、9;m'); LCD_show_char(9,3,'v'); LCD_write_stringxy(2,1,"Peak value:"); LCD_Disp(0);/-ADC.c#include "msp430g2553.h"#include "ADC10.h"/-void ADC10Init(unsigned char SelectRef,unsigned char ConvtMode,unsigned char InputChannel )/-void ADC10Start(void) ADC10CTL0

26、|= ENC + ADC10SC; / Sampling and conversion start/-unsigned int ADC10Read(unsigned int *pData,unsigned int DatNum) unsigned int i; if(ADC10CTL1 & CONSEQ1) =0)/單次轉(zhuǎn)換 for(i = 0;i < DatNum;i+) ADC10Start(); _bis_SR_register(CPUOFF + GIE); / LPM0, ADC10_ISR will force exit while(ADC10CTL1 & AD

27、C10BUSY); P2OUT = BIT3; *pData+ = ADC10MEM; ADC10CTL0 &= (ENC); else/序列轉(zhuǎn)換 ADC10DTC1 = DatNum;/傳輸數(shù)據(jù)個(gè)數(shù) ADC10SA = (unsigned short)pData; ADC10Start(); _bis_SR_register(CPUOFF + GIE); / LPM0, ADC10_ISR will force exit ADC10CTL0 &= ENC; return 1;/-#pragma vector=ADC10_VECTOR_interrupt void ADC10_

28、ISR(void) _bic_SR_register_on_exit(CPUOFF); / Clear CPUOFF bit from 0(SR)/-void LCD_PortInit() P1DIR |= BIT1 + BIT2 + BIT3 + BIT4 + BIT5; P2DIR |= BIT0 + BIT1 + BIT2 + BIT3; NOKIA5110_VCC_ON; NOKIA5110_GND_ON;/-LCD.c#include "LCD.h"/* use SPI send byte*/void LCD_sendbyte(INT8U dat,INT8U co

29、mmand) INT8U i; NOKIA5110_CE_L; Delay_us(1); if(command=0) NOKIA5110_DC_L;/傳送命令 Delay_us(1); else NOKIA5110_DC_H;/傳送數(shù)據(jù) Delay_us(1); for(i=0;i<8;i+) if(dat&0x80) NOKIA5110_DIN_H; Delay_us(1); else NOKIA5110_DIN_L; Delay_us(1); NOKIA5110_CLK_L; dat=dat<<1; NOKIA5110_CLK_H; Delay_us(1); NO

30、KIA5110_CE_H; Delay_us(1);/* LCD_set_xy*/void LCD_set_xy(INT8U x,INT8U y) LCD_sendbyte(0x80|x,0);/x-0 to 83 LCD_sendbyte(0x40|y,0);/y-0 to 5/* LCD clear*/void LCD_clear() INT8U i,j; LCD_sendbyte(N5110_DE_2,0);/設(shè)定顯示模式,正常顯示 LCD_sendbyte(RAM_X_ADDR_START,0);/設(shè)置RAM起始地址 for(j=0;j<6;j+) for(i=0;i<84

31、;i+) LCD_sendbyte(0,1); /* LCD初始化*/void LCD_init() INT8U i; LCD_PortInit(); NOKIA5110_RST_L;/產(chǎn)生一個(gè)讓LCD復(fù)位的低電平脈沖 / Delay_Nms(5); for(i=0;i<50;i+) _NOP(); _NOP(); _NOP(); NOKIA5110_RST_H; NOKIA5110_LED_ON; LCD_sendbyte(0x21,0);/使用擴(kuò)展命令設(shè)置LCD模式chip is active & horizontal addressing (H=1) LCD_sendbyt

32、e(0xc8,0);/設(shè)置電壓VLCD = 3.06 + 0.06*Vop, LCD_sendbyte(0x06,0);/VLCD溫度系數(shù)2 LCD_sendbyte(0x13,0);/設(shè)置偏置系統(tǒng)(BSx) 1:48 LCD_sendbyte(0x20,0);/工作模式, 水平尋址, 常規(guī)指令(H=0) LCD_sendbyte(N5110_DE_2,0);/設(shè)定顯示模式,正常顯示display in normal mode LCD_sendbyte(RAM_Y_ADDR_START,0);/起始頁(yè)地址0 LCD_sendbyte(RAM_X_ADDR_START,0);/起始列地址0 LC

33、D_clear(); /NOKIA5110_LED_OFF;/* display a asciifont6*8*/void LCD_write_char(INT8U c) INT8U line; c-=32;/ASCII前32個(gè)不可顯示 for(line=0;line<6;line+) LCD_sendbyte(ASCIIcline,1);/*名稱(chēng):LCD_show_char(INT8U x,INT8U y,INT8U c)*功能:在任意位置輸出一個(gè)8*16的ASCII字符*說(shuō)明:x:0-9 y:0-2c:字符的首地址*備注:每行最多只能顯示10個(gè)字符(n*8<=84)*/void

34、 LCD_show_char(INT8U x,INT8U y,INT8U c) INT8U i,j; c-=32;/地址 x*=8;/字寬 y*=1;/四行顯示 for(i=0;i<2;i+) LCD_set_xy(x + 2,y+i);/設(shè)置地址 for(j=0;j<8;j+) LCD_sendbyte(nAsciiDotcj+8*i,1); /* 英文字符串顯示函數(shù)*/void LCD_write_stringxy(INT8U x,INT8U y,INT8U *p) LCD_set_xy(x,y); while(*p) LCD_write_char(*p); p+; /* 英文

35、字符串顯示函數(shù)*/void LCD_write_string(INT8U *p) while(*p) LCD_write_char(*p); p+; /*名稱(chēng):show_string(INT8U x,INT8U y,INT8U *str)*功能:在任意位置輸出一串8*16的ASCII字符*說(shuō)明:x:0-9 y:0-2*str:字符串的首地址*備注:每行最多只能顯示10個(gè)字符(n*8<=84)*/void LCD_show_string(INT8U x,INT8U y,INT8U *str) while(*str!='0') LCD_show_char(x+,y,*str+

36、); char static number_array="0123456789" /便于顯示數(shù)字,與下面LCD_Disp_Num()函數(shù)有關(guān)/* * LCD_Disp_Num* Function:Write a decimal number on LCD * 0 < Num < 9*/void LCD_Disp_Num(INT8U x,INT8U y,INT16U Num) LCD_set_xy(x,y); LCD_write_char(number_arrayNum); void LCD_Disp_BNum(INT8U x,INT8U y,INT8U n) u

37、nsigned i; LCD_set_xy(x,y); for(i=0;i<15;i+) LCD_sendbyte(Numni,1); LCD_set_xy(x,y+1); for(i=0;i<15;i+) LCD_sendbyte(Numni+15,1); LCD_set_xy(x,y+2); for(i=0;i<15;i+) LCD_sendbyte(Numni+30,1); LCD_set_xy(x,y+3); for(i=0;i<15;i+) LCD_sendbyte(Numni+45,1);/*名稱(chēng):LCD_draw_dot(INT8U x,INT8U y)*功能:在任意位置打一個(gè)點(diǎn)*說(shuō)明:x:0-83 y:0-47*/void LCD_draw_dot(INT8U x,INT8U y) /打點(diǎn)函數(shù) INT8U y1,y2; y1=y/8; /判斷是那個(gè)字節(jié) y2=y%8;/判斷是這個(gè)字節(jié)的

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論