实验五 可编程定时器/计数器8254(1)
更多微机实验:https://blog.youkuaiyun.com/yxp189/column/info/39992
注意:未经允许,请勿转载!
转载请标明出处~
适用课程:微机原理与接口技术(实验)
选用教材:微型计算机原理与接口技术-中国科学技术大学出版社
注意:8254芯片对应多个实验,请在上面???链接中查看~
一、实验目的
掌握8253的基本工作原理和编程方法。
二、实验内容
按图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0变高电平)。
三、编程提示
8253控制寄存器地址 283H
计数器0地址 280H
计数器1地址 281H
CLK0连接时钟 1MHZ
四、实验电路图
实验代码:
;Author:YXP
;优快云:yxp189
;Email:yxp189@protonmail.com
;如有问题,欢迎和我联系~
;转载请标明出处~
IOPORT EQU 0D100H-0280H
IO8253A EQU IOPORT+283H
IO8253B EQU IOPORT+280H
CODE SEGMENT
ASSUME CS:CODE
START: MOV AL,14H ;设置8253通道0为工作方式2,二进制计数
MOV DX,IO8253A
OUT DX,AL
MOV DX,IO8253B ;送计数初值为0FH
MOV AL,0FH
OUT DX,AL
LLL: IN AL,DX ;读计数初值
CALL DISP ;调显示子程序
PUSH DX
MOV AH,06H
MOV DL,0FFH
INT 21H
POP DX
JZ LLL
MOV AH,4CH ;退出
INT 21H
DISP PROC NEAR ;显示子程序
PUSH DX
AND AL,0FH ;首先取低四位
MOV DL,AL
CMP DL,9 ;判断是否<=9
JLE NUM ;若是则为'0'-'9',ASCII码加30H
ADD DL,7 ;否则为'A'-'F',ASCII码加37H
NUM: ADD DL,30H
MOV AH,02H ;显示
INT 21H
MOV DL,0DH ;加回车符
INT 21H
POP DX
RET ;子程序返回
DISP ENDP
CODE ENDS
END START