山東大學(xué)威海分校-微機接口綜合設(shè)計-電子鐘(共17頁)_第1頁
山東大學(xué)威海分校-微機接口綜合設(shè)計-電子鐘(共17頁)_第2頁
山東大學(xué)威海分校-微機接口綜合設(shè)計-電子鐘(共17頁)_第3頁
山東大學(xué)威海分校-微機接口綜合設(shè)計-電子鐘(共17頁)_第4頁
山東大學(xué)威海分校-微機接口綜合設(shè)計-電子鐘(共17頁)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上微機原理與接口技術(shù)綜合課程設(shè)計報告設(shè)計名稱: 電子鐘 專 業(yè): 班 級: 姓 名: 學(xué) 號: 指導(dǎo)教師: 目 錄0一 設(shè)計概述1.1設(shè)計題目:簡單的電子時鐘設(shè)計1.2設(shè)計目的微型原理與接口設(shè)計是一門實踐性較強的課程,學(xué)生在學(xué)完該課程之后進行一次綜合課程設(shè)計,可以讓學(xué)生將課堂所學(xué)的知識和實踐有機結(jié)合起來,初步掌握計算機應(yīng)用系統(tǒng)設(shè)計的步驟和接口設(shè)計的方法,提高分析和解決實際問題的能力。譬如培養(yǎng)學(xué)生查閱專業(yè)資料,工具書或參考書,了解有關(guān)工業(yè)標準,掌握現(xiàn)代設(shè)計手段和軟件工具,并能以圖紙和說明書表達設(shè)計思想和結(jié)果的能力。通過綜合設(shè)計,不但要培養(yǎng)和提高學(xué)生解決工程具體問題,動腦動

2、手的技術(shù)工作能力,而且還要逐步建立科學(xué)正確的設(shè)計和科研思想,培養(yǎng)良好的設(shè)計習(xí)慣,牢固樹立實事求是和嚴肅認真的工作態(tài)度。具體要求如下:1、中斷工作原理,定時計數(shù)原理,并行通信原理工作原理。2、掌握8259芯片,8254芯片,8255芯片功能,結(jié)構(gòu)。3、掌握8259芯片,8254芯片,8255芯片的編程。4、能運用所提到的芯片,設(shè)計系統(tǒng)并進行程序開發(fā),滿足用戶需求。1.3設(shè)計要求1、總體內(nèi)容:設(shè)計一個電子時鐘,可以在數(shù)碼管上顯示時間并計時。2、 接口設(shè)計:根據(jù)題目和所用的接口電路芯片設(shè)計出完整的接口電路,并在實驗系統(tǒng)上完成電路的連接和調(diào)試通過.3、程序設(shè)計:要求畫出程序框圖,設(shè)計出全部程序并給出程

3、序設(shè)計說明和程序注釋。二 設(shè)計原理2.1設(shè)計原理本次課程設(shè)計的內(nèi)容為電子時鐘的設(shè)計與實現(xiàn),利用定時器從0開始進行計時,將計時的結(jié)果顯示在數(shù)碼管上。每隔1秒,秒鐘計時一次,到60秒,分鐘加1。根據(jù)需要,需選擇的芯片有8254,8259,8255,系統(tǒng)時鐘頻率1.MHz;2.2設(shè)計環(huán)境與器材(1)PC微機一臺 用于對程序的編譯測試等,同時還需要對實驗設(shè)備進行控制,提供整個程序的運行平臺,并且收集和釋放硬件信號,實現(xiàn)程序功能。(2)微機原理實驗箱一臺(唐都儀器) 此設(shè)備必須能提供8254、8255、8259和數(shù)碼管等必要芯片。并且能通過接受PC機傳來的信息,顯示出相應(yīng)的功能。以支持電子時鐘的實現(xiàn)。(

4、8)導(dǎo)線若干條 用于電路和芯片之間的連接。2.3電路原理與主要芯片功能 2.3.1 電路原理1、 初始化時令分、秒的起始時間為零。2、 將七段管顯示器接到兩片可并行接口8255芯片上,以此來控制七段管顯示器的位操作以及段操作。并為之在數(shù)據(jù)段開辟一處空間,專門存放將要顯示的數(shù)位代碼。3、 8254計時器將由PC機給定的頻率加以分頻,得到的新頻率加到8259中斷控制器的中斷請求輸入端。主程序為此可屏蔽中斷設(shè)置專門的中斷向量碼。4、 CPU獲取此中斷向量碼后轉(zhuǎn)向待需解決的程序進行操作。利用程序?qū)⑹闺娮隅姷娘@示時間以秒為進位,達到秒、分的增加。2.3.2 8255主要功能8255 可編程外圍接口芯片是

