版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《測控系統(tǒng)原理與設(shè)計(jì)》課程設(shè)計(jì)說明書</p><p> 設(shè)計(jì)題目:八路溫度巡檢儀</p><p> 姓 名 </p><p> 學(xué) 院 機(jī)械電子學(xué)院 </p><p> 專 業(yè) 測控技術(shù)與儀器 </p><p> 班
2、級 測控071班 </p><p><b> 目 錄</b></p><p> 第一章 緒論- 1 -</p><p> 1.1 八路溫度巡檢儀簡介- 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 鉑電阻電橋測溫電路- 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í)序與使用說明- 6 -</p><p> 2.3 顯示模塊的原理與設(shè)計(jì)- 7 -</p><p> 2.4 AT89C51單片機(jī)的特點(diǎn)及引腳說明- 8 -</p><p> 2.4.1 AT89C51單片機(jī)引腳功能說明-
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 八路溫度巡檢儀簡介</p><p> 在工業(yè)生產(chǎn)過程中,溫度檢測和控制都直接和安全生產(chǎn)、產(chǎn)品質(zhì)量、生產(chǎn)效率、節(jié)約能源等重大技術(shù)經(jīng)濟(jì)指標(biāo)相聯(lián)系。溫度檢測類儀表作為溫度計(jì)量工具,也因此得到廣泛應(yīng)用。隨著生產(chǎn)力的發(fā)展,生產(chǎn)規(guī)模的擴(kuò)大和對生產(chǎn)管理的自動(dòng)化水平的要求越來越高,在很多場合,諸如啤酒、飲
8、料、食品、白酒發(fā)酵生產(chǎn)線,中頻熱處理行業(yè)的水路溫度保護(hù),變電所各電節(jié)點(diǎn)的溫度檢測,農(nóng)業(yè)大棚、雞舍等,要求溫度巡檢儀能自動(dòng)巡檢,以達(dá)到無人看守,溫度自動(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)的簡化,增加一些外圍電路,就能夠組成一個(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ù)采集就是將一般的物理量通過傳感器轉(zhuǎn)換成模擬量,在經(jīng)過A/D轉(zhuǎn)換電路轉(zhuǎn)換為數(shù)字量供給CPU進(jìn)行處理。詳細(xì)來說就是能監(jiān)測并采集多路的溫度信號,通過溫度傳
10、感器將溫度轉(zhuǎn)換成電壓信號輸出電壓,A/D轉(zhuǎn)換芯片將模擬量轉(zhuǎn)換成數(shù)字量,從而得到與溫度信號具有一定關(guān)系的數(shù)字量,單片機(jī)采集這些數(shù)字信號,進(jìn)行一定的信號調(diào)理、軟件算法、以及標(biāo)度變換,從而得到一定量的溫度值,再將這一溫度值通過顯示的方式顯示出來,然后通過按鍵或定時(shí)的控制實(shí)現(xiàn)巡檢,就得到了一個(gè)八路溫度巡檢儀的系統(tǒng)。</p><p> 1.2.1 方案設(shè)計(jì)</p><p> 在系統(tǒng)方案設(shè)計(jì)中
11、,主要以選擇測溫電路的方案為主,測溫電路的方案選擇可以直接的影響到測得溫度值的準(zhǔn)確性和要求達(dá)到的精度問題,測溫電路要求能把環(huán)境溫度通過傳感器把溫度信號轉(zhuǎn)換為我們所需要的電壓信號或電流信號,把得到相應(yīng)的電信號送入A/D轉(zhuǎn)換器,通過A/D轉(zhuǎn)換器的轉(zhuǎn)換,在通過單片機(jī)的控制和程序的處理最后得到準(zhǔn)確的溫度值,實(shí)現(xiàn)溫度的檢測。所以在測溫電路中我們進(jìn)行了認(rèn)真的分析和最后方案的確定。如下框圖所示:</p><p> 第二章
12、 具體設(shè)計(jì)內(nèi)容</p><p> 2.1 鉑電阻電橋測溫電路</p><p> 在設(shè)計(jì)過程中選取溫度傳感器要注意一下幾點(diǎn):</p><p> (1)根據(jù)測量對象與測量環(huán)境確定傳感器的類型</p><p> 要進(jìn)行—項(xiàng)具體的測量工作,首先要考慮采用何種原理的傳感器,這需要分析多方面的因素之后才能確定。因?yàn)?,即使是測量同一物理量,也
13、有多種原理的傳感器可供選用,哪一種原理的傳感器更為合適,則需要根據(jù)被測量的特點(diǎn)和傳感器的使用條件考慮以下一些具體問題:量程的大?。槐粶y位置對傳感器體積的要求;測量方式為接觸式還是非接觸式;信號的引出方法,有線或是非接觸測量;傳感器的來源,國產(chǎn)還是進(jìn)口,價(jià)格能否承受,還是自行研制。</p><p><b> ?。?)靈敏度的選擇</b></p><p> 通常,在傳感
14、器的線性范圍內(nèi),希望傳感器的靈敏度越高越好。因?yàn)橹挥徐`敏度高時(shí),與被測量變化對應(yīng)的輸出信號的值才比較大,有利于信號處理。但要注意的是,傳感器的靈敏度高,與被測量無關(guān)的外界噪聲也容易混入,也會被放大系統(tǒng)放大,影響測量精度。因此,要求傳感器本身應(yīng)具有較高的信噪比,盡量減少從外界引入的串?dāng)_信號</p><p><b> ?。?)頻率響應(yīng)特性</b></p><p> 傳感
15、器的頻率響應(yīng)特性決定了被測量的頻率范圍,必須在允許頻率范圍內(nèi)保持不失真的測量條件,實(shí)際上傳感器的響應(yīng)總有—定延遲,希望延遲時(shí)間越短越好。傳感器的頻率響應(yīng)高,可測的信號頻率范圍就寬,而由于受到結(jié)構(gòu)特性的影響,機(jī)械系統(tǒng)的慣性較大,因有頻率低的傳感器可測信號的頻率較低。</p><p><b> ?。?)線性范圍</b></p><p> 傳感器的線形范圍是指輸出與輸入成
16、正比的范圍。以理論上講,在此范圍內(nèi),靈敏度保持定值。傳感器的線性范圍越寬,則其量程越大,并且能保證一定的測量精度。在選擇傳感器時(shí),當(dāng)傳感器的種類確定以后首先要看其量程是否滿足要求。但實(shí)際上,任何傳感器都不能保證絕對的線性,其線性度也是相對的。當(dāng)所要求測量精度比較低時(shí),在一定的范圍內(nèi),可將非線性誤差較小的傳感器近似看作線性的,這會給測量帶來極大的方便。</p><p><b> ?。?)穩(wěn)定性</b
17、></p><p> 傳感器使用一段時(shí)間后,其性能保持不變化的能力稱為穩(wěn)定性。影響傳感器長期穩(wěn)定性的因素除傳感器本身結(jié)構(gòu)外,主要是傳感器的使用環(huán)境。因此,要使傳感器具有良好的穩(wěn)定性,傳感器必須要有較強(qiáng)的環(huán)境適應(yīng)能力。在選擇傳感器之前,應(yīng)對其使用環(huán)境進(jìn)行調(diào)查,并根據(jù)具體的使用環(huán)境選擇合適的傳感器,或采取適當(dāng)?shù)拇胧?,減小環(huán)境的影響。</p><p><b> ?。?)精度&l
18、t;/b></p><p> 精度是傳感器的一個(gè)重要的性能指標(biāo),它是關(guān)系到整個(gè)測量系統(tǒng)測量精度的一個(gè)重要環(huán)節(jié)。傳感器的精度越高,其價(jià)格越昂貴,因此,傳感器的精度只要滿足整個(gè)測量系統(tǒng)的精度要求就可以,不必選得過高。這樣就可以在滿足同一測量目的的諸多傳感器中選擇比較便宜和簡單的傳感器。</p><p> 如果測量目的是定性分析的,選用重復(fù)精度高的傳感器即可,不宜選用絕對量值精度高的;
19、如果是為了定量分析,必須獲得精確的測量值,就需選用精度等級能滿足要求的傳感器。對某些特殊使用場合,無法選到合適的傳感器,則需自行設(shè)計(jì)制造傳感器。自制傳感器的性能應(yīng)滿足使用要求。</p><p> 綜合考慮以上選取注意事項(xiàng),本設(shè)計(jì)采用鉑電阻溫度傳感器對溫度信號進(jìn)行采集。</p><p> 鉑電阻溫度傳感器是利用其電阻和溫度成一定函數(shù)關(guān)系而制成的溫度傳感器, 由于其測量準(zhǔn)確度高、測量范圍大
20、、復(fù)現(xiàn)性和穩(wěn)定性好等,被廣泛用于中溫(-200°C~650°C)范圍的溫度測量中。</p><p> 測溫傳感器的測溫電路采用典型的鉑電阻電橋電路,如圖所示。該測溫儀的測溫電路采用軟件算法中的查表線性化方法,利用軟件算法對電路參數(shù)進(jìn)行自適應(yīng)調(diào)整選取,在保證高分辨率的情況下,使得在給定的溫度范圍內(nèi)各點(diǎn)的分辨率近似相等,誤差可達(dá)到0.5級儀表的要求,提高了測溫儀的整體性能。</p>
21、<p> 圖中最后輸出的U5將被送到A/D轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字量,然后由單片機(jī)讀入再進(jìn)行處理。通過對溫度測量電路的數(shù)學(xué)分析可以得出, U5 和Us 是完全成正比的。因此, 在設(shè)計(jì)中將Us設(shè)為A/D 轉(zhuǎn)換過程中的參考電壓。這樣, 即使Us有所變化, 也不會影響A/D 轉(zhuǎn)換器的轉(zhuǎn)換結(jié)果。</p><p> 由于將Us設(shè)為了參考電壓, 為了最大化測量的分辨率, 希望U5的輸出在溫度低限時(shí)向0V靠攏, 而在溫
22、度高限時(shí)向Us靠攏。這樣, 首先存在的一個(gè)問題便是運(yùn)算放大器的輸出問題。通常, 運(yùn)算放大器的輸出并不等于電源電壓, 因?yàn)榇嬖谝粋€(gè)飽和問題, 這樣便降低了整個(gè)電路的測量分辨率。在實(shí)際設(shè)計(jì)中, 使用的Rail- to- Rail的運(yùn)算放大器, 即輸出上限可以達(dá)到電源電壓, 而下限可以達(dá)到0V。這一點(diǎn)對于整個(gè)電路來講是非常關(guān)鍵的。</p><p> 下面具體介紹測溫電路參數(shù)自適應(yīng)調(diào)整選取的設(shè)計(jì)過程。</p>
23、;<p> 確定參數(shù)的原則是達(dá)到盡可能高的分辨率, 以及盡量消除由于鉑電阻的強(qiáng)非線性帶來的各個(gè)溫度段分辨率的明顯差異。整個(gè)計(jì)算和賦值過程通過軟件程序來實(shí)現(xiàn)。</p><p> 第一步, 通過輸入獲取溫度最大值和最小值, 得出溫度的范圍。</p><p> 第二步, 通過輸入獲取電阻R1、R2、R4 的阻值。</p><p> 為了使節(jié)點(diǎn)①的電壓
24、大于節(jié)點(diǎn)②的電壓( 因?yàn)榉糯箅娐肥菃坞娫垂╇姷? 不可以輸出負(fù)電壓) , R1的值必須大于RT在溫度測量范圍內(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的阻值比較大, 這里可以忽略它們的影響來計(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的值, 二者之差的絕對值即相對表示了該電路在此點(diǎn)的分辨率, 差值越大, 則分辨率越高。同理, 可以求得該電路在RT最小值處的兩個(gè)輸出電壓U5之差。</p><p>
27、; 最后, 輸出電路各給定值以及得出的所有參數(shù)值和溫度各點(diǎn)對應(yīng)的A/D 轉(zhuǎn)換數(shù)值。</p><p> 2.2 A/D模數(shù)轉(zhuǎn)換電路芯片原理與設(shè)計(jì)</p><p> 盡管ADC芯片的品種、型號很多,其內(nèi)部功能強(qiáng)弱、轉(zhuǎn)換速度快慢、轉(zhuǎn)換精度高低有很大差別,但從用戶最關(guān)心的外特性看,無論哪種芯片,都必不可少地要包括以下四種基本信號引腳端:模擬信號輸入端(單極性或雙極性);數(shù)字量輸出端(并
28、行或串行);轉(zhuǎn)換啟動(dòng)信號輸入端;轉(zhuǎn)換結(jié)束信號輸出端。本次課程設(shè)計(jì)選用的是ADC0808或ADC0809芯片。</p><p> ADC0808和ADC0809除精度略有差別外(前者精度為8位、后者精度為7位),其余各方面完全相同。它們都是CMOS器件,不僅包括一個(gè)8位的逐次逼近型的ADC部分,而且還提供一個(gè)8通道的模擬多路開關(guān)和通道尋址邏輯,因而有理由把它作為簡單的“數(shù)據(jù)采集系統(tǒng)” 。利用它可直接輸入8個(gè)單端的
29、模擬信號分時(shí)進(jìn)行A/D轉(zhuǎn)換,在多點(diǎn)巡回檢測和過程控制、運(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)圖中已一目了然,在此就不再贅述,下面僅對各引腳定義分述如下: </p><p> ?。?)IN
30、0~I(xiàn)N7——8路模擬輸入,通過3根地址譯碼線ADDA、ADDB、ADDC來選通一路。</p><p> ?。?)D7~D0——A/D轉(zhuǎn)換后的數(shù)據(jù)輸出端,為三態(tài)可控輸出,故可直接和微處理器數(shù)據(jù)線連接。8位排列順序是D7為最高位,D0為最低位。</p><p> ?。?)ADDA、ADDB、ADDC——模擬通道選擇地址信號,ADDA為低位,ADDC為高位。地址信號與選中通道對應(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> ?。?)ALE——地址鎖存允許信
32、號,高電平有效。當(dāng)此信號有效時(shí),A、B、C三位地址信號被鎖存,譯碼選通對應(yīng)模擬通道。在使用時(shí),該信號常和START信號連在一起,以便同時(shí)鎖存通道地址和啟動(dòng)A/D轉(zhuǎn)換。</p><p> ?。?)START——A/D轉(zhuǎn)換啟動(dòng)信號,正脈沖有效。加于該端的脈沖的上升沿使逐次逼近寄存器清零,下降沿開始A/D轉(zhuǎn)換。如正在進(jìn)行轉(zhuǎn)換時(shí)又接到新的啟動(dòng)脈沖,則原來的轉(zhuǎn)換進(jìn)程被中止,重新從頭開始轉(zhuǎn)換。</p><
33、p> ?。?)EOC——轉(zhuǎn)換結(jié)束信號,高電平有效。該信號在A/D轉(zhuǎn)換過程中為低電平,其余時(shí)間為高電平。該信號可作為被CPU查詢的狀態(tài)信號,也可作為對CPU的中斷請求信號。在需要對某個(gè)模擬量不斷采樣、轉(zhuǎn)換的情況下,EOC也可作為啟動(dòng)信號反饋接到START端,但在剛加電時(shí)需由外電路第一次啟動(dòng)。</p><p> ?。?)OE——輸出允許信號,高電平有效。當(dāng)微處理器送出該信號時(shí),ADC0808/0809的輸出三態(tài)
34、門被打開,使轉(zhuǎn)換結(jié)果通過數(shù)據(jù)總線被讀走。在中斷工作方式下,該信號往往是CPU發(fā)出的中斷請求響應(yīng)信號。</p><p> 2.2.2 工作時(shí)序與使用說明</p><p> ADC0808/0809的工作時(shí)序如圖下圖所示。當(dāng)通道選擇地址有效時(shí),ALE信號一出現(xiàn),地址便馬上被鎖存,這時(shí)轉(zhuǎn)換啟動(dòng)信號緊隨ALE之后(或與ALE同時(shí))出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復(fù)位,在該
35、上升沿之后的2μs加8個(gè)時(shí)鐘周期內(nèi)(不定),EOC信號將變低電平,以指示轉(zhuǎn)換操作正在進(jìn)行中,直到轉(zhuǎn)換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號后,便立即送出OE信號,打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。</p><p> 模擬輸入通道的選擇可以相對于轉(zhuǎn)換開始操作獨(dú)立地進(jìn)行(當(dāng)然,不能在轉(zhuǎn)換過程中進(jìn)行),然而通常是把通道選擇和啟動(dòng)轉(zhuǎn)換結(jié)合起來完成(因?yàn)锳DC0808/0809的時(shí)間特性允許這樣做)。這樣可以
36、用一條寫指令既選擇模擬通道又啟動(dòng)轉(zhuǎn)換。在與微機(jī)接口時(shí),輸入通道的選擇可有兩種方法,一種是通過地址總線選擇,一種是通過數(shù)據(jù)總線選擇。</p><p> 如用EOC信號去產(chǎn)生中斷請求,要特別注意EOC的變低相對于啟動(dòng)信號有2μs+8個(gè)時(shí)鐘周期的延遲,要設(shè)法使它不致產(chǎn)生虛假的中斷請求。為此,最好利用EOC上升沿產(chǎn)生中斷請求,而不是靠高電平產(chǎn)生中斷請求。</p><p> ADC0808/08
37、09與單片機(jī)的接口電路:</p><p> 2.3 顯示模塊的原理與設(shè)計(jì)</p><p> 顯示系統(tǒng)是單片機(jī)控制系統(tǒng)的重要組成部分,主要用于顯示各種參數(shù)的值,以便使現(xiàn)場工作人員能夠及時(shí)掌握生產(chǎn)過程。</p><p> 工業(yè)控制系統(tǒng)中常用的顯示器件有CRT、LED、LCD等,CRT不僅可以進(jìn)行字符顯示,而且可以進(jìn)行畫面顯示,和計(jì)算機(jī)配合使用,可十分方便地實(shí)
38、現(xiàn)生產(chǎn)過程的管理和監(jiān)視,但由于CRT體積大,價(jià)格昂貴,所以只適用于大型微機(jī)控制系統(tǒng)。在中小型的控制過程中,為了使工作人員能夠在現(xiàn)場直接看到生產(chǎn)情況和報(bà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ù)太多,不僅總成本沒有降低,而且體積增大,觀察不便。所以,本系統(tǒng)采用LCD液晶顯示[3]。</p><p> 液晶顯示器(LCD)具有功耗低、體積小、質(zhì)量輕、功耗小的特點(diǎn)。點(diǎn)陣字符型液晶顯示器把LCD控制器、點(diǎn)陣驅(qū)動(dòng)器、字符存儲器集成在一塊印刷電路板上,構(gòu)成便于應(yīng)用的液晶模塊。這類液晶模塊不僅可以顯示數(shù)字、字符,還可以顯示各種圖形符號以及少量自定義符號,并且可以實(shí)現(xiàn)屏
40、幕的上下左右滾動(dòng)、文字的閃爍等功能;人機(jī)界面友好,使用操作也更加靈活、方便,使其日益成為各種儀器儀表等設(shè)備的首選。本文介紹LM016L液晶模塊的引腳結(jié)構(gòu)、功能的基礎(chǔ)上,介紹LM016L與MCS51單片機(jī)的硬件接口電路、自定義字符的顯示。</p><p> LM016L 液晶模塊采用HD44780控制器。HD44780具有簡單而功能較強(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 用于寄存指令碼,只能寫入不能讀出;DR用于寄存數(shù)據(jù),數(shù)據(jù)由內(nèi)部操作自動(dòng)寫入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù)。BF為1時(shí)
42、,液晶模塊處于內(nèi)部處理模式,不響應(yīng)外部操作指令和接受數(shù)據(jù)。DDRAM用來存儲顯示的字符,能存儲80個(gè)字符碼。CGROM由8位字符碼生成5*7點(diǎn)陣字符160種和5*10點(diǎn)陣字符32種,8位字符編碼和字符的對應(yīng)關(guān)系。CGRAM是為用戶編寫特殊字符留用的,它的容量僅64字節(jié)??梢宰远x8 個(gè)5*7 點(diǎn)陣字符或者4個(gè)5*10點(diǎn)陣字符。AC可以存儲DDRAM和CGRAM的地址,如果地址碼隨指令寫入IR,則IR</p><p&g
43、t; LM016L與MCU的電路如下圖所示:</p><p> 2.4 AT89C51單片機(jī)的特點(diǎn)及引腳說明</p><p> AT89C51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片,內(nèi)含4Kbytes的可反復(fù)擦寫的只讀程序存儲器(EPROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MC
44、S-51指令系統(tǒng),片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強(qiáng)大的AT89C51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域,該芯片外形結(jié)構(gòu)及引腳如圖所示。</p><p> AT89C51單片機(jī)主要性能參數(shù)為:</p><p> ?。?)與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;(2)4K字節(jié)可重擦寫Flash閃速存儲器;(3)1000次擦寫周期;(4)全靜
45、態(tài)操作:0Hz—24Hz;(5)三級加密程序存儲器;(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閃速存儲器,128字節(jié)內(nèi)部RAM,32個(gè)I/O口線,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片
46、內(nèi)振蕩器及時(shí)鐘電路。同時(shí),AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作直到下一個(gè)硬件復(fù)位。</p><p> 2.4.1 AT89C51單片機(jī)引腳功能說明</p><p> (1)Vcc:電源電壓;&
47、lt;/p><p><b> ?。?)GND:地;</b></p><p> ?。?)P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(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的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉倒高電平,此時(shí)可做輸入口。做輸入口輸入時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸出一個(gè)電流(IIL)。Flash編程和程序校驗(yàn)期
49、間,P1接收低8位地址。</p><p> ?。?)P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路,對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉倒高電平,此時(shí)可做輸入口,做輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號拉低時(shí)會輸入一個(gè)電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指令)時(shí),P2口
50、送出高8位地址數(shù)據(jù)。在訪問8為地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@R1指令)時(shí),P2口線上的內(nèi)容(也即特殊功能寄存器SFR區(qū)中R2寄存器的內(nèi)容),在整個(gè)訪問期間不改變。Flash編程或校驗(yàn)時(shí),P2亦接受高位地址和其它控制信號。</p><p> ?。?)P3口:P3口是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口的輸出緩沖級可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對端口寫“1”時(shí),它們被內(nèi)部上拉電阻拉高
51、并可作為輸入端。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表所示。</p><p> (7)RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> ?。?)ALE/ :當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時(shí),ALE(地址鎖存允許)輸出脈沖可用于鎖存地址的低八位
52、字節(jié)。即使不訪問外部存儲器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí)將跳過一個(gè)ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖( )。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置置位后,只有一條MOVX和MOVC指令A(yù)LE才會被激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置
53、ALE無效[8]。</p><p> (9) :程序儲存允許( )輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C51由外部程序存儲器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 有效,即輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的 信號不出現(xiàn)。</p><p> ?。?0)EA/VPP:外部訪問允許。欲使CPU僅訪問外部數(shù)據(jù)存儲器(地址為0000H—FFFFH),EA端必須保持低
54、電平(接地)。需注意的是:如果加密位LB1被編成,復(fù)位時(shí)內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時(shí),該引腳加上+12V的編程允許電源Vpp,當(dāng)然這必須是該器件使用12V編程電壓Vpp。</p><p> (10)XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p> ?。?1)XTAL2:振蕩器反相放
55、大器的輸出端。</p><p> 2.4.2 單片機(jī)最小系統(tǒng)</p><p> 對MCS-51系列的單片機(jī)來說,最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路等,最小系統(tǒng)是保證單片機(jī)正常運(yùn)行所必須的外圍電路設(shè)計(jì),如果沒有這部分電路,單片機(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的取值對振蕩頻率的穩(wěn)定性、大小及振蕩電路的起振速度有一定的影響,可在20—100pF之間選擇,電容的典型值30pF。MCS-51系列單片機(jī)通常采用上電自動(dòng)復(fù)位和按鈕復(fù)位兩種方式。通常因?yàn)橄到y(tǒng)運(yùn)行的需要,常常需要人工復(fù)位,只需要將一個(gè)常開按鈕并聯(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(簡稱Keil)是德國Keil公司出品的51系列兼容單片機(jī)軟件開發(fā)系統(tǒng)。該系統(tǒng)支持C語言和匯編語言。Keil界面友好,操作簡單。首先介紹Proteus與Keil的鏈接設(shè)置。&l
58、t;/p><p> (1)安裝Keil和Proteus7.6sp3;</p><p> (2)將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> 打開Keil,選擇Project| New Project命令,在彈出的Create New
61、Project對話框中選擇目標(biāo)保存路徑,在“文件名”編輯框輸入工程名稱。單擊“保存”,在彈出的Select Device for Target ‘Target 1’對話框中雙擊Data base框中的Atmel選項(xiàng),選擇AT89C51單片機(jī),按“確定”后,在隨后彈出的μ Vision的對話框中選擇“是”。</p><p> 選擇File | New命令,新建一個(gè)文檔,然后保存。本設(shè)計(jì)采用C語言編寫程序,故輸入擴(kuò)
62、展名為“.c”。保存文件后,Keil會自動(dòng)識別C語言程序中的關(guān)鍵字,并以不同的顏色顯示。</p><p> 編寫程序完成后,雙擊Keil左邊的Project Workspace窗口中的Target 1,然后右鍵單擊Source Group 1文件夾,在快捷菜單中選擇Add Files to Group ‘Source Group 1’,在彈出的Add Files to Group ‘Source Group 1
63、’對話框中選擇文件類型為C Source File類型,將編完的C語言程序文件添加到Source Group 1中。在Keil中是以工程的方式對文件進(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’對話框中選擇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)頁中出現(xiàn)如圖所示信息。如果編譯錯(cuò)誤,則會在子窗口指示錯(cuò)誤的語句。雙擊
65、錯(cuò)誤信息,光標(biāo)回自動(dòng)指向錯(cuò)誤的語句。</p><p> 3.3 在Proteus ISIS中調(diào)試</p><p> 首先打開Proteus ISIS,完成系統(tǒng)電路原理圖的繪制.</p><p> 雙擊U1即AT89C51,在彈出的Edit Component對話框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)在硬件平臺上運(yùn)行.此系統(tǒng)可廣泛用于溫度在0—100℃測溫范圍之內(nèi)的場合。</p><p> 通過本次溫度監(jiān)控系統(tǒng)的設(shè)計(jì),我大有收獲,在制作過程中,一定要注意的每個(gè)工作步驟的檢查,確保每步進(jìn)展順利
67、。從整體來說這是一個(gè)復(fù)雜的過程,要細(xì)心謹(jǐn)慎,沉著冷靜,反復(fù)檢查,直到找到原因?yàn)橹?,?shí)在解決不了可以請教同學(xué)或指導(dǎo)老師。雖然在制作過程中不可避免地遇到很多問題,但是最后還是在老師以及同學(xué)的幫助下解決了一些問題,實(shí)現(xiàn)了整個(gè)系統(tǒng)設(shè)計(jì)與調(diào)試,相關(guān)指標(biāo)達(dá)到期望的要求,完成了本次課程設(shè)計(jì)任務(wù)。</p><p> 設(shè)計(jì)中難免會遇到各種各樣的問題,例如在顯示模塊上仍然需要進(jìn)一步摸索和學(xué)習(xí),還有在溫度傳感器模塊中,測溫電路的輸出
68、電壓值不能被A/D轉(zhuǎn)換所接受,也就是A/D轉(zhuǎn)換電路沒有輸入的電壓值,我組同學(xué)在這方面下了很大功夫來解決,但最終解決的不是很完美。</p><p> 兩周的課程設(shè)計(jì)時(shí)間很短暫,從給定課題到定稿,從理論到實(shí)踐,兩周來我們認(rèn)真查資料、仿真、調(diào)試。理論與實(shí)踐的結(jié)合很重要,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把理論知識與實(shí)踐相結(jié)合,才能真正提高自己的動(dòng)手實(shí)踐能力和獨(dú)立思考能力。在設(shè)計(jì)過程中,我們在編程方面更是難題,發(fā)現(xiàn)了我的不
69、足之處,我對匯編掌握的不是很透徹,沒有樹立良好的編程思想,這是我今后努力的方向。</p><p> 兩周的時(shí)間過去了,感謝xx老師的悉心指導(dǎo),xx老師多次詢問設(shè)計(jì)進(jìn)程,并為我們解決問題,幫助我們開拓設(shè)計(jì)思路,精心點(diǎn)撥。設(shè)計(jì)進(jìn)展的每一步都凝結(jié)著老師辛勤的汗水,謹(jǐn)向老師致以深深的敬意!老師淵博的學(xué)識、嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度已經(jīng)成為我們學(xué)習(xí)的榜樣;老師對學(xué)生辛勤的培養(yǎng)、誨人不倦的精神和對學(xué)生無私的關(guān)懷令我深為感動(dòng)。如果有機(jī)會
70、,我愿意在xx老師的精心指導(dǎo)下完成各項(xiàng)比賽和工作。最后祝老師工作順利,身體健康,闔家歡樂!</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;開顯示 </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: ;開始寫字符 WRITE(DPTR)</p><p> LCALL ASCII</p><p> MOV R4,#07H </p><p> MOV R1,#68H;寫字符串</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 32路溫度巡檢儀.pdf
- 4溫度巡檢儀
- 單片機(jī)課程設(shè)計(jì)--多功能溫度巡檢儀程序設(shè)計(jì)
- 八路彩燈課程設(shè)計(jì)--循環(huán)八路彩燈設(shè)計(jì)
- 八路彩燈課程設(shè)計(jì)--循環(huán)八路彩燈設(shè)計(jì)
- 八路彩燈課程設(shè)計(jì)
- 課程設(shè)計(jì)--八路彩燈
- 課程設(shè)計(jì)八路彩燈
- 單片機(jī)課程設(shè)計(jì)--八路溫度巡回檢測系統(tǒng)
- 多路溫度巡檢儀的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 八路彩燈課程設(shè)計(jì)--八路彩燈控制器的設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)
- 課程設(shè)計(jì)---八路搶答器
- 八路搶答器課程設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)
- 智能18b20溫度巡檢儀
- 八路搶答器設(shè)計(jì)課程設(shè)計(jì)
- 《八路搶答器》課程設(shè)計(jì)報(bào)告
評論
0/150
提交評論