基于8086的溫度系統(tǒng)(共34頁)_第1頁
基于8086的溫度系統(tǒng)(共34頁)_第2頁
基于8086的溫度系統(tǒng)(共34頁)_第3頁
基于8086的溫度系統(tǒng)(共34頁)_第4頁
基于8086的溫度系統(tǒng)(共34頁)_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、PAGE PAGE 38目 錄 TOC o 1-3 u 1引言(ynyn) PAGEREF _Toc407621041 h 12 設(shè)計(jì)方案與論證(lnzhng) PAGEREF _Toc407621042 h 13 設(shè)計(jì)(shj)內(nèi)容 PAGEREF _Toc407621043 h 23.1系統(tǒng)擴(kuò)展接口的選擇 PAGEREF _Toc407621044 h 23.2溫度傳感器與AD轉(zhuǎn)換器的選擇 PAGEREF _Toc407621045 h 23.3顯示接口芯片 PAGEREF _Toc407621046 h 33.4設(shè)計(jì)原理及功能說明 PAGEREF _Toc407621047 h 33.5

2、系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc407621048 h 43.6單元電路的設(shè)計(jì)(計(jì)算與說明) PAGEREF _Toc407621049 h 54.8086微處理器及其體系結(jié)構(gòu) PAGEREF _Toc407621050 h 84.1 8086微處理器的一般性能特點(diǎn) PAGEREF _Toc407621051 h 84.2. 8086CPU的編程結(jié)構(gòu) PAGEREF _Toc407621052 h 94.3 8255A并行IO接口 PAGEREF _Toc407621053 h 94.4 ADC0809概述 PAGEREF _Toc407621054 h 114.5 ADC0809與82

3、55的連接 PAGEREF _Toc407621055 h 134.6鍵盤/顯示方式設(shè)置命令字 PAGEREF _Toc407621056 h 134.7 LED顯示器 PAGEREF _Toc407621057 h 145硬件的制作與調(diào)試 PAGEREF _Toc407621058 h 146 結(jié)束語: PAGEREF _Toc407621059 h 17參考文獻(xiàn) PAGEREF _Toc407621060 h 19附錄1:元器件清單: PAGEREF _Toc407621061 h 20附錄2:電路總圖 PAGEREF _Toc407621062 h 20附錄3:程序 PAGEREF _T

4、oc407621063 h 20 1引言(ynyn)為了實(shí)現(xiàn)計(jì)算機(jī)對生產(chǎn)過程及對象的控制,需要將對象的各種( zhn)測量參數(shù)按照要求轉(zhuǎn)換成數(shù)字信號送入計(jì)算機(jī)。計(jì)算機(jī)運(yùn)算處理后再轉(zhuǎn)換成適合于對生產(chǎn)過程進(jìn)行控制的量。所以在微機(jī)和生產(chǎn)過程之間,須設(shè)置信息的變換和傳遞通道。主要功能就是隨時(shí)間變化的模擬輸入信號變成數(shù)字信號送入計(jì)算機(jī),主要由AD590溫度傳感器,8088CPU,8255A, A/D轉(zhuǎn)換器和數(shù)碼(shm)管顯示器等組成。本實(shí)驗(yàn)通過設(shè)計(jì)一個(gè)微機(jī)控制的溫度控制系統(tǒng)旨在能做到以下幾點(diǎn):1了解微機(jī)控制的溫度采集系統(tǒng)軟硬件設(shè)計(jì)原理和方法。2進(jìn)一步掌握并行接口芯片和模數(shù)轉(zhuǎn)換的工作原理與使用方法。 以

5、8088 CPU 為核心設(shè)計(jì)一個(gè)溫度采集系統(tǒng),系統(tǒng)可以實(shí)現(xiàn)一路溫度的采集,在3位LED顯示器上顯示當(dāng)前溫度。本設(shè)計(jì)所用器件主要有傳感器,A/D轉(zhuǎn)換器,8088CPU,可編程并行接口8255,顯示器等。首先傳感器把所測的溫度轉(zhuǎn)換為電壓,輸入A/D轉(zhuǎn)換器中進(jìn)行轉(zhuǎn)換,然后再把得到的二進(jìn)制數(shù)經(jīng)過CPU在數(shù)碼管上顯示出來。本設(shè)計(jì)共分以下幾個(gè)模塊:8088主控模塊、A/D轉(zhuǎn)換模塊、并行接口模塊、顯示模塊。 2 設(shè)計(jì)方案與論證 采用鉑電阻溫度傳感器的電阻與溫度的關(guān)系是非線性的,用電橋?qū)崿F(xiàn)溫度升高引起的電阻變化對應(yīng)于電壓的變化。經(jīng)A/D轉(zhuǎn)換器后,送入鎖存器鎖存,在經(jīng)譯碼器輸出后,再在數(shù)碼管上顯示,由于74LS

