第4章 常用的可编程接口芯片介绍.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 常用的可编程接口芯片介绍 定时/计数器及其应用 并行接口及其应用 串行通信接口及其应用 模拟量输入输出接口及其应用 定时信号可用三种方法: 软件延时 不可编程的硬件定时 可编程的硬件定时 第一节 定时/计数器及其应用 一、 Intel 8254的内部结构 二、8254与系统的连接: 三、 Intel 8254端口操作表 四、Intel 8254控制字/状态字 1. 方式控制字 方式控制字(续) M2M1M0=000方式0 M2M1M0=001方式1 M2M1M0=x10方式2 M2M1M0=x11方式3 M2M1M0=100方式4 M2M1M0=101方式5 D0=0,按二进制减1计数,初值范围0000H∽FFFFH D0=1,按十进制减1计数,初值范围0000H∽9999H 2. 读出控制字 3. 状态字 五、Intel 8254的编程命令 1.写入命令(先写控制字,再写计数初值) 任何一个计数器都有3个写入命令: 设置控制字命令——用来选择计数器、写入计数初值的规则、设定工作方式和计数格式. 设置计数初值命令——写入计数初值寄存器. 输出锁存器的锁存命令——锁存命令与读出命令一起使用,当前计数值在输出锁存器中锁定后才读出. 2.读出命令(先锁存,再读操作) 在读操作之前先将计数锁存命令送入要读的计数器的控制端口中. 读出命令的目的是CPU读计数器中的计数值,读操作由方式控制字中的RW1,RW0的状态组合来控制. 例:读取0#计数器当前的计数值,程序段如下:(设8254的片选地址范围是0E0H~0E3H) MOV AL,00H ;0#计数器的锁存命令 OUT 0E3H,AL ;锁存命令写到控制口 IN AL,0E0H ;读锁存器的低字节 MOV BL,AL ;低字节送BL IN AL,0E0H ;读锁存器的高字节 MOV BH,AL ;高字节送BH 则BX的内容就是0#计数器当前的计数值。 六、Intel 8254的工作方式 按功能分 1、计数器方式:当计数器被赋予初值时,在门控信号GATE开启状态下,由输入的CLK时钟对计数器进行减1计数。在CLK连续脉冲作用下,计数器减到0时,由OUT端输出信号。 作为对外部事件计数的CLK可以是均匀的、连续的,也可以是非均匀连续的,它只是脉冲数量问题,不是脉冲的时间问题。 2、定时器方式:当定时器被赋予初值时,在GATE开启状态下,由CLK时钟脉冲触发定时器开始工作,定时器在OUT端不间断地产生CLK时钟整数倍的定时时间间隔。 CLK必须是连续的、均匀的、周期精确的时间脉冲,并且最终结果还与CLK脉冲周期有关,即计时时间等于计数值乘CLK脉冲周期。 每个计数器都有6种工作方式 共同特点: 1、控制字写入计数器的控制寄存器时,输出端OUT进入初始状态。设置成方式0时,OUT端的初始状态为低电平;设置成其他方式时,OUT端的初始状态为高电平。 2、初始值被写入8254相应计数器的初值寄存器CR以后,要用一个时钟脉冲的上升沿和下降沿将初值送入计数执行部件(减计数器),减计数器从下一个时钟开始进行计数。 3、用时钟脉冲的上升沿对门控信号GATE进行采样。如果计数器工作在方式0或方式4,则门控信号为电平触发;工作在方式1或方式5时,则门控信号为上升沿触发;工作在方式2或方式3时,门控信号可以用上升沿触发,也可用下降沿触发。 4、在时钟脉冲的下降沿,计数器作减1计数。 5、0000H是计数器的最大初始值。二进制计数时该初值相当于65536,BCD码计数时相当于10000. 计数器在不同的工作方式下,主要区别: 1、OUT引脚的输出波形不同。 2、启动计数器计数的触发方式不同。 3、门控信号GATE对计数器的影响不同。 4、有的工作方式具备“初值自动重装”的功能。 六、Intel 8254的工作方式 1. 方式0——计数结束输出正跳变信号 2. 方式1——硬件可重复触发的单稳 3. 方式2——分频器 4. 方式3——方波发生器 5. 方式4——软件触发的选通信号发生器 6. 方式5——硬件触发的选通信号发生器 七、Intel 8254的初始化程序流程 Intel 8254的初始化编程 1、计数初值已知 初值<FFH 初值> FFH 2、计数初值未知 或 3、读当前计数值:先锁存再读 4、级联:计数时间超出一个16位计数器 范围 例:8254的1#计数器工作在方式0,二进制计数,计数初值为4.设端口地址为E0H,E2H,E4H和E6H. 初始化程序段: MOV AL,50H

文档评论(0)

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

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

1亿VIP精品文档

相关文档