5、 Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、B、C 三個并行接口,并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O 設(shè)備或被控制對象之間傳遞信息。CPU 和接口之間 的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8 位、16 位、32 位等。用+5V 單電源供電,能在以下三種方式下工作:方式0-基本輸入/出方式、方式1-選通輸入/出方式、方式2-雙向選通工作方式。8255的內(nèi)部結(jié)構(gòu)及引腳如圖2.1所示:圖2.1 內(nèi)部結(jié)構(gòu)及引腳8255 工作方式控制字和C口按位置位/復(fù)位控制字格式如圖2.2所示:圖2.2 置位/復(fù)位控制字格式2.3.3 8259主要功能中斷控制器8259是Intel 公司專為控制優(yōu)先

6、級中斷而設(shè)計開發(fā)的芯片。它將中斷源優(yōu)先級 排隊、辨別中斷源以及提供中斷矢量的電路集于一片中,因此無需附加任何電路,只需對8259A 進行編程,就可以管理8 級中斷,并選擇優(yōu)先模式和中斷請求方式,即中斷結(jié)構(gòu)可以由用戶編 程來設(shè)定。同時,在不需增加其他電路的情況下,通過多片8259A 的級連,能構(gòu)成多達64 級的矢量中斷系統(tǒng)。它的管理功能包括:1)記錄各級中斷源請求,2)判別優(yōu)先級,確定是否響應(yīng) 和響應(yīng)哪一級中斷,3)響應(yīng)中斷時,向CPU 傳送中斷類型號。8259A 的內(nèi)部結(jié)構(gòu)和引腳如圖2.3所示:圖2.3 內(nèi)部結(jié)構(gòu)和引腳8259的命令共有7 個,一類是初始化命令字,另一類是操作命令。8259A

7、的編程就是根據(jù) 應(yīng)用需要將初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分別寫入初始化命令寄存器 組和操作命令寄存器組。OCW1-OCW3 各命令字格 式如圖2.4所示,其中OCW1 用于設(shè)置中斷屏蔽操作字,OCW2 用于設(shè)置優(yōu)先級循環(huán)方式和 中斷結(jié)束方式的操作命令字,OCW3 用于設(shè)置和撤銷特殊屏蔽方式、設(shè)置中斷查詢方式以及設(shè) 置對8259 內(nèi)部寄存器的讀出命令。圖2.4 OCW1-OCW3 各命令字格2.3.4 8254主要功能8254 是Intel 公司生產(chǎn)的可編程間隔定時器。是8253 的改進型,比8253 具有更優(yōu)良的性能。8254 具有以下基本功能: 有3 個獨

8、立的16 位計數(shù)器; 每個計數(shù)器可按二進制或十進制(BCD)計數(shù); 每個計數(shù)器可編程工作于6 種不同工作方式;每個計數(shù)器允許的最高計數(shù)頻率為10MHz; 8254 有讀回命令,除了可以讀出當前計數(shù)單元的內(nèi)容外,還可以讀出狀態(tài)寄存器的內(nèi)容。 計數(shù)脈沖可以是有規(guī)律的時鐘信號,也可以是隨機信號。計數(shù)初值公式為n=fCLKi ÷fOUTi,其中fCLKi是輸入時鐘脈沖的頻率,fOUTi是輸出波形的頻率。 圖2.5 內(nèi)部結(jié)構(gòu)框圖和引腳圖上圖是8254 的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU 的接口、內(nèi)部控制電路和三個計數(shù)器組成。8254 的工作方式如下述: (1) 方式0 :計數(shù)到0 結(jié)束輸出