6、373具有鎖存功能就能實(shí)現(xiàn)四位的溫度顯示。由于鉑電阻與溫度的關(guān)系是非線性的,因此輸出的結(jié)果測試精度較低,并且不能達(dá)到我們對溫度控制的要求。電橋測溫電路放大電路A/D轉(zhuǎn)換電路鎖存器74LS373譯碼器7448LED數(shù)碼顯示圖2-1設(shè)計(jì)方案3 設(shè)計(jì)(shj)內(nèi)容3.1系統(tǒng)擴(kuò)展接口(ji ku)的選擇 本次(bn c)設(shè)計(jì)采用的是8086微處理器,選擇8255A可編程并行接口作為系統(tǒng)的擴(kuò)展接口,8255A的通用性強(qiáng),適應(yīng)靈活,通過它CPU可直接與外設(shè)相連接。3.2溫度傳感器與AD轉(zhuǎn)換器的選擇本系統(tǒng)選用溫度傳感器AD590構(gòu)成測溫系統(tǒng)。AD590是一種電壓輸入、電流輸出型集成溫度傳感器,測溫范圍為-5

7、5150,非線性誤差在0。30,其輸出電流與溫度成正比,溫度每升高1K(K為開爾文溫度),輸出電流就增加1uA。其輸出電流I=(273+T)uA。本設(shè)計(jì)中串聯(lián)電阻的阻值選用2K,所以輸出電壓V+=(2730 + 10T)MV.另外,為滿足系統(tǒng)輸入模擬量進(jìn)行處理的功能,對其再擴(kuò)展一片ADC0809,以進(jìn)行模擬數(shù)字量轉(zhuǎn)化。3.3顯示(xinsh)接口芯片為滿足本次設(shè)計(jì)(shj)溫度顯示的需要,我們選擇了8279芯片(xn pin),INTEL8279芯片是一種通用的可編程的鍵盤、顯示接口器件,單個(gè)芯片就能完成鍵盤鍵入和數(shù)碼管顯示控制兩種功能。3.4設(shè)計(jì)原理及功能說明 本系統(tǒng)采用的是8086微處理器

8、,選擇8255A可編程并行接口作為系統(tǒng)的擴(kuò)展接口,8255A的通用性強(qiáng),適應(yīng)靈活,通過它CPU可直接與外設(shè)相連接。對溫度進(jìn)行檢測,然后通過A/D轉(zhuǎn)換器(ADC0809)轉(zhuǎn)換成數(shù)字信號輸入主機(jī)。使用Intel8279可編程序的鍵盤、顯示接口功能,完成鍵盤輸入和顯示控制兩種功能。針對各模塊的硬件功能,對各模塊設(shè)定子程序,通過主程序?qū)@些子程序模塊的調(diào)用,完成軟件設(shè)計(jì)。 (1)溫度測量顯示部分溫度通過AD590溫度傳感集成芯片,將溫度變化量轉(zhuǎn)換成電壓值變化量,經(jīng)過OP07一級跟隨后輸入到電壓放大電路,放大后的信號輸入到A/D轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號,然后將該數(shù)字信號通過然間編程轉(zhuǎn)化為十進(jìn)制BC

9、D碼,并送到8279進(jìn)行溫度值的顯示。 圖 3-1主程序流程圖3.5系統(tǒng)軟件(x tn run jin)設(shè)計(jì)(shj)本設(shè)計(jì)(shj)的目的是以8086微處理器為控制器,將溫度傳感器輸出的小信號經(jīng)過放大和低通濾波后,送至A/D轉(zhuǎn)換器;微控制器實(shí)時(shí)采集、顯示溫度值(要求以攝氏度顯示),同時(shí)系統(tǒng)還應(yīng)可設(shè)定、控制溫度值,使系統(tǒng)工作在設(shè)定溫度。通過開始界面,顯示提示信息,調(diào)用溫度子程序,設(shè)置溫度。通過模數(shù)轉(zhuǎn)換器采集AD值并求其平均值。調(diào)用BCD碼轉(zhuǎn)換子程序?qū)⑵滢D(zhuǎn)換為十進(jìn)制溫度值;調(diào)用顯示子程序,如果溫度高于實(shí)際溫度,就加熱,反之撥動開關(guān)關(guān)閉,停止加熱。在此過程中,還可以重復(fù)設(shè)置溫度值。(1) BCD碼

