微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第12章 定时计数控制接口.ppt

微机原理与接口技术(第二版) 教学课件 作者 毛红旗 刘敏 杨洪亮 第12章 定时计数控制接口.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 定时计数控制接口 12.1 定时/计数概述 12.2 定时/计数器8253 8253的外部特性 8253的内部结构 8253的编程命令 8253的工作方式 8253的应用举例 12.1 定时/计数概述 计算机的许多应用都与时间有关,例如 实时时钟、定时中断、定时检测、定时扫描等。 外部事件发生次数达到规定值后产生中断,以及统计外部事件发生的次数等 定时器和计数器 定时控制在微机系统中极为重要 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器 定时功能的实现方法 软件延时——利用微处理器执行一个延时程序段实现 不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间 可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 8253定时/计数器的应用 对8253定时/计数器进行 使其完成我们需要的 12.2 8253定时/计数器 3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 减法计数 12.2.1 定时/计数器8253的外部特性 12.2.2 8253的内部结构 计数器结构示意图 1、计数器的3个引脚 CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型 OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号 12.2.3 8253的编程 8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作 写入控制字 写入计数初值 读取当前计数值 2 写入计数值 选择二进制时 计数值范围:0000H~FFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:0000~9999 0000代表最大值10000 3.8253的读写操作 (1)写操作——计数通道的初始化 【例12.1】选择2号计数器,工作在方式3,计数初值为566H(2个字节),采用二进制计数。因此,方式控制字=0B6H,其初始化程序段为: MOV DX,307H ;8253控制口 MOV AL,0B6H ;2号计数器的初始化命令字 OUT DX,AL ;写入控制字寄存器 MOV DX,306H ;2号计数器数据端口 MOV AX,566H ;计数初值 OUT DX,AL ;先送低字节 MOV AL,AH ;取高字节到AL OUT DX,AL ;后送高字节 (2)读操作——读当前计数值 用IN指令可读出所选通道计数器的计数值。16位的计数值在读出时,可先读出低字节,再读出高字节,但必须将高、低字节全部读出后,才能对计数器进行其它操作。 12.2.4 8253/8254的工作方式 8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式 每种工作方式的过程类似: ⑴ 设定工作方式 ⑵ 设定计数初值 〔 ⑶ 硬件启动 〕 ⑷ 计数初值进入减1计数器 ⑸ 每输入一个时钟计数器减1的计数过程 ⑹ 计数过程结束 方式0:计数结束中断 方式1:可编程单稳脉冲 方式2:频率发生器(分频器) 方式3:方波发生器 方式4:软件触发选通信号 方式5:硬件触发选通信号 各种工作方式的输出波形 12.2.5 8253应用举例 1.8253定时功能的应用例子 用8253定时功能可产生各种定时波形。 【例12.1】如果8253芯片可利用8088的外设接口地址310H~313H,如果已知加到8253上的时钟信号为2MHz,若利用计数器0、1、2分别产生周期为100μs的对称方波以及每1s和10s产生一个负脉冲,试说明8253如何连接并编写包括初始化在内的程序。 二、软件设计 1、确定工作方式 2、计算计数初值: 计数初值N=分频系数=fclk/fout 3、确定工作方式控制字 4、写出初始化程序 8253 初始化编程的注意事项 控制字写入控制字I/O地址(A1A0=11) 计数值写入计数器各自的I/O地址: 计数器0: A1A0=00 计数器1: A1A0=01 计数器2: A1A0=10 ;初始化计数器0 MOV DX, 313H ;控制端口地址 MOV AL, ;通道0控制字,只写低字节, 方式3,二进制计数 OUT DX, AL ;写入方式字 MOV AL,

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档