[高等教育]第9章计数器定时器8253.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[高等教育]第9章计数器定时器8253

第9章 计数器/定时器和多功能 接口芯片 本章重点 8253/8254的编程结构和工作原理 8253/8254控制寄存器的格式和编程命令 8253/8254的6种工作模式及其使用 第9章 计数器/定时器和多功能接口芯片 定时控制在微机系统中极为重要。 定时信号的获得: (1)软件方法 使用延迟子程序 优点:节省硬件 缺点:占用CPU的时间,降低CPU的效率; 需要拼凑延时时间,较麻烦。 (2)硬件方法 使用计数器/定时器 优点:计数时不占用CPU的时间,提高CPU的利用 率;时间延迟准确。 第9章 计数器/定时器和多功能接口芯片 Intel8253/8254为可编程计数器/定时器。 8254为8253的改进型,外部特性和使用方法相同,但频率较高,多了个别功能。 第9章 计数器/定时器和多功能接口芯片 9.1 可编程计数器/定时器的工作原理 9.2 8253/8254的编程结构和外部信号 9.3 8253/8254的控制字和状态字 9.4 8253/8254的编程命令 9.5 8253/8254的工作模式 9.6 8253/8254应用举例 9.7 32位微型计算机系统中的多功能接口芯片82380 9.1 可编程计数器/定时器的工作原理 计数器:计数减为0时,输出一个信号便结束。 定时器:不断产生信号。 计数器/定时器的用处: ① 作为中断信号实现程序的切换; ② 输出精确的定时信号; ③ 作为可编程的波特率发生器; ④ 实现时间延迟。 计数器/定时器的基本原理图 9.2 8253/8254的编程结构和外部信号 3个独立的16位计数器通道; 共用1个控制寄存器和1个状态寄存器(只有8254有状态寄存器)。 每个计数器有6种工作方式; 按二进制或十进制(BCD码)计数。 (1) 编程结构 3个计数器,每个计数器内部有: 16位的计数初值寄存器CR; 计数执行部件CE:16位的减法计数器; 输出锁存器OL:锁存CE的内容,便于CPU读出计数值; 编程结构 定时器/计数器的工作过程 1. 设置8253\8254的工作方式; 2. 设置计数初值到计数初值寄存器CR; 3. 第一个CLK信号使计数初值寄存器的内容置入 计数执行部件CE; 4. 以后每来一个CLK信号,CE减1; 5. OUT端输出一特殊波形的信号; 注:以上计数过程中还受到GATE信号的控制。 (2)8253/8254的外部信号 9.3 8253/8254的控制字和状态字 三个计数器共用一个控制寄存器,可对控制寄存器写入控制字使三个计数器工作在不同的模式,控制端口只写。 8254有一个状态寄存器,状态端口只读。 控制端口、状态端口地址——A1A0=11。 (1)8253/8254控制寄存器和控制字 控制字有两大类: 模式设置控制字:设置三个计数器的工作模式; 读出控制字:读取计数器的当前计数值和当前状态(只对8254)。 模式设置控制字 读出控制字(锁存命令) (2)8254状态寄存器和状态字 9.4 8253/8254的编程命令 编程原则: ① 设置初值前必须先写控制字; ② 初值设置要符合控制字中的格式规定; ③ 要读取计数器的当前值和状态字,必须用控制字先锁定,才能读取。 9.4 8253/8254的编程命令 编程命令有两类: ① 读出命令; 读计数器计数值 读状态寄存器值(只对8254) ② 写入命令; 模式设置控制字命令 读出控制字(琐存命令) 设置计数初始值 写入计数初值 选择二进制时 计数值范围:0000H~FFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:0000~9999 0000代表最大值10000 写入计数初值 当采用二进制计数时,计数初值N可以写成二进制形式,也可以写成十进制格式。 例如: MOV AX,0040H ;0040H是16位二进制计数0000000001000000 OUT Port, AL ;先写低8位(Port为端口号) MOV AL, AH OUT Port, AL ;后写高8位 写入计数初值 当采用十进制(BCD码)计数时,把计算得到的十进制计数初值N加上后缀H。 例如: MOV AL,100H ;计数初值N为十进制数(BCD码)100 OUT Port, AL MOV AX,2567H ;计数初值N为十进制数(BCD码)2567 OUT Port, AL ;先写低8位

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档