10、轉(zhuǎn)換(zhunhun)子程序設(shè)定(sh dn)溫度為0攝氏度時(shí)變換(binhun)放大電路送出的模擬量為0.0V,此時(shí)A/D輸出的數(shù)字量為00H;溫度為68時(shí)變換器送出對應(yīng)電壓4.98V,此時(shí)A/D輸出的數(shù)字量為FFH,即每0.3對應(yīng)1LSB的變化量,對應(yīng)電壓值為19.5mV。報(bào)警溫度設(shè)定為68,此時(shí),輸出電壓約為5.0V左右。(2)溫度值設(shè)置子程序?yàn)榱吮苊饧訜釡囟冗^高,在程序設(shè)計(jì)中加了一條,即設(shè)定值不能大于68,否則就認(rèn)為有錯(cuò)系統(tǒng)報(bào)警。 3.6單元電路的設(shè)計(jì)(計(jì)算與說明)(1)溫度檢測系統(tǒng)溫度信息由溫度傳感器測量并轉(zhuǎn)換成微安級的電流信號,經(jīng)過運(yùn)算放大電路將溫度傳感器輸出的小信號進(jìn)行跟隨放大,

11、輸入到A/D轉(zhuǎn)換器(ADC0809)轉(zhuǎn)換成數(shù)字信號輸入主機(jī)。數(shù)據(jù)經(jīng)過標(biāo)度轉(zhuǎn)換后,一方面通過數(shù)碼管將溫度顯示出來;另一方面,將該溫度值與設(shè)定的溫度值進(jìn)行比較,調(diào)整電加熱爐的開通情況,從而控制溫度。在斷開電加熱器,溫度仍然異常,報(bào)警器發(fā)出聲音報(bào)警,提示采取相應(yīng)的調(diào)整措施。(2)溫度測量部分AD590是AD公司生產(chǎn)的一種精度和線度較好的雙端集成傳感器,其輸出電流與絕對溫度有關(guān),對于電源電壓從5-10V變化只引起1uA最大電流的變化或1攝氏度等效誤差。圖4-1給出了用于獲得正比于絕對溫度的輸出電流的基本溫度敏感電路。AD590輸出(shch)的電流I=(273+T)uA(T為攝氏溫度)。因此測量(cl

12、ing)的電壓V為(273+T)uA10K=(2.73+T/100)V,為了將電壓測量出來(ch li),又務(wù)必使電流I不分流出來。使用電壓跟隨器使其輸出電壓V2等于V 。由于一般電源供應(yīng)多器件之后,電源是帶雜波的,因此使用穩(wěn)壓二極管作為穩(wěn)壓元件,再利用可變電阻分壓,其輸出電壓V1需調(diào)至2.73V。差動放大器其輸出V0 為(100K/10K)(V2-V1)=T/10,如果現(xiàn)在為攝氏28,輸出電壓為2.8V。輸出電壓接AD轉(zhuǎn)換器,那么AD轉(zhuǎn)換輸出的數(shù)字量就和攝氏溫度成線性比例的關(guān)系。圖3-2輸出電流的基本溫度敏感電路圖3-3 ADC0809與8255的連接模擬輸入(shr)通道地址A,B,C直接

13、接地(jid),因此ADC0809只對通道(tngdo)IN0輸入的電壓進(jìn)行模數(shù)轉(zhuǎn)換。為了減少輸入噪聲其他通道直接接地。ADC0809的數(shù)據(jù)線D0-D7與8255的PB0-PB7相連接。其片選CS與8086的地址/數(shù)據(jù)總線AD14相連接。圖3-4 8086的可編程外設(shè)接口電路8255的數(shù)據(jù)口D0-D7與CPU的6根控制線相連接,控制8255A內(nèi)部的各種操作。控制線RESET用來使8255A復(fù)位。CS和地址線A1及A0用于芯片選擇和通道尋址。分別與8086的高位地址線A19,A1,A0相連接。數(shù)據(jù)顯示部分中我們采用功能強(qiáng)大的可編程設(shè)置型顯示器8279來對控制溫度和實(shí)際溫度進(jìn)行顯示。我們用8段數(shù)碼

