




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 2020 1 27 微机原理 南京理工大学 2012年 2 2020 1 27 授课教师 殷代红 制作者 殷代红 邮箱 yindh07 3 2020 1 27 第五章定时与计数器 4 2020 1 27 5 1概述 5 1 1定时与计数问题的提出定时与计数是计算机经常面临的工作 它不仅应用在计算机内部 同时 也广泛应用在各种不同领域的实际系统中 如定时中断 定时检测 定时扫描等等 还有些场合要求能对外部事件计数 实现定时与计数的方法通常有两种 软件方法和硬件方法 软件方法 通过用户编制的程序来完成 如延时子程序 软件定时占用CPU 降低了CPU的利用率 硬件方法 通过完全的硬件连接或软 硬件的结合来完成 包含简单硬件定时和可编程硬件定时两种方式 简单硬件定时可以采用小规模集成电路器件 例如555 外接部分定时部件 电阻和电容 构成 这样的定时电路简单而且通过改变电阻和电容 可以使定时在一定的范围内改变 但不能由指令来控制和改变 可编程定时器电路的定时值及其范围 可以很容易地由软件来确定和改变 所以使用灵活 功能更强 5 2020 1 27 5 1 2端口的概念接口电路 微机可以通过接口电路接收外部设备送来的信息或将信息发送给外部设备 分类 可以提供使微机正常工作所需要的辅助电路 输入 输出接口电路包括并行接口 串行接口 专用接口等 提供CPU与接口直接进行操作的 通道 每个部件或接口内部都包含有一组寄存器 这些寄存器通常称为端口 每个端口有一个端口地址 6 2020 1 27 端口通常分为三类 用来传输数据的称为数据端口 用来存放设备或者部件状态的称为状态端口 用来存放CPU发出的命令的称为控制端口 CPU通过数据端口完成数据传输 因此 数据端口一般是可读可写的 CPU通过状态端口可以检测外设和接口部件当前的状态 因此 状态端口一般是只读的 CPU通过控制端口传输命令以便控制接口和设备的动作 因此 控制端口一般是只写的 7 2020 1 27 5 2可编程定时器 计数器8253 一 计数 定时的工作原理 计数 定时的功能对外部事件发生次数进行计数计算机系统经常用到定时信号 如DRAM刷新定时 计数和定时本质上是相同的 它们都是对一个输入脉冲进行计数 如果输入脉冲的频率一定 那么记录脉冲的个数与所需的时间是一一对应的关系 例如输入脉冲频率为2MHz 那么计数2 106计时1秒 使用同一个芯片 既能计数 又能定时 定时器 计数器 8 2020 1 27 一 计数 定时的工作原理 控制寄存器 初始值寄存器 计数器 计数输出寄存器 状态寄存器 CLK GATE OUT 组成 控制寄存器 决定工作模式状态寄存器 反应工作状态初值寄存器 计数的初值计数输出寄存器 CPU从中读当前计数值计数器 执行计数操作 CPU不能访问 9 2020 1 27 一 计数 定时的工作原理 工作原理 对CLK信号进行减1计数首先 CPU把控制字写入控制寄存器 计数初始值写入初值寄存器计数从初值开始 每当CLK信号出现一次 计数值减1当计数值减到0 从OUT端输出规定的信号CLK信号出现时 计数器是否减1 由门控信号GATE控制 10 2020 1 27 5 2 18253的功能与结构1 8253的主要功能 有3个独立的16位计数器通道 每个计数器都可以按照二进制或二 十进制 BCD码 计数 每个计数器的计数速率可高达2MHz 每个通道有6种工作方式 可由程序设置和改变 所有的输入输出都与TTL兼容 11 2020 1 27 一 计数 定时的工作原理 CLK是计数输入信号 计数器对CLK端出现的脉冲个数进行计数CLK端可以输入外部事件CLK端可以接入固定频率的时钟信号 从而实现计时OUT信号在计数结束时发生变化可将OUT作为外部设备的控制信号可将OUT作为向CPU申请中断的信号CPU可以从计数输出寄存器读出当前计数值 读前 应向控制寄存器发送锁存命令 12 2020 1 27 二 8253的内部结构 1片8253内部有三个计数器 结构完全相同 8253的内部结构8253的内部结构如图5 2所示 主要由以下部分组成 1 数据总线缓冲器 2 读 写控制逻辑 3 控制字寄存器 4 计数器0 计数器1 计数器2 13 2020 1 27 数据总线缓冲器 是8253与CPU数据总线连接的8位 双向 三态缓冲器 CPU用输入输出指令对8253进行读写的所有信息都是通过该缓冲器传送的 内容包括 CPU在初始化编程时写入8253的控制字 CPU向8253的某一通道写入的计数值 CPU从某一个通道读取的计数值 14 2020 1 27 2 读 写控制逻辑 8253内部操作的控制部分 它接收输入的信号 实现片选 内部通道选择 见表5 1 以及对相关端口的读 写操作 A1A0端口00通道001通道110通道211控制端口 15 2020 1 27 3 控制字寄存器 在对8253进行初始化编程时 该寄存器存放由CPU写入的控制字 由此控制字来决定所选中通道的工作方式 此寄存器只能写入不能读出 4 计数器0 计数器1 计数器2 是三个独立的计数器 定时器通道 各自可按不同的工作方式工作 16 2020 1 27 3 8253的引脚功能8253的引脚按功能可分为两组 一组面向三总线数据总线 控制总线和地址总线 另一组面向外部操作 CLK GATE OUT 17 2020 1 27 5 2 28253的初始化编程 对8253某一通道的初始化编程涉及两个内容 首先向控制端口写入通道控制字 由此控制字确定选中哪个通道 采用什么工作方式和计数方式 如何写入计数初值等内容 然后向选中的通道端口写入计数初值 18 2020 1 27 1 8253的控制字 19 2020 1 27 8253的编程命令 初始化 1 写入控制字2 按控制字要求写入计数初值计数器初值计算 N fCLK fOUT 例 设三个计数器的端口地址为70H 71H 72H 控制端口地址73H 计数器0 工作模式2 仅使用低8位 初值为100 计数值使用二进制 MOVAL 14HOUT73H ALMOVAL 100OUT70H AL 20 2020 1 27 8253的编程命令 例 设三个计数器的端口地址为70H 71H 72H 控制寄存器端口地址73H 计数器1 工作模式1 使用16位 初值为1234 计数值使用BCD MOVAL 73HOUT73H ALMOVAX 1234HOUT71H ALMOVAL AHOUT71H AL 21 2020 1 27 3 读取通道当前的计数值 8253任一通道的当前计数值 CPU都可用输入指令读取 8253的通道计数器是16位的 要分两次读至CPU 为避免在CPU的两次读出过程中出错 在进行读出操作前必须对相应通道进行锁存 锁存的办法有两种 利用GATE信号使计数过程暂停 向8253的控制口写入一个令通道锁存器锁存的控制字 例 设三个计数器的CR OL端口地址为70H 71H 72H 控制寄存器端口地址73H 读出计数器0的当前计数值 放在BX中 MOVAL 0HOUT73H ALINAL 70HMOVBL ALINAL 70HMOVBH AL 22 2020 1 27 5 2 38253的工作方式 工作方式决定以下内容 1 门控信号的影响高电平允许 当GATE 0 即使出现CLK 也不计数 方式0 2 3 4上升沿允许 上升沿触发 方式1 52 OUT信号的状态写入控制字后 OUT的状态计数过程中 OUT的状态计数终了 OUT的状态3 计数操作可否重复不可重复 方式0 4自动重复 方式2 3条件重复 方式1 5 23 2020 1 27 8253的工作方式 六种工作方式 计数初值写入初值寄存器后 要经过一个CLK输入后才开始计数 或 经过一个CLK后 计数初值才到达计数执行部件 计数器在CLK的下降沿使计数值减1 24 2020 1 27 8253的工作方式 方式0 计数初值写入CR后 OUT由0到1跳变出现在n 1个时钟脉冲之后延迟时间TD n 1 TCLK方式1 单脉冲宽度T nTCLK方式2 对输入端n个时钟脉冲 在输出端仅出现一个时钟脉冲 N分频计数器 25 2020 1 27 8253的工作方式 方式3 例 计数器工作方式3 计数器初值15 时钟脉冲频率为2MHz 确定OUT端输出方波的特性 解 TCLK 1 2MHz 500ns计数器初值15为奇数 输出分频波高电平宽度TCLK N 1 2 4 s输出分频波低电平宽度TCLK N 1 2 3 5 s方式4 5 触发后n 1个时钟脉冲之后输出端产生选通脉冲信号 26 2020 1 27 8253的工作方式 例 计数器0工作方式4 初始化计数器 使装入计数器10 s后产生选通信号 设时钟频率2MHz 8253端口地址为50H 53H 解 n 1 T TCLK 10 0 5 20n 19 13HMOVAL 18HOUT53H ALMOVAL 13HOUT50H AL 27 2020 1 27 5 2 48253的应用 例2在以8088CPU为核心的系统中 扩展一片8253芯片 要求通道0对外部脉冲进行计数 计满400个脉冲后向CPU发出一个中断请求 完成软硬件设计 分析 首先完成硬件设计 8253与系统总线的连接如下 28 2020 1 27 题目要求的输出波形经分析选择方式0 计数初值为400确定控制字 00110000B初始化程序 MOVAL 30HOUT03H AL 控制字写入控制口MOVAX 400 二进制形式的数据OUT00H AL 先写低8位 写入通道0MOVAL AHOUT00H AL 后写高8位 写入通道0 29 2020 1 27 5 2 48253的应用 以2MHz输入8253 实现每5秒定时中断 设8253端口地址40H 43H 分析 8253最大初值65536 CLK 2MHz可实现最大时间间隔65536 2 106 32 769ms所以需要两个计数器串联 一个计数器的输出作为另一个计数器的输入 30 2020 1 27 8253的应用 计数器1 方式2 OUT1每5ms输出一个脉冲初值 2 106 1 0 005 10000计数器0 方式2 OUT0每5s输出一个脉冲初值 1 0 005 1 5 1000 OUT0GATE0CLK0OUT1GATE1CLK1 5V 5V 2MHz 每5秒产生一个脉冲 31 2020 1 27 8253的应用 程序 MOVAL 74HOUT43H ALMOVAX 10000OUT41H ALMOVAL AHOUT41H ALMOVAL 74HMOVAL 34HOUT43H ALMOVAX 1000OUT40H ALMOVAL AHOUT40H AL 32 2020 1 27 作业 1 什么叫端口 端口通常有哪几种 各有什么特点 2 试说明8253的内部结构包括哪几个主要功能模块 3 8253芯片共有几种工作方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年济源市消防救援支队现面向社会招聘政府专职消防员30名考试参考试题及答案解析
- 2025广东广州市增城区教育局“粤聚英才粤见未来”招聘广州增城外国语实验中学教师10人模拟试卷及答案详解(名校卷)
- 外科护理期中考试题库及答案解析
- 2025年第三季度上海芭蕾舞团第二批工作人员公开招聘考试模拟试题及答案解析
- 潮州安全员c证考试题库及答案解析
- 2025广东佛冈县水头镇选拔储备村(社区)“两委”后备人员模拟试卷及答案详解(易错题)
- 山西安全员证书题库及答案解析
- 2025年学校财务考试试题及答案
- 公路项目部文明施工方案
- 2025年河南省考申论试卷及答案
- ICU患者的早期活动
- 型钢混凝土结构钢筋施工
- 石群邱关源电路(第1至7单元)白底课件
- JJF 1338-2012相控阵超声探伤仪校准规范
- GB/T 40529-2021船舶与海洋技术起货绞车
- GB 31603-2015食品安全国家标准食品接触材料及制品生产通用卫生规范
- 关于公布2016年度中国电力优质工程奖评审结果的通知
- 港口集团绩效考核方案
- 送达地址确认书(诉讼类范本)
- 三坐标测量基础知识(基础教育)
- 宜家战略分析(课堂PPT)
评论
0/150
提交评论