基于雙mcu的數(shù)字示波器畢業(yè)設(shè)計(jì)論文_第1頁(yè)
已閱讀1頁(yè),還剩34頁(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、<p>  基于雙MCU的數(shù)字示波器</p><p><b>  摘 要</b></p><p>  數(shù)字示波器與傳統(tǒng)的模擬示波器在工作方式上,區(qū)別很大,它是由高速A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),然后送給單片機(jī)、DSP、ARM等高速微型處理器,微處理器經(jīng)過(guò)通過(guò)計(jì)算,重新在液晶屏繪出波形圖,以便于我們進(jìn)行觀測(cè)。它一般支持多級(jí)菜單,能提供給用戶多種選擇,

2、多種分析功能。還有一些示波器可以提供存儲(chǔ),實(shí)現(xiàn)對(duì)波形的保存和處理。 </p><p>  近年來(lái),由于集成電子技術(shù)的迅速發(fā)展,A/D轉(zhuǎn)換芯片的轉(zhuǎn)換速度得到大幅度提高,高速A/D轉(zhuǎn)換器的價(jià)格也日趨下降,這樣使得數(shù)字示波器在性價(jià)比上,也得到巨大的提升。如今市場(chǎng)上有很多數(shù)字示波器已經(jīng)做成手持式的,較小的體積,攜帶非常方便,而且其性能也是非常強(qiáng)大,可以達(dá)到100MHz的采樣頻率,可以滿足絕大部分用戶的需求。而且現(xiàn)在的數(shù)字

3、示波器可以很容易的觀測(cè)到頻率很低的信號(hào)圖像,這是模擬示波器所不能實(shí)現(xiàn)的(模擬示波器在測(cè)量頻率很低的信號(hào)時(shí),只能看到一個(gè)點(diǎn)在移動(dòng),無(wú)法看到整個(gè)波形變化)。</p><p>  本數(shù)字示波器采用比較常用的高性價(jià)比芯片,采樣頻率與市場(chǎng)上的數(shù)字示波器相比,低了很多,但用于平時(shí)的常用電路檢測(cè),音頻電壓測(cè)試等還是夠用的。該示波器采用的新一代的增強(qiáng)型8051單片機(jī)STC12C5A60S2作為微處理器,其運(yùn)算速度是普通8051單

4、片機(jī)的8—12倍,且指令系統(tǒng)與傳統(tǒng)8051單片機(jī)完全兼容,使用該款單片機(jī)能夠使該數(shù)字示波器的采樣頻率更上一個(gè)臺(tái)階?;贏/D轉(zhuǎn)換芯片的價(jià)格與電路設(shè)計(jì)的簡(jiǎn)便,我選擇了TLC0820這款高速A/D轉(zhuǎn)換芯片,TLC0820是一款經(jīng)過(guò)改進(jìn)的高速8位并行模數(shù)轉(zhuǎn)換器,該芯片的A/D轉(zhuǎn)換時(shí)間典型值為1.6μs,最大2.5μs,之所以選擇這款,最主要的原因是該器件無(wú)需外部時(shí)鐘和附加元件,這樣使得外部電路簡(jiǎn)單很多。</p><p>

5、;<b>  ABSTRACT</b></p><p><b>  目 錄</b></p><p>  1.示波器的整體介紹………………………………………………………1</p><p>  1.1 模擬示波管示波器的介紹…………………………………………4</p><p>  1.2 數(shù)字示波器

6、的介紹………………………………………………………7</p><p>  1.3 數(shù)字示波器與模擬示波器的優(yōu)缺點(diǎn)……………………………7</p><p>  硬件電路設(shè)計(jì)……………………………………………………………25</p><p>  2.1 單片機(jī)選型…………………………………………………………………27</p><p>  2.2 程

7、控放大電路………………………………………………………………27</p><p>  2.3 AD轉(zhuǎn)換電路………………………………………………………………27</p><p>  2.4 兩單片機(jī)之間的通訊電路……………………………………………27</p><p>  2.5 單片機(jī)外部輸入電路……………………………………………………27</p>

8、<p>  2.6 液晶顯示屏驅(qū)動(dòng)電路……………………………………………………27</p><p>  2.7 其它部分電路………………………………………………………………27</p><p>  2.8 原理圖與PCB圖……………………………………………………………27</p><p>  3.MCU軟件設(shè)計(jì)…………………………………………………………

9、…25</p><p>  2.1 程序流程圖…………………………………………………………………27</p><p>  2.2 單片機(jī)程序源代碼………………………………………………………27</p><p>  1 示波器的整體介紹</p><p>  1.1 示波器的工作原理 </p><p>  1.1.1

10、 模擬示波管示波器的介紹</p><p>  模擬示波器利用狹窄的、由高速電子組成的電子束,打在涂有熒光物質(zhì)的屏面上,就可產(chǎn)生細(xì)小的光點(diǎn)。在被測(cè)信號(hào)的作用下,電子束就好像一支筆的筆尖,可以在屏面上描繪出被測(cè)信號(hào)的瞬時(shí)值的變化曲線。利用示波器能觀察各種不同信號(hào)幅度隨時(shí)間變化的波形曲線,還可以用它測(cè)試各種不同的電量,如電壓、電流、頻率、相位差、調(diào)幅度等等。</p><p>  從下面的示波管結(jié)

11、構(gòu)圖可以看出,只要控制X軸偏轉(zhuǎn)板和Y軸偏轉(zhuǎn)板上的電壓,就能控制示波管顯示的圖形形狀。我們知道,一個(gè)電子信號(hào)是時(shí)間的函數(shù)f(t),它隨時(shí)間的變化而變化。因此,只要在示波管的X軸偏轉(zhuǎn)板上加一個(gè)與時(shí)間變量成正比的電壓,在y軸加上被測(cè)信號(hào)(經(jīng)過(guò)比例放大或者縮小),示波管屏幕上就會(huì)顯示出被測(cè)信號(hào)隨時(shí)間變化的圖形?!?lt;/p><p>  1.1.2 數(shù)字示波器的介紹</p><p>  數(shù)字示波

12、器是一款用于顯示被測(cè)量的瞬時(shí)值軌跡變化情況的儀器,它是帶數(shù)據(jù)記錄功能的示波器。它一般支持多級(jí)菜單,能提供給用戶多種選擇,多種分析功能。還有一些示波器可以提供存儲(chǔ),實(shí)現(xiàn)對(duì)波形的保存和處理。</p><p>  數(shù)字示波器首先對(duì)模擬信號(hào)進(jìn)行高速采樣獲得相應(yīng)的數(shù)字?jǐn)?shù)據(jù)并存儲(chǔ)。用數(shù)字信號(hào)處理技術(shù)對(duì)采樣得到的數(shù)字信號(hào)進(jìn)行相關(guān)處理與運(yùn)算,從而獲得所需的各種信號(hào)參數(shù)(包括可能需要使用萬(wàn)用表測(cè)試的一些元器件電氣參數(shù))。根據(jù)得到的

