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

[理学]接口技术 第8章.ppt

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

第8章 定时计数技术 8.1 概述 8.2 可编程定时计数器8253 8.1 概述 实现定时和计数的方法有三种: 1. 完全硬件定时 用数字电路中的分频器将系统时钟进行适当的分频产生需要的定时信号; 2. 完全软件定时 利用CPU执行指令都需要几个固定的指令周期的原理,运用软件编程的方式进行定时。 3. 可编程的器定时/计数器 可编程定时/计数器是一个具有计数和定时功能的专用芯片。 8.2 可编程定时/计数器8253 3个结构完全相同的16位减计数器,分别是0#、1#和2#。 每个计数器可独立工作,二进制计数器和十进制计数器。 每个计数器有六种工作方式。 8253在使用前必须先向其写控制字。向其写控制字设定其工作方式就叫作可编程。 A1A0编码与8253内部寄存器的对应关系 8.2.3 8253计数器的计数启动方式 和计数结束方式 软件启动计数方式: GATE=1,写入计数初值后,开始减计数 硬件启动计数方式:由计数控制端GATE加一个从低电平到高电平变化的上跳沿控制开始减计数。 一次性计数方式:减计数单元减至0后不能自动将原计数初值寄存器中的初值装入减计数单元,不能重新开始新的一轮计数。 自动重装方式:如减计数单元减至0后,能自动将原初值寄存器中的初值自动装入减计数单元,并重新开始新一轮计数。 8.2.4 8253的方式控制字 8253的方式控制字有4个主要功能: ★ 选择计数器的计数方式。 ★ 确定计数器的工作方式。 ★ 确定计数器数据的读写格式。 ★ 选择计数器。 8.3 定时/计数器应用实例 8.3.1 8253的编程逻辑 每个计数器都要进行初始化 方式控制字写入到控制字寄存器 写入计数初值到对应的计数寄存器 用CPU输入指令可读取任一计数寄存器的计数值。 锁存当前计数值有两种方法: 利用GATE信号使计数过程暂停。 向8253写入一个方式控制字,令8253通道的锁存器锁存。 8.3.2 8253的实际应用 例1:设频率为10kHz,采用定时中断方式每隔10ms完成一次扫描键盘的工作。 解:采用8253定时器的通道0来实现8253的端口地址为10H~13H。 (1)选择工作方式:选用方式2来实现 (2)确定计数初值 己知 fCLK0=10kHz,则TCLK0=0.1ms N=TOUT0/TCLK0=10ms/0.1ms=100(64H) (3)初始化编程 初始化程序段如下: 方式控制字,即14H。 MOV AL, 14H;通道0,写入初值低8位,高8位置0, 方式2,二进制计数 OUT 13H, AL;写入方式到控制字寄存器 MOV AL, 64H; OUT 10H, AL;写入计数初值低8位到通道0 2.8253计数功能的应用 例2:用8253通道0记录外部事件的发生次数,每输入一个高脉冲表示事件发生1次。当事件发生100次后就向CPU提出中断请求(边沿触发),假设8253片选信号的I/O地址范围为200H~203H,如图8-12。 8053初始化程序段如下: 根据要求,选择方式0来实现,计数初值N=100 MOV DX, 203H;设置方式控制字 MOV AL, 10H;设定为工作方式O,二进制, 只写入低字节计数值 OUT DX, AL; MOV DX, 200H;设置计数初值 MOV AL, 64H;计数初值为100 OUT DX, AL 3.8253计数通道的级联使用 [例8-3]已知8253的CLK1=1MHz、/CS=320H~323H,要求用8253连续产生10秒的定时信号。 8253的一个通道的最大计数范围为65536,而初值N=10/10-6=107,超过了8253一个通道的最大计数值,因此可以使用2个8253通道级连。级连线路如图8-13所示,若级连后2个通道的初值为N1和N2,则 N=N1×N2 设计数器初值N1=500, N2=20000,使用方式2,二进制计数,则通道1、2的初始化程序: MOV DX, 323H MOV AL, 74H,通道1,写入16位初值, 方 式2,二进制计数 OUT DX, AL ;写入通道1方式字 MOV DX, 321H; MOV AX, 500; OUT DX, AL;写入初值低8位到通道1 MOV AL, A

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档