[電子鐘]王天宇 PB12210258,李韌 PB12210238,楊征元 PB12210247_第1頁(yè)
[電子鐘]王天宇 PB12210258,李韌 PB12210238,楊征元 PB12210247_第2頁(yè)
[電子鐘]王天宇 PB12210258,李韌 PB12210238,楊征元 PB12210247_第3頁(yè)
[電子鐘]王天宇 PB12210258,李韌 PB12210238,楊征元 PB12210247_第4頁(yè)
[電子鐘]王天宇 PB12210258,李韌 PB12210238,楊征元 PB12210247_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理與系統(tǒng)綜合實(shí)驗(yàn)實(shí)驗(yàn)題目:電子鐘小組成員:李韌 楊征元 王天宇 PB12210238 PB12210247 PB12210258 院系:信息科學(xué)技術(shù)學(xué)院時(shí)間:2014年夏季學(xué)期綜合實(shí)驗(yàn) 電子鐘王天宇 PB12210258,李韌 PB12210238,楊征元 PB12210247一實(shí)驗(yàn)?zāi)康?. 熟練掌握8254定時(shí)和計(jì)數(shù)的應(yīng)用,了解各方式的波形特征,熟悉8254的編程。2. 掌握8255的工作方式及其應(yīng)用,了解數(shù)碼顯示的基本原理,熟悉8255的編程。3. 熟練掌握中斷向量的設(shè)置程序的編寫(xiě),掌握8259中斷控制器的工作原理。4. 能夠利用各個(gè)芯片的特性,掌握各芯片連接方法,開(kāi)發(fā)思維,自主設(shè)計(jì)

2、,完成實(shí)際應(yīng)用。二實(shí)驗(yàn)設(shè)備IA-32 架構(gòu)的微機(jī)系統(tǒng)及應(yīng)用教學(xué)平臺(tái)一套。三實(shí)驗(yàn)基本原理1. 8254計(jì)數(shù)初值公式為:n=fCLKi÷fOUTi 其中fCLKi是輸入時(shí)鐘脈沖的頻率,fOUTi是輸出波形的頻率。圖3-3-1 是8254 的內(nèi)部結(jié)構(gòu)框圖和引腳圖,它是由與CPU 的接口、內(nèi)部控制電路和三個(gè)計(jì)數(shù)器組成。8254 的工作方式如下述:(1)方式0:計(jì)數(shù)到0 結(jié)束輸出正躍變信號(hào)方式。(2)方式1:硬件可重觸發(fā)單穩(wěn)方式。(3)方式2:頻率發(fā)生器方式。(4)方式3:方波發(fā)生器。(5)方式4:軟件觸發(fā)選通方式。(6)方式5:硬件觸發(fā)選通方式。圖3-3-1 8254的內(nèi)部接口和引腳8254

3、 的控制字有兩個(gè):一個(gè)用來(lái)設(shè)置計(jì)數(shù)器的工作方式,稱為方式控制字;另一個(gè)用來(lái)設(shè)置讀回命令,稱為讀回控制字。這兩個(gè)控制字共用一個(gè)地址,由標(biāo)識(shí)位來(lái)區(qū)分??刂谱指袷饺绫?-3-1所示。表3-3-1 8254的方式控制字格式2. 8255并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O 設(shè)備或被控制對(duì)象之間傳遞信息。CPU 和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時(shí)傳遞8 位、16 位或32 位等。8255 可編程外圍接口芯片是Intel 公司生產(chǎn)的通用并行I/O 接口芯片,它具有A、B、C 三個(gè)并行接口,用+5V 單電源供電,能在以下三種方式下工作:方式0-基本輸入/輸出方式、方式1-選通輸入/輸出方式、方式2-

4、雙向選通工作方式。8255 工作方式控制字和C 口按位置位/復(fù)位控制字格式如圖3-1-1 所示。圖3-1-1 8255控制字格式3. 82598259 的命令共有7 個(gè),一類是初始化命令字,另一類是操作命令。8259 的編程就是根據(jù)應(yīng)用需要將初始化命令字ICW1-ICW4 和操作命令字OCW1- OCW3 分別寫(xiě)入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4 各命令字格式如圖2-1-2 所示,OCW1-OCW3各命令字格式如圖2-1-3 所示,其中OCW1 用于設(shè)置中斷屏蔽操作字,OCW2 用于設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式的操作命令字,OCW3 用于設(shè)置和撤銷特殊屏蔽方式、設(shè)置

