畢業(yè)設(shè)計(jì)---溫度計(jì)led顯示儀_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p>  一 引言 …………………………………………………………………………(1)</p><p>  二 智能溫度計(jì)的基本組成方框……………………………………………… (1)</p><p>  三 系統(tǒng)硬件組成…………………… …………………………………………(2)</p>

2、<p>  溫度傳感器AD590及其應(yīng)用 ………………………………………(2)</p><p>  放大器…………………………………………………………………(3)</p><p>  A/D轉(zhuǎn)換器MC1443 …………………………………………………(3)</p><p>  LED顯示器……………………………………………………………(4)</p&

3、gt;<p>  系統(tǒng)核心單片機(jī)部分閃電存儲器型器件AT89C51…………………(5)</p><p>  其它……………………………………………………………………(10)</p><p>  四 智能溫度計(jì)的流程圖 ………………………………………………………(10)</p><p>  五 系統(tǒng)主程序 ………………………………………………………………

4、…(12)</p><p>  六 總結(jié)和體會……………………………………………………………………(22)</p><p>  七 參考文獻(xiàn) ……………………………………………………………………(23)</p><p><b>  智能溫度計(jì)設(shè)計(jì)</b></p><p>  [摘要] 本論文敘述了應(yīng)用單片機(jī)AT89C5

5、1構(gòu)成的智能溫度計(jì)主要的功能、硬件的組成和軟件的設(shè)計(jì)。該系統(tǒng)的功能是通過溫度傳感器對溫度進(jìn)行采集,然后通過A/D轉(zhuǎn)換器MC14433進(jìn)行模數(shù)轉(zhuǎn)換,傳給單片機(jī)進(jìn)行處理,從而實(shí)現(xiàn)溫度的實(shí)時(shí)顯示。整個(gè)系統(tǒng)結(jié)構(gòu)緊湊、簡單可靠、操作靈活、功能強(qiáng)、性能價(jià)格比高,較好地滿足了現(xiàn)代農(nóng)業(yè)生產(chǎn)和科研的需要。</p><p>  [關(guān)鍵詞] 單片機(jī) 溫度傳感器 A/D轉(zhuǎn)換器 實(shí)時(shí)顯示</p><p&g

6、t;<b>  一、引言</b></p><p>  單片機(jī)自問世以來,性能不斷提高和完善,其資源又能滿足很多應(yīng)用場合的需要,加之單片機(jī)具有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、價(jià)格低廉等特點(diǎn),因此,在工業(yè)控制、智能儀器儀表、數(shù)據(jù)采集和處理、通信系統(tǒng)、高級計(jì)算器、家用電器等領(lǐng)域的應(yīng)用日益廣泛,并且正在逐步取代現(xiàn)有的多片微機(jī)應(yīng)用系統(tǒng)。單片機(jī)的潛力越來越被人們所重視。特別是當(dāng)前用C

7、MOS工藝制成的各種單片機(jī),由于功耗低,使用的溫度范圍大,抗干擾能力強(qiáng)、能滿足一些特殊要求的應(yīng)用場合,更加擴(kuò)大了單片機(jī)的應(yīng)用范圍,也進(jìn)一步促使單片機(jī)性能的發(fā)展。而現(xiàn)在單片機(jī)在農(nóng)業(yè)上也有了很多的應(yīng)用。</p><p>  溫度是日常生活、工業(yè)、醫(yī)學(xué)、環(huán)境保護(hù)、化工、石油等領(lǐng)域最常遇到的一個(gè)物理量。測量溫度的基本方法是使用溫度計(jì)直接讀取溫度。最常見到的測量溫度的工具是各種各樣的溫度計(jì),例如,水銀玻璃溫度計(jì),酒精溫度計(jì)

8、,熱電偶或熱電阻溫度計(jì)等。它們常常以刻度的形式表示溫度的高低,人們必須通過讀取刻度值的多少來測量溫度。利用單片機(jī)和溫度傳感器構(gòu)成的電子式智能溫度計(jì)就可以直接測量溫度,得到溫度的數(shù)字值,既簡單方便,又直觀準(zhǔn)確。</p><p>  二、智能溫度計(jì)的基本組成方框</p><p>  圖1—1是智能溫度計(jì)的基本組成方框。主要由溫度傳感器,放大器,A/D轉(zhuǎn)換器,單片機(jī)控制,LED顯示器,電源等組成

9、。溫度傳感器是把溫度轉(zhuǎn)換成電壓(或電流)的器件,溫度傳感器輸出電壓的大小隨溫度的高低變化而變化,電壓值的變化范圍從幾個(gè)微伏到幾個(gè)毫伏。不同的溫度傳感器,輸出電壓的范圍也差別很大。放大器的主要功能是把微弱的溫度電壓信號放大到(0—2)伏或(0—5)伏的范圍內(nèi),以便進(jìn)行A/D轉(zhuǎn)換。A/D轉(zhuǎn)換器把放大后的模擬溫度電壓信號轉(zhuǎn)換成對應(yīng)的數(shù)字溫度電壓信號。單片機(jī)8051是智能溫度計(jì)的控制核心,一方面控制A/D轉(zhuǎn)換器實(shí)現(xiàn)模擬信號到數(shù)字信號的轉(zhuǎn)換,另一

10、方面將采集到的數(shù)字溫度電壓值,經(jīng)過計(jì)算處理,得到相應(yīng)的溫度值,送到LED顯示器以數(shù)字形式顯示測量的溫度。LED顯示器用于顯示測量溫度的結(jié)果。</p><p>  圖1—1 智能溫度計(jì)方框圖</p><p><b>  三、系統(tǒng)硬件組成</b></p><p>  圖1—2 測量攝氏(℃)溫度的電路原理。</p><p&g

11、t;  假定 :溫度測量范圍:0——150℃。攝氏(℃)</p><p>  溫度數(shù)字顯示: 000.0 或112.8等,十進(jìn)制小數(shù)點(diǎn)后一位。</p><p>  (一)、溫度傳感器AD590及其應(yīng)用</p><p>  AD590是美國模擬器件公司生產(chǎn)的單片集成兩端感溫電流源。它的主要特性如下:</p><p>  (1) 流過器件電流的微

