外围接口.pptxVIP

  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文档。上传文档
查看更多
外围接口

6.3 定时与计数技术定时的方法有 3 种:一、软件定时二、不可编程的硬件定时三、可编程的定时 一、软件定时 根据 CPU 执行每条指令需要一定的时间,重复执行一些指令就会占用一段固定的时间,通过适当地选取指令和循环次数便很容易实现定时功能,这种方法不需要增加硬件,可通过编程来控制和改变定时时间,灵活方便,节省费用。缺点是 CPU 重复执行的这段程序的本身并没有什么具体目的,仅为延时,从而降低了 CPU 利用率。 二、不可编程的硬件定时这种方法采用数字电路中的分频器将系统时钟进行适当的分频产生需要的定时信号;也可以采用单稳电路或简易定时电路(如常用的 555 定时器)由外接 RC 电路控制定时时间。这样的定时电路比较简单,利用分频不同或改变电阻R、电容C,可以使定时时间在一定范围内改变。缺点是这种定时电路在硬件接好后,定时范围不易由程序来改变和控制,使用不甚方便,而且定时精度也不高。 不可编程的硬件定时单稳态电路时序波形稳态触发信号暂稳态td三、可编程的定时在微机系统中,常采用软件、硬件相结合的方法,用可编程定时计数器芯片构成一个方便灵活的定时计数电路。这种电路不仅定时值和定时范围可用程序确定和改变,而且具有多种工作方式,可以输出多种控制信号,它由微处理器的时钟信号提供时间基准,故计时也精确稳定。 Intel 8254定时器/计数器就是这样一种可编程序间隔定时器 PIT(Programmable Interval Timer)芯片。6.3.1 可编程时间间隔定时器芯要功能:.3个独立的16位计数器通道;.按二进制或十进制计数;.通道计数速率最高10MHz;.通道有6种计数方式。8254通过编程可作为事件计数器、分频器、方波发生器、定时器、单脉冲发生器等。8254内部结构功能模块(1)数据总线缓冲器 8位双向三态的缓冲器。(2)读写控制逻辑 CS#无效时,电路禁止工作。但计数器启动后不受CS#的控制。 地址线A1A0寻址内部通道:00-通道0,01-通道1,10-通道2,11-控制寄存器。功能模块(3)控制字寄存器接收来自CPU的控制字,并由控制字D7、D6位的编码决定该控制字写入哪一个计数器的控制寄存器中。功能模块(4)计数器 8254有3个独立的计数器通道,每个通道的结构完全相同。每一个通道有一个16位减法计数器,还有对应的16位初值寄存器和输出锁存器。计数器的工作过程先写通道控制寄存器,然后写入计数初值。计数器对CLK进行减1计数,减到0,OUT输出结束信号。受GATE控制。计数过程中,MPU可以读取当前计数值,而不影响计数。读出时,先把当前计数值打入到锁存器,读出的是锁存器内容。二、8254的引脚 (1)与CPU一侧的接口信号8254有24条引脚,双列直插式封装。 D0-D7,三态双向数据线。CS#,片选信号,输入,低电平有效。WR#,写信号,输入,低电平有效。RD#,读信号,输入,低电平有效。A1、A0,地址输入线。(2)与外部设备的接口信号CLK0、CLK1、CLK2:时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号。GATE0、GATE1、GATE2:门控输入端。OUT0、OUT1、OUT2:计数输出端。锁存后读出当前值LSBMSB16位当前计数值锁存器OLOUT16位减1计数器CE(减1至0时)CLKGATE16位计数初值寄存器CR装入/读出初值LSBMSB计数器内部逻辑CR:16位 写入[两次]、清零CE:16位 计数OL:16位 读出状态REG:8位 读出 注意:GATE信号的作用与应用,重写CR的效果。8254的读写操作逻辑CS#RD#WR#A1A0操作功能01000计数初值装入计数器0 01001计数初值装入计数器101010计数初值装入计数器2 01011写控制寄存器 00100读计数器0 00101读计数器1 00110读计数器2三、8254的控制字及其编程(1)8254的方式控制7D6D5D4D3D2D1D0D7D6=00b,设定计数器0的工作参数。=01b,设定计数器1的工作参数。=10b,设定计数器2的工作参数。=11b,锁存计数器的当前计数值(后6位的解释不同!)。D5D4=01b,只读写低8位计数值。=10b,只读写高8位计数值。=11b,使用16位计数值。先读写低8位,后读写高8位。=00b,锁存该计数器的当前值,供CPU读取。D3D2D1=000b-101b,设定该计数器的工作方式为方式0-5。D0=0,二进制计数模式;=1,BCD计数模式。8254的编程举例1、初始化 假设:8254占用的地址为40H-43H,43H是控制口的地址。计数器0、1、2分别使用地址40H、41H、42H。对计数器0初始化,计数初值为2000,采用二进制计数,方式3。M

文档评论(0)

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

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

1亿VIP精品文档

相关文档