北京工業大學-微機接口--實驗3報告 - 下載本文

买足球彩票技巧 www.lbmkq.icu 3.3 8253基礎實驗

一、實驗目的

1、進一步熟悉GX-8000實驗系統

2、進一步熟悉匯編語言程序的設計、調試過程。

3、掌握可編程定時器/計數器芯片8253的工作原理和編程方法。

二、實驗內容

1、產生周期為1秒的方波信號,用邏輯筆觀察輸出結果

2、脈沖計數器:對單脈沖按鈕進行計數,按下5次,L0點亮;可重復計數 3、跑馬燈

1) 8個LED循環點亮;

2) 循環方式為:L0->L1->L2->L3->L4->L5->L6->L7->L1->L2...;每隔1秒LED狀態變化一

次;

3) 使用8255A和8253實現

三、實驗程序

1、程序

;這是自動生成的代碼模板

STACKS SEGMENT STACK ;堆棧段

DW 128 DUP(?) ;注意這里只有128個字節 STACKS ENDS

DATAS SEGMENT ;數據段 ;請在這里定義您的數據

DATAS ENDS

CODES SEGMENT ;代碼段 ASSUME CS:CODES,DS:DATAS START:

MOV AX,DATAS ;初始化 MOV DS,AX ;請在這里添加您的代碼

MOV DX, 28BH

MOV AL, 00110110B; 8253控制字 設置計數器0 OUT DX, AL

MOV DX, 288H

MOV AX ,00H;設置計數器0初值 OUT DX, AL MOV AL, 10H OUT DX, AL MOV DX, 28BH

MOV AL, 01110110B ; 8253控制字 設置計數器1

OUT DX, AL MOV DX, 289H

MOV AL, 00H ; 設置計數器1初值 OUT DX, AL MOV AL, 10H OUT DX, AL CODES ENDS

END START

2、程序

;這是自動生成的代碼模板

STACKS SEGMENT STACK ;堆棧段

DW 128 DUP(?) ;注意這里只有128個字節 STACKS ENDS

DATAS SEGMENT ;數據段 ;請在這里定義您的數據

DATAS ENDS

CODES SEGMENT ;代碼段 ASSUME CS:CODES,DS:DATAS START:

MOV AX,DATAS ;初始化 MOV DS,AX ;請在這里添加您的代碼

MOV AL, 00010100B ; 0通道設置為方式2 MOV DX, 28BH OUT DX, AL

MOV AL, 5 ;0通道初值設為5 MOV DX, 288H OUT DX, AL CODES ENDS

END START

開始8253初始化8255A初始化:A口方式1輸出允許A口中斷A口輸出LED狀態數據讀C口NPC3=1?Y取LED下一狀態

3、程序

;這是自動生成的代碼模板

STACKS SEGMENT STACK ;堆棧段

DW 128 DUP(?) ;注意這里只有128個字節 STACKS ENDS

DATAS SEGMENT ;數據段 ;請在這里定義您的數據

DATAS ENDS

CODES SEGMENT ;代碼段 ASSUME CS:CODES,DS:DATAS START:

MOV AX,DATAS ;初始化 MOV DS,AX

MOV DX, 28BH ;8253A初始化 MOV AL, 00110110B OUT DX, AL MOV DX, 288H MOV AX ,1000 OUT DX, AL MOV AL, AH OUT DX, AL MOV DX, 28BH

MOV AL, 01110110B OUT DX, AL MOV DX, 289H

MOV AX ,1000 OUT DX, AL MOV AL, AH OUT DX, AL MOV CL, 0FFH

MOV AH ,00000001B MOV AL, 10100000B MOV DX, 283H OUT DX, AL

MOV OUT AGAIN:

MOV MOV OUT MOV READC:

IN ROL 1

CMP JB ROL JMP

;請在這里添加您的代碼

CODES ENDS

END

四、實驗結果 1、

AL ,0DH ;pC6置一 DX, AL AL, AH DX,280H

DX, AL ;A口輸出LED狀態數據 DX, 282H AL, DX ;讀C口

AL, 4 ;左移4位,使PC3位于最高位,以便判斷是否為 AL, 10000000B

READC ;小于1,說明時鐘周期還沒到來,繼續讀C口 AH, 1 ;否則讀取下一LED狀態(通過左移來實現) AGAIN START

2、

3、

五、實驗小結

思考題:

1、如果不加非門,則會變成L0燈一直是亮的,每按5次滅一次; 2、如果連接的是負脈沖信號,結果不變。

小結:

在這次實驗中,前兩個實驗進展的很順利;在做跑馬燈的時候,由于對8255A方式1的工作原理不太了解,對流程圖產生了一些疑問,特別是PC3=1那里,后來看了8255A方式1的工作圖解后,有了一定的了解,最終順利的完成了程序的設計。