




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、目 錄1引言12 設(shè)計方案與論證13 設(shè)計內(nèi)容23.1系統(tǒng)擴展接口的選擇23.2溫度傳感器與AD轉(zhuǎn)換器的選擇23.3顯示接口芯片33.4設(shè)計原理及功能說明33.5系統(tǒng)軟件設(shè)計43.6單元電路的設(shè)計(計算與說明)54.8086微處理器及其體系結(jié)構(gòu)84.1 8086微處理器的一般性能特點84.2. 8086CPU的編程結(jié)構(gòu)94.3 8255A并行IO接口94.4 ADC0809概述114.5 ADC0809與8255的連接134.6鍵盤/顯示方式設(shè)置命令字134.7 LED顯示器145硬件的制作與調(diào)試146 結(jié)束語:17參考文獻19附錄1:元器件清單:20附錄2:電路總圖20附錄3:程序20 1引
2、言為了實現(xiàn)計算機對生產(chǎn)過程及對象的控制,需要將對象的各種測量參數(shù)按照要求轉(zhuǎn)換成數(shù)字信號送入計算機。計算機運算處理后再轉(zhuǎn)換成適合于對生產(chǎn)過程進行控制的量。所以在微機和生產(chǎn)過程之間,須設(shè)置信息的變換和傳遞通道。主要功能就是隨時間變化的模擬輸入信號變成數(shù)字信號送入計算機,主要由AD590溫度傳感器,8088CPU,8255A, A/D轉(zhuǎn)換器和數(shù)碼管顯示器等組成。本實驗通過設(shè)計一個微機控制的溫度控制系統(tǒng)旨在能做到以下幾點:1了解微機控制的溫度采集系統(tǒng)軟硬件設(shè)計原理和方法。2進一步掌握并行接口芯片和模數(shù)轉(zhuǎn)換的工作原理與使用方法。 以8088 CPU 為核心設(shè)計一個溫度采集系統(tǒng),系統(tǒng)可以實現(xiàn)一路溫度的采集
3、,在3位LED顯示器上顯示當(dāng)前溫度。本設(shè)計所用器件主要有傳感器,A/D轉(zhuǎn)換器,8088CPU,可編程并行接口8255,顯示器等。首先傳感器把所測的溫度轉(zhuǎn)換為電壓,輸入A/D轉(zhuǎn)換器中進行轉(zhuǎn)換,然后再把得到的二進制數(shù)經(jīng)過CPU在數(shù)碼管上顯示出來。本設(shè)計共分以下幾個模塊:8088主控模塊、A/D轉(zhuǎn)換模塊、并行接口模塊、顯示模塊。 2 設(shè)計方案與論證 采用鉑電阻溫度傳感器的電阻與溫度的關(guān)系是非線性的,用電橋?qū)崿F(xiàn)溫度升高引起的電阻變化對應(yīng)于電壓的變化。經(jīng)A/D轉(zhuǎn)換器后,送入鎖存器鎖存,在經(jīng)譯碼器輸出后,再在數(shù)碼管上顯示,由于74LS373具有鎖存功能就能實現(xiàn)四位的溫度顯示。由于鉑電阻與溫度的關(guān)系是非線性
4、的,因此輸出的結(jié)果測試精度較低,并且不能達(dá)到我們對溫度控制的要求。電橋測溫電路放大電路A/D轉(zhuǎn)換電路鎖存器74LS373譯碼器7448LED數(shù)碼顯示圖2-1設(shè)計方案3 設(shè)計內(nèi)容3.1系統(tǒng)擴展接口的選擇 本次設(shè)計采用的是8086微處理器,選擇8255A可編程并行接口作為系統(tǒng)的擴展接口,8255A的通用性強,適應(yīng)靈活,通過它CPU可直接與外設(shè)相連接。3.2溫度傳感器與AD轉(zhuǎn)換器的選擇本系統(tǒng)選用溫度傳感器AD590構(gòu)成測溫系統(tǒng)。AD590是一種電壓輸入、電流輸出型集成溫度傳感器,測溫范圍為-55150,非線性誤差在±0。30,其輸出電流與溫度成正比,溫度每升高1K(K為開爾文溫度),輸出電
5、流就增加1uA。其輸出電流I=(273+T)uA。本設(shè)計中串聯(lián)電阻的阻值選用2K,所以輸出電壓V+=(2730 + 10T)MV.另外,為滿足系統(tǒng)輸入模擬量進行處理的功能,對其再擴展一片ADC0809,以進行模擬數(shù)字量轉(zhuǎn)化。3.3顯示接口芯片為滿足本次設(shè)計溫度顯示的需要,我們選擇了8279芯片,INTEL8279芯片是一種通用的可編程的鍵盤、顯示接口器件,單個芯片就能完成鍵盤鍵入和數(shù)碼管顯示控制兩種功能。3.4設(shè)計原理及功能說明 本系統(tǒng)采用的是8086微處理器,選擇8255A可編程并行接口作為系統(tǒng)的擴展接口,8255A的通用性強,適應(yīng)靈活,通過它CPU可直接與外設(shè)相連接。對溫度進行檢測,然后通
6、過A/D轉(zhuǎn)換器(ADC0809)轉(zhuǎn)換成數(shù)字信號輸入主機。使用Intel8279可編程序的鍵盤、顯示接口功能,完成鍵盤輸入和顯示控制兩種功能。針對各模塊的硬件功能,對各模塊設(shè)定子程序,通過主程序?qū)@些子程序模塊的調(diào)用,完成軟件設(shè)計。 (1)溫度測量顯示部分溫度通過AD590溫度傳感集成芯片,將溫度變化量轉(zhuǎn)換成電壓值變化量,經(jīng)過OP07一級跟隨后輸入到電壓放大電路,放大后的信號輸入到A/D轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號,然后將該數(shù)字信號通過然間編程轉(zhuǎn)化為十進制BCD碼,并送到8279進行溫度值的顯示。 圖 3-1主程序流程圖3.5系統(tǒng)軟件設(shè)計本設(shè)計的目的是以8086微處理器為控制器,將溫度傳感器輸
7、出的小信號經(jīng)過放大和低通濾波后,送至A/D轉(zhuǎn)換器;微控制器實時采集、顯示溫度值(要求以攝氏度顯示),同時系統(tǒng)還應(yīng)可設(shè)定、控制溫度值,使系統(tǒng)工作在設(shè)定溫度。通過開始界面,顯示提示信息,調(diào)用溫度子程序,設(shè)置溫度。通過模數(shù)轉(zhuǎn)換器采集AD值并求其平均值。調(diào)用BCD碼轉(zhuǎn)換子程序?qū)⑵滢D(zhuǎn)換為十進制溫度值;調(diào)用顯示子程序,如果溫度高于實際溫度,就加熱,反之撥動開關(guān)關(guān)閉,停止加熱。在此過程中,還可以重復(fù)設(shè)置溫度值。(1) BCD碼轉(zhuǎn)換子程序設(shè)定溫度為0攝氏度時變換放大電路送出的模擬量為0.0V,此時A/D輸出的數(shù)字量為00H;溫度為68時變換器送出對應(yīng)電壓4.98V,此時A/D輸出的數(shù)字量為FFH,即每0.3對
8、應(yīng)1LSB的變化量,對應(yīng)電壓值為19.5mV。報警溫度設(shè)定為68,此時,輸出電壓約為5.0V左右。(2)溫度值設(shè)置子程序為了避免加熱溫度過高,在程序設(shè)計中加了一條,即設(shè)定值不能大于68,否則就認(rèn)為有錯系統(tǒng)報警。 3.6單元電路的設(shè)計(計算與說明)(1)溫度檢測系統(tǒng)溫度信息由溫度傳感器測量并轉(zhuǎn)換成微安級的電流信號,經(jīng)過運算放大電路將溫度傳感器輸出的小信號進行跟隨放大,輸入到A/D轉(zhuǎn)換器(ADC0809)轉(zhuǎn)換成數(shù)字信號輸入主機。數(shù)據(jù)經(jīng)過標(biāo)度轉(zhuǎn)換后,一方面通過數(shù)碼管將溫度顯示出來;另一方面,將該溫度值與設(shè)定的溫度值進行比較,調(diào)整電加熱爐的開通情況,從而控制溫度。在斷開電加熱器,溫度仍然異常,報警器發(fā)
9、出聲音報警,提示采取相應(yīng)的調(diào)整措施。(2)溫度測量部分AD590是AD公司生產(chǎn)的一種精度和線度較好的雙端集成傳感器,其輸出電流與絕對溫度有關(guān),對于電源電壓從5-10V變化只引起1uA最大電流的變化或1攝氏度等效誤差。圖4-1給出了用于獲得正比于絕對溫度的輸出電流的基本溫度敏感電路。AD590輸出的電流I=(273+T)uA(T為攝氏溫度)。因此測量的電壓V為(273+T)uA×10K=(2.73+T/100)V,為了將電壓測量出來,又務(wù)必使電流I不分流出來。使用電壓跟隨器使其輸出電壓V2等于V 。由于一般電源供應(yīng)多器件之后,電源是帶雜波的,因此使用穩(wěn)壓二極管作為穩(wěn)壓元件,再利用可變電
10、阻分壓,其輸出電壓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的連接模擬輸入通道地址A,B,C直接接地,因此ADC0809只對通道IN0輸入的電壓進行模數(shù)轉(zhuǎn)換。為了減少輸入噪聲其他通道直接接地。ADC0809的數(shù)據(jù)線D0-D7與8255的PB0-PB7相連接。其片選CS與8086的地址/數(shù)據(jù)總線AD14相連接。圖3-4 8086的可編程外設(shè)接口電路825
11、5的數(shù)據(jù)口D0-D7與CPU的6根控制線相連接,控制8255A內(nèi)部的各種操作??刂凭€RESET用來使8255A復(fù)位。CS和地址線A1及A0用于芯片選擇和通道尋址。分別與8086的高位地址線A19,A1,A0相連接。數(shù)據(jù)顯示部分中我們采用功能強大的可編程設(shè)置型顯示器8279來對控制溫度和實際溫度進行顯示。我們用8段數(shù)碼管顯示。8279顯示功能介紹:8279內(nèi)部有16X8的顯示RAM,通過顯示寄存器和兩個四位端口0UT A0-3,0UT BO-3來刷新顯示, 顯示器可以是8段數(shù)碼管,圖3-5 電路工作原理:AD轉(zhuǎn)換器將轉(zhuǎn)換結(jié)果由十六進制轉(zhuǎn)換為十進制后分別存儲在54H,55H,56H,57H,58H
12、,59H.中。8279連接一個74ls38譯碼器,經(jīng)過譯碼再接6個8段數(shù)碼管分別顯示每個存儲單元的內(nèi)容4.8086微處理器及其體系結(jié)構(gòu)4.1 8086微處理器的一般性能特點(1) 16位的內(nèi)部結(jié)構(gòu),16位雙向數(shù)據(jù)信號線;(2)20位地址信號線,可尋址1M字節(jié)存儲單元;(3)較強的指令系統(tǒng);(4)利用第16位的地址總線來進行I/O端口尋址,可尋址64K個I/O端口;(5)中斷功能強,可處理內(nèi)部軟件中斷和外部中斷,中斷源可達(dá)256個;(6)單一的5V電源,單相時鐘5MHz。4.2. 8086CPU的編程結(jié)構(gòu)圖4-1 8086/8088CPU內(nèi)部功能結(jié)構(gòu)圖編程結(jié)構(gòu):是指從程序員和使用者的角度看到的結(jié)
13、構(gòu),亦可稱為功能結(jié)構(gòu)。從功能上來看,8086CPU可分為兩部分,即總線接口部件BIU(Bus Interface Unit)和執(zhí)行部件EU(Execution Unit)。4.3 8255A并行IO接口8255A芯片內(nèi)包含有3個8位的端口,它們是A口,B口和C口。這3個端口均可作為CPU與外設(shè)通訊時的緩沖器或鎖存器,當(dāng)需要“狀態(tài)”或“聯(lián)絡(luò)”信號時,C口可以提供,此時,將C口的高4位為A口所用,C口的低4位為B口所用。3個端口通過各自的輸入/輸出線與外設(shè)聯(lián)系。并行輸入/輸出端口:一個并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口。具有24個可編程設(shè)置的I/O口,即使
14、3組8位的I/O口為PA口,PB口和PC口。它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4PC7),B組包括B口及C口(低4位,PC0PC3)。A組可設(shè)置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設(shè)置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。8255引腳功能:RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。CS:芯片選擇信號線,當(dāng)這個輸入引腳為低電平時,即=0時,表示芯片被選中,允許8255與CPU進行通訊;=1時,8255
15、無法與CPU做數(shù)據(jù)傳輸。 RD:讀信號線,當(dāng)這個輸入引腳為低電平時,即=0且=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號,當(dāng)這個輸入引腳為低電平時,即=0且=0時,允許CPU將數(shù)據(jù)或控制字寫入8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 PA0PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。PB0PB7:端口B輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出
16、緩沖器。 PC0PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。A0、A1:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器。當(dāng)A0=0,A1=0時,PA口被選擇;當(dāng)A0=0,A1=1時,PB口被選擇;當(dāng)A0=1,A1=0時,PC口被選擇;當(dāng)A0=1。A1=1時,控制寄存器被選擇。 4.4 ADC0809概述ADC0809是采樣分辨率為8位的、以逐次逼近原理進行模數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一
17、個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。(1) ADC0809的主要特性 1)8路輸入通道,8位AD轉(zhuǎn)換器,即分辨率為8位。 2)具有轉(zhuǎn)換起停控制端。 3)轉(zhuǎn)換時間為100s 4)單個5V電源供電 5)模擬輸入電壓范圍05V,不需零點和滿刻度校準(zhǔn)。 6)工作溫度范圍為-4085攝氏度 7)低功耗,約15mW。(2) ADC0809的內(nèi)部邏輯結(jié)構(gòu) 由下圖可知,ADC0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器進行轉(zhuǎn)
18、換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當(dāng)OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。圖 4-2 ADC0809的內(nèi)部邏輯結(jié)構(gòu)(3)外部特性(引腳功能)ADC0809芯片有28條引腳,采用雙列直插式封裝,下面說明各引腳功能。 IN0IN7:8路模擬量輸入端。2-12-8: 8位數(shù)字量輸出端。ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路ALE:地址鎖存允許信號,輸入,高電平有效。 START: AD轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。 EOC: AD轉(zhuǎn)換結(jié)束信號,輸出,
19、當(dāng)AD轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:電源,單一5V。 GND:地。 4.5 ADC0809與8255的連接模擬輸入通道地址A,B,C直接接地,因此ADC0809只對通道IN0輸入的電壓進行模數(shù)轉(zhuǎn)換。為了減少輸入噪聲其他通道直接接地。ADC0809的數(shù)據(jù)線D0-D7與8255的PB0-PB7相連接。其片選CS與8086的地址/數(shù)據(jù)總線AD14相連接。4.
20、6鍵盤/顯示方式設(shè)置命令字命令格式:D7 D6 D5 D4 D3 D2 D1 D0000DDKKK其中:D7、D6、D5=000方式設(shè)置命令特征位。D D(D4、D3):來設(shè)定顯示方式,其定義如下:00:8個字符顯示,左入口00:16個字符顯示,左入口00:8個字符顯示,右入口00:16個字符顯示,右入口 所謂左入口,即顯示位置從最左一位(最高位)開始,以后逐次輸入的顯示字符逐個向右順序排列; 所謂右入口,即顯示位置從最右一位(最低位)開始,以后逐次輸入的顯示字符時,已有的顯示字符逐個向左順序移動。 KKK(D2、 D1、 D0):用來設(shè)定七種鍵盤、顯示工作方式4.7 LED顯示器工作原理:發(fā)
21、光二極管組成的顯示器事單片機應(yīng)用產(chǎn)品中最常用的廉價輸出設(shè)備。它由若干個發(fā)光二極管按一定的規(guī)律排列而成。當(dāng)某一個發(fā)光二極管導(dǎo)通時,相應(yīng)的一個點或一個比劃被點亮,控制不同組合的二極管導(dǎo)通,就能顯示出多種字符。常見LED數(shù)碼管的兩種接法如圖3.8所示。 圖4-3 7段LED數(shù)碼管的兩種接法通過控制管腳a、b、c、d、e、f、g、dp的電平即可獲得所需的符號顯示。顯示器的工作方式有兩種,一種是靜態(tài)顯示:當(dāng)顯示器顯示某一個字符時,相應(yīng)的發(fā)光二極管恒定地導(dǎo)通或截止。另一種事本次設(shè)計中采用的動態(tài)顯示方式:所謂動態(tài)顯示即一位一位輪流的點亮各位顯示器,對于每一位顯示器來說,每隔一段時間點亮一次。但由于時間間隔很
22、小,我們就可以看到完整的顯示了。 5硬件的制作與調(diào)試通過前一部分的介紹說明,我們對系統(tǒng)的工作情況有了大體的了解。為了進一步了解系統(tǒng)的工作過程,介紹一下系統(tǒng)調(diào)試過程及調(diào)試過程中出現(xiàn)的一些具體的問題,軟件仿真圖(在仿真軟件上運行,只是電路的一部分,通過硬件可以制作出來)。按照要求,在仿真軟件中畫出一部分電路圖:如下圖通過電路的設(shè)計與鏈接在仿真軟件中即可運行,在其中運行的時候要注意操作,通過TPC2003,EMU中運行后得到.exe文件,按照要求運行圖 5-1 數(shù)據(jù)顯示部分實驗調(diào)試軟件運行于DOC環(huán)境下,其步驟如下:一、根據(jù)硬件圖和原理圖連接好線路。二、在PC機上敲入程序,對其進行的查錯,編譯,連接
23、,最后生成可執(zhí)行文件。三、接上電源,敲入可執(zhí)行文件的文件名,系統(tǒng)就開始了工作過程。圖5-2硬件原理圖1)這是DOC屏幕上會出現(xiàn)的一些提示信息,如ENTER ANY KEY TO BEGIN! LET PA0=0 TO ADJUST THE TEMPERATURE VALUE! LET PA0=1 TO INPUT A NEW TEMPERATURE VALUE!這里后兩條只作注釋用。2)然后敲任意一個鍵,系統(tǒng)就開始進行溫度測量和顯示,屏幕上就會顯示 INPUT THE TEMPERATURE:在這一條信息之后敲入一溫度值。注意這里敲入的溫度值不能大于76攝氏度,否則屏幕將會顯示INPUT VA
24、LUE ERROR !并返回 DOC。(以后重新設(shè)定溫度時也是如此)3)在正常情況下,敲入設(shè)定溫度后系統(tǒng)就開始進行控制調(diào)節(jié),當(dāng)實際溫度小魚設(shè)定值時,系統(tǒng)就開始進行加熱,如果不加改變,它就會加熱一直穩(wěn)定到設(shè)定的溫度值;如果這是想重新設(shè)置一溫度,只要把8255的PA0讀取撥動開關(guān)撥到1,屏幕上就會顯示: INPUT A NEW TEMPERATURE:這里又得注意一下,在敲入一個新的設(shè)定溫度之前,得先把PA0讀取撥動開關(guān)撥到0,否則,在敲完設(shè)定溫度之后,屏幕上又會顯示同樣一條信息。因為它是根據(jù)PA0是0還是1來決定是去重新輸入設(shè)定溫度還是去調(diào)節(jié)溫度。如果不先把PA0撥為0,它就是一直讓你輸入?yún)s不進
25、行調(diào)節(jié)。6 結(jié)束語:本設(shè)計采用的8086微處理器實現(xiàn)溫度的控制。具有體積小、重量輕、抗干擾能力強、對環(huán)境要求不高、價格低廉、可靠性高、靈活性好、易于推廣應(yīng)用等顯著優(yōu)點,通過軟件邏輯控制實現(xiàn)對溫度的控制和調(diào)節(jié)。溫度控制系統(tǒng),只是8086廣泛應(yīng)用于各行各業(yè)中的一例。本設(shè)計中應(yīng)用了許多與微機接口技術(shù)的芯片和常用的外部設(shè)備,芯片如:ADC0809,8255等。外部設(shè)備如:溫度檢測元件AD590,鍵盤和顯示系統(tǒng)中的LED顯示器等。該系統(tǒng)的主要優(yōu)點如下:一、本系統(tǒng)本著簡單可靠的原則完成了設(shè)計要求,盡量做到線路簡單,充分利用軟件編程,安裝比較靈活而且價格較低。二、在系統(tǒng)的硬件和軟件設(shè)計中,都加有安全設(shè)計部分
26、,避免加熱過高造成設(shè)備的損壞。最后,通過這次設(shè)計,我發(fā)現(xiàn)還有很多知識并不牢固,因此在以后的學(xué)習(xí)中更應(yīng)該多了解并掌握微機原理與接口技術(shù)的相關(guān)知識,熟練掌握使用匯編語言編程實現(xiàn)微機芯片的控制,多積累經(jīng)驗為以后的工作打好基礎(chǔ),最后感謝王清珍老師的幫助與指點,對此我深表謝意。 參考文獻1 戴梅蕚 微型計算機技術(shù)及應(yīng)用2007 清華大學(xué)出版社2 何克忠 計算機控制系統(tǒng) 2002 清華大學(xué)出版社3 朱善君 匯編語言程序設(shè)計 1998.3 清華大學(xué)出版社4 顏永軍 protel99電路設(shè)計與應(yīng)用2001.1 國防工業(yè)出版社5 康華光.電子技術(shù)基礎(chǔ)(模擬部分).高等教育出版社.2006.16 何希才.傳感器及
27、其應(yīng)用電路M. 北京:電子工業(yè)出版社,2001. 7 沙占友.智能化集成溫度傳感器原理與應(yīng)用M. 北京:機械工業(yè)出版社,2002.8 趙繼文.傳感器與應(yīng)用電路設(shè)計M. 北京:科學(xué)出版社,2002.9 張洪潤、劉秀英、張亞凡等.單片機應(yīng)用設(shè)計200例M北京:航空航天大學(xué)出版社,2006.附錄1:元器件清單: 傳感器,A/D轉(zhuǎn)換器,8086|8088CPU,可編程并行接口8255A芯片,LED顯示器(7SEG-MPX2-CC),74LS138鎖存器,8279等附錄2:電路總圖附錄3:程序;DS18B20.ASM;*DS18B20g.ASM*;不用定時中斷,用8253方式0延時,時鐘1MHZ,計一個
28、數(shù)1us;*ioport equ 0ec00h-0280hio8255k equ ioport+28bh ;8255 控制口io8255c equ ioport+28ah ;8255 C口io8255a equ ioport+288h ;8255 A口io8253a equ ioport+283h ;8253 控制口io8253b equ ioport+280h ;8253 計數(shù)器0STACK SEGMENTSTA DB 20 DUP (?)TOP EQU LENGTH STASTACK ENDS;-DATA SEGMENTCSREG DW ?IPREG DW ?count0 db 00COU
29、NT db 00COUNT1 DB 00COUNT2 DB 00qf db 0ehTEMP DB 00 ;溫度,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-PC7 OUTPUT',0AH,0DHDB 'Strike any key, to convert temperature!',0AH,0DHDB '
30、;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,09HINT 21H ;顯示提示信息;-MOV DX,io8255k ;8255初始化MOV AL,91HOUT D
31、X,AL ;8255 PA0 IN PC7-PC4CALL INI ;初始化MOV AH,0CCH ;跳過讀ROM命令CALL WRITEMOV AH,4EH ;寫暫存器命令CALL WRITEMOV AH,32H ;寫高溫度值50度CALL WRITEMOV AH,00H ;寫低溫度值0度CALL WRITEMOV AH,1FH ;寫配置字節(jié)CALL WRITEKEY: MOV AH,01H ;查有否鍵入INT 16Hjz keyMOV AH,00 ;有鍵入,讀取鍵值INT 16HCMP Al,1BHJZ sss ;ESC 退出CALL INI ;初始化MOV AH,0CCH ;跳過讀ROM
32、命令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 INI ;初始化MOV AH,0CCH ;跳過讀ROM命令CALL WRITEMOV AH,0BEH ;讀暫存器命令CALL WRITECALL READ ;讀兩個字節(jié)MO
33、V TEMPL,ahCALL READMOV TEMPH,ahMOV AL,TEMPL ;合成一個十六位字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 AGN1MOV BUFF5,35H ;.5JMP AGN2AGN1: MOV BUFF5,30H ;.0;-AGN2: mov dl,buffmov ah,02int 21hcall disp ;顯示mov dl,0dhmov
34、ah,02int 21hmov dl,0ahmov ah,02int 21hJMP KEY;-;恢復(fù)現(xiàn)場,返回DOSEXIT: MOV AX,4C00HINT 21H;-;延時子程序,延時時間長短由COUNT的值決定DELAY: push axpushfMOV DX,io8253aMOV AL,30H ;定時器0,模式0,16OUT DX,ALMOV DX,io8253bMOV Al,count ;8253 clk0 1MHZOUT DX,ALMov al,count0Out dx,alMOV DX,io8255clll: in al,dxand al,01hjz lllpopfpop axR
35、ET;-;DS18B20初始化子程序INI: MOV DX,io8255kMOV AL,0eHOUT DX,AL ;PC7置0 口清0MOV COUNT0,02hmov count,0bchCALL DELAY ;主機發(fā)復(fù)位脈沖持續(xù)700微妙MOV COUNT0,00mov count,00MOV DX,io8255kMOV AL,0fHOUT DX,AL ;主機置位,為輸入作準(zhǔn)備MOV COUNT0,00mov count,28hCALL DELAY ;等待40微秒MOV COUNT,00ini1: MOV DX,io8255aIN AL,DXAND AL,80HJNZ INI ;數(shù)據(jù)線應(yīng)變
36、低,若沒變低,重來。;數(shù)據(jù)線變高,初始化成功;初始化失敗,重來L2:MOV COUNT0,02hmov count,0bchCALL DELAY ;DS18B20的應(yīng)答過程至少需700mov count0,00MOV COUNT,00MOV DX,io8255kMOV AL,0fHOUT 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ù)線變低nopn
37、opSHR 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 ;延時70微秒,寫時間為70微秒MOV COUNT,00MOV DX,io8255kMOV AL,0fHOUT DX,ALDEC COUNT1JNZ W1RETWRITE ENDP;-;讀DS18B20子程序READ: MOV COUNT1,08Hmov ah,00RE1:MOV DX,io8255kMO
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美式餐車售賣合同范本
- 安裝勞務(wù)維修合同范本
- 售賣貓貓合同范本
- NPC26-生命科學(xué)試劑-MCE
- N-Isopropylbenzylamine-hydrochloride-生命科學(xué)試劑-MCE
- 中央2025年國考農(nóng)工黨中央機關(guān)筆試歷年參考題庫附帶答案詳解
- 科技企業(yè)如何強化員工電動車充電安全意識
- 電子商務(wù)教育背景與崗位匹配度研究
- 電車公司的技術(shù)創(chuàng)新與團隊管理能力提升
- 電子商務(wù)平臺在農(nóng)業(yè)領(lǐng)域的應(yīng)用研究
- 中國煤炭地質(zhì)總局公開招聘報名表
- AQ 1064-2008 煤礦用防爆柴油機無軌膠輪車安全使用規(guī)范(正式版)
- 電子商務(wù)數(shù)據(jù)分析基礎(chǔ)(第二版) 課件 模塊1、2 電子商務(wù)數(shù)據(jù)分析概述、基礎(chǔ)數(shù)據(jù)采集
- YB-T+4190-2018工程用機編鋼絲網(wǎng)及組合體
- 高大模板安全施工施工安全保證措施
- 比亞迪公司應(yīng)收賬款管理的問題及對策分析
- 【高考真題】2024年新課標(biāo)全國Ⅱ卷高考語文真題試卷(含答案)
- 委托辦理報廢汽車協(xié)議書
- 旅游服務(wù)質(zhì)量評價體系
- 義烏市建筑工程質(zhì)量通病防治措施100條(2022版本)
- 蘇教版(SJ)《四年級下冊數(shù)學(xué)》補充習(xí)題
評論
0/150
提交評論