5、中斷查詢方式以及設(shè)置對(duì)8259 內(nèi)部寄存器的讀出命令。圖 2-1-2(a) ICW1格式圖 2-1-2(b) ICW2格式圖 2-1-2(c) ICW3格式圖 2-1-2(d) ICW4格式圖 2-1-3 OCW 命令字格式 在硬件系統(tǒng)中,8259僅占用兩個(gè)外設(shè)接口地址,在片選有效的情況下,利用A0來(lái)尋址不同的寄存器和命令字。對(duì)寄存器和命令的訪問(wèn)控制如表2-1-1所示。表 2-1-1 8259 寄存器及命令的訪問(wèn)控制四.實(shí)驗(yàn)內(nèi)容利用8254,8255,8259制作電子鐘要求在數(shù)碼管上顯示時(shí)分秒。(1).接線8254:CLK0接18.342KHZ時(shí)鐘,GATE0接+5V,OUT0接8259的IR

6、18255:PB0PB6接數(shù)碼管引腳,PA5PA0接X(jué)1X6。(2).實(shí)驗(yàn)設(shè)計(jì)過(guò)程8254產(chǎn)生1s脈沖充當(dāng)中斷信號(hào),8259產(chǎn)生中斷,8255控制刷新數(shù)碼管,計(jì)數(shù)函數(shù)以及顯示函數(shù)。其中顯示函數(shù)死循環(huán)實(shí)現(xiàn),計(jì)數(shù)函數(shù)在中斷服務(wù)程序內(nèi)操作。8254:使用提供的時(shí)鐘源經(jīng)方式3分頻產(chǎn)生1Hz的方波時(shí)鐘脈沖,分頻參數(shù)為4500。8259:接收8253產(chǎn)生的中斷,給CPU提供中斷,使程序進(jìn)入中斷調(diào)用,中斷一秒一次。8255:通過(guò)A口選通使數(shù)碼管輪流顯示,通過(guò)B口控制數(shù)碼管引腳電平,產(chǎn)生相應(yīng)的數(shù)字。中斷服務(wù)程序:計(jì)時(shí)值由空間TIME存放,定義有六個(gè)DB數(shù)據(jù)域,初值均為0,低位到高位依次分別代表秒:分鐘:小時(shí)。

7、中斷服務(wù)程序內(nèi)首先對(duì)其中最低位自增,并逐位判斷是否需要進(jìn)位。由于中斷服務(wù)程序每一秒觸發(fā)一次,便可實(shí)現(xiàn)電子鐘功能。時(shí)間顯示程序:顯示通過(guò)刷新數(shù)碼管實(shí)現(xiàn)。即以刷新顯示一遍(6個(gè)數(shù))為一周期。先顯示最低位:由TIME最低位數(shù)值換碼得到相應(yīng)信號(hào),由8255B口方式0輸出,8255A口方式0輸出對(duì)應(yīng)選通信號(hào)(0FEH)。之后顯示次低位,選通信號(hào)移位(通過(guò)ROL),在第五個(gè)數(shù)碼管上顯示次低位。直至一個(gè)周期全部顯示完。顯示后引入較小的延遲,增加顯示穩(wěn)定性(因?yàn)檩敵鲂碌臅r(shí)間與選通信號(hào)始終有一個(gè)很小的延遲,故將正確的顯示加延遲可提升那部分占空比,使顯示更穩(wěn)定),但仍使刷新率高到人眼無(wú)法分辨以實(shí)現(xiàn)刷新顯示。完成一

8、個(gè)周期后,循環(huán)重新初始化,繼續(xù)進(jìn)行顯示。顯示過(guò)程中收到中斷信號(hào)就終止顯示,轉(zhuǎn)入中斷(計(jì)數(shù))處理。(3).程序代碼IRQ_IVADD EQU 01C8H ;IRQ10對(duì)應(yīng)的中斷矢量地址IRQ_OCW1 EQU 0A1H ;IRQ10對(duì)應(yīng)PC 機(jī)內(nèi)部8259 的OCW1 地址IRQ_OCW2 EQU 0A0H ;IRQ10對(duì)應(yīng)PC 機(jī)內(nèi)部8259 的OCW2 地址IRQ_IM EQU 0FBH ;IRQ10對(duì)應(yīng)的中斷屏蔽字 CS2 EQU 3040H ;片選CS2 對(duì)應(yīng)的端口始地址MY8254_COUNT0 EQU CS2+00H ;8254 計(jì)數(shù)器0 端口地址MY8254_MODE EQU CS

9、2+03H ;8254 控制寄存器端口地址 CS0 EQU 3000H MY8255_A EQU CS0+00H MY8255_B EQU CS0+01H MY8255_C EQU CS0+02H MY8255_MODE EQU CS0+03H DATA SEGMENT IMRR DB (?)DTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H, 7FH,6FH,77H,7CH,39H,5EH,79H,71HTIME DB 0,0,0,0,0,0 ;時(shí)間數(shù)值存到TIME,由低到高依次是 秒個(gè)位、秒十位、分個(gè)位、分十位、小時(shí)的個(gè)位,小時(shí)的十位PICK DB 0FEH