14、管顯示。8279顯示功能介紹:8279內(nèi)部有16X8的顯示RAM,通過顯示寄存器和兩個(gè)四位端口0UT A0-3,0UT BO-3來刷新顯示, 顯示器可以是8段數(shù)碼管,圖3-5 電路(dinl)工作原理:AD轉(zhuǎn)換器將轉(zhuǎn)換結(jié)果(ji gu)由十六進(jìn)制轉(zhuǎn)換為十進(jìn)制后分別存儲在54H,55H,56H,57H,58H,59H.中。8279連接(linji)一個(gè)74ls38譯碼器,經(jīng)過譯碼再接6個(gè)8段數(shù)碼管分別顯示每個(gè)存儲單元的內(nèi)容4.8086微處理器及其體系結(jié)構(gòu)4.1 8086微處理器的一般性能特點(diǎn)(1) 16位的內(nèi)部結(jié)構(gòu),16位雙向數(shù)據(jù)信號線;(2)20位地址信號線,可尋址1M字節(jié)存儲單元;(3)較強(qiáng)

15、的指令系統(tǒng);(4)利用第16位的地址總線來進(jìn)行I/O端口尋址,可尋址64K個(gè)I/O端口;(5)中斷功能強(qiáng),可處理內(nèi)部軟件中斷和外部中斷,中斷源可達(dá)256個(gè);(6)單一的5V電源,單相時(shí)鐘5MHz。4.2. 8086CPU的編程結(jié)構(gòu)(jigu)圖4-1 8086/8088CPU內(nèi)部(nib)功能結(jié)構(gòu)圖編程結(jié)構(gòu)(jigu):是指從程序員和使用者的角度看到的結(jié)構(gòu),亦可稱為功能結(jié)構(gòu)。從功能上來看,8086CPU可分為兩部分,即總線接口部件BIU(Bus Interface Unit)和執(zhí)行部件EU(Execution Unit)。4.3 8255A并行IO接口8255A芯片內(nèi)包含有3個(gè)8位的端口,它們

16、是A口,B口和C口。這3個(gè)端口均可作為CPU與外設(shè)通訊時(shí)的緩沖器或鎖存器,當(dāng)需要“狀態(tài)”或“聯(lián)絡(luò)”信號時(shí),C口可以提供,此時(shí),將C口的高4位為A口所用,C口的低4位為B口所用。3個(gè)端口通過各自的輸入/輸出線與外設(shè)聯(lián)系。并行(bngxng)輸入/輸出(shch)端口:一個(gè)并行輸入/輸出(shch)的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口。具有24個(gè)可編程設(shè)置的I/O口,即使3組8位的I/O口為PA口,PB口和PC口。它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4PC7),B組包括B口及C口(低4位,PC0PC3)。A組可設(shè)置為基本的I/O口,閃控(ST

17、ROBE)的I/O閃控式,雙向I/O3種模式;B組只能設(shè)置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。8255引腳功能:RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。CS:芯片選擇信號線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即=0時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊;=1時(shí),8255無法與CPU做數(shù)據(jù)傳輸。 RD:讀信號線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即=0且=0時(shí),允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號,當(dāng)這個(gè)輸入引腳為

18、低電平時(shí),即=0且=0時(shí),允許CPU將數(shù)據(jù)或控制字寫入8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時(shí),通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 PA0PA7:端口A輸入輸出線,一個(gè)(y )8位的數(shù)據(jù)(shj)輸出鎖存器/緩沖器, 一個(gè)(y )8位的數(shù)據(jù)輸入鎖存器。PB0PB7:端口B輸入輸出線,一個(gè)8位的I/O鎖存器, 一個(gè)8位的輸入輸出緩沖器。 PC0PC7:端口C輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個(gè)4位的端口, 每個(gè)4位的端口包含一個(gè)4

19、位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。A0、A1:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器。當(dāng)A0=0,A1=0時(shí),PA口被選擇;當(dāng)A0=0,A1=1時(shí),PB口被選擇;當(dāng)A0=1,A1=0時(shí),PC口被選擇;當(dāng)A0=1。A1=1時(shí),控制寄存器被選擇。 4.4 ADC0809概述ADC0809是采樣分辨率為8位的、以逐次逼近原理進(jìn)行模數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。(1) ADC0809的主要(zhyo)特性 1)8路輸入(shr)通道,8位A