12、安數(shù)等于器件所處環(huán)境溫度的熱力學(xué)溫度(開爾文)度數(shù)。即</p><p>  IT/T=1µA/K</p><p>  式中的IT為流過器件(AD590)的電流,單位µA,T為溫度,單位為K。</p><p> ?。?)AD590的測溫范圍為-55 ℃ -+150 ℃。</p><p>  (3) AD590的電源電壓范圍為

13、4V~30V。電源電壓從4V到6V變化,電流IT變化1µA,相當(dāng)于溫度變化1K。AD590可以承受44V正相電壓和20 V反相電壓。因而器件反接也不會損壞器件。</p><p>  (4) 輸出電阻為710MΩ。</p><p><b>  (5) 精度高。</b></p><p>  AD590在出廠以前已經(jīng)校對,精度高。因?yàn)榱鬟^A

14、D590的電流于熱力學(xué)溫度成正比,如兩個(gè)電阻之和為1K,溫度變化1°C,那么輸出電壓Vo變化為1mV/K。但由于AD590</p><p>  的增益有偏差,電阻也有誤差,調(diào)整的方法與對P-N結(jié)溫度傳感器調(diào)整的方法相同。即,把AD590放于冰水混合物中,調(diào)整電位器,使Vo=273.2mV?;蛟谑覝叵?,例如25℃條件下調(diào)整電位器使Vo=273.2+25=298.2(mV)。但這樣調(diào)整只可以保證0 ℃或25

15、 ℃附近有較高精度。</p><p>  圖中用電位器R1調(diào)零點(diǎn),用R2調(diào)增益,方法如下:在0 oC時(shí)調(diào)整W1使輸出Vo=273.2mV。然后在100 ℃時(shí)調(diào)W2使Vo=373.2mV。然后反復(fù)多次,直至0 ℃時(shí)Vo=273.2mV,100 ℃時(shí)Vo=373.2mV為止。最后在室溫下進(jìn)行校驗(yàn)。例如,若室溫為25℃,那么Vo應(yīng)為298.2mV。0 ℃和100 ℃環(huán)境的產(chǎn)生方法:冰水混合物是0 ℃的環(huán)境,沸水為100

16、 ℃環(huán)境。</p><p><b> ?。ǘ?、 放大器</b></p><p>  放大器由運(yùn)算放大器A組成,常用的芯片有:LF335,LF336,CA3140等,主要功能是把模擬的溫度電壓信號放大到A/D轉(zhuǎn)換器要求的輸入電壓范圍。A/D轉(zhuǎn)換器MC14433要求,模擬輸入電壓的范圍為:0——2V。W3的作用是抵消溫度傳感器AD590在攝氏0℃時(shí)產(chǎn)生的溫度電壓Vo=2

17、73.2mV,使放大器A的輸出電壓為0.0V。放大器A的放大倍數(shù)選擇為10,保證溫度在0—150℃范圍內(nèi)變化,而放大器的輸出電壓在0—1。50V的范圍內(nèi)。電位器W2用于調(diào)整放大器的放大倍數(shù)。</p><p> ?。ㄈ?、 A/D轉(zhuǎn)換器MC14433</p><p>  A/D轉(zhuǎn)換器由雙積分型3又1/2位A/D轉(zhuǎn)換器MC14433來完成。因?yàn)闇囟鹊淖兓哂袘T性,變化緩慢,MC14433的轉(zhuǎn)換

18、速度完全可以滿足溫度測量的要求。</p><p>  MC14433的方框圖和引腳如圖3所示,它是單片CMOSA/D轉(zhuǎn)換器,它采用雙積分原理實(shí)現(xiàn)A/D轉(zhuǎn)換。因?yàn)檗D(zhuǎn)換后的數(shù)字量有三位十進(jìn)制數(shù),而最高位只能輸出0或1,故稱為3又1/2位A/D轉(zhuǎn)換器.該電路需要外接積分電阻R和電容C,外接失調(diào)補(bǔ)償電容C。該電路具有自動調(diào)零、自動極性轉(zhuǎn)換功能,它精度高、功耗低、使用方便并能與微機(jī)或其他數(shù)字電路兼容。它廣泛用于數(shù)字面板表、

19、數(shù)字萬用表、數(shù)字量具和遙控遙測系統(tǒng)。</p><p>  圖1—3 MC14433的方框圖和引腳</p><p><b>  引腳引線功能如下:</b></p><p>  G 被測電壓VX和參考電壓VR的模擬接地端</p><p>  VR 外接參考電壓端(+2V或+200Mv)</p><

20、p>  VX 被測電壓輸入端</p><p>  R1,R1/C1,C1 外接積分電阻R1和積分電容C1元件端。外接元件典型值:當(dāng)量程為2V時(shí),C = 0.1μF,R = 470kΩ;當(dāng)量程為200mV時(shí),C1 = 0.1μF, R1 = 27kΩ</p><p>  C01,C02 外接失調(diào)電容C0端。C0典型值為0.1μF</p><p>  D

21、U 數(shù)據(jù)顯示控制端。當(dāng)DU和EOC(引腳14)連接時(shí),每次A/D轉(zhuǎn)換都輸出</p><p>  CLKI,CLKO 時(shí)鐘振蕩器外接電阻RC端, RC的典型值為470kΩ,時(shí)鐘頻率隨RC增加而下降</p><p>  VEE 模擬負(fù)輸入端。典型值為-5V</p><p>  VSS 數(shù)字地,除CLKO端外所有輸出端的低電平基準(zhǔn)。當(dāng)VSS與VAG相連(即數(shù)字地和

22、模擬地相連)時(shí),輸出電壓幅度為VAG~VDD(0V~+5V);當(dāng)VSS與VEE(-5V)相連,輸出電壓幅度為VEE~VDD(-5V~+10V)。實(shí)際應(yīng)用時(shí)一般是VSS與VAG相連</p><p>  EOC 轉(zhuǎn)換結(jié)束控制端(輸出)。每當(dāng)一個(gè)A/D轉(zhuǎn)換周期結(jié)束,EOC端輸出一個(gè)寬度為時(shí)鐘周期1/2寬度的正脈沖</p><p>  過量程標(biāo)志輸出端。平時(shí)為高電平。當(dāng)|VX|﹥VR時(shí)(被測電壓

23、輸入絕對值大于參考電壓),端輸出低電平</p><p>  DS1~DS4 多路選通脈沖輸出端,對應(yīng)DS1千位,對應(yīng)DS4個(gè)位。每個(gè)選通脈沖寬度為18個(gè)時(shí)鐘脈沖,兩個(gè)相鄰脈沖之間間隔為2個(gè)時(shí)鐘周期</p><p>  Q0~Q3 BCD碼數(shù)據(jù)輸出線。其中為Q0最低位,Q3為最高位。當(dāng)DS2 、DS3和 DS4選通期間,Q0~Q3除了表示千位的0或1外,還表示了轉(zhuǎn)換值的正負(fù)極性和欠量程還

