- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
微机技术章
第 8 章 第8章 定时计数控制接口 教学重点 8253的引脚和6种工作方式 8253的编程 8253在IBM PC系列机上的应用 定时器和计数器 定时控制在微机系统中极为重要 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器 定时功能的实现方法 软件延时——利用微处理器执行一个延时程序段实现 不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间 可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 8.1 8253/8254定时计数器 3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数 8.1.1 8253/8254的内部结构和引脚 计数器结构示意图 计数器的3个引脚 CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型 OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号 2. 与处理器接口 D0 ~ D7数据线 A0 ~ A1地址线 RD*读信号 WR*写信号 CS*片选信号 8.1.2 8253/8254的工作方式 8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式 每种工作方式的过程类似: ⑴ 设定工作方式 ⑵ 设定计数初值 〔 ⑶ 硬件启动 〕 ⑷ 计数初值进入减1计数器 ⑸ 每输入一个时钟计数器减1的计数过程 ⑹ 计数过程结束 方式0 计数结束中断 方式1 可编程单稳脉冲 方式2 频率发生器(分频器) 方式3 方波发生器 方式4 软件触发选通信号 方式5 硬件触发选通信号 各种工作方式的输出波形 计数开始的时刻 需要注意: 处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变低)才将预置寄存器的初值送到减1计数器。 从第二个CLK信号的下降沿,计数器才真正开始减1计数。 出处:教材第193页第17行 实验1 实验2 问题讨论 通过本例,请大家 思考理论(原理)与实践(工程)的关系 体会教学实践环节(上机、实验)的重要性 同时,还请大家注意 大学的常规教学侧重理论(原理)的掌握 大家需要加强实践(实验)、积累实际经验 你还能提供这样的实例吗? 8.1.3 8253/8254的编程 8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作 写入控制字 写入计数初值 读取计数值 8254新增读回命令 1 写入方式控制字 2 写入计数值 选择二进制时 计数值范围:0000H~FFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:0000~9999 0000代表最大值10000 3 读取计数值 对8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行锁存,然后读取: 向控制字I/O地址:给8253写入锁存命令 从计数器I/O地址:读取锁存的计数值 8.2 8253在IBM PC系列机上的应用 8.2.1 定时中断和定时刷新 从阅读初始化程序段 看计数器0作为定时中断的作用 计数器0:定时中断 计数器0:方式3,计数值:65536,输出频率为1.19318MHz÷65536=18.206Hz的方波 门控为常启状态,这个方波信号不断产生 OUT0端接8259A的IRQ0,用作中断请求信号 每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断 DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能 计数器1:定时刷新 需要重复不断提出刷新请求 8.2.2 扬声器控制 计数器2的输出控制扬声器的发声音调 计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声 扬声器还受控于并行接口(8255芯片) 必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音 8.2.3 可编程硬件延时 利用日时钟每隔55ms中断一次不变的特点,可以编写一段不随系统时钟频率变化的固定延时程序 由于日时钟中断的时间单位是55ms,所以无法实现更短时间的延时 这时只有利用实时时钟中断,不过它的最短延时约是1ms(976 ?s) 8.3 扩充定时计数器的应用 例题8.2 利用扩充定时计数器对外部事件的计数 例题8.3 为A/D转换电路提供可编程的采样
文档评论(0)