八路溫度巡檢儀課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩20頁(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>  《測(cè)控系統(tǒng)原理與設(shè)計(jì)》課程設(shè)計(jì)說(shuō)明書(shū)</p><p>  設(shè)計(jì)題目:八路溫度巡檢儀</p><p>  姓 名 </p><p>  學(xué) 院 機(jī)械電子學(xué)院 </p><p>  專(zhuān) 業(yè) 測(cè)控技術(shù)與儀器 </p><p>  班

2、級(jí) 測(cè)控071班 </p><p><b>  目 錄</b></p><p>  第一章 緒論- 1 -</p><p>  1.1 八路溫度巡檢儀簡(jiǎn)介- 1 -</p><p>  1.2 八路溫度巡檢儀的工作原理及其方案設(shè)計(jì)- 1 -</p><p>  1.

3、2.1 工作原理- 1 -</p><p>  1.2.1 方案設(shè)計(jì)- 1 -</p><p>  第二章 具體設(shè)計(jì)內(nèi)容- 2 -</p><p>  2.1 鉑電阻電橋測(cè)溫電路- 2 -</p><p>  2.2 A/D模數(shù)轉(zhuǎn)換電路芯片原理與設(shè)計(jì)- 4 -</p><p>  2.

4、2.1 內(nèi)部結(jié)構(gòu)和外部引腳- 4 -</p><p>  2.2.2 工作時(shí)序與使用說(shuō)明- 6 -</p><p>  2.3 顯示模塊的原理與設(shè)計(jì)- 7 -</p><p>  2.4 AT89C51單片機(jī)的特點(diǎn)及引腳說(shuō)明- 8 -</p><p>  2.4.1 AT89C51單片機(jī)引腳功能說(shuō)明-

5、9 -</p><p>  2.4.2 單片機(jī)最小系統(tǒng)- 11 -</p><p>  第三章 調(diào)試與仿真- 12 -</p><p>  3.1 Proteus與Keil μVision鏈接設(shè)置- 12 -</p><p>  3.2 在Keil中編輯程序并生成“HEX”文件- 13 -</p><p&

6、gt;  3.3 在Proteus ISIS中調(diào)試- 14 -</p><p>  第四章 感想與總結(jié)- 14 -</p><p>  第五章 程序代碼與仿真電路- 15 -</p><p>  5.1 程序代碼- 15 -</p><p>  5.2 Proteus仿真電路- 19 -</p><

7、p><b>  第一章 緒論</b></p><p>  1.1 八路溫度巡檢儀簡(jiǎn)介</p><p>  在工業(yè)生產(chǎn)過(guò)程中,溫度檢測(cè)和控制都直接和安全生產(chǎn)、產(chǎn)品質(zhì)量、生產(chǎn)效率、節(jié)約能源等重大技術(shù)經(jīng)濟(jì)指標(biāo)相聯(lián)系。溫度檢測(cè)類(lèi)儀表作為溫度計(jì)量工具,也因此得到廣泛應(yīng)用。隨著生產(chǎn)力的發(fā)展,生產(chǎn)規(guī)模的擴(kuò)大和對(duì)生產(chǎn)管理的自動(dòng)化水平的要求越來(lái)越高,在很多場(chǎng)合,諸如啤酒、飲

8、料、食品、白酒發(fā)酵生產(chǎn)線,中頻熱處理行業(yè)的水路溫度保護(hù),變電所各電節(jié)點(diǎn)的溫度檢測(cè),農(nóng)業(yè)大棚、雞舍等,要求溫度巡檢儀能自動(dòng)巡檢,以達(dá)到無(wú)人看守,溫度自動(dòng)巡檢的目的。</p><p>  隨著單片機(jī)技術(shù)蓬勃發(fā)展,其穩(wěn)定、安全、高效、經(jīng)濟(jì)等優(yōu)點(diǎn)十分突出,所以其應(yīng)用也十分廣泛。單片機(jī)的特點(diǎn)是體積小,其內(nèi)部結(jié)構(gòu)是普通計(jì)算機(jī)系統(tǒng)的簡(jiǎn)化,增加一些外圍電路,就能夠組成一個(gè)完整的小系統(tǒng),單片機(jī)具有很強(qiáng)的擴(kuò)展性,它具有強(qiáng)大的數(shù)據(jù)處理

9、功能。所以單片機(jī)在工業(yè)應(yīng)用中提高了工業(yè)設(shè)備的智能化。</p><p>  1.2 八路溫度巡檢儀的工作原理及其方案設(shè)計(jì)</p><p>  1.2.1 工作原理</p><p>  八路溫度巡檢儀首先要進(jìn)行數(shù)據(jù)采集就是將一般的物理量通過(guò)傳感器轉(zhuǎn)換成模擬量,在經(jīng)過(guò)A/D轉(zhuǎn)換電路轉(zhuǎn)換為數(shù)字量供給CPU進(jìn)行處理。詳細(xì)來(lái)說(shuō)就是能監(jiān)測(cè)并采集多路的溫度信號(hào),通過(guò)溫度傳

10、感器將溫度轉(zhuǎn)換成電壓信號(hào)輸出電壓,A/D轉(zhuǎn)換芯片將模擬量轉(zhuǎn)換成數(shù)字量,從而得到與溫度信號(hào)具有一定關(guān)系的數(shù)字量,單片機(jī)采集這些數(shù)字信號(hào),進(jìn)行一定的信號(hào)調(diào)理、軟件算法、以及標(biāo)度變換,從而得到一定量的溫度值,再將這一溫度值通過(guò)顯示的方式顯示出來(lái),然后通過(guò)按鍵或定時(shí)的控制實(shí)現(xiàn)巡檢,就得到了一個(gè)八路溫度巡檢儀的系統(tǒng)。</p><p>  1.2.1 方案設(shè)計(jì)</p><p>  在系統(tǒng)方案設(shè)計(jì)中

11、,主要以選擇測(cè)溫電路的方案為主,測(cè)溫電路的方案選擇可以直接的影響到測(cè)得溫度值的準(zhǔn)確性和要求達(dá)到的精度問(wèn)題,測(cè)溫電路要求能把環(huán)境溫度通過(guò)傳感器把溫度信號(hào)轉(zhuǎn)換為我們所需要的電壓信號(hào)或電流信號(hào),把得到相應(yīng)的電信號(hào)送入A/D轉(zhuǎn)換器,通過(guò)A/D轉(zhuǎn)換器的轉(zhuǎn)換,在通過(guò)單片機(jī)的控制和程序的處理最后得到準(zhǔn)確的溫度值,實(shí)現(xiàn)溫度的檢測(cè)。所以在測(cè)溫電路中我們進(jìn)行了認(rèn)真的分析和最后方案的確定。如下框圖所示:</p><p>  第二章

12、 具體設(shè)計(jì)內(nèi)容</p><p>  2.1 鉑電阻電橋測(cè)溫電路</p><p>  在設(shè)計(jì)過(guò)程中選取溫度傳感器要注意一下幾點(diǎn):</p><p> ?。?)根據(jù)測(cè)量對(duì)象與測(cè)量環(huán)境確定傳感器的類(lèi)型</p><p>  要進(jìn)行—項(xiàng)具體的測(cè)量工作,首先要考慮采用何種原理的傳感器,這需要分析多方面的因素之后才能確定。因?yàn)椋词故菧y(cè)量同一物理量,也

