71概述72cpu与外设数据传送的方式73可编程计数器定时内容摘要:

PU把控制字写入控制寄存器,计数初始值写入初值寄存器 计数从初值开始,每当 CLK信号出现一次,计数值减 1 当计数值减到 0,从 OUT端输出规定的信号 CLK信号出现时,计数器是否减 1,由门控信号 GATE控制 一、计数 /定时的工作原理 CLK是计数输入信号,计数器对 CLK端出现的脉冲个数进行计数 •CLK端可以输入外部事件 •CLK端可以接入固定频率的时钟信号,从而实现计时 OUT信号在计数结束时发生变化 •可将 OUT作为外部设备的控制信号 •可将 OUT作为向 CPU申请中断的信号 CPU可以从计数输出寄存器读出当前计数值。 读前,应向控制寄存器发送锁存命令 二、 8253的编程结构 1片 8253内部有三个计数器,结构完全相同 8253的引脚、内部结构、寻址方式 P. 229 每个计数器内部都有一个 8位控制寄存器,三个控制寄存器使用相同的端口,在编程结构图中画为一个 8253没有状态寄存器 二、 8253的编程结构 8253控制字的格式 P. 230 每个计数器的初值寄存器( CR)、输出锁存器( OL) 都是 16位的,但它们对应相同的一个 8位端口地址,所以 16位的 CR、 OL作为两个 8位寄存器读写,由控制寄存器控制读写高 8位 /低 8位 三、 8253的编程命令 •初始化 1)写入控制字 2)按控制字要求写入计数初值 计数器初值计算: N=fCLK/fOUT 例:设三个计数器的 CR/OL端口地址为 70H、 71H、 72H,控制寄存器端口地址 73H。 计数器 0,工作模式 2, CR/OL仅使用低 8位,初值为 100,计数值使用二进制 MOV AL, 14H OUT 73H, AL MOV AL, 100 OUT 70H, AL 三、 8253的编程命令 例:设三个计数器的 CR/OL端口地址为 70H、 71H、 72H,控制寄存器端口地址 73H。 计数器 1,工作模式 1, CR/OL使用 16位,初值为 1234,计数值使用 BCD MOV AL, 73H OUT 73H, AL MOV AX, 1234H OUT 71H, AL MOV AL, AH OUT 71H, AL 三、 8253的编程命令 •读出命令 1)发出锁存命令,使当前计数值锁存在 OL中 2)读 OL,获得当前计数值 例:设三个计数器的 CR/OL端口地址为 70H、 71H、 72H,控制寄存器端口地址 73H。 读出计数器 0的当前计数值,放在 BX中 MOV AL, 0H OUT 73H, AL IN AL, 70H MOV BL, AL IN AL, 70H MOV BH, AL 四、 8253的工作模式 工作模式决定以下内容: 1)门控信号的影响 高电平允许,当 GATE=0,即使出现 CLK,也不计数 —— 模式 0, 2, 3, 4 上升沿允许(上升沿。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。