10、DATA ENDSSTACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE ;初始化8255 MOV AL,00000000B OUT DX,AL MOV DX,MY8254_MODE ;初始化8254 MOV AL,00110111B OUT DX,AL MOV DX,MY8254_COUNT0 MOV AL,00H OUT DX,AL MOV AL,45H ;設(shè)置1s中斷 OUT DX,AL CLI

11、 MOV AL,72H ;設(shè)置中斷向量 MOV AH,35H INT 21H PUSH ES PUSH BX PUSH DS MOV DX,OFFSET CHIHAYA MOV AX,SEG CHIHAYA MOV DS,AX MOV AL,72H MOV AH,25H INT 21H POP DS IN AL,IRQ_OCW1 MOV DX,IRQ_OCW1 MOV IMRR,AL AND AL,0FBH OUT DX,AL STI ;打開(kāi)中斷,之后觸發(fā)端有脈沖即可進(jìn)入服務(wù)程序,無(wú)中斷則不斷刷新數(shù)碼管以顯示時(shí)間SHOWPP:MOV DX,MY8255_A ;數(shù)碼管顯示程序 MOV AL,0F

12、EH MOV PICK,AL ;PICK用于存儲(chǔ)AL的數(shù)值,以循環(huán)顯示 OUT DX,AL MOV DI,OFFSET TIME MOV CX,6SHOWP: MOV AL,DI MOV BX,OFFSET DTABLE XLAT MOV DX,MY8255_B OUT DX,AL CALL DELAY INC DI MOV DX,MY8255_A MOV AL,PICK ROL AL,1 ;循環(huán)移位,依次選通 OUT DX,AL MOV PICK,AL LOOP SHOWP JMP SHOWPP QUIT:CLI POP DX POP DS MOV AL,72H MOV AH,25H INT

13、 21H MOV DX,IRQ_OCW1 MOV AL,IMRR OUT DX,AL STI MOV AX,4C00H INT 21H CHIHAYA PROC NEAR ;時(shí)間計(jì)數(shù)及處理中斷程序,中斷一次秒數(shù)加一,然后判斷是否需要進(jìn)位。需要,則進(jìn)位,然后判斷高位是否需要進(jìn)位,依次進(jìn)行下去;不需要?jiǎng)t退出中斷。 PUSH AX MOV AX,DATA MOV DS,AX MOV DI,OFFSET TIME MOV AL,DI INC AL CMP AL,10 JNZ NEXT MOV AL,0 MOV DI,AL INC DI MOV AL,DI INC AL CMP AL,6 JNZ NEX

14、T MOV AL,0H MOV DI,AL INC DI MOV AL,DI INC AL CMP AL,10 JNZ NEXT MOV AL,0H MOV DI,AL INC DI MOV AL,DI INC AL CMP AL,6 JNZ NEXT MOV AL,0H MOV DI,AL INC DI MOV AL,DI INC AL CMP AL,10 JNZ NEXT MOV AL,0H MOV DI,AL JMP QUIT1NEXT: MOV DI,AL QUIT1: MOV DI,OFFSET TIME ;判斷是不是24點(diǎn),若是則“小時(shí)”清零 MOV AL,DI+4 CMP AL,

15、4 JNZ QUIT2 MOV AL,DI+5 CMP AL,2 JNZ QUIT2 MOV AL,0 MOV DI+5,AL MOV DI+4,ALQUIT2: MOV DX,IRQ_OCW2 ;向PC機(jī)內(nèi)部8259發(fā)送中斷結(jié)束命令 MOV AL,20H OUT DX,AL MOV AL,20H OUT 20H,AL POP AX STI IRET CHIHAYA ENDP DELAY PROC NEAR ;延時(shí),調(diào)整數(shù)碼管顯示頻率,使數(shù)字顯示清晰而無(wú)其他混雜 PUSH CX MOV CX,0FFFH D1: MOV AX,00FFH D2: DEC AX JNZ D2 LOOP D1 POP CX RET DELAY ENDP CODE ENDS END START(4).實(shí)驗(yàn)結(jié)果 時(shí)鐘格式X1 X2:X3 X4:X5 X6 (時(shí):分:秒)X6不斷加一計(jì)數(shù),計(jì)到10,則X5加一,X6清零;X5計(jì)到6,則X4加一,X5清零;X4計(jì)到10,則X3加一,

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論