- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 常用接口电路
用方式4工作时,GATE门控信号只是用来允许或不允许定时操作的,定时的执行过程由装入的初值决定,波形图如图8.8(a)、(b)、(c)所示。 图7.8(a) 方式4 正常计数 图7.8(b) 方式4 GATE 信号的作用 图7.8(c) 方式4 计数过程中改变计数值 例:设8253计数器1工作于方式4,按二进制计数,计数初值为3,则初始化程序段为: MOV AL,058H ;设置控制字寄存器 OUT 43H,AL ;送控制字 MOV AL,3 ;置计数初值 OUT 41H,AL ;送计数初值 设8253占用端口地址40H~43H。 这种工作方式同方式4很相似,当控制字写入控制寄存器后,输出端OUT变高。 同方式4不同的一点是当计数值写入通道计数器后,通道并未被触发,也就是计数器并不立即开始计数。只有当GATE信号的上升沿触发通道后,通道计数器才开始计数。 6. 方式5 —— 硬件触发选通方式 (Hardware Triggered Strobe) 方式5为硬件触发选通方式,完全由GATE端引入的触发信号控制定时和计数,波形图如图8.9(a)、(b)、(c)所示。 图7.9(a) 方式5 正常计数 OUT LSB = 3 WR CLK GATE CW = 1A 3 2 1 0 FF 3 图7.9(b) 方式5时GATE 信号的作用 图7.9(c) 方式5时计数过程中改变计数值 8253的六种工作方式可归为两类: 充当频率发生器 主要是作计数器来使用 下面就从这个角度来讨论总结OUT和GATE门的作用 8253的工作方式小节 8253有两种方式与频率发生器有关,即方式2和发生3, 对OUT端 方式2提供给用户的是负脉冲 方式3提供给用户的是方波 频率发生器有关的工作方式 在这个两种方式下,GATE信号要始终保持为高 对于计数器类,有方式0、1和方式4、5。 启动计数器的方式有两种 软启动方式 CPU把时间常数写入相应通道后,计数器就开始工作,我们可以称之为软件启动方式, 在这种启动方式下,GATE要始终保持为高电平,所以方式0和方式4可以称为软件启动方式。 与计数器器有关的工作方式 硬件启动计数器 CPU把时间常数写入计数器后,即使GATE为高电平,计数器并不工作。只有GATE发生跳变,其上升沿启动计数器工作,所以方式1和方式5就可以称为硬件启动方式。 计数器溢出时,OUT有两种输出形式 电平 方式0方式1 负脉冲 方式4和方式5 各种工作方式的输出波形 方式 0 方式 1 方式 2 方式 3 方式 4 方式 5 0 N 0 N 0 N 0/N 1 1 0 N N/2 N/2 0/N 0 N 0 1 N 0 1 N 0 1 刚接通电源时,8253芯片通道都处于未定义状态,在使用之前,必须用程序把它们初始化为所需的特定模式,这个过程称为初始化编程。 (1) 写入控制字 用输出指令向控制字寄存器写入一个控制字,以选定计数器通道,规定该计数器的工作方式和计数格式。 8253初始化编程 (2) 写入计数初值 用输出指令向选中的计数器端口地址中写入一个计数初值,初值设置时要符合控制字中有关格式的规定。若是8位数,只要用一条输出指令就可完成初值的设置。如果是16位数,则必须用两条输出指令来完成,而且规定先送低8位数据,后送高8位数据。注意,计数初值为0时,也要分成两次写入,因为在二进制计数时它表示65536,在BCD计数时它表示10000。 8253工作过程中,CPU可用输入指令读取任一通道的计数值。CPU读到的是执行输入指令瞬间计数器的当前值。但8253的计数器是16位,所以要分2次读至CPU。因此,若不锁存的话,在前后两次执行输入指令的过程中,计数值可能已经变化了。锁存当前计数值有下面两种方法: ①利用GATE信号使计数过程暂停。 ②向8253写入一个方式控制字, 令8253通道的锁存器锁存。 例如,在某微机系统中,8253的3个计数器的端口地址分别为3F0H、3F2H和3F4H,控制字寄存器的端口地址为3F6H,要求8253的通道0工作于方式3,BCD计数,并已知对它写入的计数初值n=1234(十进制数),则初始化程序为: MOV OUT MOV AL, ;控制字:选择通道0,先读/写低字节,; 后高字节,方式3,BCD计数 MOV DX, 3F6H ;指向控制口 OUT DX, AL ;送控制字 MOV AL, 34H ;计数值低字
文档评论(0)