微機(jī)原理與接口技術(shù)課程設(shè)計——溫度報警器_第1頁
微機(jī)原理與接口技術(shù)課程設(shè)計——溫度報警器_第2頁
微機(jī)原理與接口技術(shù)課程設(shè)計——溫度報警器_第3頁
微機(jī)原理與接口技術(shù)課程設(shè)計——溫度報警器_第4頁
微機(jī)原理與接口技術(shù)課程設(shè)計——溫度報警器_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、微機(jī)原理與接口技術(shù)課程設(shè)計報告設(shè)計名稱:溫度報警器專 業(yè): 計算機(jī)科學(xué)與技術(shù)班 級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 一、 功能分析本設(shè)計采且PC微機(jī)一臺和TD-PIT+實驗系統(tǒng)一套實現(xiàn)了溫度報警的功能,輸入由A/D轉(zhuǎn)換單元可調(diào)電位器提供05V來模擬0255的溫度,具體所能實現(xiàn)的功能如下:輸出數(shù)字量顯示在顯示器屏幕上,顯示形式為:The temperature is:XXX;輸出數(shù)字量顯示在數(shù)碼管上;當(dāng)溫度大于等于50時,報警器發(fā)出聲音報警,否則不發(fā)聲。二、 設(shè)計原理設(shè)計中采用的芯片有ADC0809,8254和8255。1.ADC0809:ADC0809包括一個8位的逐次逼近型的ADC部分,并

2、提供一個8通道的模擬多路開關(guān)和聯(lián)合尋址邏輯。用它可直接輸入8個單端的模擬信號,分時進(jìn)行A/D轉(zhuǎn)換,在多點巡回檢測、過程控制等應(yīng)用領(lǐng)域中使用非常廣泛。ADC0809的主要技術(shù)指標(biāo)為: ·分辨率:8位·單電源:5V·總的不可調(diào)誤差:±1LSB·轉(zhuǎn)換時間:取決于時鐘頻率·模擬輸入范圍:單極性 05V·時鐘頻率范圍:10KHz1280KHz ADC0809的外部管腳如圖1所示,地址信號與選中通道的關(guān)系如表1所示。圖1 ADC0809引腳圖表1 地址輸入線與模擬輸入端的關(guān)系A(chǔ)DDCADDBADDA模擬信號通道000IN0001IN10

3、10IN2011IN3100IN4101IN5110IN6111IN7設(shè)計中使用通道0,故ADDC,ADDB,ADDA全部接0。2.8254:8254是Intel公司生產(chǎn)的可編程間隔定時器。是8253的改進(jìn)型,比8253具有更優(yōu)良的性能。8254具有以下基本功能:(1) 有3個獨立的16位計數(shù)器;(2) 每個計數(shù)器可按二進(jìn)制或十進(jìn)制(BCD)計數(shù);(3) 每個計數(shù)器可編程工作于6種不同工作方式;(4) 8254每個計數(shù)器允許的最高計數(shù)頻率為10MHz(8253為2MHz);(5) 8254有讀回命令(8253沒有),除了可以讀出當(dāng)前計數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容。(6) 計數(shù)脈沖

4、可以是有規(guī)律的時鐘信號,也可以是隨機(jī)信號。計數(shù)初值公式為n=fCLKi÷fOUTi、其中fCLKi是輸入時鐘脈沖的頻率,fOUTi是輸出波形的頻率。圖2是8254的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU的接口、內(nèi)部控制電路和三個計數(shù)器組成。8254的工作方式如下述:(1) 方式0:計數(shù)到0結(jié)束輸出正躍變信號方式。(2) 方式1:硬件可重觸發(fā)單穩(wěn)方式。(3) 方式2:頻率發(fā)生器方式。(4) 方式3:方波發(fā)生器。(5) 方式4:軟件觸發(fā)選通方式。(6) 方式5:硬件觸發(fā)選通方式。圖2 8254內(nèi)部結(jié)構(gòu)和引腳圖8254的控制字有兩個:一個用來設(shè)置計數(shù)器的工作方式,稱為方式控制字;另一個用來設(shè)

