2017畢業(yè)論文-基于AT89C51單片機(jī)的溫度監(jiān)控器設(shè)計(jì)與制作.doc
《2017畢業(yè)論文-基于AT89C51單片機(jī)的溫度監(jiān)控器設(shè)計(jì)與制作.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《2017畢業(yè)論文-基于AT89C51單片機(jī)的溫度監(jiān)控器設(shè)計(jì)與制作.doc(34頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、浙江工商職業(yè)技術(shù)學(xué)院機(jī)電工程學(xué)院畢業(yè)設(shè)計(jì)浙江工商職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)題 目 溫度監(jiān)控器的設(shè)計(jì)與制作 姓 名 學(xué) 號(hào) 專業(yè)班級(jí) 分 院 指導(dǎo)教師 2011年 9 月 23 日溫度監(jiān)控器的設(shè)計(jì)與制作摘 要:本設(shè)計(jì)基于AT89C51和DB18B20來(lái)實(shí)現(xiàn)溫度控制器的制作,它以89C51單片機(jī)為核心,配以DS18B20(數(shù)字溫度傳感器),小風(fēng)扇,金屬膜電阻來(lái)完成溫度的控制與顯示。系統(tǒng)的硬件和軟件都比較簡(jiǎn)明,且易于實(shí)施。在硬件設(shè)計(jì)方面,由AT89C51、DS18B20(數(shù)字溫度傳感器)、數(shù)碼管,小風(fēng)扇,金屬膜電阻構(gòu)成的電路,在軟件方面,以單片機(jī)和DS18B20數(shù)字溫度傳感器為中心,詳細(xì)的闡述了系軟件設(shè)計(jì)
2、的思想,主流程圖以及相應(yīng)電路模塊的流程圖。關(guān)鍵詞:溫度控制器;DS18B20;AT89C51目錄摘要 11緒論 31.1 溫度控制器的意義與任務(wù) 31.2 溫度控制器的發(fā)展 31.3 論文設(shè)計(jì)內(nèi)容 42 系統(tǒng)設(shè)計(jì)思路 4 2.1 系統(tǒng)總體設(shè)計(jì)思路 42.2 核心電路介紹52.3 DS18B20數(shù)字溫度傳感器7 2.3.1 DS18B20數(shù)字溫度傳感器結(jié)構(gòu)介紹8 2.3.2 DS18B20數(shù)字溫度傳感器的特性9 2.3.3 DS18B20與AT89C51的連接電路103 硬件電路設(shè)計(jì) 103.1 顯示電路設(shè)計(jì)103.2 控制電路設(shè)計(jì)123.3 晶振電路的設(shè)計(jì)123.4 復(fù)位電路的設(shè)計(jì) 134 軟
3、件設(shè)計(jì)144.1 設(shè)計(jì)思路 144.2 顯示程序設(shè)計(jì) 15 4.3 溫度控制程序設(shè)計(jì) 165 調(diào)試 17 5.1調(diào)試準(zhǔn)備 175.2 關(guān)于溫度控制器的部分調(diào)試 185.3 軟件編程的幾點(diǎn)體會(huì)18結(jié)論 19謝辭 20參考文獻(xiàn) 21附錄A(電路元器件清單)22附錄B(電路原理圖)23附錄C(PCB圖) 24附錄D(實(shí)物圖)25附錄E(軟件程序)261 緒論1.1溫度控制器的意義與任務(wù)隨著社會(huì)的發(fā)展,時(shí)代的進(jìn)步,在人們的生活中對(duì)于溫度的要求也越來(lái)越來(lái)要求了,而溫度控制器它就可以解決人們對(duì)于這方面的要求,他可以把溫度控制在人們所需要的溫度范圍內(nèi)。比如用在對(duì)冷部位(如空調(diào)室、冷凍水、庫(kù)溫等)的溫度及其波
4、動(dòng)范圍進(jìn)行控制的電開(kāi)關(guān)。根據(jù)制冷、制熱裝置方式的不同,溫度控制器電路的電控對(duì)象亦不同。例如,對(duì)于制冷于制熱裝置(如空調(diào)器、冷飲水機(jī)、電冰箱、浴室,咖啡壺等等許多用品中)溫度控制器可以根據(jù)設(shè)定溫度直接控制電機(jī)或者開(kāi)關(guān)的停開(kāi),使溫度到達(dá)所預(yù)定的溫度值。溫度控制器在實(shí)際中應(yīng)用很廣泛,也很實(shí)用。溫度的輸出值也比較準(zhǔn)確。隨意技術(shù)的發(fā)展,溫度控制器的應(yīng)用更加廣泛,所應(yīng)用的場(chǎng)合也越來(lái)越多,效率與穩(wěn)定也會(huì)不斷的提高,在以后的發(fā)展中會(huì)更加的完善、實(shí)用。 溫度控制器的任務(wù),具體的說(shuō)就是用DS18B20(數(shù)字溫度傳感器)來(lái)感應(yīng)被加熱的電阻溫度,把傳感器感應(yīng)到的溫度傳輸?shù)絾纹瑱C(jī)里進(jìn)行數(shù)據(jù)處理,用單片機(jī)進(jìn)行準(zhǔn)確的把溫度
5、值輸出來(lái)傳輸?shù)綌?shù)碼管中去顯示當(dāng)前測(cè)到的溫度值。如果所測(cè)到的溫度值位達(dá)到限定最高值時(shí)就讓繼電器吸和把金屬膜電阻加熱,以至達(dá)到所規(guī)定的上限溫度值,如果達(dá)到了所規(guī)定的溫度值,繼電器就斷開(kāi)。而小風(fēng)扇就開(kāi)始降溫工作,把加熱器的溫度降到所規(guī)定的最低值,之后繼電器又開(kāi)始吸合,開(kāi)始加熱工作。就這樣一直反復(fù)工作,把溫度控制在所規(guī)定的溫度值內(nèi)活動(dòng),而數(shù)碼管也會(huì)顯示相應(yīng)的溫度值。1.2 溫度控制器的發(fā)展 現(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集控制(即溫度控制器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。溫度控制器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度控制器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量日漸上升
6、。以溫度作為被控制量的反饋控制系統(tǒng)。在化工、石油、冶金等生產(chǎn)過(guò)程的物理過(guò)程和化學(xué)反應(yīng)中,溫度往往是一個(gè)很重要的量,需要準(zhǔn)確地加以控制。除了這些部門(mén)之外,溫度控制系統(tǒng)還廣泛應(yīng)用于其他領(lǐng)域,是用途很廣的一類工業(yè)控制系統(tǒng)。溫度控制系統(tǒng)常用來(lái)保持溫度恒定或者使溫度按照某種規(guī)定的程序變化。 溫度控制在我國(guó)電子,治金,機(jī)械等工業(yè)領(lǐng)域應(yīng)用非常廣泛,由于具有其工礦復(fù)雜,參數(shù)多變,運(yùn)行慣性大,控制滯后等特點(diǎn),它對(duì)控制調(diào)節(jié)器要求極高。目前,仍有相當(dāng)部分工業(yè)企業(yè)在用窖,爐,烘干生產(chǎn)線存在著控制精度不高,爐內(nèi)溫度均勻性差等問(wèn)題,達(dá)不到工藝要求,造成裝備運(yùn)行成本費(fèi)過(guò)高,產(chǎn)出品品質(zhì)差,嚴(yán)重影響企業(yè)濟(jì)濟(jì)效益,急需進(jìn)行技術(shù)改
7、造。 嚴(yán)格說(shuō),多數(shù)溫度控制系統(tǒng)中被控對(duì)象在進(jìn)行熱交換時(shí)的溫度變化過(guò)程,既是一個(gè)時(shí)間過(guò)程,也是沿空間的一個(gè)傳播過(guò)程,需要用偏微分方程來(lái)描述各點(diǎn)溫度變化的規(guī)律。因此溫度控制系統(tǒng)本質(zhì)上是一個(gè)分布參數(shù)系統(tǒng)。分布參數(shù)系統(tǒng)的分析和設(shè)計(jì)理論還很不成熟,而且往往過(guò)于復(fù)雜而難于在工程實(shí)際問(wèn)題中應(yīng)用。解決的途徑有二:一是把溫度控制系統(tǒng)作為時(shí)滯系統(tǒng)來(lái)考慮。時(shí)滯較大時(shí)采用時(shí)滯補(bǔ)償調(diào)節(jié),以保證系統(tǒng)的穩(wěn)定性。具有時(shí)滯是多數(shù)溫度控制系統(tǒng)的特點(diǎn)之一。另一途徑是采用分散控制方式,把分布參數(shù)的被控過(guò)程在空間上分段化,每一段過(guò)程可作為集中參數(shù)系統(tǒng)來(lái)控制,構(gòu)成空間上分布的多站控制系統(tǒng)。采用分散控制??色@得較好的控制精度。 近年來(lái),國(guó)
8、內(nèi)外對(duì)溫度控制調(diào)節(jié)器進(jìn)行了廣泛,深入的研究,特別是隨著計(jì)算機(jī)的發(fā)展,溫度控制器的研究取得了巨大的進(jìn)展,形成了一批商品化溫度調(diào)節(jié)器。自70年代以來(lái),由于工業(yè)過(guò)程控制的需要,特別是在微電子技術(shù)和計(jì)算機(jī)技術(shù)的迅猛發(fā)展以及自動(dòng)控制理論和設(shè)計(jì)方法發(fā)展的推動(dòng)下,國(guó)內(nèi)外溫度控制系統(tǒng)發(fā)展迅速,并在智能化,自適應(yīng),參數(shù)自整定等方面取得成果。在這方面,國(guó)外的技術(shù)比國(guó)內(nèi)的技術(shù)領(lǐng)先,都生產(chǎn)了一批商品化的,性能優(yōu)異的溫度控制器及儀器儀表,并在各行業(yè)廣泛應(yīng)用,溫度控制器具有控制精度高,抗干擾力強(qiáng),魯棒性好響應(yīng)快、動(dòng)態(tài)偏差小的特點(diǎn),目前,國(guó)內(nèi)外的溫度控制系統(tǒng)以及儀器儀表正朝著高精度,智能化,小型化等方面快速發(fā)展。1.3 設(shè)
9、計(jì)任務(wù)與要求 本論文詳細(xì)的闡述了一個(gè)溫度控制器的設(shè)計(jì)與實(shí)現(xiàn),主要包括介紹溫度控制器的基本理論、硬件電路的設(shè)計(jì)、軟件編程、硬件軟件調(diào)試等幾部分。(1)溫度控制器的基本理論方面,對(duì)溫度傳感器加以討論。 (2)硬件電路設(shè)計(jì)方面,完成了總體硬件電路的設(shè)計(jì):包括核心電路的選擇(AT89C51)、數(shù)字溫度傳感器、顯示電路、控制電路和晶振電路的設(shè)計(jì)。(3)軟件設(shè)計(jì)方面,完成了各個(gè)子程序模塊的編程設(shè)計(jì):主控制程序、顯示子程序等。 2 系統(tǒng)設(shè)計(jì)思路2.1 系統(tǒng)總體設(shè)計(jì)說(shuō)明在現(xiàn)代工業(yè)測(cè)溫的許多方面都要有對(duì)溫度的處理、控制和顯示。而單片機(jī)由于它具有性能高、速度快、價(jià)格低、體積小、穩(wěn)定可靠、使用方便靈活等特點(diǎn)。還有溫
10、度控制器具有控制精度高,抗干擾力強(qiáng),魯棒性好響應(yīng)快、動(dòng)態(tài)偏差小的特點(diǎn)。因而它們常常被用在職能檢測(cè)裝置及控制中,是本次設(shè)計(jì)的核心元件。本文給出了基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)框圖,它主要由以下幾部分構(gòu)成,如圖2.1所示:數(shù)字溫度傳感器DS18B20單片機(jī)溫度顯示控制電路晶振電路圖2.1系統(tǒng)框圖基于單片機(jī)AT89C51的核心電路部分。即AT89C51單片機(jī),其主要任務(wù)是將傳感器輸入的信號(hào),傳輸?shù)絾纹瑱C(jī)中。傳感器部分。主要是由DS18B20(數(shù)字溫度傳感器)構(gòu)成,主要任務(wù)是將傳感器輸出的溫度經(jīng)AT89C51進(jìn)行數(shù)字處理。顯示電路部分。它的主要器件是由4位七段LED數(shù)碼管組成,其任務(wù)是將單片機(jī)傳輸并處
11、理后的數(shù)據(jù)實(shí)時(shí)顯示出來(lái)??刂齐娐凡糠?。它主要由降溫電路和加熱電路組成。其任務(wù)的是控制溫度的上下限溫度值。晶振電路部分。2.2 核心電路的設(shè)計(jì)在產(chǎn)業(yè)化生產(chǎn)中硬件的價(jià)格和成本是對(duì)經(jīng)濟(jì)效益有關(guān)鍵影響的因素,因此選擇一種最合適硬件電路的核心單片機(jī)是首要任務(wù)。單片機(jī)的價(jià)格在整個(gè)裝置的價(jià)格中占有較大的比重。因此選擇一個(gè)價(jià)格低廉而且功能合適的單片機(jī)有著十分重要的意義。經(jīng)過(guò)綜合考慮,本次設(shè)計(jì)采用AT89C51單片機(jī)。AT89C51單片機(jī):89C51系列的單片機(jī)是當(dāng)前最新的一種電擦寫(xiě)的8位單片機(jī),與80C51系列完全兼容,有較強(qiáng)的保密功能,其片內(nèi)的閃速存儲(chǔ)器編程和擦除完全用電實(shí)現(xiàn),編程的速度快,可實(shí)現(xiàn)在線編程。
12、89C51片內(nèi)有4KB的Flash ROM代碼存儲(chǔ)器陣列。有低電壓編程和高電壓編程(12V)兩種模式。低電壓編程模式為用戶在系統(tǒng)中編程89C51提供了一個(gè)方便的途徑,而高電壓編程程(12V)模式與一般常規(guī)的EPROM編程器兼容。 主要性能: 內(nèi)含4KB的FLASH存儲(chǔ)器,擦寫(xiě)次數(shù)1000次。 具有6個(gè)中斷源,5個(gè)中斷矢量,2級(jí)優(yōu)先權(quán)的中斷結(jié)構(gòu)。 AT89C51工作電源電壓為5(10.2)V,且典型值為5V。 兩種低功耗工作模式,即空閑模式和掉電模式。 內(nèi)含128字節(jié)的RAM。 具有32根可編程I/O線。 具有2個(gè)16位可編程定時(shí)器。 具有1個(gè)全雙工的可編程串行通信接口。 具有1個(gè)數(shù)據(jù)指針DPT
13、R。 具有可編程的3級(jí)程序鎖定位。 AT89C51最高工作頻率為24MHz。 完全定態(tài)操作:0Hz-24Hz,可輸出時(shí)鐘信號(hào) 管腳說(shuō)明:AT89C51的引腳結(jié)構(gòu)圖及功能的敘述。1)電源和晶振: VCC運(yùn)行和程序校驗(yàn)時(shí)加+5V。 圖2.2 AT89C51VSS接地。 XTAL1輸入到振蕩器的反相放大器。 XTAL2反相放大器的輸出,輸入到內(nèi)部時(shí)鐘發(fā)生器。當(dāng)用外部振蕩器時(shí),XTAL2不用,XTAL1接收振蕩器信號(hào)。2)制線:共4根。a. 輸入:RST復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在RST上作用兩個(gè)機(jī)器周期以上的高電平,將器件復(fù)位。EA/VPP片外程序存儲(chǔ)器訪問(wèn)允許信號(hào),低電平有效。在編
14、程時(shí),其上施加21V或12V的編程電壓。b. 輸入、輸出:ALE/PROG地址鎖存允許信號(hào),輸出。用作片外存儲(chǔ)器訪問(wèn)時(shí),低字節(jié)地址鎖存。ALE以1/6的振蕩頻率穩(wěn)定速率輸出,可用做對(duì)外輸出的時(shí)鐘或用于定時(shí)。在EPROM編程期間,作輸入。輸入編程脈沖(PROG)。ALE可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。c. 輸出:PSEN片外程序存儲(chǔ)器選通信號(hào),低電平有效。在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,當(dāng)PSEN有效時(shí),程序存儲(chǔ)器的內(nèi)容被送上P0口(數(shù)據(jù)總線)。PSEN可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。3)I/O口:4個(gè)口,32根。P08位、漏極開(kāi)路的雙向I/O口。當(dāng)使用片外存儲(chǔ)器(ROM及RAM)時(shí),作地
15、址和數(shù)據(jù)總線分時(shí)復(fù)用。在程序校驗(yàn)期間,輸出指令字節(jié)(這時(shí),需加外部上拉電阻)。P0口能驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。P18位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。在編程/校驗(yàn)期間,用做輸入低位字節(jié)地址。P1口可驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。P28位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。當(dāng)使用片外存儲(chǔ)器(ROM及RAM)時(shí),輸出高8位地址。在編程/校驗(yàn)期間,接收高位字節(jié)地址。P2口可以驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。P38位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。P3還提供各種替代功能。在提供這些功能時(shí),其輸出鎖存器應(yīng)由程序置1。P3口可以驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。I/O口的端口自動(dòng)識(shí)別功能,保證了無(wú)論是P1口(低8位地址)
16、P2口(高8位地址)的總線復(fù)用,還是P3口的功能復(fù)用,內(nèi)部資源自動(dòng)選擇而不需要用指令進(jìn)行狀態(tài)選擇。l 串行口:P3.0RXD(串行輸入口),輸入。P3.1TXD(串行輸出口),輸出。l 中斷:P3.2INT0,外部中斷0,輸入。P3.3INT1,外部中斷1,輸入。l 定時(shí)器/計(jì)數(shù)器:P3.4T0,定時(shí)器/計(jì)數(shù)器0的外部輸入,輸入。P3.5T1,定時(shí)器/計(jì)數(shù)器1的外部輸入,輸入。l 數(shù)據(jù)存儲(chǔ)器選通:P3.6WR,低電平有效,輸出,片外數(shù)據(jù)存儲(chǔ)器寫(xiě)選通。P3.7RD,低電平有效,輸出,片外數(shù)據(jù)存儲(chǔ)器讀選通。圖 中VCC就是由外電源電路提供的+5V的電源。AT89C51微控制器對(duì)于廣泛的電源輸入有很
17、強(qiáng)的兼容性,對(duì)于供電電源的噪音也有很強(qiáng)的適應(yīng)性。2.3數(shù)字溫度傳感器DS18B20DS18B20是美國(guó)DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易于微處理器等優(yōu)點(diǎn),特別適合于構(gòu)成多點(diǎn)溫度測(cè)控系統(tǒng),可直接將溫度轉(zhuǎn)化成數(shù)字信號(hào)供微機(jī)處理,而且每個(gè)DS18B20都有唯一的產(chǎn)品號(hào)并可存入其ROM中,以使在構(gòu)成大型溫度測(cè)控系統(tǒng)時(shí)在單線上掛任意多個(gè)DS18B20芯片。從DS18B20讀出或?qū)懭隓S18B20信息僅需要一根口線,共讀寫(xiě)及溫度變換功率來(lái)原于數(shù)據(jù)總線,該總體本身也可以向所掛接DS18B20供電,而無(wú)需額外電源。DS18B20能提供九位溫度讀數(shù),它無(wú)需任
18、何外圍硬件即可方便構(gòu)成溫度檢測(cè)系統(tǒng)。圖2.3 DS18B20表 1:數(shù)字溫度傳感器的引腳引腳8腳(SOIC)引腳 PR35說(shuō)明51GND地42DQ單線應(yīng)用的數(shù)據(jù)輸入/輸出引腳43VDD電源2.3.1 DS18B20數(shù)字溫度傳感器結(jié)構(gòu)介紹DS18B20的內(nèi)部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口,存放中間數(shù)據(jù)的高速暫存器,用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH和TL解發(fā)器,存儲(chǔ)與控制邏輯、8位循環(huán)沉余校驗(yàn)碼(CRC)發(fā)生器等七部分組成。圖2.3.1 DS18B20內(nèi)部結(jié)構(gòu)框圖 DS18B20的讀寫(xiě)時(shí)序和測(cè)溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且
19、溫度轉(zhuǎn)換時(shí)的延時(shí)時(shí)間由2s減為750ms。 DS18B20的低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給計(jì)數(shù)器1。高溫度系數(shù)晶振隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號(hào)作為計(jì)數(shù)器2的脈沖輸入。計(jì)數(shù)器1和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一個(gè)基數(shù)值。計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。下圖中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,
20、其輸出用于修正計(jì)數(shù)器1的預(yù)置值。低溫度系數(shù)晶振高溫度系數(shù)晶振預(yù)置斜率累加器比較計(jì)數(shù)器1=0計(jì)數(shù)器2=0溫度寄存器圖2.3.2 DS18B20測(cè)溫原理框圖2.3.2 DS18B20數(shù)字溫度傳感器的特性 (1)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電(2)獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊(3)DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫(4)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)(5)溫
21、范圍55125,在-10+85時(shí)精度為0.5(6)可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫(7)在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快(8)測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線”串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力(9)負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作2.3.3 DS18B20與AT89C51的連接電路圖2.3.3 DS18B20與AT89C51的連接電路3 硬件電路設(shè)計(jì)3.1 顯示電路
22、設(shè)計(jì)在單片機(jī)應(yīng)用系統(tǒng)中,通常用數(shù)碼顯示器作為輸出設(shè)備顯示一些需要的信息和結(jié)果。在顯示驅(qū)動(dòng)電路中,每一個(gè)LED顯示器需要一個(gè)譯碼芯片,每一段需要一個(gè)限流電阻。而本設(shè)計(jì)所使用的傳感器是數(shù)字溫度傳感器,它所測(cè)出來(lái)的溫度為數(shù)字,就不需要A/D進(jìn)行轉(zhuǎn)換了,而使用的數(shù)碼管又是四位數(shù)碼管,簡(jiǎn)單,方便,這樣,是電路大大減少了工作量,使電路簡(jiǎn)單化。 圖3.1 數(shù)碼管此數(shù)碼管有12個(gè)腳,正面向上,點(diǎn)為下,前排6個(gè)腳和后排6個(gè)腳依次從左向右數(shù)為前為6個(gè)腳為: E 、 D 、 DP 、 C 、 G 、 Vcc4后排6個(gè)腳為:Vcc1、A 、 F 、 Vcc2 、Vcc3、 B 圖3.1.1 數(shù)碼管內(nèi)部結(jié)構(gòu)圖3.1.2
23、 數(shù)碼管與AT89C51的連接3.2 溫度控制電路的設(shè)計(jì)此控制電路為單片機(jī)所控制的兩路電路,一路為小風(fēng)扇的工作電路,它的功能是當(dāng)溫度超過(guò)所限定的高值時(shí),就為電路散熱。另一路為加熱電阻的工作電路,它的功能是當(dāng)溫度低于所限定的溫度值時(shí),就為電路加熱。這兩個(gè)電路就是把溫度限定的溫度值中工作,即進(jìn)行控制溫度。 圖3.2 AT89C51與控制電路連接圖3.3 晶振電路的設(shè)計(jì)單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的。在單片機(jī)的XTAL1和XTAL2兩個(gè)管腳,接一只晶振及兩只電容就構(gòu)成了單片機(jī)的時(shí)鐘電路。電路中,電容器C1和C2對(duì)振蕩頻率有微調(diào)作用,通常?。?010)pF。石英晶體選擇6MHz或12MHz都可
24、以。如圖所示:圖3.3 晶振電路圖3.3 晶振電路由圖可知,晶振為12MHz,則機(jī)器周期Tc=12/12M=1s,從而決定了執(zhí)行一條一個(gè)機(jī)器周期的語(yǔ)句為1s。振蕩器的工作可以由PD位(特殊功能寄存器PCON中的一位)控制。當(dāng)PD置1時(shí),振蕩器停止工作,系統(tǒng)進(jìn)入低功耗狀態(tài)。振蕩器的工作頻率一般在1.212MHZ之間,現(xiàn)在,由于制造工藝的改進(jìn),頻率范圍正向兩端延伸,高端可以達(dá)到40MHZ,低端可以達(dá)到0HZ。圖示由晶振和電容構(gòu)成諧振電路,C1,C2雖沒(méi)有嚴(yán)格要求,但電容的大小影響振蕩器振蕩的穩(wěn)定性和起振的快速性,本設(shè)計(jì)選擇0.01uF,在設(shè)計(jì)電路板時(shí),晶振、電容等均應(yīng)盡可能靠近芯片,以減小分布電容
25、,保證振蕩器振蕩的穩(wěn)定性。3.4 復(fù)位電路的設(shè)計(jì)復(fù)位是單片機(jī)初始化操作。所謂初始化,就是計(jì)算機(jī)及各芯片在啟動(dòng)運(yùn)行時(shí)都要復(fù)位,使各單元處于一個(gè)確定的“各就各位”的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。MCS51單片機(jī)初始化后。程序指針指向0000H單元,單片機(jī)由0000H單元開(kāi)始執(zhí)行程序。圖3.4 復(fù)位電路4 軟件設(shè)計(jì)4.1 總體思路溫度控制器系統(tǒng)控制程序是控制單片機(jī)系統(tǒng)按照預(yù)定的操作方式運(yùn)行的程序,其組要任務(wù)是:對(duì)溫度的控制,把溫度控制在規(guī)定的值內(nèi),以及對(duì)溫度的檢測(cè)。軟件總體設(shè)計(jì)包括主控制程序和子顯示程序,延時(shí)程序。主控制程序主要完成對(duì)溫度的控制,檢測(cè),它通過(guò)調(diào)用各個(gè)程序模塊來(lái)實(shí)現(xiàn)整體系統(tǒng)的各項(xiàng)功能
26、。 MCS-51系列單片機(jī)上電復(fù)位后,(PC)=0000H,到0030H。電路上電,首先把DS18B20初始化,然后傳感器開(kāi)始感應(yīng)當(dāng)前的溫度值,并把溫度采集到單片機(jī)里,讓單片機(jī)把溫度值傳輸?shù)綌?shù)碼管中去顯示溫度值,并讓單片機(jī)進(jìn)行對(duì)溫度的判斷,如果溫度達(dá)到所規(guī)定的低值時(shí),單片機(jī)P2.4口開(kāi)始工作,沒(méi)達(dá)到就繼續(xù)進(jìn)行溫度測(cè)試。如果達(dá)到溫度的高值后,單片機(jī)P2.7口開(kāi)始工作,沒(méi)達(dá)到就繼續(xù)進(jìn)行溫度測(cè)試。開(kāi)始初始化DS18B20讀入溫度計(jì)算溫度LCD顯示溫度延時(shí)時(shí)間判斷溫度是否上限溫度是否下限溫度降溫返回是否達(dá)到下限溫度返回圖4.1 總體流程圖4.2 顯示程序設(shè)計(jì)顯示程序就電路上電開(kāi)始工作,數(shù)碼管就顯示當(dāng)前
27、所測(cè)到的溫度值。他的工作原理是,首先把單片機(jī)的百位送到數(shù)碼管顯示,P2.0口置位,在把十位送到數(shù)碼管顯示,P2.1口置位,在那個(gè)為送到數(shù)碼管顯示,P2.2口置位,最后把個(gè)位送到數(shù)碼管顯示,P2.3口置位,就一直這樣工作。 開(kāi)始單片機(jī)百位送數(shù)P2.0置位單片機(jī)十位送數(shù)P2.1置位單片機(jī)個(gè)位送數(shù)P2.2置位單片機(jī)小數(shù)送數(shù)P2.3置位RET圖4.2 顯示流程圖4.3 溫度控制程序設(shè)計(jì)溫度控制程序就電路上電后對(duì)溫度的控制工作。它的工作原理是,首先數(shù)碼管顯示當(dāng)前的溫度,然后DS18B20測(cè)試溫度,是否有達(dá)到上限的溫度值,如果達(dá)到了上限溫度值,風(fēng)扇啟動(dòng),開(kāi)始降溫工作,如果沒(méi)有達(dá)到就繼續(xù)測(cè)試與降溫工作。如果
28、溫度達(dá)到下限溫度值后就返回。DS18B20判斷溫度是否到達(dá)上限溫度風(fēng)扇啟動(dòng)降溫是否到達(dá)下限溫度返回顯示當(dāng)前溫度開(kāi)始圖4.3 溫控流程圖5 系統(tǒng)調(diào)試5.1 系統(tǒng)的合成調(diào)試及準(zhǔn)備工作軟件編好后需要通過(guò)硬件看看是否能夠?qū)崿F(xiàn)預(yù)想的功能,所以需要二者結(jié)合調(diào)試。 在調(diào)試程序的實(shí)際過(guò)程中,總是希望在一個(gè)很龐大也很復(fù)雜的用戶程序中,挑選出來(lái)某一段程序或某一個(gè)子程序,單獨(dú)進(jìn)行調(diào)試,以便達(dá)到化繁為簡(jiǎn),各個(gè)擊破的目的。在編寫(xiě)本課題程序時(shí),采取的是反其道而行之,先簡(jiǎn)后繁,即將編寫(xiě)好各個(gè)子程序先在所購(gòu)買(mǎi)的目標(biāo)板上調(diào)試成功,然后在組成復(fù)雜的用戶程序,最后將程序燒寫(xiě)到所設(shè)計(jì)的裝置中,完成整個(gè)設(shè)計(jì)的程序調(diào)試工作。 調(diào)試前的準(zhǔn)
29、備工作:PC機(jī);.程序編制器;.數(shù)字萬(wàn)用表;. 5V的電源;.簡(jiǎn)易實(shí)驗(yàn)板(面包板);.電纜;.導(dǎo)線剪;.導(dǎo)線剝離器;.尖嘴的鑷子;.平頭的小改錐等。5.2 關(guān)于溫度傳感器部分的調(diào)試適應(yīng)電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電,獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊,測(cè)溫范圍55125,在-10+85時(shí)精度0.5,可編程的分辨率為912位,對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測(cè)溫,在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫
30、度值轉(zhuǎn)換為數(shù)字,速度更快,測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以一線總線串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力,負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀,但不能正常工作。 DS18B20中的溫度傳感器可完成對(duì)溫度的測(cè)量,以12位轉(zhuǎn)化為例:用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號(hào)位。12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0
31、625即可得到實(shí)際溫度。 例如+125的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。5.3 軟件編程的幾點(diǎn)體會(huì) 通過(guò)用匯編語(yǔ)言開(kāi)發(fā)基于單片機(jī)AT89C51的多路數(shù)據(jù)采集系統(tǒng),我發(fā)現(xiàn)在編程時(shí),遵循一些規(guī)則可避免在后面的工作中犯一些基本錯(cuò)誤。 要時(shí)常記得對(duì)所用的變量進(jìn)行初始化。在單片機(jī)中文件寄存器是不會(huì)被初始化為一個(gè)特定的取值的。在對(duì)變量進(jìn)行初始化的時(shí)候,要確定把它們置為0,因?yàn)橹挥羞@樣才和MPLAB模擬器中給它們賦的初值相吻合,也才能保證它們?cè)趹?yīng)用軟件中的工作情況和在模擬器中的工作情況完全一樣。 理想情況下,
32、一個(gè)應(yīng)用軟件的設(shè)計(jì)應(yīng)該使得所有寄存器體1寄存器和硬件設(shè)備都在清零后完成初始化,然后在寄存器體。先要制定一個(gè)計(jì)劃用以測(cè)試并保證你的程序是正確的。在開(kāi)發(fā)過(guò)程中的每一步都要對(duì)你的程序進(jìn)行調(diào)試,直到你對(duì)所有先前的程序的性能都100%滿意了才能繼續(xù)進(jìn)行下一步開(kāi)發(fā)工作。5.4 標(biāo)定結(jié)論 此次畢業(yè)設(shè)計(jì)是對(duì)我們大學(xué)三年的所學(xué)知識(shí)的最后一次檢驗(yàn),其目的是考察我們對(duì)所學(xué)專業(yè)的掌握程度以及所應(yīng)用的程度。它與平日所進(jìn)行的實(shí)驗(yàn)、考試、測(cè)驗(yàn)不同,它更注重我們的實(shí)踐能力與綜合能力的表現(xiàn),在做畢業(yè)設(shè)計(jì)的過(guò)程中,使我鍛煉了自我處理與自我控制的能力。在這幾個(gè)月的時(shí)間里,我通過(guò)網(wǎng)上查詢以及到圖書(shū)館翻閱資料學(xué)到了許多的專業(yè)相關(guān)知識(shí)以
33、及其他所對(duì)應(yīng)的專業(yè)知識(shí),從而對(duì)自己的畢業(yè)設(shè)計(jì)也漸漸的有了了解與思路,同時(shí)在老師和同學(xué)的幫助下,我對(duì)題目設(shè)計(jì)的思路也有了明晰的概念。我將自己在學(xué)校所學(xué)的專業(yè)知識(shí)和理論知識(shí)與最近所翻閱的資料進(jìn)行融合,來(lái)完成本次設(shè)計(jì)的任務(wù)與要求,在這個(gè)設(shè)計(jì)過(guò)程中使我學(xué)到更多的專業(yè)知識(shí),讓我以后在工作的道路得更大的幫助。在論文寫(xiě)作的過(guò)程中,我接觸到了各種不同的問(wèn)題,在設(shè)計(jì)電路過(guò)程中,要設(shè)計(jì)更加合適、簡(jiǎn)明、實(shí)用的電路,使之在以后的設(shè)計(jì)工作中減少麻煩。但在設(shè)計(jì)電路中也碰到一些問(wèn)題,比如在設(shè)計(jì)電路板沒(méi)有把器件合理分布,導(dǎo)致線路復(fù)雜化,之后在進(jìn)行合理布局,使電路簡(jiǎn)明清晰化。在軟件編程方面也會(huì)碰到一些問(wèn)題,比如把一些復(fù)雜的程序
34、編成復(fù)雜化了,經(jīng)過(guò)反復(fù)的修改,以至達(dá)到比更好的軟件程序。在此次設(shè)計(jì)中,我提出各種解決方案,獲得了很多有價(jià)值的心得和體會(huì),這為未來(lái)的工作積累了寶貴的資源。論文主要研究目的是實(shí)現(xiàn)設(shè)計(jì)一套基于單片機(jī)的溫度控制器,包括溫度的上限值與下限值的控制與溫度的測(cè)量。工作總結(jié)為如下幾點(diǎn):設(shè)計(jì)、安裝和調(diào)試了溫度控制器,該部件由溫度傳感器以及AT89C51單片機(jī)組成,實(shí)現(xiàn)溫度的采集。編寫(xiě)和調(diào)試了各部分的軟件。謝辭 我所做的設(shè)計(jì)工作和論文撰寫(xiě)工作,都是在導(dǎo)師*老師的細(xì)心指導(dǎo)和嚴(yán)格要求下完成的。*老師嚴(yán)謹(jǐn)治學(xué)的態(tài)度和寬厚仁慈的關(guān)愛(ài),使我受益匪淺。尤其是在論文寫(xiě)作的進(jìn)行中*老師在百忙之中也不忘關(guān)心我的工作與學(xué)習(xí),經(jīng)常擠出
35、時(shí)間幫助我完成設(shè)計(jì)與教我 更多與之相關(guān)的專業(yè)知,使我受益非潛。正是這種對(duì)工作和事業(yè)的執(zhí)著追求,永遠(yuǎn)不知疲倦的精神鼓舞著我克服一個(gè)又一個(gè)困難,并順利的完成設(shè)計(jì)工作。使我在知識(shí)的海洋中不斷前行。在此,謹(jǐn)向我尊敬的導(dǎo)師表示衷心的敬意和誠(chéng)摯的感謝。 同時(shí),我還要感謝我的同學(xué)們,正是在這樣的一個(gè)團(tuán)結(jié)友愛(ài),親密無(wú)間的集體中,在他們的合作、幫助和啟發(fā)中,才有了我今天的小小收獲。謝謝你們! 參考文獻(xiàn)1呂俊芳編著.傳感器接口與檢測(cè)儀器電路.北京航空航天大學(xué)出版.1994.62薛鈞義、姚燕南主編.微機(jī)控制系統(tǒng)及其應(yīng)用.西安交通大學(xué)出版社,1994.23李華.MCS-51系列單片機(jī)實(shí)用接口技術(shù).北京航天航空大學(xué)出版
36、.1993,84周航慈.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù).北京航空航天大學(xué)出版社,19918劉樂(lè)善主編.微型計(jì)算機(jī)接口技術(shù)及應(yīng)用 .華中科技大學(xué)出版社10周航慈編著.單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù).北京航空航天大學(xué)出版社11何立民編著.MCS-51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京航空航天大學(xué)出版社12童詩(shī)白.模擬電路技術(shù)基礎(chǔ).高等教育出版社 13何立民.MCS-51系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京航空航天大學(xué)出版社.190015王之芳.傳感器應(yīng)用技術(shù).西北工業(yè)大學(xué)出版社.199518陳寶江.MCS單片機(jī)應(yīng)用系統(tǒng)指南.北京:機(jī)械工業(yè)出版社,199719萬(wàn)福君.單片微機(jī)原理系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)應(yīng)用.中國(guó)科學(xué)出版社.199520張友德
37、、趙志英等.單片機(jī)原理應(yīng)用與實(shí)驗(yàn).上海復(fù)旦大學(xué)出版社.199222高海生等單片機(jī)應(yīng)用技術(shù)大全.西安:西安交通大學(xué)出版社. 1991.1223陳汝全電子技術(shù)常用器件應(yīng)用手冊(cè).北京理工大學(xué)出版社. 1991.9附 錄附錄A電路元器件清單:序號(hào)材料名稱型號(hào)規(guī)格數(shù)量編號(hào)1數(shù)字溫度傳感器DS18B201J12CPUAT89C511U13集成塊74HC5411U24排組A472G1U35數(shù)碼管LDS-5461AH1A16小風(fēng)扇DC-5V1S17金屬膜電阻2W/1001S28繼電器JRC-21F-05VDC1D29電解電容100uF1C510電解電容10uF1C411電解電容22uF1C312瓷偏電容33P
38、F2C1-C213晶振12M1Y114電阻1K1R115電阻4.7K2R2-R316電阻6802R4-R517二級(jí)管IN41481D118三級(jí)管8550(PNP)2Q1-Q219發(fā)光二級(jí)管LED2L1-L2附錄B 電路原理圖: 附錄C PCB圖附錄D 實(shí)物圖26浙江工商職業(yè)技術(shù)學(xué)院機(jī)電工程系畢業(yè)設(shè)計(jì)附錄E 軟件程序31WDLW EQU 35HWDHW EQU 36HWDBW EQU 30HWDSW EQU 31HWDGW EQU 32HWDXSD EQU 33HWX1 BIT P2.0WX2 BIT P2.1WX3 BIT P2.2 WX4 BIT P2.3BZW BIT 00HSJX BIT
39、 P1.1 ORG 0000H SJMP START ORG 0030HSTART: MOV DPTR,#WDTAB MOV WDLW ,#00H MOV WDHW ,#00H LCALL ZHSJ LCALL CF LCALL BCDZH LCALL JYBCD SJMP QXSMAIN: LCALL SZROMQXS: MOV R3 ,#10SPCS: LCALL WDXS DJNZ R3 ,SPCS lcall dbj lcall gbj SJMP MAIN;=判斷溫度下限= dbj: mov a,30h clr c cjne a,#2,bd1bd1: jc dl setb p2.7 j
40、mp js1dl: clr p2.7 mov a,#0js1: ret;=判斷溫度上限=gbj: mov a,30h setb c cjne a,#5,db2db2: jnc d2 setb p2.4 jmp js2 d2: clr p2.4 mov a,#0js2: ret ;=設(shè)置DS1820的ROM情況=SZROM: SETB SJX ; 定時(shí)入口CSH1: LCALL CSH1820 JB BZW,CZ1820 AJMP CSH1 ; 若DS18B20不存在則返回CZ1820: MOV A,#0CCH ; 跳過(guò)ROM匹配-0CC LCALL WRITE1820 MOV A,#44H ;
41、 發(fā)出溫度轉(zhuǎn)換命令 LCALL WRITE1820ZHH: JB SJX ,CSH2 LCALL WDXS SJMP ZHHCSH2: LCALL CSH1820 JB BZW,CZ18200 AJMP CSH2CZ18200: MOV A,#0CCH ; 跳過(guò)ROM匹配 LCALL WRITE1820 MOV A,#0BEH ; 發(fā)出讀溫度命令 LCALL WRITE1820 LCALL READ1820 ;READ1820 LCALL ZHSJ LCALL CF LCALL BCDZH LCALL JYBCD RET;=DS18B20初始化程序=CSH1820:SETB SJX NOP C
42、LR SJX LCALL YS500uS SETB SJX LCALL YS50uS JNB SJX,YES1820 AJMP NO1820YES1820:SETB BZW MOV R7,#100 DJNZ R7,$ AJMP JS3 NO1820: CLR BZWJS3: SETB SJX RET;=讀DS18B20的程序=;從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù);高位放在WDHW中,底位放在WDLW中;=READ1820: MOV R4,#2 MOV R0,#WDLWSTRE0: MOV R6,#8STRE1: CLR C SETB SJX NOP CLR SJX NOP SETB SJ
43、X MOV 70H,#2 DJNZ 70H,$ MOV C,SJX LCALL YS30uS RRC A SETB SJX DJNZ R6,STRE1 MOV R0,A INC R0 DJNZ R4,STRE0 RET ;=寫(xiě)DS18B20的程序=WRITE1820:MOV R6,#8;寫(xiě)數(shù)據(jù)入DS1820STWR: CLR C CLR SJX NOP RRC A MOV SJX,C LCALL YS30uS SETB SJX DJNZ R6,STWR SETB SJX RET;=;() 標(biāo)號(hào): 功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)乘法 ;入口條件:被乘數(shù)在R2、R3中,乘數(shù)在R6、R7中。 ;出口信息
44、:乘積在R2(高位)、R3、R4、R5中。;影響資源:PSW、A、B、R2R7 堆棧需求: 字節(jié) ;=ZHSJ: MOV R3 ,WDLW MOV R2 ,WDHW MOV R6 ,#02H MOV R7 ,#71H MOV A,R3;計(jì)算R3乘R7;MOVB,R7MULABMOVR4,B;暫存部分積;MOVR5,AMOVA,R3;計(jì)算R3乘R6MOVB,R6MULABADDA,R4;累加部分積MOVR4,ACLRAADDCA,BMOVR3,AMOVA,R2;計(jì)算R2乘R7;MOVB,R7MULABADDA,R4;累加部分積MOVR4,AMOVA,R3ADDCA,BMOVR3,ACLRARLC
45、AXCHA,R2;計(jì)算R2乘R6MOVB,R6MULABADDA,R3;累加部分積MOVR3,AMOVA,R2ADDCA,BMOVR2,ARET;=; 標(biāo)號(hào): 功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)除法;入口條件:被除數(shù)在R2(高位)、R3、R4、R5中,除數(shù)在R6(高位)、R7中。;出口信息:OV=0 時(shí),雙字節(jié)商在R2(高位)、R3中,OV=1 時(shí)溢出。;影響資源:PSW、A、B、R1R7 堆棧需求: 字節(jié);= CF: MOV R6,#00H MOV R7 ,#64H CLRC ;比較被除數(shù)和除數(shù)MOVA,R3SUBBA,R7MOVA,R2SUBBA,R6JCDVD11SETBOV;溢出RETDVD1
46、1:MOVB,#10H;計(jì)算雙字節(jié)商DVD21:CLRC;部分商和余數(shù)同時(shí)左移一位MOVA,R5RLCAMOVR5,AMOVA,R4RLCAMOVR4,AMOVA,R3RLCAMOVR3,AXCHA,R2RLCAXCHA,R2MOVF0,C;保存溢出位CLRCSUBBA,R7;計(jì)算(R2R3R6R7)MOVR1,AMOVA,R2SUBBA,R6ANLC,/F0;結(jié)果判斷JCDVD31MOVR2,A;夠減,存放新的余數(shù)MOVA,R1MOVR3,AINCR5;商的低位置一DVD31:DJNZB,DVD21;計(jì)算完十六位商(R4R5)MOVA,R4;將商移到R2R3中MOVR2,AMOVA,R5MO
47、VR3,ACLROV;設(shè)立成功標(biāo)志 RET;=;=溫度顯示子程序=;段碼數(shù)據(jù)分別存在30h-33h中;位選端分別為p3.1-p3.4;=WDXS: setb wx1 setb wx2 setb wx3 setb wx4 MOV A,WDBW MOVC A,A+DPTR MOV P0,A clr WX1 LCALL YS10uS setb WX1 MOV A,WDSW MOVC A,A+DPTR MOV P0,A clr WX2 LCALL YS10uS setb WX2 MOV A,WDGW MOVC A,A+DPTR MOV P0,A clr WX3 LCALL YS10uS setb WX
48、3 MOV A,WDXSD MOVC A,A+DPTR MOV P0,A clr WX4 LCALL YS10uS setb WX4 RET;-; 標(biāo)號(hào): 功能:雙字節(jié)十六進(jìn)制整數(shù)轉(zhuǎn)換成雙字節(jié)碼整數(shù);入口條件:待轉(zhuǎn)換的雙字節(jié)十六進(jìn)制整數(shù)在R6(高位)、R7中。;出口信息:轉(zhuǎn)換后的三字節(jié)碼整數(shù)在R3(高位)、R4、R5中。(壓縮);影響資源:PSW、A、R2R7 堆棧需求: 字節(jié);-BCDZH: MOV A ,R2 MOV R6,A MOV A ,R3 MOV R7 ,ACLRA;碼初始化MOVR3,AMOVR4,AMOVR5,AMOVR2,#10h;轉(zhuǎn)換雙字節(jié)十六進(jìn)制整數(shù)HB3:MOVA,R7;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中RLCAMOVR7,AMOVA,R6RLCAMOVR6,AMOVA,R5;碼帶進(jìn)位自身相加,相當(dāng)于乘ADDCA,R5DAA;十進(jìn)制調(diào)整MOVR5,AMOVA,R4ADDCA,R4DAAMOVR4,AMOVA,R3ADDCA,R3MOVR3,A;雙字節(jié)十六進(jìn)制數(shù)的萬(wàn)位數(shù)不超過(guò),不用調(diào)整DJNZR2,HB3;處理完RET;=;將R3(高)R4 R5 中的壓縮BCD嗎解壓到;40H(高)41H 42H 43H 44H顯示緩沖區(qū);
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案