20、D轉(zhuǎn)換器,即分辨率為8位。 2)具有(jyu)轉(zhuǎn)換起??刂贫恕?3)轉(zhuǎn)換時(shí)間為100s 4)單個(gè)5V電源供電 5)模擬輸入電壓范圍05V,不需零點(diǎn)和滿刻度校準(zhǔn)。 6)工作溫度范圍為-4085攝氏度 7)低功耗,約15mW。(2) ADC0809的內(nèi)部邏輯結(jié)構(gòu)由下圖可知,ADC0809由一個(gè)8路模擬開關(guān)、一個(gè)地址鎖存與譯碼器、一個(gè)A/D轉(zhuǎn)換器和一個(gè)三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時(shí),才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。圖 4-2 ADC0809的內(nèi)部邏輯結(jié)構(gòu)(3)外部(

21、wib)特性(引腳功能)ADC0809芯片(xn pin)有28條引腳,采用(ciyng)雙列直插式封裝,下面說明各引腳功能。 IN0IN7:8路模擬量輸入端。2-12-8: 8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路ALE:地址鎖存允許信號,輸入,高電平有效。 START: AD轉(zhuǎn)換啟動脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。 EOC: AD轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)AD轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)

22、束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHZ。 REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:電源,單一5V。 GND:地。 4.5 ADC0809與8255的連接模擬輸入通道地址A,B,C直接接地,因此ADC0809只對通道IN0輸入的電壓進(jìn)行模數(shù)轉(zhuǎn)換。為了減少輸入噪聲其他通道直接接地。ADC0809的數(shù)據(jù)線D0-D7與8255的PB0-PB7相連接。其片選CS與8086的地址/數(shù)據(jù)總線AD14相連接。4.6鍵盤(jinpn)/顯示方式設(shè)置(shzh)命令字命令(mng lng)格式:D7 D6 D5 D4 D3 D2 D

23、1 D0000DDKKK其中:D7、D6、D5=000方式設(shè)置命令特征位。D D(D4、D3):來設(shè)定顯示方式,其定義如下:00:8個(gè)字符顯示,左入口00:16個(gè)字符顯示,左入口00:8個(gè)字符顯示,右入口00:16個(gè)字符顯示,右入口 所謂左入口,即顯示位置從最左一位(最高位)開始,以后逐次輸入的顯示字符逐個(gè)向右順序排列; 所謂右入口,即顯示位置從最右一位(最低位)開始,以后逐次輸入的顯示字符時(shí),已有的顯示字符逐個(gè)向左順序移動。 KKK(D2、 D1、 D0):用來設(shè)定七種鍵盤、顯示工作方式4.7 LED顯示器工作原理:發(fā)光二極管組成的顯示器事單片機(jī)應(yīng)用產(chǎn)品中最常用的廉價(jià)輸出設(shè)備。它由若干個(gè)發(fā)光

24、二極管按一定的規(guī)律排列而成。當(dāng)某一個(gè)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一個(gè)點(diǎn)或一個(gè)比劃被點(diǎn)亮,控制不同組合的二極管導(dǎo)通,就能顯示出多種字符。常見LED數(shù)碼管的兩種接法如圖3.8所示。 圖4-3 7段LED數(shù)碼管的兩種接法通過(tnggu)控制管腳a、b、c、d、e、f、g、dp的電平即可獲得所需的符號顯示。顯示器的工作方式有兩種,一種是靜態(tài)顯示:當(dāng)顯示器顯示某一個(gè)(y )字符時(shí),相應(yīng)的發(fā)光二極管恒定地導(dǎo)通或截止。另一種事本次設(shè)計(jì)中采用的動態(tài)顯示方式:所謂動態(tài)顯示即一位一位輪流的點(diǎn)亮各位顯示器,對于每一位顯示器來說,每隔一段時(shí)間點(diǎn)亮一次。但由于時(shí)間間隔很小,我們就可以看到完整的顯示了。 5硬件的制作(zh

25、zu)與調(diào)試通過前一部分的介紹說明,我們對系統(tǒng)的工作情況有了大體的了解。為了進(jìn)一步了解系統(tǒng)的工作過程,介紹一下系統(tǒng)調(diào)試過程及調(diào)試過程中出現(xiàn)的一些具體的問題,軟件仿真圖(在仿真軟件上運(yùn)行,只是電路的一部分,通過硬件可以制作出來)。按照要求,在仿真軟件中畫出一部分電路圖:如下圖通過電路的設(shè)計(jì)與鏈接在仿真軟件中即可運(yùn)行,在其中運(yùn)行的時(shí)候要注意操作,通過TPC2003,EMU中運(yùn)行后得到.exe文件,按照要求運(yùn)行圖 5-1 數(shù)據(jù)顯示(xinsh)部分實(shí)驗(yàn)(shyn)調(diào)試軟件運(yùn)行于DOC環(huán)境下,其步驟(bzhu)如下:一、根據(jù)硬件圖和原理圖連接好線路。二、在PC機(jī)上敲入程序,對其進(jìn)行的查錯(cuò),編譯,連接,