9、正躍變信號方式。 (2) 方式1:硬件可重觸發(fā)單穩(wěn)方式。 (3) 方式2 :頻率發(fā)生器方式。 (4) 方式3 :方波發(fā)生器。 (5) 方式4 :軟件觸發(fā)選通方式。 (6) 方式5 :硬件觸發(fā)選通方式。8254 的控制字有兩個:一個用來設(shè)置計數(shù)器的工作方式,稱為方式控制字;另一個用來設(shè) 置讀回命令,稱為讀回控制字。這兩個控制字共用一個地址,由標識位來區(qū)分。當讀回控制字的D4 位為0 時,由該讀回控制字D1D2 位指定的計數(shù)器的狀態(tài)寄存器內(nèi)容將被鎖存到狀態(tài)寄存器中。狀態(tài)字格式如圖2.6所示:圖2.6 8254狀態(tài)字格式三 系統(tǒng)設(shè)計3.1 實驗接線圖 系統(tǒng)的連線圖主要由五個部分構(gòu)成。8259中斷控制

10、器、8255并口控制器、8254定時計數(shù)器、鍵盤及數(shù)碼管顯示單元、開關(guān)及LED顯示單元構(gòu)成。如下圖所示:芯片8254 系統(tǒng)總線 芯片8255 LED數(shù)碼管 D0 PB0D1 PB1D2 PB2D3 PB3D4 PB4D5 PB5D6 PB6D7 PB7WR RD PA0CS PA1A0 PA2A1 PA3 PC0 PC1 PC2 PC3XD0XD1XD2XD3XD4XD5XD6XD7IOW#IOR#IOY3 IOY0XA1XA2ClkMir7+5VABCDEFGDg X1X2X3X4Y1Y2Y3Y4D0D1D2D3D4D5D6D7WRRDCSA0A1CLK0OUT0GATE0 圖3.4 實驗接

11、線圖3.2 主程序流程圖主程序的流程圖是對整個程序的邏輯的圖象表示。首先是設(shè)置8254、8255、8259的各個端口地址。接著初始化各個芯片,開始計時,并通過8259中斷控制時間的正確顯示。在整個過程中都在檢測是否有銨鍵響應(yīng)。有則停止,沒有則返回繼續(xù)執(zhí)行。四 電子鐘設(shè)計源程序;各端口地址MY8255_A EQU 0600H MY8255_B EQU 0602H MY8255_C EQU 0604H MY8255_MODE EQU 0606H A8254 EQU 06C0H B8254 EQU 06C2HC8254 EQU 06C4HCON8254 EQU 06C6H;堆棧段SSTACK SEG

12、MENT STACK DW 32 DUP(?)SSTACK ENDS;數(shù)據(jù)段DATA SEGMENT DTABLEDB 3FH,06H,5BH,4FH,66H;鍵盤上的鍵值對應(yīng)值 DB 6DH,7DH,07H,7FH,6FH MSECDW 0 ;百分秒初始值 SEC DB 0 ;秒初始值MINDB 0;分初始值DATA ENDS ;代碼段CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:SSTACKSTART: ;設(shè)置中斷向量PUSH DSMOV AX, 0000HMOV DS, AXMOV AX, OFFSET MIR7;取中斷入口地址MOV SI, 003CH;

13、中斷矢量地址MOV SI, AX;填I(lǐng)RQ7的偏移矢量,確定地址 MOV AX, CS ;段地址MOV SI, 003EHMOV SI, AX;填I(lǐng)RQ7的段地址矢量CLIPOP DS ;初始化主片8255MOV DX,MY8255_MODE MOV AL,81H;AL=B A.B口方式0輸出 C輸入 OUT DX,AL;向8255控制口寫入控制字;初始化主片8254MOV DX,CON8254 MOV AL,36H ;通道0,方式3,2進制 OUT DX,AL MOV DX,A8254 MOV AL,0E8H;時間常數(shù)1000B=03E8H OUT DX,AL MOV AL,03H OUT

