定时计数.pptVIP

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  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文档。上传文档
查看更多
定时计数

初始化程序段如下: MOV AL,34H ;通道0,16位计数,方式2,二进制计数 OUT 13H,AL ;写入方式控制字到控制字寄存器 MOV AL, 0E8H ; 计数初值低8位 OUT 10H,AL ;写入计数初值低8位到通道0 MOV AL, 03H ; 计数初值高8位 OUT 10H,AL ;写入计数初值高8位到通道0 例 2. 8253计数功能的应用 通过PC机系统总线在外部扩展一个8253,利用其通道0记录外部事件的发生次数,每输入一个高脉冲表示事件发生1次。当事件发生100次后就向CPU提出中断请求(边沿触发),假设8253片选信号的I/O地址范围为200H~203H,如图8.12。 外部事件产生 A0 A1 A3~A9 译码 电路 图8.12 8253用于外部事件的计数 根据要求,可以选择方式0来实现,计数初值N=100。8253初始化程序段如下: MOV DX,203H ;设置方式控制字地址 MOV AL,10H ;设定通道0为工作方式0,二进制计数,只写入 ;低字节计数值 OUT DX,AL ? MOV DX,200H ;设置计数器通道0的地址 MOV AL,64H ;计数初值为100 OUT DX,AL ? 例3 3. 8253计数通道的级联应用 已知某8253占用I/O空间地址为320H~323H,如图8.13所示,输入其CKL1端的脉冲频率为1MHz,要求用8253连续产生10秒的定时信号。 分析:8253的一个通道的最大计数范围为65536,本例中要求输出10秒定时信号,则计数初值N=10/10-6=107,超过了8253一个通道的最大计数值,此时可以使用2个8253通道级连方式来实现。若级连前2个通道的初值为N1和N2,则级连后作为一个整体的计数值为N=N1×N2。 通道1 通道2 10秒定时输出 图8.13 8253通道的级联 设计数器初值N1=500=1F4H,N2=20000=4E20H,使用方式2,二进制计数,则通道1、2的初始化程序如下: MOV DX,323H ? MOV AL,74H ,通道1,写入16位初值,方式2, ;二进制计数 OUT DX,AL ;写入通道1方式字 MOV DX,321H ? MOV AL, 0F4H ? OUT DX,AL ;写入初值500的低8位入通道1 MOV AL,01H ? OUT DX,AL ;写入初值500的高8位入通道1 MOV DX,323H ? MOV AL,0B4H ,通道2,写入16位初值,方式2, ;二进制计数 OUT DX,AL ;写入通道2方式字 MOV DX,322H ? MOV AL, 20H ? OUT DX,AL ;写入通道2初值20000的低8位 MOV AL,4EH ? OUT DX,AL ;写入通道2初值20000的高8位 8253应用举例 例:现有一个高精密晶体振荡电路,输出信号是脉冲波,频率为1MHz。要求利用8253做一个秒信号发生器,其输出接一发光二极管,以0.5秒点亮,0.5秒熄灭的方式闪烁指示。设8253的通道地址为80H~86H(偶地址) 解:1、时间常数计算 这个例子要求用8253作一个分频电路,而且其输出应该是方波,否则发光二极管不可能等间隔闪烁指示。频率为1MHz信号的周期为1微妙,而1Hz信号的周期为1秒,所以分频系数N可按下式进行计算: 由于8253一个通道最大的计数值是65536,所以对于N=1000000这样的大数,一个通道是不可能完成上述分频要求的。由于 即取两个计数器,采用级联方式。 2、电路 3、工作方式选择 由于通道1要输出方波信号推动发光二极管,所以通道1应选工作方式3。对于通道0,只要能起分频作用就行,对输出波形不做要求,所以方式2和方式3都可以选用。 这样对于通道0,我们取工作方式2,BCD计数;对于通道1,我们取工作方式3,二进制计数(当然也可选BCD计数) 4、程序 mov al ;通道0控制字 out 86h,al mov al,00 ;通道0初始计数值 out 80h,al mov al,10h out 80h,al mov al ;通道1控制字 out 86h,al mov al,0e0h ;通道1初始计数值,03E8H=1000BCD out 82h,al mov al,03h out 82h,al

文档评论(0)

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

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

1亿VIP精品文档

相关文档