26、最后生成可執(zhí)行文件。三、接上電源,敲入可執(zhí)行文件的文件名,系統(tǒng)就開始了工作過程。圖5-2硬件(yn jin)原理圖1)這是DOC屏幕(pngm)上會出現(xiàn)的一些提示信息,如ENTER ANY KEY TO BEGIN! LET PA0=0 TO ADJUST THE TEMPERATURE VALUE! LET PA0=1 TO INPUT A NEW TEMPERATURE VALUE!這里(zhl)后兩條只作注釋用。2)然后敲任意一個(gè)鍵,系統(tǒng)就開始進(jìn)行溫度測量和顯示,屏幕上就會顯示 INPUT THE TEMPERATURE:在這一條信息之后敲入一溫度值。注意這里敲入的溫度值不能大于76攝氏

27、度,否則屏幕將會顯示INPUT VALUE ERROR !并返回 DOC。(以后重新設(shè)定溫度時(shí)也是如此)3)在正常情況下,敲入設(shè)定溫度后系統(tǒng)就開始進(jìn)行控制調(diào)節(jié),當(dāng)實(shí)際溫度小魚設(shè)定值時(shí),系統(tǒng)就開始進(jìn)行加熱,如果不加改變,它就會加熱一直穩(wěn)定到設(shè)定的溫度值;如果這是想重新設(shè)置一溫度,只要把8255的PA0讀取撥動開關(guān)撥到1,屏幕上就會顯示: INPUT A NEW TEMPERATURE:這里又得注意一下,在敲入一個(gè)新的設(shè)定溫度(wnd)之前,得先把PA0讀取撥動(b dn)開關(guān)撥到0,否則,在敲完設(shè)定溫度之后,屏幕上又會顯示同樣一條信息。因?yàn)?yn wi)它是根據(jù)PA0是0還是1來決定是去重新輸入

28、設(shè)定溫度還是去調(diào)節(jié)溫度。如果不先把PA0撥為0,它就是一直讓你輸入?yún)s不進(jìn)行調(diào)節(jié)。6 結(jié)束語:本設(shè)計(jì)采用的8086微處理器實(shí)現(xiàn)溫度的控制。具有體積小、重量輕、抗干擾能力強(qiáng)、對環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好、易于推廣應(yīng)用等顯著優(yōu)點(diǎn),通過軟件邏輯控制實(shí)現(xiàn)對溫度的控制和調(diào)節(jié)。溫度控制系統(tǒng),只是8086廣泛應(yīng)用于各行各業(yè)中的一例。本設(shè)計(jì)中應(yīng)用了許多與微機(jī)接口技術(shù)的芯片和常用的外部設(shè)備,芯片如:ADC0809,8255等。外部設(shè)備如:溫度檢測元件AD590,鍵盤和顯示系統(tǒng)中的LED顯示器等。該系統(tǒng)的主要優(yōu)點(diǎn)如下:一、本系統(tǒng)本著簡單可靠的原則完成了設(shè)計(jì)要求,盡量做到線路簡單,充分利用軟件編程,安

