课件:常用可编程接口芯片1定时器.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
课件:常用可编程接口芯片1定时器.ppt

特点 ①在这种方式下,若设置的计数值是N,则在GATE脉冲后,经过(N+1)个CLK才一个负脉冲; ②若在计数过程中又来一个GATE脉冲,则重新装入初值开始计数,输出不变,即计数值多次有效; ③若在计数过程中修改计数值,则该计数值在下一个GATE脉冲后装入开始按此值计数。 3. 8253/8254的编程 8253是可编程接口芯片 8253/8254需要处理器对他进行初始化编程,才能正确工作。 编程指的是 设置控制字 设置时间常数 等 (1)控制寄存器与控制字 有两个——模式设置寄存器和读出控制寄存器 ① 模式设置控制字 (a)BCD——计数初值格式,=0,二进制 =1,BCD码 地址:最高端口——控制端口 (b)M2,M1,M0——模式选择 000 模式0 001 模式1 X10 模式2 X11 模式3 100 模式4 101 模式5 (c)WR1,WR0——读/写指示位。 00 对计数器进行锁存,以便读出 01 只读/写低8位 10 只读/写高8位 11 先读/写低8位,后读/写高8位 (d)SC1,SC0 计数器选择 00 选择计数器0 01 选择计数器1 10 选择计数器2 11 读出控制字的标识码,只要该2位=0,写入的是读出模式控制字 控制字写入控制字I/O地址:A1A0=11 计数器 读写格式 工作方式 数制 D7 D6 D5 D4 D3 D2 D1 D0 00 计数器0 01 计数器1 10 计数器2 11 非法 (8253) 11 读回命令 (8254) 00 计数器锁存命令 01 只读写低字节 10 只读写高字节 11 先读写低字节 后读写高字节 000 方式0 001 方式1 *10 方式2 *11 方式3 100 方式4 101 方式5 0 二进制 1 十进制 设置模式设置控制字举例 假设8253端口:80H,82H,84H,86H,通道0使用二进制计数,工作在模式0,通道1使用BCD计数,模式1,通道2使用二进制计数,模式2,全部通道16位计数器,先写低8位,后写高8位。 通道0模式控制字: 通道1模式控制字: 通道2模式控制字: MOV DX,86H; MOV AL,30H;控制字 OUT DX,AL MOV AL,73H; OUT DX,AL MOV AL,0B6H OUT DX,AL ②. 读出控制字 D7,D6,=11,为读出模式控制字,这时D0=0 D5:=0,将所选定的计数器当前计数值锁存,以便后面读取 D4:=0,将所选定的计数器的状态进行锁存,…… D3,D2,D1:分别对应3个计数通道,=1,选中通道被锁存 可以同时锁存多个通道的计数器的计数值 但不能同时锁存多个计数器的状态 地址:最高端口——控制端口 写 (2) 状态寄存器 只有8254有状态端口,8253无该端口。 D7: 输出端OUT的状态 D6: 表示初值是否已装入计数器,=0:已装入,=1未装入 D5~D0:与模式寄存器含义相同 (3) 编程命令与初始化编程 编程原则: ① 设置初值前必须先写模式控制字 ② 初值设置要符合控制字中的格式规定 ③ 要读取计数器的当前值(或读取状态字),必须用控制字先锁定,再读取。 编程命令有两类: ① 写入命令 ② 读出命令 写入命令——3个 有三个 (1)设置模式控制字命令 设置工作模式等。 (2)设置初始值命令 (3)锁存命令 与读出命令配合,在读出前,要先锁存 读出命令——2个 (1)读取计数器当前的值。 要先锁定,然后再读出。 (2)对8254,还可读取状态字 要先锁定,然后再读出。 例如要读出通道2的计数值,先向读出控制寄存器写锁定命令 端口地址:70H,72H,74H,76H 例如要读出通道2的 11 0 1 1 0 0 0 读出控制字 D7,D6,=11,为读出模式控制字,这时D0=0 D5:=0,将所选定的计数器当前计数值锁存,以便后面读取 D4:=0,将所选定的计数器的状态进行锁存,…… D3,D2,D1:分别对应3个计数通道,=1,选中通道被锁存 可以同时锁存多个通道的计数器的计数值 但不能同时锁存多个计数器的状态 地址:最高端口——控制端口 写 方式控制字编程示例 ; 8253的计数器0、1、2端口和控制端口地址: 40H~43H ;设置其中计数器0为方式0 ;采用二进制计数,先低后高写

文档评论(0)

iuad + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档