13、信號(hào)參數(shù)繪制信號(hào)波形, 并可對(duì)被測(cè)信號(hào)進(jìn)行實(shí)時(shí)的、瞬態(tài)的分析,以方便用戶了解信號(hào)質(zhì)量,快速準(zhǔn)確地進(jìn)行故障的診斷。</p><p>  測(cè)量開(kāi)始時(shí),操作者可通過(guò)中文界面選定測(cè)量類型(波形測(cè)量、元件測(cè)量)、測(cè)量參數(shù)(頻率/周期、有效值、電阻阻值、二極管通斷等)及測(cè)量范圍(可選自動(dòng)設(shè)置,由儀器自動(dòng)設(shè)置最佳范圍) ;微處理器自動(dòng)將測(cè)量設(shè)置解釋到采樣電路,并啟動(dòng)數(shù)據(jù)采集;采集完成后,由微處理器對(duì)采樣數(shù)據(jù)按測(cè)量設(shè)置進(jìn)行處理,

14、提取所需要的測(cè)量參數(shù),并將結(jié)果送顯示部件。如果需要,用戶可選擇自動(dòng)測(cè)試方式:微處理器在分析首次采樣得到的數(shù)據(jù)后會(huì)根據(jù)具體情況調(diào)整、修改測(cè)量設(shè)置,并重新采樣。在經(jīng)過(guò)幾次這樣的“采樣-分析-調(diào)整-重采樣”循環(huán)后,示波表即可完成即觸即測(cè)功能,而無(wú)須人工調(diào)換量程,便于手持操作。</p><p>  數(shù)字示波器采樣一般都是采用8位的高速的AD轉(zhuǎn)換器,相對(duì)于其他設(shè)備,其AD采集的精度的確非常低,不過(guò)對(duì)于一般用戶來(lái)說(shuō),用來(lái)分辨

15、電壓變化波形還是足夠的。不過(guò)數(shù)字示波器的AD芯片對(duì)AD轉(zhuǎn)換速度要求非常高,這樣才能顯示出高頻的信號(hào)的波形。</p><p>  1.3 數(shù)字示波器與模擬示波器的優(yōu)缺點(diǎn)</p><p>  近些年,隨著數(shù)字電子技術(shù)的迅猛發(fā)展,數(shù)字示波器的性能也得到非常大的提高。在很多性能方面,數(shù)字示波器的優(yōu)勢(shì)是不言而喻的。</p><p><b>  數(shù)字示波器的優(yōu)點(diǎn):&l

16、t;/b></p><p>  體積小,便于攜帶,方便現(xiàn)場(chǎng)測(cè)試。</p><p>  數(shù)字示波器一般采用液晶屏作為顯示器,功耗低,價(jià)格便宜。</p><p>  具有自動(dòng)測(cè)量功能,便于快速調(diào)節(jié)。</p><p><b>  具有信號(hào)存儲(chǔ)功能。</b></p><p>  可以顯示頻率很低信號(hào)

17、的波形,而模擬示波器只能看到一個(gè)點(diǎn)在移動(dòng),看不出完整波形情況。</p><p>  數(shù)字示波器雖然好用,但也有些其不盡人意的地方。由于數(shù)字示波器所顯示的波形并非原始信號(hào)的波形,而是通過(guò)AD轉(zhuǎn)換后產(chǎn)生的數(shù)字信號(hào)送給MCU,通過(guò)MCU強(qiáng)大的計(jì)算能力,在液晶屏上重新模擬出波形。所以從其基本原理上就可以看出,數(shù)字示波器的實(shí)時(shí)性是比較差的。</p><p>  相對(duì)于后起之秀數(shù)字示波器,傳統(tǒng)模擬示波

18、器的某些特點(diǎn),是數(shù)字示波器所不具備的。</p><p><b>  模擬示波器優(yōu)點(diǎn):</b></p><p>  垂直分辨率高,連續(xù)而且無(wú)限級(jí),數(shù)字示波器分辨率一般只有8為至10為。</p><p>  數(shù)據(jù)更新,每秒捕捉幾十萬(wàn)波形,數(shù)字示波器每秒捕捉幾十個(gè)波形。</p><p>  實(shí)時(shí)寬帶和事實(shí)顯示,連續(xù)波形與單次波

19、形的帶寬相同,數(shù)字示波器的帶寬與取樣率密切相關(guān),取樣率不高時(shí)需借助內(nèi)插計(jì)算,容易出現(xiàn)混淆波形。</p><p>  當(dāng)然模擬示波器的缺點(diǎn)也是顯而易見(jiàn)的,一般模擬示波器價(jià)格較貴,體積較大,且機(jī)內(nèi)有用于電子加速的高壓電,安全性差。</p><p><b>  硬件電路設(shè)計(jì)</b></p><p>  對(duì)于示波器而言,硬件設(shè)計(jì)至關(guān)重要,它直接決定了示

20、波器測(cè)量的精度,和最大采樣速度。要想更好的還原出真實(shí)波形,示波器的數(shù)據(jù)處理量是比較大的,而且對(duì)處理速度也有很高的要求,所以該示波器采用“雙核”結(jié)構(gòu),兩片新型高速單片機(jī)協(xié)同工作,MCU1用于AD轉(zhuǎn)換,頻率測(cè)量,MCU2用于數(shù)據(jù)處理,彩色液晶屏控制。按鍵、編碼器等輸入部分由兩片單片機(jī)共同完成的,兩片單片機(jī)通過(guò)對(duì)一片雙端口RAM的讀寫,進(jìn)行高速通訊。</p><p>  目標(biāo)信號(hào)從探頭輸入,進(jìn)入程控放大(衰減)電路進(jìn)行

21、放大(衰減),放大(衰減)后的信號(hào)一路被送入高速AD轉(zhuǎn)換器,進(jìn)行AD轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)存入雙端口RAM,并通知MCU2取數(shù)據(jù);另一路直接送入MCU1的計(jì)數(shù)器引腳,進(jìn)行頻率測(cè)量,測(cè)量結(jié)果寫入雙端口RAM的特殊地址區(qū)。MCU2接到數(shù)據(jù)已更新的通知后,立馬從雙端口RAM中讀出數(shù)據(jù),經(jīng)過(guò)數(shù)據(jù)處理后,在液晶屏上顯示波形、頻率和電壓等信息。同時(shí)MCU1通過(guò)對(duì)兩個(gè)旋轉(zhuǎn)編碼器的信號(hào)采集,從而確定掃描周期和垂直靈敏度。</p><p&

22、gt;<b>  系統(tǒng)框圖如下:</b></p><p><b>  2.1 單片機(jī)選型</b></p><p>  2.1.1 STC12C5A60S2單片機(jī)簡(jiǎn)介</p><p>  STC12C5A60S2單片機(jī)是宏晶科技生產(chǎn)的單時(shí)鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超?抗干擾的新一代8051單片機(jī),指令代碼

