- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
                        查看更多
                        
                    
                第9章 计数器/定时器和多     功能接口芯片 【基本要求】: 8253/8254的编程结构; 8253/8254的两类控制字; 8253/8254必须遵守的编程原则; 8253/8254的两类编程命令; 8253/8254的6种工作模式的特点; 82380的功能结构; 82380的中断模块。    定时信号可用软件和硬件两种方法来获得 软件定时:根据所需要的时间常数来设计一个延             迟子程序,延迟子程序中包含一定的             指令,设计者要对这些指令的执行时             间要进行严密的计算或精确测试,以             确定延迟时间是否符合要求。 硬件定时:用计数器/定时器,在简单的软件控             制下产生准确的时间延迟。 9.1  可编程计数器/定时器的工作原理 可编程计数器/定时器的功能: 计数器 定时器 计数器/定时器的用处: 作为中断信号 输出精确的定时信号 作为波特率发生器 实现延迟  8253/8254的工作过程: 由CPU向控制寄存器写入控制字,以确定工作方式; 由CPU向计数器寄存器写入计数初值或定时常数; 计数单元从计数器寄存器中获得初值,在CLK端输入的计数脉冲控制下进行减1计数(CLK决定计数速率); 减到0时,该状态由OUT输出或由状态寄存器的某一位表示,以作为中断请求信号或供查询方式使用,也可将OUT 连到一个I/O设备上,去启动一个I/O操作; 任何时候都可以将计数单元的当前值送到输出锁存器被CPU读取而不干扰计数器继续计数; 门脉冲GATE是由设备送来的,作为对时钟脉冲的控制信号,门脉冲对时钟的控制方法有多种,以形成多种工作方式。    9.2 8253/8254的编程结构和外部引脚信号  9.2.1 8253/8254的编程结构 组成: 有三个计数器,每个计数器内部有:8位的控制寄存器16位的计数初值寄存器、计数执行部件(减法计数器)CE和 输出锁存器OL。 共用1个控制寄存器和1个状态寄存器(只有8254有状态寄存器) 每个计数器通过3个引脚CLK、GATE和OUT和外部联系。 执行部件实际上是1个16位的减法计数器,其起始   值就是初值寄存器的值,而初值寄存器的值是通   过程序设置的。(计数初始值=时钟频率*T) 输出锁存器用来锁存计数执行部件的内容,从而使CPU可对此进行读操作。  9.2.2  8253/8254的外部信号 CLK2~CLK0  GATE2~GATE0 OUT2~OUT0 A1、A0  (错位连接) RD   WR  CS  D7 ~D0  8253输入信号与各功能的对应关系:   9.3 8253/8254的控制字和状态字 9.3.1  8253/8254控制字寄存器和控制字  1.模式设置控制字      9.3.2  8254的状态寄存器和状态字 状态寄存器的格式如下: 9.4  8253/8254的编程命令 编程有3条原则必须遵守: 对计数器设置初始值前必须先写控制字。 初始值设置时,要符合控制字中的格式规定,即只写低位字节还是只写高位字节,或高低位字节都写,控制字中一旦规定,具体初始值设定时就要一致。 要读取计数器的当前值和状态字,必须用控制字先锁定,才能读取。 编程命令包括两类 写入命令,包括 设置控制字命令 设置初值命令 锁存命令 读出命令 读取计数器当前的值。 对8254,还可读取状态字   ? 读取计数器2的当前计数值。设置计数器的4个端口地址     为70H,72H,74H,76H。 MOV  AL;对计数器2发锁存命令,锁存当前                     计数值 OUT  76H,AL	;76H为控制口地址 IN   AL,74H	;读取计数器2的读取值,74H为计数器                  2的地址 ―――――――――――――――---------------- ? 对8254读取状态字和计数值   MOV  AL	;计数器0的锁存命令   OUT  76H,AL	  ;76H为控制口地址,对锁存计数器0                    的状态和计数值   IN   AL,76H	  ;从状态口读取计数器0的状态   MOV  CL,AL	  ;将计数器0的状态送到CL   IN   AL,70H	  ;读取计数器0 的低8位   MOV  BL,AL	  ;将低8位送到BL   IN   AL,70H	  ;读取计数器0的高8位   MOV  BH,AL	  ;BX中为计数器0的当前计数值 9.5 8253/8254的工作模式 6种工作模式 计数结束产生中断 可重复触发的单稳态触发器 分频器 方
                 原创力文档
原创力文档 
                        

文档评论(0)