5、置讀回命令,稱為讀回控制字。這兩個控制字共用一個地址,由標(biāo)識位來區(qū)分??刂谱指袷饺鐖D3所示。圖3 8254方式控制字格式利用8254的方式3“方波發(fā)生器”,將對應(yīng)發(fā)聲頻率的計數(shù)初值寫入計數(shù)器,就可產(chǎn)生對應(yīng)頻率的方波。計數(shù)初值的計算如下: 計數(shù)初值 輸入時鐘 ÷ 輸出頻率輸入時鐘采用系統(tǒng)總線上CLK(1.041667MHz),報警時寫入初值為1047,發(fā)聲頻率即為1041667/1047Hz,然后調(diào)用一個軟件延時程序,再將0001寫入初值,發(fā)聲頻率變?yōu)?041667/1Hz。由于正常人耳能聽到的頻率范圍為2020KHz,所以1041667Hz是聽不到的,也就達(dá)到了消聲的目的。設(shè)計中正是

6、不斷執(zhí)行“判斷溫度大于等于50發(fā)聲消聲再判斷”這個循環(huán)來實現(xiàn)溫度報警的功能。3.8255:8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A、B、C三個并行接口,用+5V單電源供電,能在以下三種方式下工作:方式0-基本輸入/出方式、方式1-選通輸入/出方式、方式2-雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖4所示,8255工作方式控制字和C口按位置位/復(fù)位控制字格式如圖5所示。圖4 8255內(nèi)部結(jié)構(gòu)及引腳圖圖5 8255工作方式控制字格式及C口置位/復(fù)位控制字實驗系統(tǒng)中的鍵盤及數(shù)碼管顯示單元提供了4行×4列共16個按鍵,4個7段數(shù)碼管也接成掃描電路方

7、式。共用段位控制信號ADp,各自獨立的公共端及列選擇信號X1X4,行掃描信號為Y1Y4。電路原理如圖6所示。圖6 鍵盤及數(shù)碼管顯示單元電路原理圖8255的A,B口均為輸出且為方式0,其中PA0PA3接X1X4用來選中需要顯示的數(shù)碼管;PB0PB7接共用段位控制信號ADp,控制各個數(shù)碼管具體顯示的內(nèi)容。4.接線圖:綜上所述,接線圖如圖7所示:圖7 設(shè)計接線圖對于此圖有以下兩點需要說明:(1)系統(tǒng)總線上的XA2,XA3分別接芯片的A0,A1,因此芯片的地址要在片選基礎(chǔ)上左移兩位,即*4,例如8255片選接IOY2,則方式字地址為IOY2+03H*4 ,A口地址為IOY2+00H*4 ;(2)作圖軟

8、件中ADC0809無CS端,故采用了如圖的連接方式,實際中只需將系統(tǒng)總線IOY0與ADC0809的CS連接即可。三、 軟件流程圖四、 軟件代碼;*根據(jù)CHECK配置信息修改下列符號值*IOY0 EQU 0E000HIOY1 EQU 0E040HIOY2 EQU 0E080H;*AD0809 EQU IOY0+00H*4MY8254_0 EQU IOY1+00H*4MY8254_MODE EQU IOY1+03H*4MY8255_A EQU IOY2+00H*4MY8255_B EQU IOY2+01H*4MY8255_MODE EQU IOY2+03H*4DATA SEGMENTSTR DB

9、'The temperature is: $'DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,67H ;初始化緩沖用于存放鍵值DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODE ;初始化8255工作方式MOV AL,80HOUT DX,ALMOV DX,MY8254_MODE ;初始化8254工作方式MOV AL,37HOUT DX,ALLOOP1:MOV DX,AD0809 ;啟動A/D轉(zhuǎn)換OUT DX,ALM