14、DX,AL ;初始化主片8259MOV AL, 11HOUT 20H, AL;ICW1MOV AL, 08HOUT 21H, AL;ICW2MOV AL, 04HOUT 21H, AL;ICW3MOV AL, 01HOUT 21H, AL;ICW4MOV AL, 6FH;OCW1OUT 21H, ALSTI ;初始設(shè)置MOV AX,DATA MOV DS,AX MOV SI,3000H;段首地址3000H MOV AL,00H MOV SI,AL ;四位內(nèi)存值清0 MOV SI+1,AL MOV SI+2,AL MOV SI+3,AL MOV DI,3003H;開始BEGIN: CALL DI

15、S;調(diào)用顯示子程序 CALL CLEAR;調(diào)用清屏子程序JMP BEGIN ;循環(huán)調(diào)用,動態(tài)顯示數(shù)據(jù)值;中斷子程序MIR7:STI PUSH AXPUSH SIMOV AX,MSEC INC AX MOV MSEC,AX CMP AX,1000 JB MRET MOV AX,0MOV MSEC,AX MOV AL,SECADD AL,1DAA MOV SEC,ALCMP AL,60HJB MTODISMOV AL,0MOV SEC,ALMOV AL,MINADD AL,1DAAMOV MIN,ALMTODIS: MOV AL,SECMOV AH,ALMOV SI,3000HAND AL,0FH

16、MOV SI,ALROR AH,1ROR AH,1ROR AH,1ROR AH,1AND AH,0FHMOV SI+1,AHMOV AL,MINMOV AH,ALAND AL,0FHMOV SI+2,ALROR AH,1ROR AH,1ROR AH,1ROR AH,1AND AH,0FHMOV SI+3,AHMRET:MOV AL, 20HOUT 20H, AL;中斷結(jié)束命令POP SIPOP AXIRET;清屏子程序CLEAR: MOV DX,MY8255_B MOV AL,00H OUT DX,AL RET;顯示子程序DIS: PUSH AX MOV SI,3000HMOV DL,0F7H

17、MOV AL,DLAGAIN: PUSH DX MOV DX,MY8255_A OUT DX,AL MOV AL,SI MOV BX,OFFSET DTABLE AND AX,00FFH ADD BX,AX MOV AL,BX MOV DX,MY8255_B OUT DX,AL CALL DALLYINC SI POP DX MOV AL,DLTEST AL,01H JZ OUT1ROR AL,1 MOV DL,ALJMP AGAINOUT1: POP AXRET;延時子程序DALLY : PUSH CX MOV CX,000FH T1: MOV AX,002FHT2: DEC AX JNZ

18、T2 LOOP T1 POP CX RETCODE ENDS END START五 遇到的問題疑惑及解決方法1、 數(shù)碼管怎么動態(tài)顯示數(shù)據(jù)?工作原理是什么?答:通過編寫DIS顯示子程序,調(diào)用程序讀取內(nèi)存中的各位數(shù)據(jù)值,通過8255數(shù)據(jù)交換控制數(shù)碼管電平組合,顯示數(shù)據(jù)。至于動態(tài),即隨著時間變化內(nèi)存值不同,可以一直循環(huán)調(diào)顯示子程序來顯示。2、8254怎么實現(xiàn)計時,時間因數(shù)選擇多少?答:時間因數(shù)與中斷子程序的有關(guān),我們選擇了N=1000,out0輸出脈沖給MIR7,產(chǎn)生中斷后調(diào)用中斷子程序,100次中斷秒加1,60秒后進位。3、 中斷子程序如何設(shè)計?答:我們參考了8259中斷設(shè)計的代碼,并加入了計時構(gòu)成中斷計時。五 總結(jié)體會有一句話叫:站著說話不腰疼。這話說的真對。之前我們學(xué)習(xí)課本上的理論知識時,知道了各個芯片都是干什么用的,怎么編程使用就以為自己已經(jīng)把接口學(xué)會了,現(xiàn)在看來這只是萬里長征第一步而已。當老師說要做一個交通燈的綜合課程設(shè)計的時候,只覺得真是超級簡單,8259要中斷我會,8254要輸出脈沖定時沒問題,8255傳輸數(shù)據(jù)小CASE,一切都是那么簡單。為此我還想當然的覺得還可以更難一點,于是我沒有選擇正常的交通燈設(shè)計而是電子表,對,是電子表根據(jù)按下的的鍵盤值,確定不同功能。那為什么現(xià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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論