微機(jī)實(shí)驗(yàn)8253_第1頁(yè)
微機(jī)實(shí)驗(yàn)8253_第2頁(yè)
微機(jī)實(shí)驗(yàn)8253_第3頁(yè)
微機(jī)實(shí)驗(yàn)8253_第4頁(yè)
微機(jī)實(shí)驗(yàn)8253_第5頁(yè)
已閱讀5頁(yè),還剩13頁(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、浙江工業(yè)大學(xué)計(jì)算機(jī)學(xué)院實(shí) 驗(yàn) 報(bào) 告實(shí)驗(yàn)名稱 定時(shí)/計(jì)數(shù)器(8253) 17一、實(shí)驗(yàn)內(nèi)容與要求1.1 實(shí)驗(yàn)內(nèi)容1.計(jì)數(shù)器方式0實(shí)驗(yàn)將計(jì)數(shù)器0設(shè)置為方式0,計(jì)數(shù)器初值為N(N0FH),用手動(dòng)開(kāi)關(guān)逐個(gè)輸入單脈沖,編程使計(jì)數(shù)值在屏幕上顯示,并同時(shí)用邏輯筆觀察OUT0電平變化(當(dāng)輸入N+1個(gè)脈沖后OUT0變高電平)。2.計(jì)數(shù)器方式3實(shí)驗(yàn)將計(jì)數(shù)器0、計(jì)數(shù)器1分別設(shè)置為方式3,計(jì)數(shù)初值設(shè)為1000,用邏輯筆觀察OUT1輸出電平的變化(頻率1Hz)。3. 計(jì)數(shù)器級(jí)聯(lián)實(shí)驗(yàn)將計(jì)數(shù)器0設(shè)置為方式3(方波),計(jì)數(shù)器1設(shè)置為方式2(分頻)。實(shí)現(xiàn)計(jì)數(shù)器0的輸出為方波,計(jì)數(shù)器1的輸入是計(jì)數(shù)器0輸出。人機(jī)交互界面設(shè)計(jì):實(shí)現(xiàn)

2、在顯示屏幕上提示輸入計(jì)數(shù)器0(方波)的參數(shù)和計(jì)數(shù)器1(分頻信號(hào))的參數(shù)。1.2 實(shí)驗(yàn)要求(1) 正確完成硬件電路連線;(2) 使用8253定時(shí)/計(jì)數(shù)器芯片,除片選引腳,其他信號(hào)都已接好,進(jìn)行有關(guān)結(jié)構(gòu)設(shè)計(jì)和編程(3) 編寫正確匯編程序,完成正確的屏幕以及硬件儀器的顯示。二、實(shí)驗(yàn)原理與硬件連線2.1 實(shí)驗(yàn)原理8253/8254 定時(shí)/計(jì)數(shù)器總體結(jié)構(gòu)如圖2.1.1所示,外部引腳定義如圖2.1.2所示 圖2.1.1 定時(shí)/計(jì)數(shù)器總體結(jié)構(gòu) 圖2.1.2 外部引腳定義2.2 硬件連線1.實(shí)驗(yàn)1硬件連線如圖2.21所示:圖2.2.1 TPC-USB平臺(tái)計(jì)數(shù)器方式0實(shí)驗(yàn)連線圖2.實(shí)驗(yàn)2硬件連線如圖2.22所示

3、:圖2.2.2 TPC-USB平臺(tái)計(jì)數(shù)器方式3實(shí)驗(yàn)連線3.實(shí)驗(yàn)3硬件連線如圖2.23所示:圖2.2.3 TPC-USB平臺(tái)計(jì)數(shù)器級(jí)聯(lián)實(shí)驗(yàn)連線三、設(shè)計(jì)思路、步驟和程序流程圖3.1 設(shè)計(jì)思路(1)硬件連線:在TPC-USB實(shí)驗(yàn)板上,進(jìn)行三種方式下的8253計(jì)數(shù)器實(shí)驗(yàn)(2)程序設(shè)計(jì):通過(guò)對(duì)實(shí)驗(yàn)要求的理解,編寫想關(guān)的匯編代碼(3)兩者結(jié)合顯示符合實(shí)驗(yàn)要求的結(jié)果3.2 實(shí)驗(yàn)步驟3.3 程序流程(1)計(jì)數(shù)器方式0實(shí)驗(yàn),流程如圖3.3.1:圖3.3.1 TPC-USB平臺(tái)計(jì)數(shù)器方式0實(shí)驗(yàn)流程圖(2)計(jì)數(shù)器方式3實(shí)驗(yàn),流程如圖3.3.2:圖3.3.2 TPC-USB平臺(tái)計(jì)數(shù)器方式3實(shí)驗(yàn)流程圖(3)計(jì)數(shù)器級(jí)聯(lián)方

4、式實(shí)驗(yàn),流程如圖3.3.3:圖3.3.3 TPC-USB平臺(tái)計(jì)數(shù)器級(jí)聯(lián)實(shí)驗(yàn)流程圖四、程序清單與執(zhí)行結(jié)果4.1 程序清單 1.計(jì)數(shù)器方式0實(shí)驗(yàn)CODE SEGMENT ASSUME CS:CODE START:MOV AL,10H ;計(jì)數(shù)器0,方式0,寫兩個(gè)字節(jié),二進(jìn)制計(jì)數(shù) MOV DX,283H ;把控制寄存器地址放在DX寄存器中 OUT DX,AL ;將AL的值送入DX端口 MOV DX,280H ;把計(jì)數(shù)器0地址放在DX寄存器中 MOV AL,0FH ;將0FH存入AL寄存器 OUT DX,AL ;將此時(shí)AL的值送入DX端口LP1: IN AL,DX ;從DX端口讀入8位,放在AL寄存器中

5、 CALL DISP ;調(diào)用DISP PUSH DX ;將DX內(nèi)容保存到堆棧段 MOV AH,06H ;將06H存入AH,為了下句調(diào)用21中斷 MOV DL,0FFH ;將0FFH存入DL INT 21H ;調(diào)用21中斷 POP DX ;將DX的內(nèi)容推出棧段 JZ LP1 ;如果DX的內(nèi)容是0,就跳轉(zhuǎn)到LP1 MOV AH,4CH ;將4CH存入AH,為了下句調(diào)用21中斷 INT 21H ;調(diào)用21中斷DISP PROC NEAR ;定義一個(gè)名為DISP的子程序 PUSH DX ;把DX的內(nèi)容保存到堆棧段中 AND AL,0FH ;將AL寄存器的內(nèi)容與0FH進(jìn)行“與”運(yùn)算,再把結(jié)果存入AL中

6、MOV DL,AL ;將AL的值送入DL寄存器 CMP DL,9 ;比較DL中的值與9的大小 JLE NUM ;如果DL的值小于或等于9時(shí),則跳轉(zhuǎn)到NUM ADD DL,7 ;將DL的值與7進(jìn)行相加后,再送入DL中NUM: ADD DL,30H ;將DL的值與30H進(jìn)行相加后,再送入DL中 MOV AH,02H ;將02H存入AH INT 21H ;調(diào)用DOS21中斷 MOV DL,0DH ;結(jié)合“MOV AH,02H”,輸出0DH INT 21H ;調(diào)用中斷指令 MOV DL,0AH ;結(jié)合“MOV AH,02H”,輸出0AH INT 21H ;調(diào)用DOS21中斷 POP DX ;將DX的內(nèi)

7、容推出棧段 RET ;子程序在功能完成后返回調(diào)用程序繼續(xù)執(zhí)行 DISP ENDP ;子程序結(jié)束 CODE ENDS ;代碼段結(jié)束 END START 2.計(jì)數(shù)器方式3實(shí)驗(yàn)CODE SEGMENT ASSUME CS:CODE START:MOV DX,283H ;把控制寄存器地址放在DX寄存器中 MOV AL,36H ;設(shè)置控制字00110110(計(jì)數(shù)器0,方式3,寫兩個(gè)字節(jié),二進(jìn)制計(jì)數(shù)) OUT DX,AL ;將AL的值送入DX端口 MOV AX,1000H ;把1000H這個(gè)數(shù)賦給AX MOV DX,280H ;把計(jì)數(shù)器0地址放在DX寄存器中 OUT DX,AL ;將AL的值送入DX端口

8、MOV AL,AH ;將AX的高8位存入AL寄存器中 OUT DX,AL ;將此時(shí)AL的值送入DX端口 MOV DX,283H ;把端口地址放在DX寄存器中 MOV AL,76H ;設(shè)置控制字01110110(計(jì)數(shù)器1,方式3,寫兩個(gè)字節(jié),二進(jìn)制計(jì)數(shù)) OUT DX,AL ;將AL的值送入DX端口 MOV AX,1000H ;把1000H賦給AX MOV DX,281H ;把端口地址放在DX寄存器中 OUT DX,AL ;將AX的低8位送入DX端口 MOV AL,AH ;將AX的高8位存入AL寄存器中 OUT DX,AL ;將AL的值送入DX端口 MOV AH,4CH ;將4CH存入AH IN

9、T 21H ;調(diào)用DOS21中斷CODE ENDS ;代碼段結(jié)束 END START ;程序結(jié)束3. 計(jì)數(shù)器級(jí)聯(lián)實(shí)驗(yàn)data segment mesg1 db 13,10,'counter0:','$' mesg2 db 13,10,'counter1:','$' mesg3 db 13,10,'continue?(y/n)','$'mesg4 db 13,10,13,10,'thank you!',13,10,'$' errorm db 13,10,'inp

10、ut error!','$' counter0 dw 0 counter1 dw 0data ends code segment assume cs:code,ds:data main proc far start: mov dx,data mov ds,dx do: sub bx,bx sub ax,ax mov counter0,0 mov counter1,0 ;init l1: mov dx,offset mesg1 mov ah,09h int 21h rd1 : ;read counter0 mov al,0 ;判斷有無(wú)輸入 mov ah,01 ;read

11、a char int 21h cmp al,0 jz rd1 cmp al,13 ;if enter je fdone1 jmp tdone1 fdone1: jmp done1 tdone1: cmp al,10 je fdone1 cmp al,'0' ;if input<0 or input>9 error jb error cmp al,'9' ja error push ax mov ax,10 mul counter0 mov counter0,ax ;counter0=counter*10 pop ax sub bx,bx mov bl

12、,al sub bl,30h add counter0,bx ;counter=counter+input jmp rd1 error: mov dx,offset errorm mov ah,09hint 21h mov dl,7 mov ah,2 int 21h jmp done3 tr: ;for jmp do mov dl,al mov ah,02h int 21h mov dl,10 int 21h mov dl,13 int 21h jmp do l2: mov dx,offset mesg2 mov ah,09h int 21h rd2: mov al,0 ;判斷有無(wú)輸入 mov

13、 ah,01 ;read counter1 int 21h cmp al,0 jz rd2 cmp al,13 ;if enter je fdone2 cmp al,10 je fdone2 jmp tdone2 fdone2: jmp done2 tdone2: cmp al,10 je fdone2 cmp al,'0' jb error cmp al,'9' ja error push ax mov ax,10 mul counter1 mov counter1,ax ;counter1=counter1*10 pop ax sub bx,bx mov b

14、l,alsub bl,30h ;bh=0 add counter1,bx ;counter1=counter1+input jmp rd2 done1: jmp l2 done2: jmp out8253 ;after enter two counters ; set 8253 and do it done3: mov dx,offset mesg3 mov ah,09h int 21h l3: mov ah,07h int 21h cmp al,'y' je tr cmp al,'y' je tr cmp al,'n' je quit cmp

15、al,'n' je quit mov dl,7 mov ah,02h int 21h jmp l3 out8253: ;work code mov al,00110110bmov dx,283h out dx,al mov ax, counter0 mov dx,280h out dx,al mov al,ah out dx,al mov al,01110110b mov dx,283h out dx,al mov ax,counter1 mov dx,281h out dx,al mov al,ah out dx,al mov cx,2801 delay: loop delay jmp done3 quit: ;return to dos mov dx,offset mesg

溫馨提示

  • 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)論