23、完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S,即25萬(wàn)次/秒),針對(duì)電機(jī)控制,強(qiáng)干擾場(chǎng)合。</p><p>  1.增?型8051CPU,1T,單時(shí)鐘/機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051</p><p><b>  2.工作電壓:</b></p><p&

24、gt;  STC12C5A60S2系列工作電壓:5.5V - 3.5V(5V單片機(jī))</p><p>  STC12LE5A60S2 系列工作電壓:3.6V - 2.2V(3V單片機(jī))</p><p>  3.工作頻率范圍:0~35MHz,相當(dāng)于普通8051的0~420MHz</p><p>  4.用戶應(yīng)用程序空間 8K /16K / 20K

25、 / 32K / 40K / 48K / 52K / 60K / 62K 字節(jié)</p><p>  5.片上集成1280字節(jié)RAM</p><p>  6.通用I/O口(36/40/44個(gè)),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉,強(qiáng)推挽/強(qiáng)上拉,僅為輸入/高阻,開(kāi)漏。每個(gè)I/O口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不要超過(guò)1

26、20mA</p><p>  7.ISP(在系統(tǒng)可編程)/ IAP(在應(yīng)用可編程),無(wú)需專用編程器,無(wú)需專用仿真器可通過(guò)串口(P3.0/P3.1)直接下載用戶程序,數(shù)?即可完成一片</p><p>  8.有EEPROM功能(STC12C5A62S2/AD/PWM無(wú)內(nèi)部EEPROM)</p><p><b>  9.看門狗</b><

27、/p><p>  10.內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時(shí),復(fù)位腳可直接1K電阻到地)</p><p>  11.外部掉電檢測(cè)電路:在P4.6口有一個(gè)低壓門檻比較器</p><p>  5V單片機(jī)為1.33V,誤差為±5%,3.3V單片機(jī)為1.31V,誤差為±3%</p><p>  12.時(shí)鐘源:

28、外部高精度晶體/時(shí)鐘,內(nèi)部R/C振蕩器(溫漂為±5%到±10%以內(nèi))</p><p>  用戶在下載用戶程序時(shí)可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時(shí) 鐘</p><p>  常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機(jī)為:11MHz ~ 17MHz</p><p>  3.3V單片機(jī)為:8MHz ~ 12MHz<

