接口技术课件汇总.ppt

  1. 1、本文档共357页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
接口技术课件汇总

* 三、8254的工作方式 8254的3个计数器均有6种工作方式, 6种工作方式的主要区别在于输出波形不同、启动触发方式不同和计数过程中门控信号GATE对计数操作的影响不同。 工作于任何一种方式,都必须先写控制字至控制字寄存器,以选择所需方式; 对二进制形式计数为0000H ~ FFFFH,其中0000H为最大值,代表65536;对十进制(BCD码)计数为0000 ~ 9999,其中。0000为最大值,代表10000。(共同点:最高位看不到) * 地址分配 * 6种工作方式(模式) 方式命令字 【写入控制字寄存器内】 * 方式命令字 注:对8283定时器,D7 D6为1、1无意义, 但对8284定时器有定义,见下页。 看定时器结构 * 读出控制字: D7 D6 D5 D4 D3 D2 D1 D0 1 1 CNT2 CNT1 CNT0 0 锁存当前计数值 锁存当前计数器状态 工作方式选择 注:因用的很少,不讲此控制字。 * 1. 方式0: 方式0 计数减到0输出正跃变信号方式 (Out Signal on End of Count (=0))。它是典型的事件计数用法,当计数单元为全零时,OUT信号由低变高,一般作为中断请求信号使用。 方式0的基本功能是:当写入控制字后,OUT信号变为低电平,并维持低电平,直到计数内容减到零时,OUT信号立即变为高电平,并维持高电平直到再次写入新的计数值或重新写入控制字。门控信号GATE用于开放或禁止计数,GATE为1允许计数,为0则停止计数。 * 方式0波型图: 如GATE恒为高电平,且不再写入新初值,则OUT将一直维持高电平。 计数器 CLK GATE OUT * 3. 方式2:分频方式 方式2的特点是计数器有“初值自动重装”的功能,即计数值减到0后,原计数初值会自动地重新装入计数器,同时OUT端输出一个脉冲,所以能够输出固定频率的脉冲,即有分频功能。如果初始值为4,则输出频率将是输入脉冲频率的1/4。 计数器 CLK GATE OUT * 方式2波形图: * 4. 方式3 : 方波发生器 方式3称为方波发生器(Square Wave Output)方式。它的典型用法是作为波特率发生器。方式3有初值自动重装的功能。其工作特点如下: ① 写入控制字后,OUT输出为低电平。写入计数初值n后,如果GATE为高电平,则 在下一个CLK脉冲下降沿时,OUT跳变为高电平,同时计数器开始计数。 ② 当计数初值为偶数的时候,每来—个CLK脉冲,计数值减2;当计数值减到0的时候输出端改变极性,内部完成初值自动重装,继续计数。因此,输出端为1:1的方波,正脉冲和负脉冲的宽度均为n/2的CLK周期。 ③当计数初值为奇数的时候,负脉冲比正脉冲窄1个CLK脉冲宽度。如计数初值为9,则正脉冲宽度为5个CLK脉宽,而负脉冲宽度为4个CLK脉宽。 * 方式3波形图: * 8254的编程 8254复位后,3个计数器的OUT引脚均为低电平,8254内所有寄存器状态未知。 和所有的可编程接口芯片一样,要让8254工作,首先必须对8254进行初始化。 * 初始化编程: 8254的初始化编程包括两方面: 一是向控制字寄存器写入方式控制字,如3个都用要写3次(1个地址)。 二是向所使用的计数器写入计数初值。如3个都用要写3次(3个地址)。 注意:每个计数器在使用前,都要向控制字寄存器中为该计数器写入一个方式控制字。 例如: 某8254的地 址为40~43H 则: 计数器0:40H 计数器1:41H 计数器2:42H 控制字: 43H * 例: 计数器 CLK GATE OUT +5V 方波 10MHz 5kHz 试使用8254的计数器0做成一个频率为5kHz的方波发生器,设8254的端口地址为40H~43H,时钟fclk0=10MHz。 解:根据8254的工作方式,计数器0应工作于方式3。计数初值=fclk0÷fout0=10MHz÷5kHz=2000。 * 初始化程序: MOV AL OUT 43H,AL ;写控制字,定义计数器0 ;使用16位二进制计数 ;工作于方式3, MOV AX,2000 OUT 40H,AL ;为计数器0送计数初值 ;先送低8位 MOV AL,AH

文档评论(0)

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

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

1亿VIP精品文档

相关文档