微机原理与应用实验报告-实验二 8253方式0脉冲计数实验

实验二 8253方式0脉冲计数实验
1. 实验目的
掌握8253的基本工作原理和编程方法。
2. 实验内容
按图5虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,同时观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。

要求:
1) 屏幕上每次只显示一个字符
2) 实现循环计数,即计数到0后,需重新写入初值
3. 编程提示
1) 8253控制寄存器端口地址——283H
计数器0的地址——280H
计数器1的地址——281H
CLK0连接时钟——1MHZ
2) 参考流程图(见图6)

程序清单(注意修改中英逗号)

Io8253k equ 283h
Io8253a equ 280h
Code segment
Assume cs:code

Start:mov al,10h ;设计数器0工作方式0
Mov dx,io8253k
Out dx,al

L1:
Mov dx,io8253a ;送计数器0初值0fh
Mov al,0fh
Out dx,al

L2:
in al,dx ;读计数器值
Call disp
push dx
Mov dl,0ffh
Mov ah,06h
Int 21h
Pop dx
Jz L2
Mov ah,4ch
Int 21h
Disp proc near
Push dx
And al,0fh
Mov dl,al
Cmp dl,9 ;判断是否大于9,是则加37h不是则加30h
Jle num
Add dl,07h

Num:
add dl,30h
cmp bl,dl
jz L3
Mov bl,dl ;显示计数器值
Mov ah,02h
Int 21h
Mov ah,2 ;回车
Mov dl,13
Int 21h
Mov ah,2 ;换行
Mov dl,10
Int 21h
cmp bl,30h
jz L1

L3:
pop dx
ret
Disp endp
Code ends
End start

发表回复