- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 定时计数控制接口 华北电力大学 计算机系 刘丽 定时计数控制接口 定时器和计数器 定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能 它们都是由数字电路中的计数电路构成 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器 定时功能的实现方法 软件延时 利用微处理器执行一个延时程序段实现 不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率改变 不可编程的硬件定时 采用分频器、单稳电路或简易定时电路由外接RC电阻、电容电路控制定时时间 定时电路简单、定时时间可以在一定范围改变 可编程的硬件定时 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 具有多种工作方式、能够输出多种控制信号 8.1 8253/8254定时计数器 Intel8253是可编程间隔定时器(Programmable Interval Timer),同样也可以做事件计数器(Event Counter) 8253有3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 8.1.1 8253/8254的内部结构和引脚 1. 计数器 计数器的3个引脚 2. 与处理器接口 8.1.2 8253/8254的工作方式 8253有6种工作方式,由方式控制字确定 每种工作方式的过程类似: ⑴ 设定工作方式 ⑵ 设定计数初值 ⑶ 硬件启动 ,方式1和方式5必须,GATE端出现上升沿 ⑷ 计数初值进入减1计数器 ⑸ 每输入一个时钟计数器减1的计数过程 ⑹ 计数过程结束 8253/8254的工作方式说明 方式0、1和4、5,如果不重新设定计数初值或提供硬件启动信号,计数器就此停止计数过程 方式2和3,计数值减至0后,自动将预置寄存器的计数初值送入减1计数器,同时重复下一次计数过程,直到写入新的方式控制字停止 若设置计数初值为N,则从输出指令写完计数初值到计数结束,CLK信号的下降沿有N+1个;但从第一个下降沿到最后一个下降沿之间正好是N个完整的CLK信号 1.方式0:计数结束中断 2.方式1:可编程单稳脉冲(N×时钟周期的单稳负脉冲) 3.方式2:频率发生器(分频器) 4.方式3:方波发生器 5.方式4:软件触发选通信号 6.方式5:硬件触发选通信号 7.各种工作方式的输出波形 每种工作方式写入计数值N开始计数后,OUT输出的信号不尽相同 计数过程中写入新计数值,也将引起输出波形的改变 总的来说,GATE信号为低禁止计数,为高允许计数,上升沿启动计数 8.1.3 8253/8254的编程 8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作 写入控制字 写入计数初值 读取计数值 8254的读回命令 1. 写入方式控制字 2. 写入计数值 选择二进制时 计数值范围:0000H~FFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:0000~9999 0000代表最大值10000 3. 读取计数值 对8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行锁存,然后读取: 向控制字I/O地址:给8253写入锁存命令 从计数器I/O地址:读取锁存的计数值 读取计数值后,或对计数器重新编程,将自动解除锁存状态 4.8254的读回命令 8254比8253多了读回命令,可以令3个通道的计数值和状态锁存,向CPU返回一个状态字 读回命令写入控制端口,状态字和计数值都通过计数器端口读取 8.2 8253在IBM PC系列机上的应用 8.2.1 定时中断和定时刷新 计数器0:初始化程序 mov al,36h ;36H=00 11 011 0B ;计数器0为方式3,采用二进制计数 ;先低后高写入计数值 out 43h,al ;写入方式控制字 mov al,0 ;计数值为0 out 40h,al ;写入低字节计数值 out 40h,al ;写入高字节计数值 计数器0:定时中断 计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波 门控为常启状态,这个方波信号不断产生 OUT0端接8259A的IRQ0,用作中断请求信号 每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断 DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能,记录18次中断就是时间经过了1秒 计数器1:定时刷新 需要重复不断
文档评论(0)