24、是過量程</p><p>  VDD 正電源端。典型值為+5V</p><p>  MC14433的外部連接電路</p><p>  盡管MC14433外部連接元件很少,為使其工作于最佳狀態(tài),也必須注意外部電路的連接和外接元件的選擇,其實(shí)際連接電路如圖11—18所示。為了提高電源抗干擾的能力,正、負(fù)電源分別通過去耦電容0.047μF、0.02μF與VSS(VAG)

25、相連。</p><p>  MC14433和單片機(jī)8051采用查詢方式連接。MC14433的多路選通脈沖輸出端和BCD碼數(shù)據(jù)輸出端Q0--Q7和單片機(jī)的P0口連接。EOC端和8051的/INT0連接,單片機(jī)8051通過不斷查詢/INT0端的狀態(tài),了解MC14433的每次A/D轉(zhuǎn)換是否結(jié)束,在A/D轉(zhuǎn)換結(jié)束后,經(jīng)P0口讀取A/D轉(zhuǎn)換的結(jié)果,存入CPU內(nèi)部的輸入數(shù)據(jù)緩沖區(qū)。MC1403是高精度的基準(zhǔn)源(2.5V),它

26、的輸出經(jīng)10K可調(diào)電位器,調(diào)整到2.0V提供MC14433的基準(zhǔn)電壓。</p><p> ?。ㄋ模ED顯示器</p><p>  LED顯示器由4位共陰極LED顯示器組成,采用動態(tài)分時(shí)掃描方式。采用4位共陰極LED示器使為了保證溫度超過100℃時(shí),測量結(jié)果仍能保持在小數(shù)點(diǎn)后一位顯示,例如:110.4℃,提高測量顯示精度。</p><p>  共陰極LED顯示器的

27、陽極和單片機(jī)CPU的P1口連接,顯示段碼由CPU通過P1口傳送到LED顯示器的陽極。位掃描碼由單片機(jī)8051的P2口低四位輸出,經(jīng)同相驅(qū)動器傳送到LED顯示器的陰極,選通LED顯示器的數(shù)位,P2.3,P2.2,P2.1,P2.0輸出電平為‘0111’時(shí),選通左邊的第一位數(shù)字,P2.3,P2.2,P2.1,P2.0輸出電平為‘1011’時(shí),選通左邊的第二位數(shù)字,P2.3,P2.2,P2.1,P2.0輸出電平為‘1101’時(shí),選通左邊的第三

28、位數(shù)字,P2.3,P2.2,P2.1,P2.0輸出電平為‘1110’時(shí),選通左邊的第四位數(shù)字。</p><p>  (五)、系統(tǒng)核心單片機(jī)部分---閃電存儲器型器件AT89C51</p><p>  單片機(jī)AT89C51有內(nèi)部RAM,可以作為各種數(shù)據(jù)區(qū)使用,內(nèi)部閃電存儲器存放智能溫度計(jì)的控制程序。它的主要功能是控制MC14433,實(shí)現(xiàn)溫度的數(shù)字值采集,完成溫度的數(shù)字采集值到對應(yīng)數(shù)字溫度的轉(zhuǎn)

29、換計(jì)算,并把計(jì)算的數(shù)字溫度轉(zhuǎn)換相應(yīng)的顯示段碼,控制LED顯示器以動態(tài)掃描方式進(jìn)行溫度顯示。</p><p>  AT89系列單片機(jī)是ATMEL公司生產(chǎn)的。這是當(dāng)前最新的一種電擦寫8位單片機(jī),與MCS-51系列完全兼容,有超強(qiáng)的加密功能,可完全替代87C51/52和8751/52。它物美價(jià)廉,深受用戶歡迎。</p><p>  與87C51相比,AT89系列的優(yōu)越性在于,其片內(nèi)閃電存儲器的編

30、程與擦除完全用電實(shí)現(xiàn);數(shù)據(jù)不易揮發(fā),可保存10年;編程/擦除速度快,全4K字節(jié)編程只需時(shí)3s,擦除時(shí)間約用10ms;AT89系列了實(shí)現(xiàn)在線編程;也可借助電話線進(jìn)行遠(yuǎn)距離編程。</p><p>  AT89C51是一種低功耗、高性能內(nèi)含4K字節(jié)閃電存儲器(Flash Memory)的8位CMOS微控制器。這種器件系以ATMEL高密度不揮發(fā)存儲技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和引腳完全兼容。片內(nèi)閃電存儲器的程

31、序代碼或數(shù)據(jù)可在線寫入,亦可通過常規(guī)的編程器編程。例如,MP-100這樣一種經(jīng)濟(jì)型的編程器,它支持通用EPROM等各種存儲器、PAL、GAL以及INTEL、ATMEL和PHILIPS等各公司的全系列51單片機(jī)的編程。ME5103和ME5105仿真器支持AT89系列所有器件的調(diào)試、仿真和編程。</p><p>  AT89C51具有下列主要性能:</p><p>  . 4KB可改編程序Fl

32、ash存儲器</p><p> ?。山?jīng)受1,000次的寫入/擦除周期)</p><p>  .全靜態(tài)工作:0Hz~24MHz</p><p>  .三級程序存儲器保密</p><p>  .128 X 8字節(jié)內(nèi)部RAM</p><p>  .32條可編程I/O線</p><p>  .2個(gè)16