29、裝比較靈活而且價(jià)格較低。二、在系統(tǒng)的硬件和軟件設(shè)計(jì)中,都加有安全設(shè)計(jì)部分,避免加熱過高造成設(shè)備的損壞。最后,通過這次設(shè)計(jì),我發(fā)現(xiàn)還有很多知識并不牢固,因此在以后的學(xué)習(xí)中更應(yīng)該多了解并掌握微機(jī)原理與接口技術(shù)的相關(guān)知識,熟練掌握使用匯編語言編程實(shí)現(xiàn)微機(jī)芯片的控制,多積累經(jīng)驗(yàn)為以后的工作打好基礎(chǔ),最后感謝王清珍老師的幫助與指點(diǎn),對此我深表謝意。 參考文獻(xiàn)1 戴梅蕚 微型(wixng)計(jì)算機(jī)技術(shù)及應(yīng)用2007 清華大學(xué)出版社2 何克忠 計(jì)算機(jī)控制系統(tǒng)(kn zh x tn) 2002 清華大學(xué)出版社3 朱善君 匯編語言(hu bin y yn)程序設(shè)計(jì) 1998.3 清華大學(xué)出版社4 顏永軍 prot

30、el99電路設(shè)計(jì)與應(yīng)用2001.1 國防工業(yè)出版社5 康華光.電子技術(shù)基礎(chǔ)(模擬部分).高等教育出版社.2006.16 何希才.傳感器及其應(yīng)用電路M. 北京:電子工業(yè)出版社,2001. 7 沙占友.智能化集成溫度傳感器原理與應(yīng)用M. 北京:機(jī)械工業(yè)出版社,2002.8 趙繼文.傳感器與應(yīng)用電路設(shè)計(jì)M. 北京:科學(xué)出版社,2002.9 張洪潤、劉秀英、張亞凡等.單片機(jī)應(yīng)用設(shè)計(jì)200例M北京:航空航天大學(xué)出版社,2006.附錄(fl)1:元器件清單(qngdn): 傳感器,A/D轉(zhuǎn)換器,8086|8088CPU,可編程并行接口8255A芯片(xn pin),LED顯示器(7SEG-MPX2-CC)

31、,74LS138鎖存器,8279等附錄2:電路總圖附錄3:程序;DS18B20.ASM;*DS18B20g.ASM*;不用定時(shí)中斷,用8253方式0延時(shí),時(shí)鐘1MHZ,計(jì)一個(gè)數(shù)1us;*ioport equ 0ec00h-0280hio8255k equ ioport+28bh ;8255 控制(kngzh)口io8255c equ ioport+28ah ;8255 C口io8255a equ ioport+288h ;8255 A口io8253a equ ioport+283h ;8253 控制(kngzh)口io8253b equ ioport+280h ;8253 計(jì)數(shù)器0STACK

32、SEGMENTSTA DB 20 DUP (?)TOP EQU LENGTH STASTACK ENDS;DATA SEGMENTCSREG DW ?IPREG DW ?count0 db 00COUNT db 00COUNT1 DB 00COUNT2 DB 00qf db 0ehTEMP DB 00 ;溫度(wnd),8位TEMPL DB 00 ;溫度,低字節(jié)TEMPH DB 00 ;溫度,高字節(jié)TEMPD DB 00 ;溫度,小數(shù)位MESS DB 8253A TIMERO IN MODEO0 10uS TIMER,0AH,0DHDB 8255 IN MODEO PA0 INPUT PC4-

33、PC7 OUTPUT,0AH,0DHDB Strike any key, to convert temperature!,0AH,0DHDB Strike ESC key, return to DOS!,0AH,0DH,$buff db 20hBUFF1 DB 20hbuff2 db 20hbuff3 db 20hbuff4 db 2ehbuff5 db 20h;172DATA ENDS;CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACK;START: CLIMOV AX,DATAMOV DS,AXMOV DX,OFFSET MESSMOV AH,09HIN

34、T 21H ;顯示(xinsh)提示信息;MOV DX,io8255k ;8255初始化MOV AL,91HOUT DX,AL ;8255 PA0 IN PC7-PC4CALL INI ;初始化MOV AH,0CCH ;跳過讀ROM命令(mng lng)CALL WRITEMOV AH,4EH ;寫暫存器命令(mng lng)CALL WRITEMOV AH,32H ;寫高溫度(wnd)值50度CALL WRITEMOV AH,00H ;寫低溫度(wnd)值0度CALL WRITEMOV AH,1FH ;寫配置字節(jié)CALL WRITEKEY: MOV AH,01H ;查有否鍵入INT 16Hj