13、有多種原理的傳感器可供選用,哪一種原理的傳感器更為合適,則需要根據(jù)被測(cè)量的特點(diǎn)和傳感器的使用條件考慮以下一些具體問(wèn)題:量程的大??;被測(cè)位置對(duì)傳感器體積的要求;測(cè)量方式為接觸式還是非接觸式;信號(hào)的引出方法,有線或是非接觸測(cè)量;傳感器的來(lái)源,國(guó)產(chǎn)還是進(jìn)口,價(jià)格能否承受,還是自行研制。</p><p><b>  (2)靈敏度的選擇</b></p><p>  通常,在傳感

14、器的線性范圍內(nèi),希望傳感器的靈敏度越高越好。因?yàn)橹挥徐`敏度高時(shí),與被測(cè)量變化對(duì)應(yīng)的輸出信號(hào)的值才比較大,有利于信號(hào)處理。但要注意的是,傳感器的靈敏度高,與被測(cè)量無(wú)關(guān)的外界噪聲也容易混入,也會(huì)被放大系統(tǒng)放大,影響測(cè)量精度。因此,要求傳感器本身應(yīng)具有較高的信噪比,盡量減少?gòu)耐饨缫氲拇當(dāng)_信號(hào)</p><p><b>  (3)頻率響應(yīng)特性</b></p><p>  傳感

15、器的頻率響應(yīng)特性決定了被測(cè)量的頻率范圍,必須在允許頻率范圍內(nèi)保持不失真的測(cè)量條件,實(shí)際上傳感器的響應(yīng)總有—定延遲,希望延遲時(shí)間越短越好。傳感器的頻率響應(yīng)高,可測(cè)的信號(hào)頻率范圍就寬,而由于受到結(jié)構(gòu)特性的影響,機(jī)械系統(tǒng)的慣性較大,因有頻率低的傳感器可測(cè)信號(hào)的頻率較低。</p><p><b> ?。?)線性范圍</b></p><p>  傳感器的線形范圍是指輸出與輸入成

16、正比的范圍。以理論上講,在此范圍內(nèi),靈敏度保持定值。傳感器的線性范圍越寬,則其量程越大,并且能保證一定的測(cè)量精度。在選擇傳感器時(shí),當(dāng)傳感器的種類(lèi)確定以后首先要看其量程是否滿足要求。但實(shí)際上,任何傳感器都不能保證絕對(duì)的線性,其線性度也是相對(duì)的。當(dāng)所要求測(cè)量精度比較低時(shí),在一定的范圍內(nèi),可將非線性誤差較小的傳感器近似看作線性的,這會(huì)給測(cè)量帶來(lái)極大的方便。</p><p><b>  (5)穩(wěn)定性</b

17、></p><p>  傳感器使用一段時(shí)間后,其性能保持不變化的能力稱(chēng)為穩(wěn)定性。影響傳感器長(zhǎng)期穩(wěn)定性的因素除傳感器本身結(jié)構(gòu)外,主要是傳感器的使用環(huán)境。因此,要使傳感器具有良好的穩(wěn)定性,傳感器必須要有較強(qiáng)的環(huán)境適應(yīng)能力。在選擇傳感器之前,應(yīng)對(duì)其使用環(huán)境進(jìn)行調(diào)查,并根據(jù)具體的使用環(huán)境選擇合適的傳感器,或采取適當(dāng)?shù)拇胧?,減小環(huán)境的影響。</p><p><b>  (6)精度&l

18、t;/b></p><p>  精度是傳感器的一個(gè)重要的性能指標(biāo),它是關(guān)系到整個(gè)測(cè)量系統(tǒng)測(cè)量精度的一個(gè)重要環(huán)節(jié)。傳感器的精度越高,其價(jià)格越昂貴,因此,傳感器的精度只要滿足整個(gè)測(cè)量系統(tǒng)的精度要求就可以,不必選得過(guò)高。這樣就可以在滿足同一測(cè)量目的的諸多傳感器中選擇比較便宜和簡(jiǎn)單的傳感器。</p><p>  如果測(cè)量目的是定性分析的,選用重復(fù)精度高的傳感器即可,不宜選用絕對(duì)量值精度高的;

19、如果是為了定量分析,必須獲得精確的測(cè)量值,就需選用精度等級(jí)能滿足要求的傳感器。對(duì)某些特殊使用場(chǎng)合,無(wú)法選到合適的傳感器,則需自行設(shè)計(jì)制造傳感器。自制傳感器的性能應(yīng)滿足使用要求。</p><p>  綜合考慮以上選取注意事項(xiàng),本設(shè)計(jì)采用鉑電阻溫度傳感器對(duì)溫度信號(hào)進(jìn)行采集。</p><p>  鉑電阻溫度傳感器是利用其電阻和溫度成一定函數(shù)關(guān)系而制成的溫度傳感器, 由于其測(cè)量準(zhǔn)確度高、測(cè)量范圍大

20、、復(fù)現(xiàn)性和穩(wěn)定性好等,被廣泛用于中溫(-200°C~650°C)范圍的溫度測(cè)量中。</p><p>  測(cè)溫傳感器的測(cè)溫電路采用典型的鉑電阻電橋電路,如圖所示。該測(cè)溫儀的測(cè)溫電路采用軟件算法中的查表線性化方法,利用軟件算法對(duì)電路參數(shù)進(jìn)行自適應(yīng)調(diào)整選取,在保證高分辨率的情況下,使得在給定的溫度范圍內(nèi)各點(diǎn)的分辨率近似相等,誤差可達(dá)到0.5級(jí)儀表的要求,提高了測(cè)溫儀的整體性能。</p>

21、<p>  圖中最后輸出的U5將被送到A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,然后由單片機(jī)讀入再進(jìn)行處理。通過(guò)對(duì)溫度測(cè)量電路的數(shù)學(xué)分析可以得出, U5 和Us 是完全成正比的。因此, 在設(shè)計(jì)中將Us設(shè)為A/D 轉(zhuǎn)換過(guò)程中的參考電壓。這樣, 即使Us有所變化, 也不會(huì)影響A/D 轉(zhuǎn)換器的轉(zhuǎn)換結(jié)果。</p><p>  由于將Us設(shè)為了參考電壓, 為了最大化測(cè)量的分辨率, 希望U5的輸出在溫度低限時(shí)向0V靠攏, 而在溫

22、度高限時(shí)向Us靠攏。這樣, 首先存在的一個(gè)問(wèn)題便是運(yùn)算放大器的輸出問(wèn)題。通常, 運(yùn)算放大器的輸出并不等于電源電壓, 因?yàn)榇嬖谝粋€(gè)飽和問(wèn)題, 這樣便降低了整個(gè)電路的測(cè)量分辨率。在實(shí)際設(shè)計(jì)中, 使用的Rail- to- Rail的運(yùn)算放大器, 即輸出上限可以達(dá)到電源電壓, 而下限可以達(dá)到0V。這一點(diǎn)對(duì)于整個(gè)電路來(lái)講是非常關(guān)鍵的。</p><p>  下面具體介紹測(cè)溫電路參數(shù)自適應(yīng)調(diào)整選取的設(shè)計(jì)過(guò)程。</p>

23、;<p>  確定參數(shù)的原則是達(dá)到盡可能高的分辨率, 以及盡量消除由于鉑電阻的強(qiáng)非線性帶來(lái)的各個(gè)溫度段分辨率的明顯差異。整個(gè)計(jì)算和賦值過(guò)程通過(guò)軟件程序來(lái)實(shí)現(xiàn)。</p><p>  第一步, 通過(guò)輸入獲取溫度最大值和最小值, 得出溫度的范圍。</p><p>  第二步, 通過(guò)輸入獲取電阻R1、R2、R4 的阻值。</p><p>  為了使節(jié)點(diǎn)①的電壓

24、大于節(jié)點(diǎn)②的電壓( 因?yàn)榉糯箅娐肥菃坞娫垂╇姷? 不可以輸出負(fù)電壓) , R1的值必須大于RT在溫度測(cè)量范圍內(nèi)的最大值。同時(shí), 為了保證橋路的靈敏度, R1的值僅需稍微大于(或等于)RT的最大值即可。同時(shí)明確放大電路中的要求R4=R5、R6=R7,</p><p>  而且為了降低功耗, 它們的取值通常都大于100kΩ。本設(shè)計(jì)中取R2=100kΩ, 作為它的臨時(shí)計(jì)算初值; 取R4=R5=100kΩ。</p&

25、gt;<p>  第三步, 確定剩下的參數(shù)值R6、R7。</p><p>  由于橋路的要求, R3=R2, R4~R7的阻值比較大, 這里可以忽略它們的影響來(lái)計(jì)算節(jié)點(diǎn)①和②之間的電壓差(U12)的變化范圍, 從而求出R6、R7的阻值(R4 阻值乘以放大倍數(shù)K)。</p><p>  第四步, 計(jì)算RT取最大值和最小值時(shí)該電路的分辨率。</p><p>

26、;  由于此時(shí)已知R1~R7 的所有電阻阻值, 因此可以計(jì)算出具備這些參數(shù)的電路在RT取最大值處的分辨率。例如當(dāng)溫度為- 30°C時(shí)RT取最大值, 求出U5 的值;然后查鉑電阻分度表得RT 在-29°C時(shí)的電阻值, 再次求出另一個(gè)U5的值, 二者之差的絕對(duì)值即相對(duì)表示了該電路在此點(diǎn)的分辨率, 差值越大, 則分辨率越高。同理, 可以求得該電路在RT最小值處的兩個(gè)輸出電壓U5之差。</p><p>

27、;  最后, 輸出電路各給定值以及得出的所有參數(shù)值和溫度各點(diǎn)對(duì)應(yīng)的A/D 轉(zhuǎn)換數(shù)值。</p><p>  2.2 A/D模數(shù)轉(zhuǎn)換電路芯片原理與設(shè)計(jì)</p><p>  盡管ADC芯片的品種、型號(hào)很多,其內(nèi)部功能強(qiáng)弱、轉(zhuǎn)換速度快慢、轉(zhuǎn)換精度高低有很大差別,但從用戶最關(guān)心的外特性看,無(wú)論哪種芯片,都必不可少地要包括以下四種基本信號(hào)引腳端:模擬信號(hào)輸入端(單極性或雙極性);數(shù)字量輸出端(并

28、行或串行);轉(zhuǎn)換啟動(dòng)信號(hào)輸入端;轉(zhuǎn)換結(jié)束信號(hào)輸出端。本次課程設(shè)計(jì)選用的是ADC0808或ADC0809芯片。</p><p>  ADC0808和ADC0809除精度略有差別外(前者精度為8位、后者精度為7位),其余各方面完全相同。它們都是CMOS器件,不僅包括一個(gè)8位的逐次逼近型的ADC部分,而且還提供一個(gè)8通道的模擬多路開(kāi)關(guān)和通道尋址邏輯,因而有理由把它作為簡(jiǎn)單的“數(shù)據(jù)采集系統(tǒng)” 。利用它可直接輸入8個(gè)單端的

29、模擬信號(hào)分時(shí)進(jìn)行A/D轉(zhuǎn)換,在多點(diǎn)巡回檢測(cè)和過(guò)程控制、運(yùn)動(dòng)控制中應(yīng)用十分廣泛。</p><p>  2.2.1 內(nèi)部結(jié)構(gòu)和外部引腳</p><p>  ADC0808/0809的內(nèi)部結(jié)構(gòu)和外部引腳分別如圖11.19和圖11.20所示。內(nèi)部各部分的作用和工作原理在內(nèi)部結(jié)構(gòu)圖中已一目了然,在此就不再贅述,下面僅對(duì)各引腳定義分述如下: </p><p> ?。?)IN

30、0~I(xiàn)N7——8路模擬輸入,通過(guò)3根地址譯碼線ADDA、ADDB、ADDC來(lái)選通一路。</p><p>  (2)D7~D0——A/D轉(zhuǎn)換后的數(shù)據(jù)輸出端,為三態(tài)可控輸出,故可直接和微處理器數(shù)據(jù)線連接。8位排列順序是D7為最高位,D0為最低位。</p><p> ?。?)ADDA、ADDB、ADDC——模擬通道選擇地址信號(hào),ADDA為低位,ADDC為高位。地址信號(hào)與選中通道對(duì)應(yīng)關(guān)系如表11.

31、3所示。</p><p> ?。?)VR(+)、VR(-)——正、負(fù)參考電壓輸入端,用于提供片內(nèi)DAC電阻網(wǎng)絡(luò)的基準(zhǔn)電壓。在單極性輸入時(shí),VR(+)=5V,VR(-)=0V;雙極性輸入時(shí),VR(+)、VR(-)分別接正、負(fù)極性的參考電壓。</p><p><b>  引腳圖如下圖所示:</b></p><p>  (5)ALE——地址鎖存允許信

32、號(hào),高電平有效。當(dāng)此信號(hào)有效時(shí),A、B、C三位地址信號(hào)被鎖存,譯碼選通對(duì)應(yīng)模擬通道。在使用時(shí),該信號(hào)常和START信號(hào)連在一起,以便同時(shí)鎖存通道地址和啟動(dòng)A/D轉(zhuǎn)換。</p><p> ?。?)START——A/D轉(zhuǎn)換啟動(dòng)信號(hào),正脈沖有效。加于該端的脈沖的上升沿使逐次逼近寄存器清零,下降沿開(kāi)始A/D轉(zhuǎn)換。如正在進(jìn)行轉(zhuǎn)換時(shí)又接到新的啟動(dòng)脈沖,則原來(lái)的轉(zhuǎn)換進(jìn)程被中止,重新從頭開(kāi)始轉(zhuǎn)換。</p><

33、p> ?。?)EOC——轉(zhuǎn)換結(jié)束信號(hào),高電平有效。該信號(hào)在A/D轉(zhuǎn)換過(guò)程中為低電平,其余時(shí)間為高電平。該信號(hào)可作為被CPU查詢的狀態(tài)信號(hào),也可作為對(duì)CPU的中斷請(qǐng)求信號(hào)。在需要對(duì)某個(gè)模擬量不斷采樣、轉(zhuǎn)換的情況下,EOC也可作為啟動(dòng)信號(hào)反饋接到START端,但在剛加電時(shí)需由外電路第一次啟動(dòng)。</p><p> ?。?)OE——輸出允許信號(hào),高電平有效。當(dāng)微處理器送出該信號(hào)時(shí),ADC0808/0809的輸出三態(tài)

34、門(mén)被打開(kāi),使轉(zhuǎn)換結(jié)果通過(guò)數(shù)據(jù)總線被讀走。在中斷工作方式下,該信號(hào)往往是CPU發(fā)出的中斷請(qǐng)求響應(yīng)信號(hào)。</p><p>  2.2.2 工作時(shí)序與使用說(shuō)明</p><p>  ADC0808/0809的工作時(shí)序如圖下圖所示。當(dāng)通道選擇地址有效時(shí),ALE信號(hào)一出現(xiàn),地址便馬上被鎖存,這時(shí)轉(zhuǎn)換啟動(dòng)信號(hào)緊隨ALE之后(或與ALE同時(shí))出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復(fù)位,在該

35、上升沿之后的2μs加8個(gè)時(shí)鐘周期內(nèi)(不定),EOC信號(hào)將變低電平,以指示轉(zhuǎn)換操作正在進(jìn)行中,直到轉(zhuǎn)換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號(hào)后,便立即送出OE信號(hào),打開(kāi)三態(tài)門(mén),讀取轉(zhuǎn)換結(jié)果。</p><p>  模擬輸入通道的選擇可以相對(duì)于轉(zhuǎn)換開(kāi)始操作獨(dú)立地進(jìn)行(當(dāng)然,不能在轉(zhuǎn)換過(guò)程中進(jìn)行),然而通常是把通道選擇和啟動(dòng)轉(zhuǎn)換結(jié)合起來(lái)完成(因?yàn)锳DC0808/0809的時(shí)間特性允許這樣做)。這樣可以

36、用一條寫(xiě)指令既選擇模擬通道又啟動(dòng)轉(zhuǎn)換。在與微機(jī)接口時(shí),輸入通道的選擇可有兩種方法,一種是通過(guò)地址總線選擇,一種是通過(guò)數(shù)據(jù)總線選擇。</p><p>  如用EOC信號(hào)去產(chǎn)生中斷請(qǐng)求,要特別注意EOC的變低相對(duì)于啟動(dòng)信號(hào)有2μs+8個(gè)時(shí)鐘周期的延遲,要設(shè)法使它不致產(chǎn)生虛假的中斷請(qǐng)求。為此,最好利用EOC上升沿產(chǎn)生中斷請(qǐng)求,而不是靠高電平產(chǎn)生中斷請(qǐng)求。</p><p>  ADC0808/08

37、09與單片機(jī)的接口電路:</p><p>  2.3 顯示模塊的原理與設(shè)計(jì)</p><p>  顯示系統(tǒng)是單片機(jī)控制系統(tǒng)的重要組成部分,主要用于顯示各種參數(shù)的值,以便使現(xiàn)場(chǎng)工作人員能夠及時(shí)掌握生產(chǎn)過(guò)程。</p><p>  工業(yè)控制系統(tǒng)中常用的顯示器件有CRT、LED、LCD等,CRT不僅可以進(jìn)行字符顯示,而且可以進(jìn)行畫(huà)面顯示,和計(jì)算機(jī)配合使用,可十分方便地實(shí)

38、現(xiàn)生產(chǎn)過(guò)程的管理和監(jiān)視,但由于CRT體積大,價(jià)格昂貴,所以只適用于大型微機(jī)控制系統(tǒng)。在中小型的控制過(guò)程中,為了使工作人員能夠在現(xiàn)場(chǎng)直接看到生產(chǎn)情況和報(bào)警信號(hào),經(jīng)常選用LED和LCD作為顯示器件。LED和LCD都具有體積小,功耗低,響應(yīng)速度快,易于匹配,可靠性高和壽命高等優(yōu)點(diǎn)。LCD是一種功耗極低的顯示元件,在儀表和低功耗應(yīng)用系統(tǒng)中的使用較多,而LED雖然成本低廉,也用于單片機(jī)控制系統(tǒng)中。但是現(xiàn)實(shí)數(shù)值位數(shù)及精度受到LED數(shù)量多少的限制,本

39、設(shè)計(jì)要同時(shí)顯示八路溫度,若用LED顯示需求片數(shù)太多,不僅總成本沒(méi)有降低,而且體積增大,觀察不便。所以,本系統(tǒng)采用LCD液晶顯示[3]。</p><p>  液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量輕、功耗小的特點(diǎn)。點(diǎn)陣字符型液晶顯示器把LCD控制器、點(diǎn)陣驅(qū)動(dòng)器、字符存儲(chǔ)器集成在一塊印刷電路板上,構(gòu)成便于應(yīng)用的液晶模塊。這類(lèi)液晶模塊不僅可以顯示數(shù)字、字符,還可以顯示各種圖形符號(hào)以及少量自定義符號(hào),并且可以實(shí)現(xiàn)屏

40、幕的上下左右滾動(dòng)、文字的閃爍等功能;人機(jī)界面友好,使用操作也更加靈活、方便,使其日益成為各種儀器儀表等設(shè)備的首選。本文介紹LM016L液晶模塊的引腳結(jié)構(gòu)、功能的基礎(chǔ)上,介紹LM016L與MCS51單片機(jī)的硬件接口電路、自定義字符的顯示。</p><p>  LM016L 液晶模塊采用HD44780控制器。HD44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng)、閃爍等功能。LM016L與單片機(jī)MCU(Micro

41、controller Unit)通訊可采用8位或者4位并行傳輸兩種方式。HD44780 控制器由兩個(gè)8位寄存器、指令寄存器(IR)和數(shù)據(jù)寄存器(DR)、忙標(biāo)志(BF)、顯示數(shù)據(jù)RAM(DDRAM)、字符發(fā)生器ROM(CGROM)、字符發(fā)生器RAM(CGRAM)、地址計(jì)數(shù)器(AC)。IR 用于寄存指令碼,只能寫(xiě)入不能讀出;DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫(xiě)入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù)。BF為1時(shí)

42、,液晶模塊處于內(nèi)部處理模式,不響應(yīng)外部操作指令和接受數(shù)據(jù)。DDRAM用來(lái)存儲(chǔ)顯示的字符,能存儲(chǔ)80個(gè)字符碼。CGROM由8位字符碼生成5*7點(diǎn)陣字符160種和5*10點(diǎn)陣字符32種,8位字符編碼和字符的對(duì)應(yīng)關(guān)系。CGRAM是為用戶編寫(xiě)特殊字符留用的,它的容量?jī)H64字節(jié)??梢宰远x8 個(gè)5*7 點(diǎn)陣字符或者4個(gè)5*10點(diǎn)陣字符。AC可以存儲(chǔ)DDRAM和CGRAM的地址,如果地址碼隨指令寫(xiě)入IR,則IR</p><p&g

43、t;  LM016L與MCU的電路如下圖所示:</p><p>  2.4 AT89C51單片機(jī)的特點(diǎn)及引腳說(shuō)明</p><p>  AT89C51是美國(guó)ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片,內(nèi)含4Kbytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(EPROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MC

44、S-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域,該芯片外形結(jié)構(gòu)及引腳如圖所示。</p><p>  AT89C51單片機(jī)主要性能參數(shù)為:</p><p> ?。?)與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;(2)4K字節(jié)可重擦寫(xiě)Flash閃速存儲(chǔ)器;(3)1000次擦寫(xiě)周期;(4)全靜

45、態(tài)操作:0Hz—24Hz;(5)三級(jí)加密程序存儲(chǔ)器;(6)128×8字節(jié)內(nèi)部RAM;(7)32個(gè)可編程I/O口線;(8)2個(gè)16位定時(shí)/計(jì)數(shù)器;(9)6個(gè)中斷源;(10)可編程串行UART通道;(11)低功耗空閑和掉電模式。</p><p>  AT89C51提供4K字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片

46、內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。</p><p>  2.4.1 AT89C51單片機(jī)引腳功能說(shuō)明</p><p> ?。?)Vcc:電源電壓;&

47、lt;/p><p><b> ?。?)GND:地;</b></p><p>  (3)P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Fl

48、ash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p> ?。?)P1口:P1口是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉倒高電平,此時(shí)可做輸入口。做輸入口輸入時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash編程和程序校驗(yàn)期

49、間,P1接收低8位地址。</p><p>  (5)P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉倒高電平,此時(shí)可做輸入口,做輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸入一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口

50、送出高8位地址數(shù)據(jù)。在訪問(wèn)8為地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVX@R1指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器SFR區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問(wèn)期間不改變。Flash編程或校驗(yàn)時(shí),P2亦接受高位地址和其它控制信號(hào)。</p><p>  (6)P3口:P3口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”時(shí),它們被內(nèi)部上拉電阻拉高

51、并可作為輸入端。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表所示。</p><p> ?。?)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> ?。?)ALE/ :當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖可用于鎖存地址的低八位

52、字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。對(duì)Flash存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖( )。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置置位后,只有一條MOVX和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置

53、ALE無(wú)效[8]。</p><p> ?。?) :程序儲(chǔ)存允許( )輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的 信號(hào)不出現(xiàn)。</p><p>  (10)EA/VPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器(地址為0000H—FFFFH),EA端必須保持低

54、電平(接地)。需注意的是:如果加密位LB1被編成,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件使用12V編程電壓Vpp。</p><p> ?。?0)XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p>  (11)XTAL2:振蕩器反相放

55、大器的輸出端。</p><p>  2.4.2 單片機(jī)最小系統(tǒng)</p><p>  對(duì)MCS-51系列的單片機(jī)來(lái)說(shuō),最小系統(tǒng)一般應(yīng)該包括:?jiǎn)纹瑱C(jī)、晶振電路、復(fù)位電路等,最小系統(tǒng)是保證單片機(jī)正常運(yùn)行所必須的外圍電路設(shè)計(jì),如果沒(méi)有這部分電路,單片機(jī)則不能正常工作。晶振電路為單片機(jī)提供最基本的基準(zhǔn)時(shí)序。時(shí)鐘又是時(shí)序的基礎(chǔ),時(shí)鐘可以由兩種方式產(chǎn)生,即內(nèi)部方式和外部方式。本系統(tǒng)采用內(nèi)部方式。MC

56、S-51系列單片機(jī)允許的振蕩頻率可在1.2—24MHz之間選擇,一般選為11.0592MHz。電容C1、C2的取值對(duì)振蕩頻率的穩(wěn)定性、大小及振蕩電路的起振速度有一定的影響,可在20—100pF之間選擇,電容的典型值30pF。MCS-51系列單片機(jī)通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。通常因?yàn)橄到y(tǒng)運(yùn)行的需要,常常需要人工復(fù)位,只需要將一個(gè)常開(kāi)按鈕并聯(lián)于上電復(fù)位電路。當(dāng)晶體振蕩頻率為12MHz時(shí),RC的典型值為C=10μF,R=8.2kΩ

57、。最小系統(tǒng)電路如圖所示。</p><p>  第三章 調(diào)試與仿真</p><p>  3.1 Proteus與Keil μVision鏈接設(shè)置</p><p>  Keil μVision(簡(jiǎn)稱(chēng)Keil)是德國(guó)Keil公司出品的51系列兼容單片機(jī)軟件開(kāi)發(fā)系統(tǒng)。該系統(tǒng)支持C語(yǔ)言和匯編語(yǔ)言。Keil界面友好,操作簡(jiǎn)單。首先介紹Proteus與Keil的鏈接設(shè)置。&l

58、t;/p><p> ?。?)安裝Keil和Proteus7.6sp3;</p><p> ?。?)將Proteus7Professional\Models\VDM51.DLL復(fù)制到Keil\C51\bin目錄下;</p><p>  (3)在Keil\TOOLS.INI文件中的字段下添加:TDRV4=BIN\VDM5- 1.DLL(“Proteus VSM Simula

59、tor”),并保存。其中TDRV4中的數(shù)字“4”可以任意;</p><p> ?。?)在Proteus中繪制原理圖后,選取Debug | Use Remote Debug Monitor選項(xiàng);</p><p> ?。?)在Keil中編輯程序完成后,選取Project | Options for Target‘Target1’選項(xiàng),選擇Debug選項(xiàng)卡,選中Proteus VSM Simul

60、ator選項(xiàng)。單擊Setting按鈕,設(shè)置Host為127.0.0.1,Port為8000;</p><p> ?。?)在Keil中進(jìn)行Debug,同時(shí)在Proteus中查看結(jié)果。</p><p>  3.2 在Keil中編輯程序并生成“HEX”文件</p><p>  打開(kāi)Keil,選擇Project| New Project命令,在彈出的Create New

61、Project對(duì)話框中選擇目標(biāo)保存路徑,在“文件名”編輯框輸入工程名稱(chēng)。單擊“保存”,在彈出的Select Device for Target ‘Target 1’對(duì)話框中雙擊Data base框中的Atmel選項(xiàng),選擇AT89C51單片機(jī),按“確定”后,在隨后彈出的μ Vision的對(duì)話框中選擇“是”。</p><p>  選擇File | New命令,新建一個(gè)文檔,然后保存。本設(shè)計(jì)采用C語(yǔ)言編寫(xiě)程序,故輸入擴(kuò)

62、展名為“.c”。保存文件后,Keil會(huì)自動(dòng)識(shí)別C語(yǔ)言程序中的關(guān)鍵字,并以不同的顏色顯示。</p><p>  編寫(xiě)程序完成后,雙擊Keil左邊的Project Workspace窗口中的Target 1,然后右鍵單擊Source Group 1文件夾,在快捷菜單中選擇Add Files to Group ‘Source Group 1’,在彈出的Add Files to Group ‘Source Group 1

63、’對(duì)話框中選擇文件類(lèi)型為C Source File類(lèi)型,將編完的C語(yǔ)言程序文件添加到Source Group 1中。在Keil中是以工程的方式對(duì)文件進(jìn)行管理,為此需要將相關(guān)的目標(biāo)文件加入到工程之中。</p><p>  右鍵單擊Project Workspace窗口中的Target 1文件夾,在快捷菜單中選擇Options for Target ‘Target 1’選項(xiàng)。在彈出的Options for Targe

64、t ‘Target 1’對(duì)話框中選擇Output選項(xiàng)卡,選中Create HEX File復(fù)選框以生成Proteus所需的十六進(jìn)制文件,如圖所示,然后單擊“OK”按鈕。</p><p>  在Keil中選擇Project|Build target命令,以產(chǎn)生目標(biāo)程序和HEX文件。如果編譯成功,則在Output Window子窗口中的Build選項(xiàng)頁(yè)中出現(xiàn)如圖所示信息。如果編譯錯(cuò)誤,則會(huì)在子窗口指示錯(cuò)誤的語(yǔ)句。雙擊

65、錯(cuò)誤信息,光標(biāo)回自動(dòng)指向錯(cuò)誤的語(yǔ)句。</p><p>  3.3 在Proteus ISIS中調(diào)試</p><p>  首先打開(kāi)Proteus ISIS,完成系統(tǒng)電路原理圖的繪制.</p><p>  雙擊U1即AT89C51,在彈出的Edit Component對(duì)話框Program File一欄中選擇在Keil中產(chǎn)生的Hex文件。單擊“OK”按鈕。按Ctrl+S保

66、存設(shè)計(jì)。</p><p>  第四章 感想與總結(jié)</p><p>  本文的詳細(xì)設(shè)計(jì)了基于單片機(jī)AT89C51 的溫度監(jiān)控系統(tǒng),進(jìn)行了Proteus仿真,所設(shè)計(jì)程序已經(jīng)在硬件平臺(tái)上運(yùn)行.此系統(tǒng)可廣泛用于溫度在0—100℃測(cè)溫范圍之內(nèi)的場(chǎng)合。</p><p>  通過(guò)本次溫度監(jiān)控系統(tǒng)的設(shè)計(jì),我大有收獲,在制作過(guò)程中,一定要注意的每個(gè)工作步驟的檢查,確保每步進(jìn)展順利

67、。從整體來(lái)說(shuō)這是一個(gè)復(fù)雜的過(guò)程,要細(xì)心謹(jǐn)慎,沉著冷靜,反復(fù)檢查,直到找到原因?yàn)橹?,?shí)在解決不了可以請(qǐng)教同學(xué)或指導(dǎo)老師。雖然在制作過(guò)程中不可避免地遇到很多問(wèn)題,但是最后還是在老師以及同學(xué)的幫助下解決了一些問(wèn)題,實(shí)現(xiàn)了整個(gè)系統(tǒng)設(shè)計(jì)與調(diào)試,相關(guān)指標(biāo)達(dá)到期望的要求,完成了本次課程設(shè)計(jì)任務(wù)。</p><p>  設(shè)計(jì)中難免會(huì)遇到各種各樣的問(wèn)題,例如在顯示模塊上仍然需要進(jìn)一步摸索和學(xué)習(xí),還有在溫度傳感器模塊中,測(cè)溫電路的輸出

68、電壓值不能被A/D轉(zhuǎn)換所接受,也就是A/D轉(zhuǎn)換電路沒(méi)有輸入的電壓值,我組同學(xué)在這方面下了很大功夫來(lái)解決,但最終解決的不是很完美。</p><p>  兩周的課程設(shè)計(jì)時(shí)間很短暫,從給定課題到定稿,從理論到實(shí)踐,兩周來(lái)我們認(rèn)真查資料、仿真、調(diào)試。理論與實(shí)踐的結(jié)合很重要,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把理論知識(shí)與實(shí)踐相結(jié)合,才能真正提高自己的動(dòng)手實(shí)踐能力和獨(dú)立思考能力。在設(shè)計(jì)過(guò)程中,我們?cè)诰幊谭矫娓请y題,發(fā)現(xiàn)了我的不

69、足之處,我對(duì)匯編掌握的不是很透徹,沒(méi)有樹(shù)立良好的編程思想,這是我今后努力的方向。</p><p>  兩周的時(shí)間過(guò)去了,感謝xx老師的悉心指導(dǎo),xx老師多次詢問(wèn)設(shè)計(jì)進(jìn)程,并為我們解決問(wèn)題,幫助我們開(kāi)拓設(shè)計(jì)思路,精心點(diǎn)撥。設(shè)計(jì)進(jìn)展的每一步都凝結(jié)著老師辛勤的汗水,謹(jǐn)向老師致以深深的敬意!老師淵博的學(xué)識(shí)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度已經(jīng)成為我們學(xué)習(xí)的榜樣;老師對(duì)學(xué)生辛勤的培養(yǎng)、誨人不倦的精神和對(duì)學(xué)生無(wú)私的關(guān)懷令我深為感動(dòng)。如果有機(jī)會(huì)

70、,我愿意在xx老師的精心指導(dǎo)下完成各項(xiàng)比賽和工作。最后祝老師工作順利,身體健康,闔家歡樂(lè)!</p><p>  第五章 程序代碼與仿真電路</p><p>  5.1 程序代碼:</p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b>&l

71、t;/p><p><b>  ORG 0030H</b></p><p>  TMPL EQU 30H</p><p>  TMPH EQU 31H</p><p>  FLAG EQU 00H</p><p>  DATAIN BIT P2.4</p><p>  D BI

72、T P2.5</p><p>  CLK BIT P2.6</p><p>  STB BIT P2.7</p><p>  RS BIT P2.1</p><p>  RW BIT P2.2</p><p>  E BIT P2.3</p><p>  INST EQU

73、 30H</p><p>  PORT EQU P0</p><p>  MOV 68H,#00H;TEMPERATURE;68h是溫度單元</p><p>  MOV 69H,#00H</p><p>  MOV 6AH,#00H</p><p>  MOV 6BH,#'.'</p>

74、<p>  MOV 6CH,#00H</p><p>  MOV 6DH,#'*'</p><p>  MOV 6EH,#'C'</p><p><b>  MAIN: </b></p><p><b>  CLR P3.4</b></p>&

75、lt;p>  MOV INST,#0EH;開(kāi)顯示 </p><p>  LCALL ENABLE</p><p>  MOV INST,#38H;功能設(shè)定</p><p>  LCALL ENABLE</p><p>  MOV INST,#06H;進(jìn)入模式設(shè)定</p><p>  LCALL ENABLE

76、 </p><p>  MOV INST,#01H;清屏</p><p>  LCALL ENABLE </p><p><b>  LOP:</b></p><p>  LCALL DISP</p><p>  LCALL GETTEMPER</p><p>&l

77、t;b>  LCALL CVT</b></p><p><b>  lcall adc</b></p><p><b>  AJMP LOP</b></p><p>  ENABLE: ;ENABLE(INST)</p><p><b>  CLR RS<

78、;/b></p><p><b>  CLR RW</b></p><p>  MOV PORT,INST</p><p><b>  CLR E </b></p><p>  LCALL DELAYL</p><p><b>  SETB E </b

79、></p><p><b>  RET</b></p><p>  DELAYL:MOV R7,#64H</p><p>  L1:MOV R6,#0FFH</p><p><b>  W1:NOP</b></p><p><b>  NOP</b>

80、;</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  NOP </b></p><p>  DJNZ R6,W1</p><p>  DJNZ R7,L1</p><

81、;p><b>  RET</b></p><p>  DISP: ;開(kāi)始寫(xiě)字符 WRITE(DPTR)</p><p>  LCALL ASCII</p><p>  MOV R4,#07H </p><p>  MOV R1,#68H;寫(xiě)字符串</p>&l

82、t;p>  MOV INST,#80H;設(shè)置字符的位置</p><p>  LCALL ENABLE</p><p>  A1: MOV A,@R1</p><p><b>  INC R1</b></p><p>  LCALL WRITE1</p><p>  DJNZ R4,

83、A1</p><p><b>  RET</b></p><p><b>  WRITE1:</b></p><p>  MOV PORT,A </p><p><b>  SETB RS</b></p><p><b>  CLR RW<

84、;/b></p><p><b>  CLR E</b></p><p>  LCALL DELAY</p><p><b>  SETB E </b></p><p><b>  RET</b></p><p>  ASCII: ;

85、ASCII(@R0,@R1)</p><p>  MOV A,73H</p><p>  MOV DPTR ,#TAB2</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV 68H,A</b></p><p>  MOV A,72H</p>&l

86、t;p>  MOV DPTR ,#TAB2</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV 69H,A</b></p><p>  MOV A,71H</p><p>  MOV DPTR ,#TAB2</p><p>  MOVC A,@A+DPTR

87、</p><p><b>  MOV 6AH,A</b></p><p>  MOV A,70H</p><p>  MOV DPTR ,#TAB2</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV 6CH,A</b></p>

88、<p><b>  RET</b></p><p>  TAB2:DB '0123456789'</p><p><b>  INITION:</b></p><p>  SETB DATAIN</p><p><b>  NOP</b><

89、/p><p>  CLR DATAIN</p><p><b>  MOV R1,#3</b></p><p>  MOV R0,#107 </p><p><b>  TSR1:</b></p><p><b>  DJNZ R0,$</b></p

90、><p>  DJNZ R1,TSR1</p><p>  SETB DATAIN</p><p><b>  NOP </b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>

91、  MOV R0,#25H</p><p>  TSR2:JNB DATAIN,TSR3 </p><p>  DJNZ R0,TSR2</p><p><b>  CLR FLAG</b></p><p>  SJMP TSR7 </p><p>  TSR3:SETB FLAG

92、 </p><p>  MOV R0,#117</p><p>  TSR6:DJNZ R0,TSR6 </p><p>  TSR7: SETB DATAIN</p><p><b>  RET</b></p><p>  GETTEMPER:</p><p>  

93、SETB DATAIN</p><p>  LCALL INITION</p><p>  JB FLAG,TSS2</p><p><b>  NOP</b></p><p><b>  RET</b></p><p><b>  TSS2: </b>

94、;</p><p>  MOV A,#0CCH</p><p>  LCALL WRITE</p><p>  MOV A,#44H</p><p>  LCALL WRITE</p><p>  MOV R5,#9 </p><p><b>  EE:</b></p

95、><p>  LCALL DELAY</p><p>  DJNZ R5,EE </p><p>  LCALL INITION</p><p>  MOV A,#0CCH</p><p>  LCALL WRITE</p><p>  MOV A,#0BEH</p><p>

96、;  LCALL WRITE</p><p>  LCALL DELAY</p><p>  LCALL DELAY</p><p>  LCALL READ</p><p><b>  RET</b></p><p><b>  WRITE:</b></p>

97、<p><b>  MOV R2,#8</b></p><p><b>  CLR C</b></p><p><b>  WR1:</b></p><p>  CLR DATAIN</p><p><b>  MOV R3,#6</b>&l

98、t;/p><p><b>  DJNZ R3,$</b></p><p><b>  RRC A</b></p><p>  MOV DATAIN,C</p><p>  MOV R3,#23</p><p><b>  DJNZ R3,$</b></

99、p><p>  SETB DATAIN</p><p><b>  NOP </b></p><p>  DJNZ R2,WR1</p><p>  SETB DATAIN</p><p><b>  RET</b></p><p><b>  

100、READ:</b></p><p>  LCALL DELAY </p><p><b>  MOV R4,#2</b></p><p>  MOV R1,#30H</p><p>  RE00:MOV R2,#8</p><p>  RE01:CLR C</p><

101、;p>  SETB DATAIN</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  CLR DATAIN</p><p><b>  NOP</b></p><p><b>  N

102、OP</b></p><p><b>  NOP</b></p><p>  SETB DATAIN</p><p><b>  MOV R3,#9</b></p><p><b>  DJNZ R3,$</b></p><p>  MOV

103、C,DATAIN</p><p>  MOV R3,#23</p><p><b>  DJNZ R3,$</b></p><p><b>  RRC A</b></p><p>  DJNZ R2,RE01</p><p><b>  MOV @R1,A</

104、b></p><p><b>  INC R1</b></p><p>  DJNZ R4,RE00</p><p><b>  RET</b></p><p>  CVT: MOV A,TMPH </p><p>  ANL A,#80H</p>

105、<p><b>  JZ TMPC1</b></p><p><b>  CLR C</b></p><p>  MOV A,TMPL</p><p><b>  CPL A</b></p><p><b>  ADD A,#1</b></

106、p><p>  MOV TMPL,A</p><p>  MOV A,TMPH</p><p><b>  CPL A</b></p><p>  MOV TMPH,A</p><p>  MOV 73H,#0BH</p><p>  SJMP TMPC11</p>

107、<p>  TMPC1:MOV 73H,#0AH</p><p>  TMPC11:MOV A,TMPL</p><p>  ANL A,#0FH</p><p>  MOV DPTR,#TMPTAB</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV 70H,

108、A</b></p><p>  MOV A,TMPL</p><p>  ANL A,#0F0H</p><p><b>  SWAP A</b></p><p>  MOV TMPL,A</p><p>  MOV A,TMPH</p><p>  ANL A

109、,#0FH</p><p><b>  SWAP A</b></p><p>  ORL A,TMPL;在此A為個(gè)位與十位,70H為十分位。</p><p>  H2BCD:MOV B,#100 ;把A的數(shù)BCD化。</p><p><b>  DIV AB </b></p><

110、p><b>  JZ B2BCD1</b></p><p><b>  MOV 73H,A</b></p><p>  B2BCD1:MOV A,#10</p><p><b>  XCH A,B</b></p><p><b>  DIV AB</b&g

111、t;</p><p><b>  MOV 72H,A</b></p><p>  MOV 71H,B ;73H為百位,72H為十位,71H為個(gè)位,70H為十分位;RET</p><p>  TMPTAB:DB 00H,01H,01H,02H,03H,03H,04H,04H,05H,06H,06H,07H,08H,08H

112、,09H,09H</p><p>  adc:mov R0,#0a0h</p><p>  mov r2 ,#08h</p><p><b>  setb it1 </b></p><p><b>  setb ea</b></p><p><b>  setb e

113、x1</b></p><p>  mov dptr ,#0ffffh</p><p>  movx @dptr ,a</p><p>  here: sjmp here</p><p>  movx a,@dptr</p><p>  movx @r0,a</p><p><b

114、>  inc dptr</b></p><p><b>  inc r0</b></p><p>  djnz r2,done</p><p><b>  reti</b></p><p>  done: movx @dptr ,a</p><p><

115、b>  reti</b></p><p>  DELAY:MOV R6,#250</p><p>  D1:MOV R7,#255</p><p><b>  DJNZ R7,$</b></p><p>  DJNZ R6,D1</p><p><b>  NOP<

溫馨提示

  • 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)論