33、位定時(shí)器/計(jì)數(shù)器</p><p><b>  .6個(gè)中斷源</b></p><p><b>  .可編程串行通道</b></p><p><b>  .片內(nèi)時(shí)鐘振蕩器</b></p><p>  另外,AT89C51是用靜態(tài)邏輯來設(shè)計(jì)的,其工作頻率可下降到0 Hz,并提供兩種可

34、用軟件來選擇的省電方式——空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時(shí)器/計(jì)數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時(shí)鐘被“凍結(jié)”,使一切功能都暫停,只保存片內(nèi)RAM中的內(nèi)容,直到下一次硬件復(fù)位為止。</p><p><b>  (1)主電源引腳</b></p>&

35、lt;p>  (a).Vcc 電源端</p><p>  (b).GND 接地端</p><p> ?。?)外接晶體引腳XTAL1和XTAL2</p><p>  (a).XTAL1 接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當(dāng)采用外部振蕩器時(shí),該引腳接收振蕩器的信號,既把此信號直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。</

36、p><p>  (b).XTAL2 接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時(shí),此引腳應(yīng)懸浮不連接。</p><p>  (3).控制或與其它電源復(fù)用引腳RST、ALE//PROG、/PSEN和/EA/Vpp</p><p>  (a).RES 復(fù)位輸入端。 當(dāng)振蕩器運(yùn)行時(shí),在該引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將使單片機(jī)

37、復(fù)位。</p><p>  (b).ALE//PROG 當(dāng)訪問外部存儲器時(shí),ALE(地址鎖存允許)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率(此頻率為振蕩器頻率的1/6)周期性地出現(xiàn)正脈沖信號。因此,它可用作對外輸出的時(shí)鐘,或用于定時(shí)目的。然而要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí),將跳過一個(gè)ALE脈沖。在對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(/PROG)。<

38、/p><p>  如果需要的話,通過對專用寄存器(SFR)區(qū)中8EH單元的D0位置數(shù),可禁止ALE操作。該位置數(shù)后,只有在執(zhí)行一條MOVX或MOVC指令期間,ALE才會被激活。另外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),該設(shè)定禁止ALE位無效。</p><p>  (c). /PSEN 程序存儲允許(/PSEN)輸出是外部程序存儲器的讀選通信號。當(dāng)AT89C51/LV51由外部程序存儲器

39、取指令(或常數(shù))時(shí),每個(gè)機(jī)器周期兩次/PSEN有效(既輸出2個(gè)脈沖)。但在此期間內(nèi),每當(dāng)訪問外部數(shù)據(jù)存儲器時(shí),這兩次有效的/PSEN信號將不出現(xiàn)。</p><p>  (d)./EA/Vpp 外部訪問允許端。要使CPU只訪問外部程序存儲器(地址為0000H~FFFFH),則/EA端必須保持低電平(接到GND端)。然而要注意的是,如果保密位LB1被編程,復(fù)位時(shí)在內(nèi)部會鎖存/EA端的狀態(tài)。</p>

40、<p>  當(dāng)/EA端保持高電平(接Vcc端)時(shí),CPU則執(zhí)行內(nèi)部程序存儲器中的程序。</p><p>  在Flash存儲器編程期間,該引腳也用于施加12V的編程允許電源Vpp(如果選用12V編程)。</p><p> ?。?)輸入/輸出引腳 P0.0~ P0.7、P10.~P1.7、P2.0~ P2.7 和P3.0~P3.7</p><p>  (a

41、).P0端口(P0.0~ P0.7) P0是一個(gè)8位漏極開路型雙向I/O端口。作為輸出口用時(shí),每位能以吸收電流的方式驅(qū)動8個(gè)TTL輸入,對端口寫1時(shí),又可作高阻抗輸入端用。</p><p>  在訪問外部程序和數(shù)據(jù)存儲器時(shí),它是分時(shí)多路轉(zhuǎn)換的地址(低8位)/數(shù)據(jù)總線,在訪問期間激活了內(nèi)部的上拉電阻。</p><p>  在Flash編程時(shí),P0端口接收指令字節(jié);而在驗(yàn)證程序時(shí),則輸出指令字

42、節(jié)。驗(yàn)證時(shí),要求外接上拉電阻。</p><p>  (b).P1端口(P1.0~ P1.7) P1是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P1的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個(gè)TTL輸入。對端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。作輸入口時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個(gè)電流。</p><p>  在對Flash編程和程序驗(yàn)

43、證時(shí),P1接收低8位地址。</p><p>  (c).P2端口 (P2.0~P2.7) P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個(gè)TTL輸入。對端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P2作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個(gè)電流。</p><p>  在訪問外部程序存儲器和

44、16位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @DPIR指令)時(shí),P2送出高8位地址。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX @RI指令)時(shí),P2口引腳上的內(nèi)容(就是專用寄存器(SFR)區(qū)中P2寄存器的內(nèi)容),在整個(gè)訪問期間不會改變。</p><p>  在對Flash編程和程序驗(yàn)證期間,P2也接收高位地址和一些控制信號。</p><p> ?。╠).P3端口(P3.0~P3.7)

45、 P3 是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O端口。P2的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個(gè)TTL輸入。對端口寫1時(shí),通過內(nèi)部的上拉電阻把端口拉到高電位,這時(shí)可用作輸入口。P3作輸入口使用時(shí),因?yàn)橛袃?nèi)部的上拉電阻,那些被外部信號拉低的引腳會輸出一個(gè)電流。</p><p>  在AT89C51中,P3端口還用于一些專門功能,這些兼用功能見表1</p><p><b>  

46、表 1—1</b></p><p>  在對Flash編程和程序驗(yàn)證時(shí),P3還接收一些控制信號。</p><p> ?。?)Flash存儲器的編程和程序校驗(yàn):</p><p>  AT89C51單片機(jī)內(nèi)部有一個(gè)4K字節(jié)的Flash PEROM。這個(gè)Flash存儲陣列通常是處于已擦除狀態(tài)(既存儲單元的內(nèi)容為FFH),隨時(shí)可對它進(jìn)行編程。編程接口可接收高電壓

