写入计数值.PPT

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

例2:如图连接,要求定时器输出一个1秒的负脉冲,完成软件设计。 一级的定时器无法完成输出 定时器0先输出10ms,连续方波 定时器1计数100次,连续脉冲 * * * * * ①当计数值为N时,则间隔N+1个CLK脉冲输出一个负脉冲(计数一次有效); ②GATE=0时,禁止计数,GATE=1时,恢复继续计数; ③在计数过程中重新装入新的计数值,则该值是立即有效的(若为16位计数值,则装入第一个字节时停止计数,装入第二个字节后开始按新值计数)。 6.方式5—硬件触发的选通信号发生器 当控制字写入后,OUT立刻变高,写入计数值后并不立即开始计数,而是由GATE的上升沿触发启动计数的,当计数到0时,输出变低,经过一个CLK之后,输出恢复为高,计数停止,若再有GATE脉冲来,则重新装入计数值开始计数,上述过程重复 ①在这种方式下,若设置的计数值是N,则在GATE脉冲后,经过(N+1)个CLK才一个负脉冲; ②若在计数过程中又来一个GATE脉冲,则重新装入初值开始计数,输出不变,即计数值多次有效; ③若在计数过程中修改计数值,则该计数值在下一个GATE脉冲后装入开始按此值计数。 五、 8253的编程应用 1、8253在PC机中的应用 1)计数器0。8253作为定时计数器电路,将计数器0编程为方式3,GATE0固定为高电平,OUT0作为中断请求信号接至8259A中断控制器的第0级IRQ0。这个定时中断(约55ms)用于报时时钟的时间基准。 MOV AL,0011 0110B;0011 0110――二进制 OUT 43H,AL MOV AL,0;计数初值为0000,即为216 OUT 40H,AL OUT 40H,AL;定时为:即频率为每秒产生18.2次时钟中断(CLK周期为:1.19KHZ) 2)计数器1 。为动态存储器刷新提供信号,定时方式2,计数值18,每15us刷新一次。 MON AL,54H OUT 43H,AL MOV AL,18 OUT 41H,AL 3)计数器2。编程为方式3,600HZ的方波输出,通过滤波,去除高频分量后送扬声器,GATE2是8255的PB0,OUT输出经一与门控制,控制信号为8255的PB1,这样利用PB0、PB1同时为高的时间来控制发长音还是发短音。 时钟频率F为1.19MHZ,T=1/F,T=838ns 8253-5的地址为040H~043H, BEEP   PROC  NEAR MOV AL,1011 0110B;1011 0110――二进制 OUT 43H,AL MOV AX,1989 OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H;取8255B端口 MOV AH,AL;存在AH OR AL,03H; OUT 61H,AL;输出至82255的B端口,使扬声器发声 SUB CX,CX;循环计数 G7: LOOP G7 MOV BH,0 DEC BX;BL的值为控制长短声,BL=6(长),BL=1(短) JNZ G7 MOV AL,AH;恢复8255B端口值,停止发声 OUT 61H,AL RET BEEP ENDP 2、 8253的应用举例 8253可与各种微型计算机系统相连并构成完整的定时、计数或脉冲发生器。在使用8253时有两项工作要做,一是要根据实际应用要求,设计一个包含8253的硬件逻辑电路或接口,二是对8253进行初始化编程。 例1 将8253的计数器1作为5ms定时器,设输入时钟频率为200kHz,试编写8253的初始化程序。 (1)计数初值N计算 已知输入时钟CLK频率为200kHz,则时钟周期为5us,于是计数初值N=5ms/T=1000。 (2) 确定控制字 按题意选计数器1,按BCD码计数,工作于方式0,由于计数初值N=1000,控制字D5D4应为11,于是8253的控制字为=71H。 (3) 选择8253各端口地址 设计数器1的端口地址为201H,205H控制口地址 为203H,207H。 (4) 初始化程序如下 MOV AL,71H ;控制字 MOV DX,203H ;控制口地址 OUT DX,AL ;控制字送8253控制寄存器 MOV DX,201H ;计数器1端口地址 MOV AL,00 ;将计数初值N=1000的低8位 写入计数器1 OUT DX

文档评论(0)

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

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

1亿VIP精品文档

相关文档