35、z keyMOV AH,00 ;有鍵入,讀取鍵值INT 16HCMP Al,1BHJZ sss ;ESC 退出CALL INI ;初始化MOV AH,0CCH ;跳過讀ROM命令CALL WRITEMOV AH,44H ;溫度轉(zhuǎn)換命令CALL WRITEconv: MOV DX,io8255kMOV AL,0eH ;PC7清另OUT DX,ALnopnopMOV DX,io8255kMOV AL,0fH ;PC7置1OUT DX,ALconv1: call delay1 ;延遲50mscall delay1MOV DX,io8255kMOV AL,0fH ;PC7置1OUT DX,ALCALL

36、 INI ;初始化MOV AH,0CCH ;跳過讀ROM命令(mng lng)CALL WRITEMOV AH,0BEH ;讀暫存器命令(mng lng)CALL WRITECALL READ ;讀兩個(gè)(lin )字節(jié)MOV TEMPL,ahCALL READMOV TEMPH,ahMOV AL,TEMPL ;合成一個(gè)十六位字MOV CL,04SAL AX,CL ;左移四位and ah,7fhMOV TEMP,AH ;溫度值整數(shù)部分jmp jjjsss: jmp exitjjj: MOV BUFF,2BH ;+AGN: MOV AH,TEMPLAND AH,08H ;溫度值小數(shù)部分JZ AGN

37、1MOV BUFF5,35H ;.5JMP AGN2AGN1: MOV BUFF5,30H ;.0;AGN2: mov dl,buffmov ah,02int 21hcall disp ;顯示(xinsh)mov dl,0dhmov ah,02int 21hmov dl,0ahmov ah,02int 21hJMP KEY;恢復(fù)(huf)現(xiàn)場,返回DOSEXIT: MOV AX,4C00HINT 21H;延時(shí)子程序,延時(shí)時(shí)間(shjin)長短由COUNT的值決定DELAY: push axpushfMOV DX,io8253aMOV AL,30H ;定時(shí)器0,模式0,16OUT DX,ALMO

38、V DX,io8253bMOV Al,count ;8253 clk0 1MHZOUT DX,ALMov al,count0Out dx,alMOV DX,io8255clll: in al,dxand al,01hjz lllpopfpop axRET;DS18B20初始化子程序INI: MOV DX,io8255kMOV AL,0eHOUT DX,AL ;PC7置0 口清0MOV COUNT0,02hmov count,0bchCALL DELAY ;主機(jī)(zhj)發(fā)復(fù)位脈沖持續(xù)700微妙(wimio)MOV COUNT0,00mov count,00MOV DX,io8255kMOV A

39、L,0fHOUT DX,AL ;主機(jī)(zhj)置位,為輸入作準(zhǔn)備MOV COUNT0,00mov count,28hCALL DELAY ;等待40微秒MOV COUNT,00ini1: MOV DX,io8255aIN AL,DXAND AL,80HJNZ INI ;數(shù)據(jù)線應(yīng)變低,若沒變低,重來。;數(shù)據(jù)線變高,初始化成功(chnggng);初始化失敗(shbi),重來L2:MOV COUNT0,02hmov count,0bchCALL DELAY ;DS18B20的應(yīng)答(yngd)過程至少需700mov count0,00MOV COUNT,00MOV DX,io8255kMOV AL,0

40、fHOUT DX,ALRET;寫DS18B20子程序WRITE PROC NEARMOV COUNT1,08HW0:MOV DX,io8255kMOV AL,0fHOUT DX,AL ;PC7清1w1: MOV DX,io8255kMOV AL,0eHOUT DX,AL ;PC7置0,DS18B20數(shù)據(jù)線變低nopnopSHR AH,01JC W2MOV DX,io8255kMOV AL,0eHOUT DX,AL ;PC7置0,寫0JMP W3W2: MOV DX,io8255kMOV AL,0fHOUT DX,AL ;PC7清1,寫1W3: MOV COUNT0,00mov count,46hCALL DELAY ;延時(shí)70微秒,寫時(shí)間(shjin)為70微秒MOV COUNT,00MOV DX,io8255kMOV AL,0fHOUT DX,ALDEC COUNT1JNZ W1RETWRITE ENDP;讀DS18B20子程序READ: MOV COUNT1,08Hmov ah,00RE1:MOV DX,io8255kMOV AL,0fHOUT DX,AL ;PC7置1,數(shù)據(jù)線為

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論