47、(12V)或低電壓(Vcc)的允許編程信號。低電壓編程方式可很方便地對AT89C51內(nèi)的用戶系統(tǒng)進(jìn)行編程;而高電壓編程方式則可與通用的EPROM編程器兼容。</p><p>  AT89C51的程序存儲器陣列是采用字節(jié)寫入方式編程的,既每次寫入一個(gè)字節(jié)。要對片內(nèi)的PEROM程序存儲器寫入任何一個(gè)非空字節(jié),都必須用片擦除方式將整個(gè)存儲器的內(nèi)容清除。(6) 對Flash存儲器編程</p><p&

48、gt;  編程前,必須按照表2和圖5建立好地址、數(shù)據(jù)和相應(yīng)的控制信號。編程單元的地址加在P1端口和P2端口的P2.0~P2.3(11位地址為0000H~0FFFH),數(shù)據(jù)從P0端口輸入。引腳P2.6、P2.7和P3.6、P3.7的電平選擇見表2。/PSEN應(yīng)保持低電平,而RST應(yīng)保持高電平。/EA/VPP是編程電源的輸入端,按要求加入編程電壓。ALE//PROG端輸入編程脈沖(應(yīng)為負(fù)脈沖信號)。編程時(shí),采用4~20 MHz的振蕩器。對A

49、T89C51編程的步驟如下:</p><p>  (a)在地址線上輸入要編程單元的地址。</p><p>  (b)在數(shù)據(jù)線上輸入要寫入的數(shù)據(jù)字節(jié)。</p><p>  (c)激活相應(yīng)的控制信號。</p><p>  (d)在采用高電壓編程方式時(shí),將/EA/VPP端的電壓加到12V。</p><p>  (e)每對Fl

50、ash存儲陣列寫入一個(gè)字節(jié)或每寫入一個(gè)程序加密位,加一個(gè)ALE//PROG編程脈沖。</p><p>  改變編程單元的地址和要寫入的數(shù)據(jù),重復(fù)步驟a~e,直到全部文件編程完畢。</p><p>  每個(gè)字節(jié)寫入周期是自動定時(shí)的,通常不大于1.5ms。</p><p>  表 1—2 Flash編程方式</p><p><b>

51、  (7)數(shù)據(jù)查詢方式</b></p><p>  AT89C51單片機(jī)用數(shù)據(jù)查詢方式來檢測一個(gè)寫周期是否結(jié)束。在一個(gè)寫周期期間,如果想讀出最后寫入的哪個(gè)字,則讀出數(shù)據(jù)的最高位(P0.7)是原來寫入字節(jié)最高位的反碼。寫周期一旦完成后,有效的數(shù)據(jù)就會出現(xiàn)在所有輸出端上,這時(shí)可開始下一個(gè)寫周期。一個(gè)寫周期開始后,可在任何時(shí)間開始進(jìn)行數(shù)據(jù)查詢。 </p><p>  圖1—5 Fla

52、sh編程 圖 1—6 程序的校驗(yàn)</p><p>  圖1—7 Flash編程和校驗(yàn)的波形(高電平編程方式)</p><p>  (8)準(zhǔn)備就緒/忙信號</p><p>  字節(jié)編程的過程也可通過RDY//BSY輸出信號來監(jiān)視。在編程期間,當(dāng)ALE變?yōu)楦唠娖胶?,P3.4(RDY//BSY)端的電平被拉低,表示忙(正在編程)

53、狀態(tài)。編程完畢后,P3.4的電平變高表示就緒狀態(tài)。</p><p><b> ?。?)程序的校驗(yàn)</b></p><p>  如果加密位LB1和LB2沒有被編程,那么就可以對AT89C51內(nèi)部已編好的程序進(jìn)行校驗(yàn)。這時(shí)采用圖6所示的引腳接法。程序存儲器的地址仍由P1端口和P2端口的P2.0~P2.3輸入,數(shù)據(jù)由P0端口輸入。P2.6、P2.7和P3.6、P3.7的電平

54、見表1-4。/PSEN保持低電平,而ALE、/EA和RST保持高電平。校驗(yàn)時(shí),在P0端口上要求外接約10KΩ左右的上拉電阻。</p><p>  程序加密位不能直接校驗(yàn)。加密位的校驗(yàn)可通過觀察它們的功能是否被允許來進(jìn)行。</p><p>  Flash存儲器編程和程序校驗(yàn)時(shí)的時(shí)序圖見圖1—7(高電平編程)和圖1—8(低電壓編程)。</p><p>  圖 1—8

55、Flash編程和校驗(yàn)的波形(低電壓編程方式)</p><p><b> ?。?、其它</b></p><p>  為增強(qiáng)系統(tǒng)在工作現(xiàn)場的抗干擾能力,在硬件設(shè)計(jì)方面采取了一系列措施,例如,信號的輸入/輸出采用電平轉(zhuǎn)換、光電隔離;正確配置接地系統(tǒng),處理好共地信號;強(qiáng)電信號和弱電信號分開走線,傳輸線盡可能使用雙絞線和屏蔽電纜;設(shè)置WDT時(shí)鐘監(jiān)視電路,自動監(jiān)視CPU運(yùn)行狀態(tài)

56、,出現(xiàn)故障自動處理,同時(shí)具有硬件自診斷功能,避免“死機(jī)”現(xiàn)象發(fā)生等等。</p><p><b>  智能溫度計(jì)的流程圖</b></p><p>  在軟件設(shè)計(jì)上,采用了良好的人機(jī)交互環(huán)境,可通過選擇功能熱鍵執(zhí)行特定的程序,如任意設(shè)定檢測參數(shù)值,選擇顯示方式和控制模式等,還可設(shè)置優(yōu)先權(quán)直接進(jìn)行人為干預(yù)以便達(dá)到靈活控制的目的,如果某一檢測通道被鍵設(shè)置成關(guān)閉,那么不管此通道