10、OV DX,OFFSET STR ;在屏幕上顯示字符串“The temperature is:”MOV AH,9INT 21HMOV DX,AD0809 ;讀出轉(zhuǎn)換結(jié)果IN AL,DXMOV CL,ALCMP AL,32H ;判斷是否小于32HJB LOOP2MOV DX,MY8254_0 ;將計數(shù)初值1047裝入8254計數(shù)器0, 發(fā)出對應(yīng)頻率聲音MOV AL,47HOUT DX,ALMOV AL,10HOUT DX,ALCALL DALLYMOV DX,MY8254_0 ;將計數(shù)初值0001裝入8254計數(shù)器0,停止發(fā)聲MOV AL,01HOUT DX,ALMOV AL,00HOUT DX

11、,ALLOOP2:MOV AL,0FDH ;選中X2對應(yīng)的數(shù)碼管MOV DX,MY8255_AOUT DX,ALMOV AH,00H ;將結(jié)果轉(zhuǎn)換成十進(jìn)制,將百位顯示在屏幕上MOV AL,CLMOV BL,64HDIV BLMOV CH,AHADD AL,30HMOV DL,AL MOV AH,02HINT 21HSUB AL,30H ;將百位顯示在數(shù)碼管上,并調(diào)用延時子程序MOV BX,OFFSET DTABLEAND AX,00FFHADD BX,AXMOV AL,BXMOV DX,MY8255_BOUT DX,ALCALL DALLYMOV AL,0FBH ;選中X3對應(yīng)的數(shù)碼管MOV

12、DX,MY8255_AOUT DX,ALMOV AL,CH ;將十位顯示在屏幕上MOV AH,00HMOV BL,0AHDIV BLMOV CH,AHADD AL,30HMOV DL,ALMOV AH,02HINT 21HSUB AL,30H ;將十位顯示在數(shù)碼管上,并調(diào)用延時子程序MOV BX,OFFSET DTABLEAND AX,00FFHADD BX,AXMOV AL,BXMOV DX,MY8255_BOUT DX,ALCALL DALLYMOV AL,0F7H ;選中X4對應(yīng)的數(shù)碼管MOV DX,MY8255_AOUT DX,ALADD CH,30H ;將個位顯示在屏幕上MOV DL

13、,CHMOV AH,02HINT 21HSUB CH,30H ;將個位顯示在數(shù)碼管上,并調(diào)用延時子程序MOV AL,CHMOV BX,OFFSET DTABLEAND AX,00FFHADD BX,AXMOV AL,BXMOV DX,MY8255_BOUT DX,ALCALL DALLYMOV DL,0DH ;回車,置光標(biāo)到行首MOV AH,02HINT 21HMOV AH,1 ;判斷是否有按鍵按下INT 16HJNZ QUIT ;無按鍵則跳回繼續(xù)循環(huán),有則退出JMP LOOP1QUIT: MOV AX,4C00H ;返回到DOSINT 21HDALLY PROC NEAR ;軟件延時子程序P

14、USH CXPUSH AXMOV CX,4000HD1: MOV AX,0600HD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALLY ENDPCODE ENDS END START五、 設(shè)計收獲通過緊張有序的課程設(shè)計實踐,不僅讓我對ADC0809,8254,8255的原理,連接有了進(jìn)一步的理解,更重要的是學(xué)會如何使用這些芯片解決實際問題,這讓我的動手能力有了很大的提高,自信心也增強了。在課程設(shè)計中能夠自己動腦解決所遇到的問題,書本上的知識有了用武之地,鞏固和深化了自己的知識結(jié)構(gòu)。設(shè)計中遇到了的問題基本上都是關(guān)于如何控制報警方面的,關(guān)于8254控制發(fā)聲課本上沒有涉及,通過查資料才知道采用方式3的方法。第一次運行程序時,只要溫度大于等于50時就開始報警,但不會停,于是想到了在每次報警之后加上一個消聲的程序段,然而結(jié)果是溫度超過50也不響,最終才想到在兩者之前加上軟件延時,才能基本上完美實現(xiàn)報警功能。通過這次實踐,我相信,只要自己在每一次實踐中都能仔細(xì)思考,課程設(shè)計其實都不會很難,關(guān)鍵在于自己能不能認(rèn)真思考,能不

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論