网站大量收购独家精品文档,联系QQ:2885784924

第11章 定时与计数技术.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章 定时/计数技术 11.1 定时与计数 11.1.1 定时与计数的关系 1.定时 2.计数 3.定时与计数的关系 11.1.2 微机中的定时系统与时序配合 1.定时系统 通常微机中的定时分为两种定时系统:一是内部定时;二是外部定时. 2.时序配合 内部定时是由CPU硬件决定的,固定不变。外部定时,由于外设或被控对象的任务不同。功能各异,因此,是不固定的,往往需要用户根据外设的要求进行定时。 外部定时必须要依据计算机内部定时的规定来设计外部定时机构,使其既符合计算机内部定时的规定,又满足外部设备的工作时序要求,叫作时序配合。 11.1.3 外部定时方法及硬件定时器 1. 定时方法 (1)软件定时:利用CPU内部定时机构,编一段循环执行的程序而产生等待延时。下面是延时程序段: MOV BX,OFFH DELAY: DEC BX JNZ DELAY (2)硬件定时:它采用外部定时器进行定时。独立于CPU定时的定时,使用灵活。 2. 外部硬件定时 (1)不可编程的定时器:如555定时器等 (2)可编程的定时器:8253/8254/82C54等。 11.2 可编程定时/计数器 11.2.1 82C54的基本特点 CHMOS82C54是专为Intel系列微处理机而设计的一种可编程时间间隔定时器/计数器,它是一种通用芯片,在系统软件中可以把多级定时元素当成输入/输出端口中的一个阵列看待。 1. 既可用作定时器,又可用于计数器 2. 三个独立的16位计数器,每个计数器最大计数65536个数。 3. 内部进行减法计数,计数之前要置初值。 4. 计数码制采用二进制或BCD计数两种。 5. 每个计数通道有6 种可编程的计数模式 6. 82C54是外部定时系统,不受CPU的控制 11.2.2 82C54的外部连接特性与内部结构 1. 82C54的外部连接特性 2. 82C54的内部结构框图 数据总线缓冲器、读/写逻辑、控制字寄存器与三个计数器部件介绍: (1) 数据总线缓冲器:是82C54与系统总线连接的接口,由三态门、双向8位的缓冲器。 (2) 读/写逻辑部件:对82C54的控制信号,A1和A0是计数器的选择;RD和WR为读写控制;CS是控制RD和WD的信号。 (3) 控制字寄存器:由A1A0的二进制数和读写逻辑部件来选择控制字寄存器。 (4) 计数器:三个独立的16位计数器(216值) 3个计数通道内部逻辑 11.2.3 82C54的命令字 82C54有 3个命令字和1个状态字。这三个命令寄存器是:方式命令、锁存命令和读回命令。其注意点是这3个命令字寄存器使用同一个命令端口,必须按顺序写入。 1.方式命令字寄存器 (1)作用:选定计数器通道及工作方式、读/写字节的顺序以及计数码制。 (2)格式: SC1 SC0—选择计数器: 00:选通道0; 01:选通道1; 10:选通道2; 11:不用。 ?RW1 RW0—读写控制: 00:不用;01:只读/写低字节;10:只读/写高字节;11:先读/写低字节,再读/写高字节。 ?M2 M1 M0—计数通道的工作方式选择: 000:0方式;001:1方式;x10:2方式;x11:3 方式;100:4 方式;101:5方式。 ? BCD—二进制或二进制编码的十进制计数: 0为二进制;1 为BCD。 举例:选择计数器0,读写低字节,计数器工作在0方式,二进制计数器。则 SC1 SC0 = 00,RW1 RW0 = 01,M2 M1 M0 = 000, BCD = 0时 方式命令字为 2.锁存命令寄存器 (1)作用:将减法计数器当前的内容锁存到输出锁存器,以供CPU提取。 (2)格式: 举例: 要求:在计数器通道1读取当前值锁存到暂存寄存器,并把读取的计数值装入AX寄存器,设82C54的4个端口地址为:通道0=304H;通道1=305H;通道2=306H;命令寄存器=307H.其程序段为: MOV AL, 0100XXXXB OUT 307H, AL IN AL, 305H MOV BL, AL IN AL, 305H MOV AH, AL MOV AL, BL 3.读回命令 举例:读取计数器2的当前计数值, 则读回命令 读取计数器2的当前状态, 则读回命令 读取计数器2的当前计数值和状态, 则读回命令 读取3个计数器的当前计数值和状

文档评论(0)

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

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

1亿VIP精品文档

相关文档