57、外部情況如何,系統(tǒng)均不作任何反應(yīng)。</p><p>  為了提高系統(tǒng)的抗干擾能力,除硬件上采取了相應(yīng)的措施外,在軟件設(shè)計(jì)中也采取了若干措施,如在數(shù)據(jù)采集時(shí)采用數(shù)字濾波;采取指令冗余設(shè)計(jì),在程序中適當(dāng)?shù)夭迦肟詹僮髦噶睿瑢σ恍┲匾闹噶钪貙懙鹊?。從而有效地提高了系統(tǒng)運(yùn)行的可靠性,使其檢測控制工作及時(shí)準(zhǔn)確、安全穩(wěn)定,達(dá)到良好的環(huán)境模擬控制性能要求。</p><p>  圖9是智能溫度計(jì)的流程圖。

58、因?yàn)橹悄軠囟扔?jì)的控制和計(jì)算相對簡單,由該流程方框圖可見,該主程序是循環(huán)線性結(jié)構(gòu)。在初始化時(shí),清除內(nèi)部RAM,設(shè)定標(biāo)志位和標(biāo)志單元,設(shè)置堆棧指針,檢測LED顯示器工作是否正常等。</p><p>  它主要包括了下述一些子程序:</p><p>  (1)從A/D轉(zhuǎn)換器MC14433讀取溫度數(shù)字電壓子程序:查詢A/D轉(zhuǎn)換狀態(tài),一旦本次A/D轉(zhuǎn)換結(jié)束,CPU將溫度電壓的BCD碼數(shù)字值送到RAM

59、中的輸入緩沖區(qū)存放。</p><p> ?。?)溫度電壓數(shù)字值到溫度數(shù)字轉(zhuǎn)換子程序;將緩沖區(qū)中的溫度電壓數(shù)字BCD碼轉(zhuǎn)換為實(shí)際的溫度十進(jìn)制數(shù)字。</p><p> ?。?)溫度數(shù)字到LED顯示段碼轉(zhuǎn)換子程序:把溫度十進(jìn)制數(shù)字轉(zhuǎn)換成相應(yīng)的LED顯示段碼,存放在顯示段碼緩沖區(qū)供LED顯示器顯示傳送子程序</p><p>  LED顯示段碼到LED顯示器顯示傳送和動態(tài)掃描

60、子程序</p><p>  BCD碼加,減,乘,除子程序;</p><p>  BCD碼在緩沖器間傳送子程序;</p><p>  (7) 其它專用子程序;</p><p>  圖 9 智能溫度計(jì)的流程圖</p><p><b>  系統(tǒng)主程序</b></p><p>&l

61、t;b>  系統(tǒng)主程序:</b></p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b></p><p><b>  ORG 0013H</b></p><p><b>  LJMP SUB&l

62、t;/b></p><p><b>  ORG 0100H</b></p><p>  MAIN: MOV SP,#40H</p><p>  MOV A,#78H</p><p>  MOV R7,#09H</p><p>  MOVX A,@DPTR </p><

63、p><b>  MOV R0,A</b></p><p><b>  CLR C </b></p><p>  SUBB A,#34H</p><p>  JNC LOOP1 </p><p><b>  CLR C </b></p><p>&l

64、t;b>  MOV A,R0 </b></p><p>  SUBB A,#3AH</p><p><b>  JC LOOP</b></p><p><b>  MOV A,R0</b></p><p>  ACALL TEMP</p><p>  LOO

65、P:MOV DPTR,#EF00H</p><p>  MOV R1,#0F8H</p><p>  MOV A,#33H</p><p>  MOVX @R1,A</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR</p><

66、;p><b>  DEC R1</b></p><p>  MOVX @R1,A</p><p><b>  MOV A,R2</b></p><p><b>  INC R1</b></p><p>  MOVX @R1,A</p><p>&l

67、t;b>  INC R0</b></p><p><b>  MOV A,R2</b></p><p><b>  CLR C</b></p><p><b>  RRC A</b></p><p><b>  MOV R2,A</b>&

68、lt;/p><p>  MOV A,#00H</p><p>  MOV DPTR,#00F8H</p><p>  MOVX @DPTR,A</p><p><b>  AJMP GO </b></p><p>  LOOP1: MOV P1,#8FH</p><p>&l

69、t;b>  AJMP GO</b></p><p>  LOOP2: MOV P1,#0BFH </p><p>  GO : POP DPH</p><p><b>  POP DPL</b></p><p><b>  POP ACC</b></p>&

70、lt;p><b>  POP PSW</b></p><p><b>  RETI</b></p><p><b>  END</b></p><p>  TEMP: MOV DPTR,TABLE </p><p><b>  MOV A,R0</b&

71、gt;</p><p>  MOV B,#04H</p><p><b>  CLR C</b></p><p><b>  MUL AB</b></p><p><b>  JNC NOO</b></p><p><b>  INC DPH&

72、lt;/b></p><p>  NOO: MOVC A,@A+DPTR</p><p><b>  MOV 80H,A</b></p><p><b>  INC DPTR</b></p><p>  MOVC A,@DPTR</p><p><b>  

73、MOV 81H,A</b></p><p><b>  AJMP LOOP</b></p><p><b>  ORG 0300H</b></p><p>  TAB: DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77H 83H</p><p>

74、  MAIN:MOV 20H,#0</p><p>  MOV 21H,#0</p><p>  MOV R0,#3CH</p><p>  MOV R1,#12</p><p>  LCALL CLEAR</p><p><b>  SETB PT0</b></p><p&g

75、t;<b>  ML2: NOP</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p><p><b>  MOV A,P1</b></p><p>  CJNE A,#0FBH,ML3</p>

76、<p>  AJMP MAIN </p><p>  ML3: MOV A,PIN1</p><p><b>  INC A</b></p><p>  SUBB A,PIN3</p><p>  CJNE A,#0,ML4</p><p>  AJMP TEST0 &l

77、t;/p><p>  ML4: JC TEST0</p><p>  JNB E1,TEST0 </p><p>  AJMP COMPP</p><p>  TEST0:MOV PIN3,#0</p><p><b>  MOV A,P1</b></p><p> 

