版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 簡(jiǎn)易多種傳感器信號(hào)測(cè)試儀設(shè)計(jì)</p><p> ——AD590溫度測(cè)試儀</p><p><b> 摘 要</b></p><p> 本課題主要介紹了溫度測(cè)量的硬件電路的設(shè)計(jì)和相關(guān)軟件設(shè)計(jì)。硬件電路主要包括主控制器,測(cè)溫電路和顯示電路等,控制器采用單片機(jī)AT89C51,溫度傳感器采用美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的
2、AD590,顯示電路采用3位共陽(yáng)極LED數(shù)碼管以動(dòng)態(tài)掃描法直讀顯示。系統(tǒng)程序主要包括主程序,讀出溫度子程序,溫度轉(zhuǎn)換命令子程序,計(jì)算溫度子程序,顯示數(shù)據(jù)子程序等。此外,還介紹了系統(tǒng)的調(diào)試和性能分析。</p><p> 關(guān)鍵詞:AD590、ADC0804、AT89C51</p><p><b> Abstract:</b></p><p>
3、 This topic mainly introduces the temperature sensor of hardware circuit design and software design of the system. Hardware circuit include Lord controller, temperature measurement circuit and display circuit by single c
4、hip microcomputer AT89C51, controller, the temperature sensor using the American DALLAS semiconductor company produces the AD590, show circuit with 3 a total of anode LED digital dynamic scanning tube method to read disp
5、lay. Straight The system includes main program, the program r</p><p> Keywords: AD590, ADC0804, AT89C51</p><p><b> 目 錄</b></p><p> 第一章 緒論............................
6、......................................1</p><p> 1.1課題背景及意義.........................................................1</p><p> 1.2課題應(yīng)用前景..........................................................
7、..1</p><p> 第二章 總體設(shè)計(jì)方案......................................................2</p><p> 2.1 總體設(shè)計(jì)框圖..........................................................2</p><p> 2.2 總體設(shè)計(jì)方案分析.
8、....................................................2</p><p> 第三章 硬件設(shè)計(jì)原理......................................................3</p><p> 3.1 總原理圖及工作原理分析.........................................
9、...3</p><p> 3.2 AD590傳感器檢測(cè)電路單元.............................................3</p><p> 3.3 放大電路.......................................................5</p><p> 3.4 A/D轉(zhuǎn)換電路單元......
10、.................................................6</p><p> 3.5 CPU主控電路單元......................................................10</p><p> 3.6 顯示電路單元.............................................
11、...............14</p><p> 3.7 供電電源單元..........................................................15</p><p> 第四章 軟件設(shè)計(jì)分析.......................................................16</p><p>
12、; 4.1 系統(tǒng)總流程圖............................................................16</p><p> 4.2 A/D轉(zhuǎn)換的啟動(dòng)及轉(zhuǎn)換結(jié)果獲取....................................19</p><p> 4.3 程序流程分析................................
13、............................19</p><p> 第五章 結(jié)語(yǔ)..................................................................21</p><p> 參考文獻(xiàn)..................................................................
14、.....21</p><p> 致謝詞.......................................................................22</p><p> 附錄..............................................................23</p><p><
15、b> 第一章 緒 論</b></p><p> 1.1課題背景及意義</p><p> 一些傳感器市場(chǎng)比如壓力傳感器、溫度傳感器、流量傳感器、水平傳感器.稱重傳感器已表現(xiàn)出成熟市場(chǎng)的特征。流量傳感器、壓力傳感器、溫度傳感器.稱重傳感器的市場(chǎng)規(guī)模最大,分別占到整個(gè)傳感器市場(chǎng)的21%、19%和14%。傳感器市場(chǎng)的主要增長(zhǎng)來(lái)自于無(wú)線傳感器、MEMS傳感器、生物傳感器等新興
16、傳感器。其中,無(wú)線傳感器在2007-2010年復(fù)合年增長(zhǎng)率預(yù)計(jì)會(huì)超過(guò)25%。</p><p> 與傳統(tǒng)的溫度計(jì)相比,由于采用了改進(jìn)型智能溫度傳感器AD590作為檢測(cè)元件,本數(shù)字溫度計(jì)減少了外部的硬件電路,具有低成本和易使用的特點(diǎn)。AD590溫度計(jì)還可以在過(guò)限報(bào)警、遠(yuǎn)距離多點(diǎn)測(cè)溫控制等方面進(jìn)行應(yīng)用開(kāi)發(fā),具有很好的發(fā)展前景。AD590是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地
17、組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡(jiǎn)單、可靠</p><p> 在該論文中,我們通過(guò)對(duì)單片機(jī)和溫度傳感器的設(shè)計(jì),從中學(xué)到了許多有用的東西,其中我們明白了如何去設(shè)計(jì)一個(gè)產(chǎn)品,首先要有性價(jià)比、良好的適應(yīng)性,其次要知道設(shè)計(jì)的關(guān)鍵,最后也懂得了設(shè)計(jì)與實(shí)際的聯(lián)系 </p><p> 1.2課題的應(yīng)用前景 </p><p> 溫
18、度傳感器的應(yīng)用范圍很廣,它不僅廣泛應(yīng)用于日常生活中,而且也大量應(yīng)用于自動(dòng)化和過(guò)程檢測(cè)控制系統(tǒng)。</p><p> 目前,全球的傳感器市場(chǎng)在不斷變化的創(chuàng)新之中呈現(xiàn)出快速增長(zhǎng)的趨勢(shì)。有關(guān)專家指出,傳感器領(lǐng)域的主要技術(shù)將在現(xiàn)有基礎(chǔ)上予以延伸和提高,各國(guó)將競(jìng)相加速新一代傳感器的開(kāi)發(fā)和產(chǎn)業(yè)化,競(jìng)爭(zhēng)也將日益激烈。新技術(shù)的發(fā)展將重新定義未來(lái)的傳感器市場(chǎng),比如無(wú)線傳感器、光纖傳感器、智能傳感器和金屬氧化傳感器等新型稱重傳感器的
19、出現(xiàn)與市場(chǎng)份額的擴(kuò)大。</p><p> 第二章 總體設(shè)計(jì)方案</p><p><b> 2.1總體設(shè)計(jì)框圖</b></p><p> 溫度傳感器采集到的微弱電壓信號(hào)經(jīng)過(guò)濾波器放大器放大十倍后送入A/D轉(zhuǎn)換器(ADC0804)的輸入端。ADC0804將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)后傳給AT89C51.選用3個(gè)共陽(yáng)極8段數(shù)碼顯示管用于動(dòng)態(tài)顯示當(dāng)前
20、測(cè)量溫度。用單片機(jī)P1.0至P1.7驅(qū)動(dòng)控制段碼,P2.0,P2.1至P2.2驅(qū)動(dòng)三極管實(shí)現(xiàn)位選。驅(qū)動(dòng)器74LS244使LED八段數(shù)碼管動(dòng)態(tài)顯示。</p><p> 圖2.1 總體設(shè)計(jì)框圖</p><p> 2.2 總體設(shè)計(jì)方案分析</p><p> 按功能要求簡(jiǎn)易傳感器信號(hào)測(cè)試儀可以測(cè)量溫度,并在3位LED數(shù)碼管上顯示數(shù)值。測(cè)量最小分別率為0.019V,測(cè)量
21、誤差約為0.02V。</p><p> 按系統(tǒng)功能實(shí)際要求,控制系統(tǒng)采用89C51單片機(jī),A/D轉(zhuǎn)換采用ADC0804。系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以方便地進(jìn)行壓力測(cè)量和A/D的轉(zhuǎn)換量的測(cè)量、數(shù)碼顯示的功能。</p><p> 第三章 硬件設(shè)計(jì)原理</p><p> 3.1 總原理圖及工作原理分析</p><p> 簡(jiǎn)易傳感器信
22、號(hào)測(cè)試儀信號(hào)采集是通過(guò)溫度傳感器AD590將溫度的變化轉(zhuǎn)換為變化電壓,通過(guò)有源濾波器進(jìn)行濾波放大,得到一個(gè)穩(wěn)定的電壓信號(hào),信號(hào)進(jìn)過(guò)A/D轉(zhuǎn)換、數(shù)據(jù)處理,最后通過(guò)三位數(shù)碼管顯示出來(lái)。電路原理圖如圖3.1.1所示。</p><p> 圖3.1.1 總電路原理圖</p><p> 3.2 AD590傳感器檢測(cè)電路單元 </p><p><b> AD59
23、0基本知識(shí)</b></p><p> AD590的主要特性:</p><p> AD590是美國(guó)模擬器件公司生產(chǎn)的單片集成兩端感溫電流傳感器,是一種已經(jīng)IC化的溫度感測(cè)器,它會(huì)將溫度轉(zhuǎn)換為電流。其規(guī)格如下:</p><p> a、 每增加1℃,它會(huì)增加1μA輸出電流</p><p> b、 可測(cè)量范圍-55℃至150℃&l
24、t;/p><p> c、 供電電壓范圍+4V至+30V</p><p> AD590溫度與電流的關(guān)系如下表所示</p><p><b> 表3.2.1</b></p><p> AD590的管腳圖及元件符號(hào)如下圖所示:</p><p> AD590是電流型溫度傳感器,通過(guò)對(duì)電流的測(cè)量可得到所
25、需要的溫度值。根據(jù)特性分擋,AD590的后綴以I,J,K,L,M表示。AD590L,AD590M一般用于精密溫度測(cè)量電路,其電路外形如圖1所示,它采用金屬殼3腳封裝,其中1腳為電源正端V+;2腳為電流輸出端I0;3腳為管殼,一般不用。集成溫度傳感器的電路符號(hào)如圖2所示。</p><p> AD590相當(dāng)于一個(gè)溫度控制的恒流源,輸出電流大小只與溫度有關(guān),且與溫度成正比。只需一個(gè)精密電阻,就可以將電流(溫度)信號(hào)轉(zhuǎn)
26、化為電壓信號(hào),總的靈敏度系數(shù)通過(guò)該電阻設(shè)定。AD590的溫度系數(shù)是1μA/K,即溫度每增加1K,它會(huì)增加1μA輸出電流。其輸出電流是以絕對(duì)溫度零度-273℃為基準(zhǔn),每增加1℃,它會(huì)增加1μA輸出電流,因此 -10℃到100℃時(shí)AD590輸出電流為263μA到373μA。ADC0809的輸入電壓為0-5V,所以需要電流-電壓轉(zhuǎn)換電路。</p><p> 2.AD590的工作原理 在被測(cè)溫度一定時(shí),AD590相
27、當(dāng)于一個(gè)恒流源,把它和5~30V的直流電源相連</p><p> ,并在輸出端串接一個(gè)1kΩ的恒值電阻,那么,此電阻上流過(guò)的電流將和被測(cè)溫度成正比,此時(shí)電阻兩端將會(huì)有1mV/K的電壓信號(hào)。 數(shù)字顯示溫度計(jì)的設(shè)計(jì) AD590具有線性優(yōu)良、性能穩(wěn)定、靈敏度高、無(wú)需補(bǔ)償、熱容量小、抗干擾能力強(qiáng)、可遠(yuǎn)距離測(cè)溫且使用方便等優(yōu)點(diǎn)??蓮V泛應(yīng)用于各種冰箱、空調(diào)器、糧倉(cāng)、冰庫(kù)、工業(yè)儀器配套和各種溫度的測(cè)量和控制等領(lǐng)域?!?/p>
28、 下面給出用AD590構(gòu)成數(shù)字顯示溫度計(jì)的設(shè)計(jì)過(guò)程?! ≡谠O(shè)計(jì)測(cè)溫電路時(shí),首先應(yīng)將電流轉(zhuǎn)換成電壓。由于AD590為電流輸出元件,它的溫度每升高1K,電流就增加1μA。當(dāng)AD590的電流通過(guò)一個(gè)10kΩ的電阻時(shí),這個(gè)電阻上的壓降為10mV,即轉(zhuǎn)換成10mV/K,為了使此電阻精確(0.1%),可用一個(gè)9.6kΩ的電阻與一個(gè)1kΩ電位器串聯(lián),然后通過(guò)調(diào)節(jié)電位器來(lái)獲得精確的10kΩ。圖3.1.2所示是一個(gè)電流/電壓和絕對(duì)/攝氏溫標(biāo)的轉(zhuǎn)換電路,
29、其中運(yùn)算放大器A1被接成電壓跟隨器形式,以增加信號(hào)的輸入阻抗。而運(yùn)放A2的作用是把絕對(duì)溫標(biāo)轉(zhuǎn)換成攝氏溫標(biāo),給A2的同相輸入端輸入一個(gè)恒定的電壓(如1.235V),然后將此電壓放大到2.73V。這樣,A1與A2輸出</p><p><b> 圖 3.1.2</b></p><p> 將AD590放入0℃的冰水混合溶液中,A1同相輸入端的電壓應(yīng)為2.73V,同樣使A2
30、的輸出電壓也為2.73V,因此A1與A2兩輸出端之間的電壓:2.73-2.73=0V即對(duì)應(yīng)于0℃。 </p><p><b> 3.3、放大電路</b></p><p> 741放大器為運(yùn)算放大器中最常被使用的一種,擁有反相向與非反相兩輸入端,由輸入端輸入欲被放大的電流或電壓信號(hào),經(jīng)放大后由輸出端輸出。放大器作動(dòng)時(shí)的最大特點(diǎn)為需要一對(duì)同樣大小的正負(fù)電源,其值由
31、±12Vdc至±18Vdc不等,這里使用±12Vdc的電壓。741運(yùn)算放大器的接腳配置如圖3.1.3</p><p><b> 圖 3.1.3</b></p><p> 741運(yùn)算放大器使用時(shí)需于7、4腳位供應(yīng)一對(duì)同等大小的正負(fù)電源電壓+Vcc與-Vcc,一旦于2、3腳位即兩輸入端間有電壓差存在,壓差即會(huì)被放大于輸出端,唯Op放大器具
32、有一特色,其輸出電壓值決不會(huì)大于正電源電壓+Vcc或小于負(fù)電源電壓-Vcc,輸入電壓差經(jīng)放大后若大于外接電源電壓+Vcc至-Vcc之范圍,其值會(huì)等于+Vcc或-Vcc,故一般運(yùn)算放大器輸出電壓均具有如圖3.1.4之特性曲線,輸出電壓于到達(dá)+Vcc和-Vcc后會(huì)呈現(xiàn)飽和現(xiàn)象。</p><p><b> 圖3.1.4</b></p><p> 3.4 A/D轉(zhuǎn)換電路單
33、元</p><p> ADC0804芯片介紹</p><p> 圖3.1.5:ADC0804規(guī)格及引腳分配圖</p><p> 本設(shè)計(jì)采用的A/D芯片為ADC0804,它是CMOS 8位單通道逐次漸近型的模/數(shù)轉(zhuǎn)換器,其規(guī)格及引腳圖如圖3所示,根據(jù)手冊(cè)我們可以得到各個(gè)引腳的大致功能如下:</p><p> /CS:芯片片選信號(hào),低電平
34、有效,即/CS=0,該芯片才能正常工作,在外接多個(gè)ADC0804</p><p> 芯片時(shí),該信號(hào)可以作為選擇地址使用,通過(guò)不同的地址信號(hào)使能不同的ADC0804芯片,從而可以實(shí)現(xiàn)多個(gè)ADC通道的分時(shí)復(fù)用。</p><p> /WR:啟動(dòng)ADC0804進(jìn)行ADC采樣,該信號(hào)低電平有效,即/WR信號(hào)由高電平變成低電平時(shí),觸發(fā)一次ADC轉(zhuǎn)換。</p><p> /
35、RD:低電平有效,即/RD=0時(shí),可以通過(guò)數(shù)據(jù)端口DB0~DB7讀出本次的采樣結(jié)果。</p><p> UIN(+)和UIN(-):模擬電壓輸入端,模擬電壓輸入接UIN(+)端,UIN(-)端接地。雙邊輸入時(shí)UIN(+)、UIN(-)分別接模擬電壓信號(hào)的正端和負(fù)端。當(dāng)輸入的模擬電壓信號(hào)存在“零點(diǎn)漂移電壓”時(shí),可在UIN(-)接一等值的零點(diǎn)補(bǔ)償電壓,變換時(shí)將自動(dòng)從UIN(+)中減去這一電壓。</p>
36、<p> VREF/2:參考電壓接入引腳,該引腳可外接電壓也可懸空,若外界電壓,則ADC的參考電壓為該外界電壓的兩倍,如不外接,則Vref與Vcc共用電源電壓,此時(shí)ADC的參考電壓即為電源電壓Vcc的值。</p><p> CLKR和CLKIN:外接RC電路產(chǎn)生模數(shù)轉(zhuǎn)換器所需的時(shí)鐘信號(hào),時(shí)鐘頻率CLK = 1/1.1RC,一般要求頻率范圍100KHz~1.28MHz。</p><
37、;p> AGND和DGND:分別接模擬地和數(shù)字地。</p><p> /INT:中斷請(qǐng)求信號(hào)輸出引腳,該引腳低電平有效,當(dāng)一次A/D轉(zhuǎn)換完成后,</p><p> 將引起/INT=0,實(shí)際應(yīng)用時(shí),該引腳應(yīng)與微處理器的外部中斷輸入引腳相連(如51單片機(jī)的INT0,INT1腳),當(dāng)產(chǎn)生/INT信號(hào)有效時(shí),還需等待/RD=0才能正確讀出A/D轉(zhuǎn)換結(jié)果,若ADC0804單獨(dú)使用,則可以
38、將/INT引腳懸空。</p><p> DB0~DB7:輸出A/D轉(zhuǎn)換后的8位二進(jìn)制結(jié)果。</p><p><b> 表3.4.1</b></p><p> 根據(jù)以上對(duì)照表,可以得出以下結(jié)論</p><p> 如果:輸入模擬量VIN=4V,由上表可知 3.840+0.160=4V 數(shù)字為11001000=C8H&
39、lt;/p><p> 模數(shù)轉(zhuǎn)換器ADC0804的工作分為三個(gè)過(guò)程:</p><p> ?、伲瑥?fù)位中斷觸發(fā)信號(hào)</p><p> 信號(hào) 表明ADC0804轉(zhuǎn)換已經(jīng)結(jié)束,它提示單片機(jī)隨時(shí)可以讀取轉(zhuǎn)換結(jié)果,是ADC0804的一個(gè)輸出信號(hào)。一般情況下,啟動(dòng)A/D轉(zhuǎn)換前應(yīng)該復(fù)位這個(gè) 信號(hào),以等待新的轉(zhuǎn)換完成后ADC0804發(fā)出新的 信號(hào),這樣才可以讀到新的轉(zhuǎn)換結(jié)果
40、。</p><p> 復(fù)位 信號(hào)的時(shí)序如圖2中的A,在實(shí)現(xiàn)片選 ( =0)的前提下,使用一個(gè)讀信號(hào) 的下降沿就可以復(fù)位 信號(hào)。 ②,啟動(dòng)ADC0804的A/D轉(zhuǎn)換</p><p> ADC0804中的A/D轉(zhuǎn)換器在滿足一定條件時(shí)開(kāi)始一個(gè)轉(zhuǎn)換過(guò)程,這個(gè)條件就是:在實(shí)現(xiàn)片選 ( =0)的前提下, 引腳上出現(xiàn)的一個(gè)上升沿。</
41、p><p> 啟動(dòng)A/D轉(zhuǎn)換的時(shí)序如圖2中的B,實(shí)現(xiàn)片選以后( =0),使用一個(gè)寫信號(hào)就可以啟動(dòng)一個(gè)轉(zhuǎn)換過(guò)程。圖中 是時(shí)間延遲,時(shí)間 是轉(zhuǎn)換時(shí)間。</p><p><b> ③,讀取轉(zhuǎn)換結(jié)果</b></p><p> 在A/D轉(zhuǎn)換結(jié)束以后,ADC0804的 引腳將給出一個(gè)低脈沖,如果把這個(gè)引腳直接連接到單片機(jī)的外部中斷引腳P3.或P3.,這個(gè)
42、低脈沖將引起單片機(jī)中斷,單片機(jī)可以在中斷處理程序中讀取ADC0804的轉(zhuǎn)換結(jié)果。</p><p> 實(shí)驗(yàn)中我們由CH0輸入模擬量,DO輸出數(shù)字量。我們把AD0832的CS、CLK、D0、DI端分別連接在P3.3、P3.2,P3.1,P3.0端,所以ADC0804的片選、時(shí)鐘信號(hào)、啟動(dòng)位和配置位均通過(guò)置位端口實(shí)現(xiàn)。由于是CH0輸入模擬信號(hào),所以配置位為10。ADC0804為單端輸出模式。由于AD是串行輸入輸出,故
43、前3個(gè)脈沖上升沿完成設(shè)置,第4—11個(gè)脈沖下降沿后取1位AD轉(zhuǎn)換的結(jié)果,在第11—18個(gè)脈沖下降沿后第二次取AD轉(zhuǎn)換結(jié)果,將兩次結(jié)果進(jìn)行比對(duì),如果一致,則完成轉(zhuǎn)換,關(guān)ADC0804;如果不一致,則重新開(kāi)始轉(zhuǎn)換。</p><p> 經(jīng)AD轉(zhuǎn)換后,數(shù)字量D與溫度值的轉(zhuǎn)換如下所示:</p><p> 本設(shè)計(jì)中的A/D轉(zhuǎn)換由集成電路0804完成。0804具有一個(gè)模擬電壓輸入端口。5腳為中斷請(qǐng)求
44、信號(hào)輸出引腳,該引腳低電平有效,當(dāng)一次A/D轉(zhuǎn)換完成后,將引起/INT1=0,實(shí)際應(yīng)用時(shí),該引腳應(yīng)與微處理器的外部中斷輸入引腳相連(如51單片機(jī)的INT0,INT1腳),當(dāng)產(chǎn)生/INT信號(hào)有效時(shí),還需等待/RD=0才能正確讀出A/D轉(zhuǎn)換結(jié)果。CLKR和CLKIN引腳是外接RC電路產(chǎn)生模數(shù)轉(zhuǎn)換器所需的時(shí)鐘信號(hào)。/CS引腳為芯片片選信號(hào),低電平有效,即/CS=0,該芯片才能正常工作。單片機(jī)的P1、P2.0~P2.2端口作為3位LED數(shù)碼管顯
45、示控制。P0端口用作A/D轉(zhuǎn)換數(shù)據(jù)讀入,P2.6、P3.6、P3.7用作0804的A/D轉(zhuǎn)換控制。</p><p> 為了提高精度,擴(kuò)大測(cè)量范圍,在A/D轉(zhuǎn)換前還要將信號(hào)加以放大并進(jìn)行零點(diǎn)遷移,因而一個(gè)高穩(wěn)定性的、高精度的放大電路是必須的。當(dāng)溫度變化時(shí),AD590會(huì)產(chǎn)生電流變化,當(dāng)AD590的電流通過(guò)一個(gè)10kΩ的電阻時(shí),這個(gè)電阻上的壓降為10mV,即轉(zhuǎn)換成10mV/K,為了使此10kΩ電阻精確,可用一個(gè)9kΩ
46、的電阻與一個(gè)2kΩ的電位器串聯(lián),然后通過(guò)調(diào)節(jié)電位器來(lái)獲得精確的10kΩ。運(yùn)算放大器A1被接成電壓跟隨器形式,以增加信號(hào)的輸入阻抗,由運(yùn)放A2減去2.732做零位調(diào)整(即把絕對(duì)溫度轉(zhuǎn)成攝氏溫度),最后由運(yùn)放A3反相并放大5倍輸送給A/D轉(zhuǎn)換器。具體硬件連接圖如圖3.4所示。</p><p> 圖3.4 AD590溫度采集及模數(shù)轉(zhuǎn)換電路</p><p> 3.5 CPU主控電路單元<
47、/p><p> 1 、89C51簡(jiǎn)介</p><p> AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓 ,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM ),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能
48、強(qiáng)大的AT89C51單片機(jī)能應(yīng)用許多高性價(jià)比的場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。</p><p> 圖3.5.1 89C51封裝圖</p><p> 89C51的主要參數(shù) </p><p><b> (1)主要特性: </b></p><p> 4K字節(jié)可編程閃爍存儲(chǔ)器;壽命:1000寫/擦循環(huán);數(shù)據(jù)保留時(shí)間:
49、10年</p><p> 全靜態(tài)工作:0Hz-24Hz,三級(jí)程序存儲(chǔ)器鎖定,128*8位內(nèi)部RAM,32可編程I/O線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源,可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時(shí)鐘電路</p><p><b> (2)管腳說(shuō)明:</b></p><p><b> VCC:供電電壓。</b&
50、gt;</p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。
51、</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電
52、流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p&g
53、t; P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下所示。</p><p> P3口管腳 (備選功能)</p><p>
54、 P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)</p><p> P3.5 T1(記時(shí)器1外部輸入)</
55、p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PRO
56、G:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如
57、果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 /PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí), /E
58、A將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p><b> ?。?)振蕩器特性:</b></p>
59、<p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p><b> ?。?)芯片擦除</b></p><p>
60、; 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p> 此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,
61、保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。 </p><p><b> 2、單片機(jī)電路設(shè)計(jì)</b></p><p> 89C51的復(fù)位電路:</p><p> 同時(shí)在第9腳引出一個(gè)22uF的電容和一個(gè)2K的電阻接+5V的電源組成一個(gè)復(fù)位電路,如圖3.4.2所示。</p><p>
62、 圖3.5.2 AT89C51復(fù)位電路原理圖</p><p> 89C51的時(shí)鐘電路:</p><p> AT89C51的+5V電源由39腳引入,第19腳接地,第17腳和第18腳間由12MHz的晶振及兩個(gè)20pF的無(wú)極性電路組成一個(gè)時(shí)鐘振蕩電路,如圖3.4.3所示。</p><p> 圖3.5.3 AT89C51時(shí)鐘電路原理圖</p>&l
63、t;p> 3.6 顯示電路單元 </p><p><b> 數(shù)碼管結(jié)構(gòu)</b></p><p> 數(shù)碼管由8個(gè)發(fā)光二極管(以下簡(jiǎn)稱字段)構(gòu)成,通過(guò)不同的組合可用來(lái)顯示數(shù)字0 9、字符A F、H、L、P、R、U、Y、符號(hào)“”及小數(shù)點(diǎn)“”。數(shù)碼管的外型結(jié)構(gòu)如圖</p><p> 圖3.6.1外型結(jié)構(gòu)</p><p
64、><b> 數(shù)碼管工作原理</b></p><p> 共陽(yáng)極數(shù)碼管的8個(gè)發(fā)光二極管的陽(yáng)極(二極管正端)連接在一起,通常,公共陽(yáng)極接高電平(一般接電源),其它管腳接段驅(qū)動(dòng)電路輸出端。當(dāng)某段驅(qū)動(dòng)電路的輸出端為低電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能吸收額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電
65、阻。</p><p> 共陰極數(shù)碼管的8個(gè)發(fā)光二極管的陰極(二極管負(fù)端)連接在一起,通常,公共陰極接低電平(一般接地),其它管腳接段驅(qū)動(dòng)電路輸出端,當(dāng)某段驅(qū)動(dòng)電路的輸出端為高電平時(shí),則該端所連接的字段導(dǎo)通并點(diǎn)亮,根據(jù)發(fā)光字段的不同組合可顯示出各種數(shù)字或字符。此時(shí),要求段驅(qū)動(dòng)電路能提供額定的段導(dǎo)通電流,還需根據(jù)外接電源及額定段導(dǎo)通電流來(lái)確定相應(yīng)的限流電阻。</p><p> 圖3.6.2
66、 數(shù)碼LED顯示電路</p><p> 3.7 供電電源電路</p><p> 本設(shè)計(jì)中采用了5V電源供電。</p><p> 圖3.7 供電電源電路</p><p> 第四章 軟件設(shè)計(jì)分析</p><p> 4.1 系統(tǒng)總流程圖</p><p> 在主程序中,系統(tǒng)上電自動(dòng)復(fù)位以后首
67、先設(shè)置堆棧,然后啟動(dòng)ADC0804,開(kāi)始轉(zhuǎn)換AD590測(cè)溫電路輸入的電信號(hào),待數(shù)據(jù)轉(zhuǎn)換結(jié)束后讀入到累加器A,然后進(jìn)行十進(jìn)制數(shù)據(jù)轉(zhuǎn)換調(diào)整,輸出給顯示電路。主程序流程圖如圖4所示。</p><p> 圖4.1.1 主程序流程圖 </p><p> 由于ADC0804轉(zhuǎn)換后的數(shù)據(jù)是二進(jìn)制數(shù)據(jù),而七段碼LED顯示器所要顯示的數(shù)據(jù)是十進(jìn)制數(shù)據(jù),因
68、此需要進(jìn)行二、十進(jìn)制數(shù)據(jù)轉(zhuǎn)換。ADC0804輸出的最大轉(zhuǎn)換值為FFH(255),由于運(yùn)放A3放大5倍,因此本數(shù)字溫度計(jì)的最大測(cè)量溫度為5.V/5=1.0V,即100℃。由255*X=100,得知X=0.4,即先乘4再除10。要將其變成BCD碼形式,所以可以先將AD轉(zhuǎn)換結(jié)果除以250得到百位數(shù)BCD碼;余數(shù)除以10得到十位數(shù)BCD碼,余數(shù)為小數(shù),如果其為奇數(shù),則小數(shù)部分為5,如果是偶數(shù),小數(shù)部分為0。所以,十進(jìn)制轉(zhuǎn)換調(diào)整流程為A/D(二進(jìn)
69、制)→十進(jìn)制→乘4→顯示。程序流程圖如圖4.1.2所示。</p><p> 圖4.1.2十進(jìn)制數(shù)據(jù)轉(zhuǎn)換調(diào)整子程序流程圖</p><p> 十進(jìn)制轉(zhuǎn)換調(diào)整后的數(shù)據(jù)送到寄存器R5、R4中,然后通過(guò)P1口把數(shù)據(jù)輸出給D4、D3、D2、D1四個(gè)數(shù)碼顯示器中,從而最終把測(cè)得的溫度顯示出來(lái)。顯示子程序流程圖如圖4.1.3所示。</p><p> 圖4.1.3 數(shù)據(jù)顯示程序
70、</p><p> 4.2 A/D轉(zhuǎn)換的啟動(dòng)及轉(zhuǎn)換結(jié)果獲取</p><p> 圖4.2 A/D轉(zhuǎn)換流程圖</p><p> 4.3 程序?qū)崿F(xiàn)分析</p><p> 由于數(shù)據(jù)采集部分由硬件AD590通過(guò)運(yùn)算放大把信號(hào)輸入到ADC0804,ADC0804將輸入信號(hào)轉(zhuǎn)化成對(duì)應(yīng)的二進(jìn)制數(shù),因此程序只需通過(guò)控制ADC0804的/rd和/wd端來(lái)
71、讀取二進(jìn)制即可。程序每隔50ms將當(dāng)前溫度值與設(shè)定值比較一次,當(dāng)小于設(shè)定溫度值時(shí)發(fā)出控制信號(hào),即p2.1是0,該思路可用定時(shí)器T0來(lái)完成,比較判斷是否控制信號(hào)為判斷子程序中的內(nèi)容。 設(shè)定溫度下限部分,由于硬件通過(guò)74c922來(lái)輸出對(duì)應(yīng)的按鍵值,因此該程序只需讀取該值,然后轉(zhuǎn)換成對(duì)應(yīng)的十進(jìn)制數(shù)即可。 顯示部分:通過(guò)動(dòng)態(tài)掃描實(shí)現(xiàn),具體實(shí)現(xiàn)為當(dāng)通過(guò)p1口送入數(shù)據(jù)時(shí)需將相應(yīng)的控制數(shù)碼管的三極管導(dǎo)通,即將p1.4或p1.5
72、輪流置1即可。3.2程序的具體實(shí)現(xiàn) 程序具體實(shí)現(xiàn)分為以下幾個(gè)步驟: (1)初始化 將用到的RAM單元30H到35H清零,其中30H用來(lái)存放當(dāng)前溫度的個(gè)位數(shù),31H用來(lái)存放當(dāng)前溫度的十位數(shù),33H用來(lái)存放設(shè)定溫度的個(gè)位數(shù)。34H用來(lái)存放設(shè)定溫度的十位數(shù),設(shè)置定時(shí)器工作在T0模式,并設(shè)定TH0、TL0的初值。</p><p> (2)主程序循環(huán)部分 啟動(dòng)ADC080
73、4開(kāi)始轉(zhuǎn)換,即令/wr=0。本程序是利用movx @r0, a 來(lái)實(shí)現(xiàn)的,當(dāng)執(zhí)行該語(yǔ)句時(shí),單片機(jī)的/wr置0,然后向p0口輸出數(shù)據(jù)。判斷是否按了“﹡”鍵,如按則轉(zhuǎn)到顯示設(shè)定溫度子程序。然后檢測(cè)AD轉(zhuǎn)換是否完成,由于啟動(dòng)ADC0804后,當(dāng)數(shù)值轉(zhuǎn)化完成時(shí),在INTR端發(fā)出低脈沖,因此單片機(jī)只有在接收到該低電平后才開(kāi)始讀取ADC0804的數(shù)據(jù)。 調(diào)用二進(jìn)制轉(zhuǎn)換子程序,將讀取的二進(jìn)制數(shù)轉(zhuǎn)換成數(shù)存入30H,31H。
74、160;調(diào)用顯示子程序,然后延時(shí)掃描,再返回。 (3)二進(jìn)制轉(zhuǎn)換成十進(jìn)制子程序 利用DA調(diào)整指令來(lái)完成二進(jìn)制到十進(jìn)制的轉(zhuǎn)換。具體的實(shí)現(xiàn)方法請(qǐng)參見(jiàn)程序。 (4)設(shè)定溫度子程序 該部分在33H,34H中,可通過(guò)三條指令 mov a , 20H ;xch A,33H ;xch a,34H (20H為按鍵數(shù)值的暫存地址)來(lái)簡(jiǎn)潔而方便的完成。 (5)顯示子程序 利用R1要存放
75、顯示數(shù)值的地址,這樣可方便的通過(guò)MOV A,@R1;ADD A,#20H,來(lái)完成的,即將P1.5口置1 ,且保持P1口低四位不變,同理加載輸出個(gè)位數(shù),為保證數(shù)碼管顯示亮度</p><p><b> 第五章 結(jié)語(yǔ)</b></p><p> 通過(guò)本次課程設(shè)計(jì),我主要掌握了一下幾個(gè)方面的知識(shí): 首先是各個(gè)芯片的功能和結(jié)構(gòu),其次是protel 99 se的畫(huà)圖。</
76、p><p> 作為一個(gè)學(xué)生,發(fā)現(xiàn)我們掌握的知識(shí)是多么的疏淺,很多東西都是要重新拾起課本學(xué)習(xí)。另外自己鉆研精神還不夠,只想在一天之內(nèi)得到滿意的實(shí)驗(yàn)結(jié)果,不能沉下心一點(diǎn)點(diǎn)調(diào)試?,F(xiàn)在想起來(lái)很慚愧,在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之處,比如編程問(wèn)題,硬件的連接,怎樣去調(diào)試。</p><p><b> 參考文獻(xiàn)</b></p><p> 曹天漢 《單片
77、機(jī)原理與接口技術(shù)》 電子工業(yè)出版社</p><p> 柳春鋒 《Protel 99se實(shí)用教程》 高等教育出版社</p><p> 梁 森 《自動(dòng)檢測(cè)與轉(zhuǎn)換技術(shù)》 機(jī)械工業(yè)出版社</p><p> 任致程 《經(jīng)典智能電路300例》 機(jī)械工業(yè)出版社</p><p> 何希才 《傳感器及其應(yīng)用電路》
78、 電子工業(yè)出版社</p><p> 還有很多來(lái)自網(wǎng)絡(luò)上無(wú)法說(shuō)明具體出處的寶貴資料</p><p><b> 致謝詞</b></p><p> 感謝各位評(píng)委老師在百忙之中抽出寶貴的時(shí)間為我們審稿。你們的審閱是對(duì)我們論文成果的一種肯定與負(fù)責(zé),讓我在此向你們表示最誠(chéng)摯的問(wèn)候:老師,您辛苦了﹗</p><p> 這次論文
79、從選題、實(shí)驗(yàn)到最終完成,每一步都是在xx老師的精心安排和悉心指導(dǎo)下完成的,傾注了老師大量的心血。她廣博的學(xué)識(shí),豐富的經(jīng)驗(yàn),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,事業(yè)上積極進(jìn)取的精神對(duì)我影響深遠(yuǎn)。在此,謹(jǐn)向xx老師表示崇高的敬意和衷心的感謝!謝謝xx老師在我撰寫論文的過(guò)程中給予我極大地幫助。</p><p> 同時(shí),論文的順利完成,也離不開(kāi)同組其他同學(xué)的關(guān)心和幫助,在此對(duì)他們表示衷心的感謝。在整個(gè)論文創(chuàng)作中,各位老師、同學(xué)和朋友給我提
80、供了寶貴的建議和意見(jiàn),使得論文順利完成。 </p><p> 大學(xué)三年學(xué)習(xí)時(shí)光已經(jīng)接近尾聲,在此我想對(duì)我的母校,我的父母、親人們,我的老師和同學(xué)們表達(dá)我由衷的謝意。感謝我的家人對(duì)我大學(xué)三年學(xué)習(xí)的默默支持;感謝我的母校xx學(xué)院給了我在大學(xué)深造的機(jī)會(huì),讓我能繼續(xù)學(xué)習(xí)與提高;感謝老師與同學(xué)在生活和學(xué)習(xí)上的幫助與鼓勵(lì),所有這些都讓我三年中充滿了感動(dòng),謝謝你們! </p><p><b
81、> 附錄1:總原理圖:</b></p><p><b> 附錄:程序清單</b></p><p> /====================</p><p> ; 主程序</p><p> ORG 0000H</p><p><b> AJ
82、MP MAIN</b></p><p> ORG 0030H</p><p> MAIN: MOV SP,#60H</p><p> MOV R4,#100</p><p> LOOP: LCALL ADCONV</p><p> LCALL BCDCON</p><p
83、> LOOP1: LCALL DISPLAY</p><p> DJNZ R4,LOOP1</p><p> MOV R4,#100</p><p> SJMP LOOP</p><p> ;/========================</p><p><b> ; AD子程序&l
84、t;/b></p><p> ;/========================</p><p><b> ADCONV:</b></p><p> ADCS BIT P3.3 ;使能CS</p><p> ADCLK BIT P3.2 ;時(shí)鐘CLK</p><p>
85、 ADDO BIT P3.1 ;數(shù)據(jù)輸出接口</p><p> ADDI BIT P3.0 ;數(shù)據(jù)輸入接口</p><p> SETB ADDI ;初始化通道選擇(CH0=10)</p><p><b> SETB ADDO</b></p><p> SETB ADCLK</p>&l
86、t;p> CLR ADCS ; 拉低/CS端,開(kāi)始AD轉(zhuǎn)換</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB ADDI</b></p><p><b> NOP</b&g
87、t;</p><p><b> NOP</b></p><p> SETB ADCLK ;拉高CLK端</p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLR ADCLK ;:拉低CLK端,
88、形成下降沿1</p><p><b> SETB ADDI</b></p><p> SETB ADCLK ;:拉高CLK端,形成上升沿1</p><p><b> NOP</b></p><p><b> NOP</b></p><p> C
89、LR ADCLK ;:拉低CLK端,形成下降沿1</p><p><b> SETB ADDI</b></p><p> SETB ADCLK ;拉高CLK端,形成上升沿2</p><p><b> NOP</b></p><p> CLR ADCLK ;拉低CLK端,形成下降沿2<
90、/p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> CLR ADDI</b></p><p><b> NOP</b></p><p><b> NOP<
91、;/b></p><p><b> NOP</b></p><p> SETB ADCLK ;拉高CLK,形成上升沿3</p><p><b> NOP</b></p><p><b> NOP</b></p><p> CLR ADC
92、LK ;拉低CLK,形成下降沿3</p><p> SETB ADDI</p><p> SETB ADCLK</p><p> MOV R5,#8</p><p><b> CLR A</b></p><p> AD1: CLR ADCLK ;拉低CLK端,形成下
93、降沿4,5,6,7,8,9,10,11</p><p><b> NOP</b></p><p><b> NOP</b></p><p> MOV C,ADDO</p><p><b> NOP</b></p><p><b> R
94、LC A</b></p><p> SETB ADCLK ;第一組AD轉(zhuǎn)換數(shù)據(jù)</p><p><b> NOP</b></p><p><b> NOP</b></p><p> DJNZ R5,AD1</p><p><b> MOV
95、R3,A</b></p><p><b> NOP</b></p><p><b> CLR A</b></p><p><b> CLR C</b></p><p><b> MOV R5,#8</b></p><
96、p> AD2: MOV C,ADDO ;第二組AD轉(zhuǎn)換數(shù)據(jù)</p><p><b> RRC A</b></p><p> SETB ADCLK</p><p><b> NOP</b></p><p> CLR ADCLK ;形成下降沿12,13,14,15,
97、16,17,18,19</p><p><b> NOP</b></p><p> DJNZ R5,AD2</p><p><b> NOP</b></p><p> MOV R4,A</p><p> MOV B,R3</p><p&g
98、t; CJNE A,B,ADCONV ;判斷兩組數(shù)據(jù)是否一致?否,則重新轉(zhuǎn)換</p><p> SETB ADCS ;關(guān)片選</p><p> CLR ADCLK ;時(shí)鐘清零</p><p> SETB ADDI ;初始化通道選擇</p><p><b> RET</b&g
99、t;</p><p> ;//////ADCONV子程序結(jié)束//////</p><p> ;/========================</p><p> ; 數(shù)據(jù)處理子程序</p><p> ;/========================</p><p> BCDCON: MOV A,R
100、3</p><p> MOV B,#137</p><p><b> SUBB A,B</b></p><p> JC XIAOYU</p><p><b> MOV B,#2</b></p><p><b> MUL AB</b></
101、p><p> MOV B,#100</p><p><b> DIV AB</b></p><p> MOV 70H,A ;百位數(shù)在A</p><p> XCH A,B ;余數(shù)存A</p><p><b> MOV B,#10</b></p>&l
102、t;p> DIV AB ;十位數(shù)與個(gè)位數(shù)分開(kāi)</p><p><b> MOV 71H,A</b></p><p><b> MOV 72H,B</b></p><p><b> RET</b></p><p> XIAOYU: MOV 70H,#10&l
103、t;/p><p> MOV A,#137</p><p><b> MOV B,R3</b></p><p><b> SUBB A,B</b></p><p><b> MOV B,#2</b></p><p><b> MUL
104、 AB</b></p><p> MOV B,#10</p><p><b> DIV AB</b></p><p> MOV 71H,A</p><p> MOV 72H,B</p><p><b> RET</b></p>&l
105、t;p> ;//////////數(shù)據(jù)處理子程序結(jié)束 ///////////</p><p> ;/============================</p><p> ; 顯示子程序,共陽(yáng)顯示子程序,顯示內(nèi)容在78H~7AH</p><p><b> 顯示子程序</b></p><p>
106、 ;/============================</p><p> DISPLAY: MOV A, #0FFH</p><p> MOV P1,A</p><p> MOV R0,#70H</p><p> MOV A,@R0</p><p> MOV DPTR,
107、#TAB1</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p><p> MOV P1,#11011111B</p><p> ACALL DELAY</p><p> MOV A,#0FFH</p><p> MOV
108、 P1,A</p><p><b> INC R0</b></p><p> MOV A,@R0</p><p> MOV DPTR,#TAB1</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p>&l
109、t;p> MOV P1,#10111111B</p><p> ACALL DELAY</p><p> MOV A,#0FFH</p><p> MOV P1,A</p><p><b> INC R0</b></p><p> MOV A,@R
110、0</p><p> MOV DPTR,#TAB1</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p><p> MOV P1,#01111111B</p><p> ACALL DELAY</p><p><b&g
111、t; RET</b></p><p> TAB1: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,02H</p><p> DELAY: MOV R7,#02H</p><p> DELAY1: MOV R6,#0FFH</p><p> DELAY2: DJNZ
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)簡(jiǎn)易多種傳感器信號(hào)測(cè)試儀設(shè)計(jì)
- 電阻測(cè)試儀畢業(yè)設(shè)計(jì)---簡(jiǎn)易自動(dòng)電阻測(cè)試儀
- 畢業(yè)設(shè)計(jì)---簡(jiǎn)易自動(dòng)電阻測(cè)試儀
- 傳感器測(cè)試儀故障
- (精品)傳感器酒精測(cè)試儀的課程設(shè)計(jì)(2013年優(yōu)秀畢業(yè)設(shè)計(jì))
- 畢業(yè)設(shè)計(jì)----電容測(cè)試儀設(shè)計(jì)
- 【畢業(yè)設(shè)計(jì)】酒精測(cè)試儀畢業(yè)設(shè)計(jì)(論文)
- 酒精濃度測(cè)試儀設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---ph測(cè)試儀的設(shè)計(jì)
- 數(shù)字脈搏測(cè)試儀畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于stm32簡(jiǎn)易自動(dòng)電阻測(cè)試儀的硬件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于stm32簡(jiǎn)易自動(dòng)電阻測(cè)試儀的硬件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--co測(cè)試儀軟件設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--糧食水分測(cè)試儀的設(shè)計(jì)
- 傳感器畢業(yè)設(shè)計(jì)--礦用溫度傳感器設(shè)計(jì)
- 數(shù)顯電容測(cè)試儀-畢業(yè)設(shè)計(jì)
- 數(shù)顯電容測(cè)試儀-畢業(yè)設(shè)計(jì)
- 用電設(shè)備功率測(cè)試儀畢業(yè)設(shè)計(jì)
- 傳感器畢業(yè)設(shè)計(jì)
- 傳感器畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論