29、/p><p>  精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,但因?yàn)橛兄圃煺`差和溫漂,以實(shí)際測(cè)試為準(zhǔn)</p><p>  13.共4個(gè)16位定時(shí)器</p><p>  兩個(gè)與傳統(tǒng)8051兼容的定時(shí)器/計(jì)數(shù)器,16位定時(shí)器T0和T1,沒(méi)有定時(shí)器2,但有獨(dú)立波特率發(fā)生器做串行通訊的波特率發(fā)生器,再加上2路PCA模塊可再實(shí)現(xiàn)2個(gè)16位定時(shí)器</p><p>

30、  14.3個(gè)時(shí)鐘輸出口,可由T0的溢出在P3.4/T0輸出時(shí)鐘,可由T1的溢出在P3.5/T1輸出時(shí)鐘,獨(dú)立波特率發(fā)生器可以在P1.0口輸出時(shí)鐘</p><p>  外部中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒,INT0/P3.2,INT1/P3.3,T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3(

31、也可通過(guò)寄存器設(shè)置到P4.2), CCP1/P1.4(也可通過(guò)寄存器設(shè)置到P4.3)</p><p>  PWM(2路)/ PCA(可編程計(jì)數(shù)器陣列,2路)</p><p>  ---也可用來(lái)當(dāng)2路D/A使用</p><p>  ---也可用來(lái)再實(shí)現(xiàn)2個(gè)定時(shí)器</p><p>  ---也可用來(lái)再實(shí)現(xiàn)2個(gè)外部中斷(上升沿中斷/下降沿中斷

32、均可分別或同時(shí)支持)</p><p>  17.A/D轉(zhuǎn)換,10位精度ADC,共8路,轉(zhuǎn)換速度可達(dá)250K/S(每秒鐘25萬(wàn)次)</p><p>  18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時(shí)器或PCA軟件實(shí)現(xiàn)多串口</p><p>  19.STC12C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD

33、2/P1.2(可通過(guò)寄存器設(shè)置到P4.2),TxD2/P1.3(可通過(guò)寄存器設(shè)置到P4.3)</p><p>  20.工作溫度范圍:-40 ~ +85℃(工業(yè)級(jí))/0 ~ 75℃(商業(yè)級(jí))</p><p>  21.封裝:LQFP-48, LQFP-44, PDIP-40, PLCC-44, QFN-40,I/O口不夠時(shí),可用2到3根普通I/O口線外接74HC164/165/595(

34、均可級(jí)聯(lián))來(lái)擴(kuò)展I/O口,還可用A/D做按鍵掃描來(lái)節(jié)省I/O口,或用雙CPU,三線通信,還多了串口。</p><p>  2.1.2 STC12C5A60S2系列單片機(jī)管腳圖</p><p>  STC12C5A60S2系列(有第二串口,有A/D轉(zhuǎn)換,有PWM/PCA功能,有內(nèi)部EEPROM)</p><p>  STC12C5A60AD系列(無(wú)第二串口,有A/D轉(zhuǎn)

35、換,有PWM/PCA功能,有內(nèi)部EEPROM)</p><p>  STC12C5A60PWM/CCP系列(無(wú)第二串口,無(wú)A/D轉(zhuǎn)換,有PWM/CCP功能,有內(nèi)部EEPROM)</p><p>  STC MCU 由P4SW寄存器設(shè)置(NA/P4.4,ALE/P4.5,EX_LVD/P4.6)三個(gè)端口的第二功能</p><p>  STC NA/P4.4: 0,復(fù)

36、位后P4SW.4=0,NA/P4.4腳是弱上拉,無(wú)任何功能</p><p>  1,通過(guò)設(shè)置P4SW.4=1,將NA/P4.4腳設(shè)置成I/O口(P4.4)</p><p>  ALE/P4.5: 0,復(fù)位后P4SW.5=0,ALE/P4.5腳是ALE信號(hào),只有在用MOVX指令訪問(wèn)片外擴(kuò)展器件時(shí)才有信號(hào)輸􀠀􂨀</p><p>

37、  1,通過(guò)設(shè)置P4SW.5=1,將ALE/P4.5腳設(shè)置成I/O口(P4.5)</p><p>  EX_LVD/P4.6:0,復(fù)位后P4SW.6=0,EX_LVD/P4.6是外部低壓檢測(cè)腳,可使用查詢方式或設(shè)置成中斷來(lái)檢測(cè)</p><p>  1,通過(guò)設(shè)置P4SW.6=1,將EX_LVD/P4.6腳設(shè)置成I/O口(P4.6)</p><p>  在ISP

38、燒錄程序時(shí)設(shè)置RST/P4.7的第二功能</p><p>  RST/P4.7在ISP燒錄程序時(shí)選擇是復(fù)位腳還是P4.7口,如設(shè)置成P4.7口,必須使用外部時(shí)鐘。</p><p>  由AUXR1寄存器設(shè)置(PCA/PWM/SPI/UART2)是在P1口還是在P4口</p><p>  PCA_P4: 0,復(fù)位后AUXR1.6=0,PCA/PWM在P1口</p

39、><p>  1,通過(guò)設(shè)置AUXR1.6=1,將PCA/PWM從P1口切換到P4口</p><p>  SPI_P4: 0,復(fù)位后AUXR1.5=0,SPI在P1口</p><p>  1,通過(guò)設(shè)置AUXR1.5=1,將SPI從P1口切換到P4口</p><p>  S2_P4: 0,復(fù)位后AUXR1.4=0,UART2/串口2在P1口(僅針對(duì)

40、雙串口單片機(jī)有效)</p><p>  1,通過(guò)設(shè)置AUXR1.4=1,將UART2/串口2從P1口切換到P4口(僅針對(duì)雙串口單片機(jī)有效)</p><p>  2.1.3 STC12C5A60S2系列單片機(jī)的內(nèi)部結(jié)構(gòu)</p><p>  STC12C5A60S2系列單片機(jī)的內(nèi)部結(jié)構(gòu)框圖如下圖所示。STC12C5A60S2單片機(jī)中包含中央處理器(CPU)、程序存儲(chǔ)器(

41、Flash)、數(shù)據(jù)存儲(chǔ)器(SRAM)、定時(shí)/計(jì)數(shù)器、UART串口、串口2、I/O接口、高速A/D轉(zhuǎn)換、SPI接口、PCA、看門狗及片內(nèi)R/C振蕩器和外部晶體振蕩電路等模塊。STC12C5A60S2系列單片機(jī)幾乎包含了數(shù)據(jù)采集和控制中所需的所有單元模塊,可稱得上一個(gè)片上系統(tǒng)。</p><p>  2.2 程控放大電路</p><p>  該部分電路采用模擬開(kāi)關(guān)芯片CD4051來(lái)控制通道的選擇

42、,通過(guò)選擇不同的通道,改變接入運(yùn)算放大電路的反饋電阻的阻值,從而改變運(yùn)算放大電路的放大衰減倍數(shù),以便把輸入電壓調(diào)整到適合AD轉(zhuǎn)換芯片采集的范圍。</p><p>  CD4051它允許雙向使用,即可用多到一的切換輸出,也可用于一到多的輸出切換。由于多路開(kāi)關(guān)的導(dǎo)通電阻Ron比機(jī)械開(kāi)關(guān)大得多,對(duì)控制增益放大的增益影響較明顯,所以在反饋電阻計(jì)算式時(shí)要考慮CD4051的導(dǎo)通電阻。經(jīng)實(shí)際測(cè)試當(dāng)Vdd=5V,Vee=0V時(shí),

43、CD4051的Ron=280Ω。</p><p>  該部分電路中運(yùn)算放大器選用較為常見(jiàn)得LF353,該運(yùn)算放大器最大雙電源電壓:±18V ,由于AD轉(zhuǎn)換器的輸入電壓范圍為0—5V,故這里采用雙電源電壓:±18V。</p><p>  從上面的電路圖,我們可以看出:</p><p><b>  一級(jí)放大輸出電壓</b><

44、;/p><p>  Uo1=Rf(Vdd/Rw2-Ui/R3);</p><p>  Rf=Ron+R?;</p><p>  其中Ui為輸入電壓,R?為CD4051所選通道電阻。</p><p><b>  二級(jí)放大輸出電壓</b></p><p>  Uo2=R5(Vcc/Rw2-Uo1/R4);

45、</p><p>  2.2 AD轉(zhuǎn)換電路</p><p>  該部分電路的AD轉(zhuǎn)換芯片為TLC0820,單片機(jī)采用片外尋址的方式對(duì)其操作,這樣使得程序變得非常簡(jiǎn)單,僅僅只需一條片外尋址指令就可讀出AD轉(zhuǎn)換結(jié)果,同樣啟動(dòng)AD轉(zhuǎn)換也只需一條片外尋址指令。</p><p><b>  芯片簡(jiǎn)介:</b></p><p> 

46、 TLC0820是德州儀器公司(TI)推出的,采用先進(jìn)LinCMOS工藝制造的8位A/D轉(zhuǎn)換器,它由2個(gè)4位的閃速(FLASH)轉(zhuǎn)換器,1個(gè)4位的數(shù)模轉(zhuǎn)換器,1個(gè)計(jì)算誤差放大器,控制邏輯電路和結(jié)果鎖存電路組成。其可校正的FLASH技術(shù)可以保證芯片在工作溫度范圍內(nèi)完成一個(gè)8位轉(zhuǎn)換僅僅需要1.18us。芯片的跟蹤保持電路有100ns的采樣窗口,它允許芯片以100mV/us的轉(zhuǎn)換率轉(zhuǎn)換連續(xù)的模擬信號(hào)而不需要外部的采樣電路。TTL兼容的3態(tài)輸出

47、驅(qū)動(dòng)和2種操作模式可以方便的與各種微處理器接口。</p><p>  從上面的介紹和電路圖都可以看出,這款高速AD轉(zhuǎn)換芯片的外圍電路非常簡(jiǎn)單,這是我選擇這塊芯片的很重要的原因。有人可能會(huì)說(shuō)采用8位的AD轉(zhuǎn)換芯片是否精度太低了,其實(shí)不然。因?yàn)槲覀兪褂檬静ㄆ髦饕强葱盘?hào)波形的變化,而不是為了測(cè)量電壓。而且該示波器采用的液晶屏分辨率為320*240,其垂直方向?yàn)?40格,而8為AD轉(zhuǎn)換器的轉(zhuǎn)換結(jié)果為0—255,已經(jīng)超出

48、液晶屏的分辨率,所以說(shuō)8位AD轉(zhuǎn)換器是完全足夠的。該芯片屬于高速AD轉(zhuǎn)換器,速度轉(zhuǎn)換頻率可達(dá)500K Hz,相對(duì)于一般AD轉(zhuǎn)換芯片,速度還是非??捎^的。但用于示波器AD轉(zhuǎn)換,就顯得有些慢了,這對(duì)于示波器來(lái)說(shuō)也是個(gè)致命的缺陷。之所以還是選擇了這款A(yù)D轉(zhuǎn)換器,主要原因還是其外圍電路簡(jiǎn)單,且是DIP封裝,便于測(cè)試、安裝。</p><p><b>  AD轉(zhuǎn)換程序如下:</b></p>

49、<p>  unsigned char ad()</p><p><b>  {</b></p><p>  XBYTE[0x1fff]=0xff; //啟動(dòng)AD轉(zhuǎn)換</p><p>  while(P11==0); //等待轉(zhuǎn)換結(jié)束</p><p>  return(XBYTE[0x0f

50、ff]);//返回AD轉(zhuǎn)換結(jié)果</p><p><b>  }</b></p><p>  兩單片機(jī)之間的通訊電路</p><p>  該部分電路采用了一片雙端口RAMIDT7132芯片作為數(shù)據(jù)傳輸?shù)暮诵钠骷瑑蓡纹瑱C(jī)都采用片外尋址的方式對(duì)IDT7132進(jìn)行讀寫,程序非常簡(jiǎn)單明了,而且也可以作為片外RAM使用,便于存儲(chǔ)大量AD轉(zhuǎn)換的數(shù)據(jù)。<

51、;/p><p>  該IDT7132是高速2K x 8雙端口靜態(tài)RAMs。該IDT7132被設(shè)計(jì)用來(lái)作為8-bit雙口RAM的獨(dú)立或作為“主人”雙口RAM一起IDT7142“奴隸”雙端口在16-bit-or-more字寬系統(tǒng)。使用IDT主/從屬雙口RAM記憶體系統(tǒng)的做法,16-or-more-bit在全速,無(wú)差錯(cuò)操作的應(yīng)用結(jié)果,而不需要額外的分立邏輯.這兩款器件提供兩個(gè)獨(dú)立的控制獨(dú)立端口,地址,和L /允許獨(dú)立的,異

52、步訪問(wèn)的O pins讀取或?qū)懭雰?nèi)存中的任何位置.自動(dòng)關(guān)機(jī)功能,控制CE允許每個(gè)端口的片上電路進(jìn)入一個(gè)非常低的待機(jī)功耗模式。制作中,采用IDT的CMOS高性能技術(shù),這些設(shè)備通常只經(jīng)營(yíng)權(quán)力325mW。低功耗(LA)版本提供電池備份的數(shù)據(jù)保存能力,每雙端口,通常從200µW消耗電池2V。該IDT7132/7142器件封裝在一個(gè)48-pin sidebraze或塑料DIPs, 48-pin LCCs, 52-pin PLCCs和48-

53、lead flatpacks。軍用級(jí)產(chǎn)品是符合最新修訂MIL-PRF-38535 QML,因此非常適合于軍事高溫應(yīng)用的性能要求最高水平和可靠性。</p><p>  該IDT7132提供兩個(gè)單獨(dú)的控制端口,地址和I / O pins允許讀取或獨(dú)立訪問(wèn)寫入內(nèi)存中的任何位置。有一本IDT7132/IDT7142自動(dòng)斷電功能控制CE.該CE控制上芯片掉電電路,允許到相應(yīng)的端口去待機(jī)模式時(shí),沒(méi)有選擇(CE =VIH)。當(dāng)

54、一個(gè)端口被啟用,訪問(wèn)整個(gè)存儲(chǔ)器陣列是允許的。</p><p>  忙碌的邏輯提供了硬件的跡象表明這兩個(gè)端口已存取內(nèi)存在同一時(shí)間同一地點(diǎn).它還允許兩個(gè)人進(jìn)行訪問(wèn),并通知對(duì)方該RAM是“忙”。該忙引腳可被用來(lái)搪塞訪問(wèn),直到對(duì)對(duì)方的行動(dòng)已經(jīng)完成.如果寫入操作一直試圖從側(cè)面接收一個(gè)忙指示,寫門控信號(hào),以防止內(nèi)部寫的進(jìn)行。使用忙邏輯并不需要或適宜的所有應(yīng)用系統(tǒng)蒸發(fā)散。在某些情況下,它可能是有用的邏輯或的忙輸出一起使用任何忙

55、指示作為國(guó)旗的中斷源事件一非法或不合理的操作該忙在IDT7132 RAM的主輸出的圖騰柱類型輸出,并且不需要上拉電阻進(jìn)行操作.如果這些RAMs是正在擴(kuò)大深入,則忙顯示的結(jié)果數(shù)組不需要外部與門的使用。</p><p>  2.4 單片機(jī)外部輸入電路</p><p>  關(guān)于這部分電路,按鍵開(kāi)關(guān)這里就不在多講了,主要講下旋轉(zhuǎn)編碼開(kāi)關(guān)這種新型電子器件。</p><p>

56、  小型旋轉(zhuǎn)編碼器,又稱旋轉(zhuǎn)編碼開(kāi)關(guān),是指具有一組有規(guī)律且嚴(yán)格時(shí) 序脈沖的開(kāi)關(guān)電子元器件。通過(guò)與IC的配合,起到遞增,遞減,翻頁(yè)等功能,例:鼠標(biāo)的翻頁(yè),菜單的選擇,音響的聲音與調(diào)節(jié),頻率的調(diào)節(jié),多仕爐的溫度調(diào)節(jié),醫(yī)用器械的頻率調(diào)節(jié)等。按結(jié)構(gòu)可將其分為機(jī)械式旋轉(zhuǎn)編碼開(kāi)關(guān)和光電式旋轉(zhuǎn)編碼開(kāi)關(guān)。所謂機(jī)械式旋轉(zhuǎn)編碼開(kāi)關(guān),是指通過(guò)信號(hào)配合零件的規(guī)律轉(zhuǎn)動(dòng)或(移動(dòng))形成觸點(diǎn)接觸而產(chǎn)生規(guī)律脈沖的編碼產(chǎn)品,其壽命具有較大的局限性;光電式旋轉(zhuǎn)編碼開(kāi)關(guān),是指

57、通過(guò)光源耦合,形成的無(wú)接觸點(diǎn)接觸而產(chǎn)生規(guī)律脈沖的編碼產(chǎn)品,其壽命極長(zhǎng)。</p><p>  上圖中的旋轉(zhuǎn)編碼器是比較常見(jiàn)的一種,具有左轉(zhuǎn),右轉(zhuǎn),按下三個(gè)功能。4、5腳是中間按下去的開(kāi)關(guān)接線 1 、2、 3腳一般是中間2腳接地,1、3腳上拉電阻后,當(dāng)左轉(zhuǎn)、右轉(zhuǎn)旋紐時(shí),在1、3腳就有脈沖信號(hào)輸出了。</p><p>  編碼器的信號(hào)采集非常簡(jiǎn)單,只需在A(B)的上升沿和下降沿時(shí),判斷

58、B(A)的高低電平即可。注意必須周期性的對(duì)A,B腳進(jìn)行掃描,頻率過(guò)低會(huì)導(dǎo)致偶爾檢測(cè)不到。</p><p>  旋轉(zhuǎn)編碼器信號(hào)采集程序:</p><p>  改程序功能是通過(guò)扭動(dòng)旋轉(zhuǎn)編碼器,可以使變量num遞加或遞減。</p><p>  bit Awlast; //存儲(chǔ)A腳上次檢測(cè)時(shí)的電平</p><p>  unsigned int num

59、=100; //變量 </p><p>  sbit Aw=P1^0;//旋轉(zhuǎn)編碼器A腳</p><p>  sbit Bw=P1^2;//旋轉(zhuǎn)編碼器B腳</p><p>  void scan()</p><p><b>  {</b></p><p>  if((Aw==1)&&

60、;(Awlast==0)) //A腳的上升沿</p><p><b>  {</b></p><p><b>  if(Bw==1)</b></p><p><b>  num++;</b></p><p><b>  if(Bw==0)</b><

61、;/p><p><b>  num--;</b></p><p><b>  }</b></p><p>  if((Aw==0)&&(Awlast==1)) //A腳的下降沿</p><p><b>  {</b></p><p>&l

62、t;b>  if(Bw==1)</b></p><p><b>  num--;</b></p><p><b>  if(Bw==0)</b></p><p><b>  num++;</b></p><p><b>  }</b>&l

63、t;/p><p>  Awlast=Aw;//存儲(chǔ)A的電平,供下次檢測(cè)用</p><p><b>  }</b></p><p>  彩色液晶屏控制部分電路</p><p>  該部分電路采用了普通128*64單色液晶屏的標(biāo)準(zhǔn)接口,總共20腳,但實(shí)際電路中采用的是320*240的彩色液晶屏,該液晶屏在硬件接口上與128*64

64、液晶屏是可以兼容的,只需用到1~16腳。</p><p>  本電路中使用的是一塊高畫質(zhì)的 TFT 真彩 LCD 模塊,具有豐富多樣的接口、編程方便、易于擴(kuò)展等良好性能。 內(nèi)置專用驅(qū)動(dòng)和控制 IC(SPFD5408),并且驅(qū)動(dòng) IC 自己集成顯示緩存,無(wú)需外部顯示緩存。</p><p>  彩色 TFT LCD 顯示模塊的基本參數(shù)如下表:</p><p>  該彩色

65、液晶模塊支持標(biāo)準(zhǔn) intel8080 總線,總線的最高速度可達(dá) 8MHz,也就是說(shuō),如果控制 MCU 速度足夠快的話,是可以支持視頻的顯示的。模塊的總線接口是 8 位的,也就意味著對(duì)顯存的某一個(gè)地址操作時(shí),需要連續(xù)進(jìn)行兩次操作方可完成,先傳高字節(jié)再傳低字節(jié)。</p><p>  該彩色液晶模塊內(nèi)部有一個(gè)顯存地址累加器 在連續(xù)對(duì)屏幕顯示數(shù)據(jù)操作時(shí)非常有用,特別置為各種方向的累加方式,如通常情況下為對(duì) 換到下一行的開(kāi)

66、始累加;還可以為對(duì) Y Address 會(huì)切換到下一個(gè) X Address 所對(duì)應(yīng)的列開(kāi)始累加。另外,該模塊還提供了窗口操作的功能,可以對(duì)顯示屏上的某一個(gè)矩形區(qū)域進(jìn)行連續(xù)操作。</p><p>  對(duì)液晶模塊的操作主要分為兩種,一是對(duì)控制寄存器的讀寫操作,二是對(duì)顯存的讀寫操作;而這兩種操作實(shí)際上都是通過(guò)對(duì) LCD 控制器(SPFD5408)的寄存器(register)進(jìn)行操作完成的,SPFD5408提供了一個(gè)索引

67、寄存器(Index register),對(duì)該 Index register 寄存器的寫入操作可以指定操作的寄存器索引,以便于完成控制寄存器、顯存操作寄存器的讀寫操作。 提供了 RS(有些資料稱 A0)控制線,并以此線的高低電平狀態(tài)來(lái)區(qū)別這對(duì) Index register 操作還是對(duì)所指向的寄存器進(jìn)行操作:當(dāng) RS 為低電平時(shí),表示當(dāng)前的總線操作是對(duì) Index register 進(jìn)行操作,即指明接下去的寄存器操作是針對(duì)哪一個(gè)寄存器的;當(dāng)

68、 RS 為高電平時(shí),表示為對(duì)寄存器操作。模塊內(nèi)部有控制寄存器,用戶在使用之前以及對(duì)其進(jìn)行操作過(guò)程當(dāng)中,需要對(duì)一些寄存器進(jìn)行寫操作以完成對(duì) LCD 的初始化,或者是完成某些功能的設(shè)置(如當(dāng)前顯存操作地址設(shè)置等)。對(duì)控制寄存器進(jìn)行操作前,需要先對(duì)索引寄存器(Indexregister)進(jìn)行定入操作,以指明接下去的寄存器讀寫操作是針對(duì)哪一個(gè)寄存器</p><p>  1、 在 RS 為低電平的狀態(tài)下,寫入兩個(gè)字節(jié)的數(shù)據(jù)

69、,第一個(gè)字節(jié)為零,第二字節(jié)為寄存器索引值。</p><p>  2、 然后在 RS 為主電平的狀態(tài)下,寫入兩個(gè)字節(jié)數(shù)據(jù),第一字節(jié)為高八位,第二字節(jié)為低八位;如要讀出指定寄存器的數(shù)據(jù),則需要連續(xù)三次讀操作方能完成一次讀出操作,第一個(gè)字節(jié)為無(wú)效數(shù)據(jù),第二字節(jié)為高八位,第三字節(jié)為低八位。</p><p>  模塊的控制寄存器當(dāng)中,最常被調(diào)用的是寄存器除了對(duì)顯存操作的 0x22 寄存器外,還有當(dāng)前

70、顯存地址的寄存器display RAM bus address counter (AC),一共由兩個(gè)的寄存器組成,分別存放有XAddress和Y Adderss,表示當(dāng)前對(duì)顯存數(shù)據(jù)的讀寫操作是針對(duì)于該地址所指向的顯存單元;而每一個(gè)顯存單元在前面已經(jīng)用圖示意過(guò),每個(gè)單元有 16 位,最高的 5 位為R(紅)的分量,最低的 5 位為B(藍(lán))的分量,中間 6 位為G(綠)分量。</p><p><b>  顯

71、存單元示意圖</b></p><p>  所以,當(dāng)需要對(duì) LCD 顯示面板上某一個(gè)點(diǎn)(X,Y)進(jìn)行操作時(shí),需要先設(shè)置 AC,以指向需要操作的點(diǎn)所對(duì)應(yīng)的顯存地址,然后連續(xù)寫入或者讀出數(shù)據(jù),才完成對(duì)該點(diǎn)的顯存單元的數(shù)據(jù)操作。而當(dāng)對(duì)某一個(gè)顯存單元完成寫入數(shù)據(jù)操作后,AC 會(huì)自動(dòng)的進(jìn)行調(diào)整,或者是不進(jìn)行調(diào)整(根據(jù)控制寄存器中的設(shè)置而決定)保持原來(lái)指向。AC 的這個(gè)特性對(duì)于 模塊來(lái)說(shuō)非常有用,可以根據(jù)此特性設(shè)計(jì)

72、出快速的 LCD 顯示操作功能函數(shù),以適應(yīng)不同用戶的需求。</p><p><b>  其它部分電路</b></p><p><b>  串口通訊電路</b></p><p>  該部分為串口通訊電路,負(fù)責(zé)單片機(jī)與PC機(jī)之間的通訊,主要用于單片機(jī)程序下載,也為以后升級(jí)為虛擬示波器提供硬件支持。由于STC12C5A60S2這

73、款單片機(jī)可以通過(guò)串口進(jìn)行程序下載,該電路采用了一片串口通訊芯片MAX232,實(shí)現(xiàn)串口電平轉(zhuǎn)換,通過(guò)一個(gè)雙刀雙擲開(kāi)關(guān),決定PC機(jī)與哪一片單片機(jī)進(jìn)行通訊,使用時(shí)非常方便。</p><p>  MAX232芯片簡(jiǎn)介:</p><p>  MAX232芯片是美信(MAXIM)公司專門RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。</p><p>  第

74、一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。TTL/CMOS數(shù)據(jù)從T1

75、IN、T2IN輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。第三部分是供電。15腳GND、16腳VCC(+5v)。</p><p>  符合所有的RS-232C技術(shù)標(biāo)準(zhǔn)   </p><p>  只需要單一 +5V電源供電   </p><

76、;p>  片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-   </p><p>  功耗低,典型供電電流5mA   </p><p>  內(nèi)部集成2個(gè)RS-232C驅(qū)動(dòng)器   </p><p>  高集成度,片外最低只需4個(gè)電容即可工作。</p><p><b>  電源部分電路</b&g

77、t;</p><p>  該部分電路為整個(gè)電路板提供電源,主要用到7805和ICL7660兩塊集成電路,其中7805將外部輸入電壓穩(wěn)定在+5V左右,+5V電壓輸入極性反轉(zhuǎn)電源轉(zhuǎn)換器ICL7660,得到-5V供運(yùn)算放大器使用。</p><p><b>  7805簡(jiǎn)介:</b></p><p>  電子產(chǎn)品中,常見(jiàn)的三端穩(wěn)壓集成電路有正電壓輸出的

78、78××系列和負(fù)電壓輸出的79××系列。顧名思義,三端IC是指這種穩(wěn)壓用的集成電路,只有三條引腳輸出,分別是輸入端、接地端和輸出端。它的樣子象是普通的三極管,TO- 220 的標(biāo)準(zhǔn)封裝,也有9013樣子的TO-92封裝。用78/79系列三端穩(wěn)壓IC來(lái)組成穩(wěn)壓電源所需的外圍元件極少,電路內(nèi)部還有過(guò)流、過(guò)熱及調(diào)整管的保護(hù)電路,使用起來(lái)可靠、方便,而且價(jià)格便宜。該系列集成穩(wěn)壓IC型號(hào)中的78或79后面的

79、數(shù)字代表該三端集成穩(wěn)壓電路的輸出電壓,如7806表示輸出電壓為正6V,7909表示輸出電壓為負(fù)9V。因?yàn)槿斯潭煞€(wěn)壓電路的使用方便,電子制作中經(jīng)常采用。</p><p>  在實(shí)際應(yīng)用中,應(yīng)在三端集成穩(wěn)壓電路上安裝足夠大的散熱器(當(dāng)然小功率的條件下不用)。當(dāng)穩(wěn)壓管溫度過(guò)高時(shí),穩(wěn)壓性能將變差,甚至損壞。當(dāng)制作中需要一個(gè)能輸出1.5A以上電流的穩(wěn)壓電源,通常采用幾塊三端穩(wěn)壓電路并聯(lián)起來(lái),使其最大輸出電流為N個(gè)1.

80、5A,但應(yīng)用時(shí)需注意:并聯(lián)使用的集成穩(wěn)壓電路應(yīng)采用同一廠家、同一批號(hào)的產(chǎn)品,以保證參數(shù)的一致。另外在輸出電流上留有一定的余量,以避免個(gè)別集成穩(wěn)壓電路失效時(shí)導(dǎo)致其他電路的連鎖燒毀。</p><p>  ICL7660簡(jiǎn)介:</p><p>  ICL7660是Maxim公司生產(chǎn)的小功率極性反轉(zhuǎn)電源轉(zhuǎn)換器。該集成電路與TC7662ACPA,MAX1044的內(nèi)部電路及引腳功能完全一致,可以直接替

81、換。ICL7660的靜態(tài)電流典型值為170μA,輸入電壓范圍為1.5-10V,(Intersil公司ICL7660A輸入電壓范圍為1.5-12)工作頻率為10 kHz只需外接10 kHz的小體積電容,只需外接10μF的小體積電容效率高達(dá)98%合輸出功率可達(dá)700mW(以DIP封裝為例),符合輸出100mA的要求。</p><p>  2.8 原理圖與PCB圖</p><p><b&g

82、t;  示波器電路板原理圖</b></p><p><b>  示波器電路板原理圖</b></p><p><b>  MCU軟件設(shè)計(jì)</b></p><p>  程序是電路的靈魂,沒(méi)有程序,那一堆堆的電路起不到任何作用,完全是一堆廢板子!就像一臺(tái)沒(méi)有裝操作系統(tǒng)的電腦一樣,只能費(fèi)電。程序設(shè)計(jì)是整個(gè)示波器的關(guān)鍵,

83、也是難點(diǎn)。該示波器的程序全部是自己用C語(yǔ)言編寫的,開(kāi)發(fā)環(huán)境為keil uvision4。</p><p><b>  2.1 程序流程圖</b></p><p><b>  MCU1程序流程圖</b></p><p><b>  MCU2程序流程圖</b></p><p>  

84、2.2 單片機(jī)程序源代碼</p><p>  #include"string.h"</p><p>  #define Xaddr 0x0021 // 水平地址設(shè)置</p><p>  #define Yaddr 0x0020 // 垂直地址設(shè)置</p><p><b>  //液晶屏引腳</b

85、></p><p>  sbit CS=P1^5; </p><p>  sbit RES=P1^4; </p><p>  sbit RS=P1^1; </p><p>  sbit RW=P1^2; //顏色代碼 黑紅 綠 藍(lán) 青 紫黃 白</p&g

86、t;<p>  unsigned int code</p><p>  cdata[]={0x0000,0xf800,0x07e0,0x001f,0x07ff,0xf81f,0xffe0,0xffff};</p><p>  // 0 1 2 3 4 56 7</p><p>  code struct{<

87、;/p><p>  unsigned char dat[36];//自定義24*24 ASCII碼字庫(kù)</p><p>  }word[]={……};(花括號(hào)里面為自定義的24*24的常用字符的字庫(kù),內(nèi)容非常多,這里就不寫出來(lái)了)</p><p><b>  // 寫指令</b></p><p>  void TFT_wc

88、(unsigned char DH,unsigned char DL)</p><p><b>  {</b></p><p><b>  CS=0;</b></p><p><b>  RS=0;</b></p><p><b>  P0=DH;</b>

89、</p><p><b>  RW=0;</b></p><p><b>  RW=1;</b></p><p><b>  P0=DL;</b></p><p><b>  RW=0;</b></p><p><b> 

90、 RW=1;</b></p><p><b>  CS=1;</b></p><p><b>  }</b></p><p>  //===================================================================</p><p>&

91、lt;b>  //// 寫數(shù)據(jù)</b></p><p>  void TFT_wd(unsigned int dat)</p><p><b>  {</b></p><p><b>  CS=0;</b></p><p><b>  RS=1;</b><

92、;/p><p>  P0=dat/256;</p><p><b>  RW=0;</b></p><p><b>  RW=1;</b></p><p>  P0=dat%256; </p><p><b>  RW=0;</b></p

93、><p><b>  RW=1;</b></p><p><b>  CS=1;</b></p><p><b>  }</b></p><p><b>  // 寫數(shù)據(jù)指令</b></p><p>  void TFT_wcd(un

94、signed char x,unsigned int y)</p><p><b>  {</b></p><p>  TFT_wc(0x00,x);</p><p>  TFT_wd(y);</p><p><b>  }</b></p><p><b>  //

95、延時(shí)函數(shù)</b></p><p>  void delayms(unsigned int count)</p><p><b>  {</b></p><p>  int i,j;

96、 </p><p>  for(i=0;i<count;i++) </p><p>  for(j=0;j<260;j++);</p><p><b>  }</b></p><

97、;p>  //=============================================================</p><p><b>  //液晶初始化</b></p><p>  void TFT_initial(void)</p><p><b>  {</b></p>

98、<p><b>  CS=1;</b></p><p>  delayms(5);</p><p><b>  RES=0;</b></p><p>  delayms(5);</p><p><b>  RES=1;</b></p><p>

99、  delayms(5);</p><p>  delayms(50);</p><p>  TFT_wcd(0x0001,0x0100); </p><p>  TFT_wcd(0x0002,0x0700); </p><p>  TFT_wcd(0x0003,0x1030); </p><p>  TFT_wcd(

100、0x0004,0x0000); </p><p>  TFT_wcd(0x0008,0x0207); </p><p>  TFT_wcd(0x0009,0x0000);</p><p>  TFT_wcd(0x000A,0x0000); </p><p>  TFT_wcd(0x000C,0x0000); </p><

101、p>  TFT_wcd(0x000D,0x0000);</p><p>  TFT_wcd(0x000F,0x0000);</p><p>  TFT_wcd(0x0010,0x0000); </p><p>  TFT_wcd(0x0011,0x0007); </p><p>  TFT_wcd(0x0012,0x0000);

102、 </p><p>  TFT_wcd(0x0013,0x0000); </p><p>  TFT_wcd(0x0010,0x1290); </p><p>  TFT_wcd(0x0011,0x0227);</p><p>  TFT_wcd(0x0012,0x001d);</p><p>  TFT_wcd(

103、0x0013,0x1500);</p><p>  TFT_wcd(0x0029,0x0018); </p><p>  TFT_wcd(0x002B,0x000D); </p><p>  TFT_wcd(0x0030,0x0004);</p><p>  TFT_wcd(0x0031,0x0307);</p><p&g

104、t;  TFT_wcd(0x0032,0x0002);</p><p>  TFT_wcd(0x0035,0x0206);</p><p>  TFT_wcd(0x0036,0x0408);</p><p>  TFT_wcd(0x0037,0x0507); </p><p>  TFT_wcd(0x0038,0x0204);</p&g

105、t;<p>  TFT_wcd(0x0039,0x0707); </p><p>  TFT_wcd(0x003C,0x0405);</p><p>  TFT_wcd(0x003D,0x0F02); </p><p>  TFT_wcd(0x0050,0x0000); </p><p>  TFT_wcd(0x0051,0x0

106、0EF);</p><p>  TFT_wcd(0x0052,0x0000); </p><p>  TFT_wcd(0x0053,0x013F); </p><p>  TFT_wcd(0x0060,0xA700); </p><p>  TFT_wcd(0x0061,0x0001); </p><p>  TFT

107、_wcd(0x006A,0x0000); </p><p>  TFT_wcd(0x0080,0x0000); </p><p>  TFT_wcd(0x0081,0x0000); </p><p>  TFT_wcd(0x0082,0x0000); </p><p>  TFT_wcd(0x0083,0x0000); </p>

108、<p>  TFT_wcd(0x0084,0x0000); </p><p>  TFT_wcd(0x0085,0x0000); </p><p>  TFT_wcd(0x0090,0x0010); </p><p>  TFT_wcd(0x0092,0x0600); </p><p>  TFT_wcd(0x0093,0x000

109、3); </p><p>  TFT_wcd(0x0095,0x0110); </p><p>  TFT_wcd(0x0097,0x0000); </p><p>  TFT_wcd(0x0098,0x0000);</p><p>  TFT_wcd(0x0007,0x0133);</p><p><b>

110、  }</b></p><p>  //===============================================================</p><p><b>  //液晶屏打點(diǎn)函數(shù)</b></p><p>  static void TFT_draw(unsigned int x,unsigned

111、int y,unsigned char color)</p><p><b>  { </b></p><p>  TFT_wcd(Xaddr,x);//寫入水平坐標(biāo)</p><p>  TFT_wcd(Yaddr,y);//寫入垂直坐標(biāo)</p><p>  TFT_wc(0x00,0x22);</p&g

112、t;<p>  TFT_wd(cdata[color]);//設(shè)置該點(diǎn)的顏色</p><p><b>  }</b></p><p>  //液晶屏漢字顯示函數(shù)</p><p>  void TFT_word(unsigned int x,unsigned int y,unsigned char dat[],unsigned ch

113、ar color,char size) //該地址為漢字的左下角起始地址</p><p><b>  { </b></p><p>  unsigned char i,j;</p><p><b>  y+=24;</b></p><p>  for(i=0;i<12*size;i++

114、)</p><p><b>  {</b></p><p>  for(j=0;j<8;j++)</p><p><b>  {</b></p><p>  if(dat[3*i]%(1<<(8-j))/(1<<(7-j))==1)</p><p&g

115、t;  TFT_draw(x+i,y-j,color); //</p><p><b>  else</b></p><p>  TFT_draw(x+i,y-j,0);</p><p>  if(dat[3*i+1]%(1<<(8-j))/(1<<(7-j))==1)</p><p> 

116、 TFT_draw(x+i,y-j-8,color); //加減號(hào)直接決定了文字的方向</p><p><b>  else</b></p><p>  TFT_draw(x+i,y-j-8,0);</p><p>  if(dat[3*i+2]%(1<<(8-j))/(1<<(7-j))==1)</p>

117、<p>  TFT_draw(x+i,y-j-16,color); //</p><p><b>  else</b></p><p>  TFT_draw(x+i,y-j-16,0);</p><p><b>  }</b></p><p><b>  }<

118、/b></p><p><b>  }</b></p><p><b>  //字符串顯示</b></p><p>  void TFT_string(unsigned x,unsigned int y,unsigned char dat[],unsigned char color)</p><p

溫馨提示

  • 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ù)僅提供信息存儲(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)論