78、 CJNE A,#0FDH,TEST </p><p>  AJMP EXIT </p><p>  TEST:MOV A,P1</p><p>  CJNE A,#0FFH,TEST1 </p><p>  EXIT:MOV R0,#79H </p><p>  MOV R1,#50H &

79、lt;/p><p>  HEX: ACALL HEXASC</p><p><b>  MOV R2,#6</b></p><p>  MOV R0,#5AH</p><p>  ACALL INI </p><p><b>  CLR FLAG3</b></p>

80、<p><b>  SJMP HERE</b></p><p>  COMPP:AJMP COMP</p><p>  SECOO:JNB P1.5,SSECO</p><p><b>  AJMP SECO</b></p><p>  SSECO:AJMP SEC</p>

81、<p>  MINII:JNB P1.5,MMINI</p><p><b>  AJMP MINI</b></p><p>  MMINI:AJMP MIN</p><p>  HOURR:JNB P1.5,HHOUR</p><p><b>  AJMP HOUR</b></p&

82、gt;<p>  HHOUR:AJMP HOU</p><p>  TEST1:JNB P1.0,SETT</p><p>  TEST2:SETB EA</p><p>  JNB P1.4,EXIT</p><p>  JNB P1.5,DEAL</p><p><b>  AJMP TES

83、T</b></p><p>  SETT:CLR EA</p><p>  MOV C,P1.4</p><p><b>  MOV F0,C</b></p><p>  JNB P1.1,SECOO</p><p>  JNB P1.2,MINII</p><p&

84、gt;  JNB P1.3,HOURR</p><p>  AJMP TEST2 </p><p>  DEAL:SETB E1</p><p>  JNB P1.4,OVER</p><p>  MOV R0,#49H</p><p><b>  MOV R1,#6</b></p>

85、<p>  ACALL CLEAR</p><p><b>  MOV B,#3</b></p><p>  MOV A,PIN1</p><p><b>  MUL AB</b></p><p><b>  ADD A,R4</b></p><

86、p><b>  MOV PIN,A</b></p><p>  MOV A,PIN1</p><p>  CJNE A,#4,AAA</p><p>  MOV PIN1,#0</p><p>  MOV PIN2,#3EH</p><p>  MOV PIN,#3CH </p

87、><p>  AAA: JNB P1.4,OVER</p><p>  JNB P1.1,SECOO</p><p>  JNB P1.2,MINII</p><p>  JNB P1.3,HOURR</p><p><b>  AJMP AAA</b></p><p>  O

88、VER:SETB E2</p><p><b>  INC PIN1</b></p><p><b>  MOV R2,#6</b></p><p>  MOV R0,#3AH</p><p>  MOV R1,PIN1</p><p>  ACALL INI

89、 </p><p>  MOV R0,#49H</p><p><b>  MOV R2,#3</b></p><p>  MOV R1,PIN</p><p>  ZIP: MOV A,@R0</p><p><b>  MOV @R1,A</b></p>

90、<p><b>  INC R0</b></p><p><b>  MOV A,@R0</b></p><p><b>  SWAP A</b></p><p><b>  ORL A,@R1</b></p><p><b>  MO

91、V @R1,A</b></p><p><b>  INC PIN </b></p><p><b>  INC R0</b></p><p><b>  INC R1</b></p><p>  DJNZ R2,ZIP </p><

92、p><b>  AJMP EXIT</b></p><p>  COMP:MOV A,PIN2</p><p>  CJNE A,#4AH,J</p><p><b>  AJMP OVR</b></p><p>  J: MOV R0,PIN2</p><p> 

93、 MOV R1,#7EH</p><p><b>  MOV R2,#3</b></p><p>  JJJ:MOV A,@R0</p><p>  ANL A,#0F0H</p><p><b>  SWAP A</b></p><p><b>  XRL A,@

94、R1</b></p><p><b>  JNZ ENDD</b></p><p><b>  DEC R1</b></p><p><b>  MOV A,@R0</b></p><p>  ANL A,#0FH</p><p><b

95、>  XRL A,@R1</b></p><p><b>  JNZ ENDD</b></p><p><b>  DEC R1</b></p><p><b>  DEC R0</b></p><p>  DJNZ R2,JJJ</p><

96、;p>  SETB FLAG2</p><p><b>  INC PIN3</b></p><p><b>  AJMP TEST</b></p><p>  ENDD:MOV A,PIN2</p><p><b>  ADD A,#3</b></p>&

97、lt;p>  MOV PIN2,A</p><p><b>  AJMP COMP</b></p><p>  OVR: MOV PIN2,#3EH</p><p><b>  AJMP TEST</b></p><p>  HOUR:ACALL DELY</p><p&g

98、t;  MOV R0,#7EH</p><p>  JNB F0,SUB1</p><p>  ACALL DAAD1</p><p><b>  MOV A,R2</b></p><p>  XRL A,#24H</p><p><b>  JNZ ML0</b></

99、p><p>  ACALL CLR0</p><p>  AJMP ML0 </p><p>  MINI:ACALL DELY</p><p>  MOV R0,#7CH</p><p>  JNB F0,SUB1</p><p>  ACALL DAAD1</p><

100、;p><b>  MOV A,R2</b></p><p>  XRL A,#60H</p><p><b>  JNZ ML0</b></p><p>  ACALL CLR0</p><p>  AJMP ML0 </p><p>  SECO:ACALL

101、 DELY</p><p>  MOV R0,#7AH</p><p>  JNB F0,SUB1</p><p>  ACALL DAAD1</p><p><b>  MOV A,R2</b></p><p>  XRL A,#60H</p><p><b>

102、  JNZ ML0</b></p><p>  ACALL CLR0 </p><p>  ML0: MOV R0,#79H </p><p>  MOV R1,#50H </p><p>  ACALL HEXASC</p><p><b>  MO

103、V R2,#6</b></p><p>  MOV R0,#5AH</p><p>  ACALL INI </p><p><b>  AJMP SETT</b></p><p>  SUB1:SETB F0</p><p><b>  ACALL SUB

104、</b></p><p>  AJMP ML0 </p><p>  CLEAR:MOV @R0,#0</p><p><b>  INC R0</b></p><p>  DJNZ R1,CLEAR</p><p><b>  RET</b></

