- 21
- 0
- 约1.45万字
- 约 93页
- 2017-06-24 发布于湖北
- 举报
code segment begin proc far assume ss:stack,cs:code,ds:data push ds sub ax,ax push ax MOV ES,AX mov ax,data mov ds,ax MOV DX,383H ;8253计数器的方式0,BCD计数 MOV AL,11H OUT DX,AL MOV DX,380H MOV AL,10H OUT DX,AL MOV DX,OFFSET DA1 MOV AH,9 INT 21H MOV DX,380H LOAD: IN AL,DX CMP AL,10H ;等待单稳输入脉冲,装入计数初值 JNE LOAD MOV AX,SEG IS8253 ;填写中断向量表 MOV ES:01C6H,AX MOV AX,OFFSET IS8253 MOV ES:01C4H,AX IN AL,0A1H ;改变屏蔽字,允许IRQ9中断 AND AL,0FDH OUT 0A1H,AL MOV DX,OFFSET DA2 MOV AH,9 INT 21H JMP $ ;等待单稳输入10个脉冲 MOV DX,OFFSET DA3 MOV AH,9 INT 21H ret IS8253: MOV AL,61H ;指定中断结束命令 OUT 0A0H,AL MOV AL,62H OUT 20H,AL IN AL,0A1H ;关屏蔽,禁止IRQ9中断 OR AL,2 OUT 0A1H,AL POP AX ;修改返址 INC AX INC AX PUSH AX IRET begin endp code ends end begin POP CX RET DELAY ENDP ALLB PROC MOV DL,DH AND DL,0FH ADD DL,30H CMP DL,3AH JC NAD7 ADD DL,7 NAD7: MOV AH,2 INT 21H RET ALLB ENDP code ends end begin 8253的内部结构: 8.2.1 8253的组成与接口信号 三态、双向、8位的缓冲器。 负责8253和CPU的数据传送。 连CPU的数据总线 具有下面3个基本功能。 (1) 传控制字内容给8253的寄存器。 (2) 传计数初值给8253的计数器。 (3) CPU读取某个计数器的现行值。 1. 数据总线缓冲器 8.2.1 8253的组成与接口信号 CS、RD、WR、A1和A0组合起来所产生的选择与操作功能: 8.2.1 8253的组成与接口信号 控制字寄存器有3个,都是8位的寄存器,分别对应于3个计数器。 写入的控制字由该控制字的最高2位确定送入哪个计数器的控制字寄存器寄存。 3. 控制字寄存器 8.2.1 8253的组成与接口信号 每个计数器有CLK, OUT, GATE三个引脚。 GATE: 控制计数器是否-1,开始计数 CLK: 控制-1的速度(脉冲频率的快慢) OUT: 减到0时输出 3.计数器0、1、2 8.2.1 8253的组成与接口信号 8253的计数器有6种工作方式: (1)方式0--计数结束中断 (2)方式1--硬件触发单拍脉冲 (3)方式2--频率发生器 (4)方式3--方波发生器 (5)方式4--软件触发选通 (6)方式5--硬件触发选通 8.2.2 计数器的工作方式及其与输入输出的关系 1.计数器的输出 O
原创力文档

文档评论(0)