105、p><p>  HOU: ACALL DELY</p><p><b>  SETB E0</b></p><p>  MOV R0,#4EH </p><p>  ACALL DAAD1</p><p><b>  MOV A,R2</b></p><

106、;p>  XRL A,#24H</p><p><b>  JNZ ML00</b></p><p>  ACALL CLR0</p><p>  AJMP ML00 </p><p>  MIN: ACALL DELY</p><p><b>  SETB E0<

107、/b></p><p>  MOV R0,#4CH</p><p>  ACALL DAAD1</p><p><b>  MOV A,R2</b></p><p>  XRL A,#60H</p><p><b>  JNZ ML00</b></p>&

108、lt;p>  ACALL CLR0</p><p>  AJMP ML00 </p><p>  SEC: ACALL DELY</p><p><b>  SETB E0</b></p><p>  MOV R0,#4AH</p><p>  ACALL DAAD1</p&

109、gt;<p><b>  MOV A,R2</b></p><p>  XRL A,#60H</p><p><b>  JNZ ML00</b></p><p>  ACALL CLR0 </p><p>  ML00:MOV R0,#49H</p><p>

110、  MOV R1,#30H</p><p>  ACALL HEXASC</p><p><b>  MOV R2,#6</b></p><p>  MOV R0,#3AH</p><p>  MOV R1,PIN1</p><p><b>  INC R1</b></

111、p><p>  ACALL INI </p><p><b>  AJMP AAA</b></p><p>  DELY:MOV R1,#0FFH</p><p>  A1: MOV R2,#0FFH</p><p>  LOOP:NOP </p><p

112、><b>  NOP</b></p><p><b>  NOP</b></p><p>  DJNZ R2,LOOP</p><p>  DJNZ R1,A1 </p><p><b>  RET </b></p><p>  PITO:PUSH

113、 PSW</p><p><b>  PUSH 0E0H</b></p><p><b>  PUSH DPH</b></p><p><b>  PUSH DPL</b></p><p>  SETB PSW.3</p><p><b>  

114、MOV A,P1</b></p><p>  MOV TL0,#01H</p><p>  MOV TH0,#1FH</p><p>  CJNE A,#0FDH,SSS</p><p>  MOV TL0,#0EDH</p><p>  MOV TH0,#0FBH </p><

115、p>  SSS: JNB P1.5,GETNUM</p><p>  DDD: MOV A,2FH</p><p><b>  DEC A</b></p><p><b>  MOV 2FH,A</b></p><p><b>  JNZ RET0</b></p&g

116、t;<p>  MOV 2FH,#10H</p><p>  MOV R0,#7AH</p><p>  ACALL DAAD1</p><p><b>  MOV A,R2</b></p><p>  XRL A,#60H</p><p><b>  JNZ RET0&l

117、t;/b></p><p>  ACALL CLR0</p><p>  MOV R0,#7CH</p><p>  ACALL DAAD1</p><p><b>  MOV A,R2</b></p><p>  XRL A,#60H</p><p><b&g

118、t;  JNZ RET0</b></p><p>  ACALL CLR0</p><p>  MOV R0,#7EH</p><p>  ACALL DAAD1</p><p><b>  MOV A,R2</b></p><p>  XRL A,#24H</p>&l

119、t;p><b>  JNZ RET0</b></p><p>  ACALL CLR0</p><p>  RET0:SETB TR0</p><p><b>  POP DPL</b></p><p><b>  POP DPH</b></p><p

120、><b>  POP 0E0H</b></p><p><b>  POP PSW</b></p><p><b>  RETI</b></p><p><b>  GETNUM:</b></p><p>  JB FLAG1,EE</p>

121、;<p>  MOV R1,#49H </p><p><b>  MOV R2,#6</b></p><p>  CO: MOV @R1,#0</p><p><b>  INC R1</b></p><p>  DJNZ R2,CO </p><p>

122、  SETB FLAG1</p><p>  EE: AJMP DDD</p><p>  DAAD1:MOV A,@R0</p><p><b>  DEC R0</b></p><p><b>  SWAP A</b></p><p><b>  ORL A,

123、@R0</b></p><p><b>  ADD A,#1</b></p><p><b>  DA A</b></p><p><b>  MOV R2,A</b></p><p>  ANL A,#0FH</p><p><b&g

124、t;  MOV @R0,A</b></p><p><b>  MOV A,R2</b></p><p><b>  INC R0</b></p><p>  ANL A,#0F0H</p><p><b>  SWAP A</b></p><p

125、><b>  MOV @R0,A</b></p><p>  SETB FLAG3</p><p><b>  RET</b></p><p>  SUB: DEC R0</p><p><b>  DEC @R0</b></p><p>  C

126、JNE @R0,#0FFH,RET2</p><p><b>  INC R0</b></p><p>  CJNE @R0,#0,AA</p><p><b>  DEC R0</b></p><p>  MOV @R0,#0</p><p><b>  RET&

127、lt;/b></p><p>  AA: DEC R0</p><p>  MOV @R0,#9</p><p><b>  INC R0</b></p><p><b>  DEC @R0</b></p><p>  CJNE @R0,#0FFH,RET2<

128、/p><p>  MOV @R0,#0</p><p>  SETB FLAG3</p><p><b>  RET2: RET</b></p><p>  SUB0: DEC R0</p><p><b>  DEC @R0</b></p><p>  

129、CJNE @R0,#0FFH,RET2</p><p><b>  INC R0</b></p><p>  CJNE @R0,#0,BB</p><p><b>  DEC R0</b></p><p>  MOV @R0,#0</p><p><b>  RET

130、</b></p><p>  BB: DEC R0</p><p>  MOV @R0,#9</p><p><b>  INC R0</b></p><p><b>  DEC @R0</b></p><p>  CJNE @R0,#0FFH,RET3<

131、;/p><p>  MOV @R0,#0</p><p>  SETB FLAG3</p><p><b>  RET3: RET</b></p><p>  CLR0: CLR A</p><p><b>  MOV @R0,A</b></p><p>

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論