计数器与定时器教学课件PPT.ppt_第1页
计数器与定时器教学课件PPT.ppt_第2页
计数器与定时器教学课件PPT.ppt_第3页
计数器与定时器教学课件PPT.ppt_第4页
计数器与定时器教学课件PPT.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理及接口 教学课件 第9章定时计数控制器 本章主要内容8253的引脚和6种工作方式8253的编程8253在ibmpc系列机上的应用 定时器和计数器 定时控制在微机系统中极为重要定时器由数字电路中的计数电路构成 通过记录高精度晶振脉冲信号的个数 输出准确的时间间隔计数电路如果记录外设提供的具有一定随机性的脉冲信号时 它主要反映脉冲的个数 进而获知外设的某种状态 常又称为计数器 定时功能的实现方法 用软件实现延时 利用微处理器执行一个延时程序段实现用硬件实现定时采用不可编程器件 如分频器 单稳电路 简易定时电路 采用可编程器件 采用可编程的定时 计数芯片和软件硬件结合的办法构成灵活的定时电路 可在不同的时间段内采用不同的定时策略 9 18253 8254定时计数器 3个独立的计数器通道 每个计数通道16位 可进行 定时 对引脚上输入的周期性时钟信号进行计数计数 对引脚上输入的非周期性脉冲信号进行计数每个计数器有6种工作方式可按二进制或十进制 bcd码 进行计数每个计数器的计数速率可高达2mhz 8254 2计数频率可达到10mhz 8254是8253的改进型二者差别很小 一 8253的内部结构和引脚 引脚 d7 d0 8位 双向 三态数据线 直接和系统数据总线相连 读 写16位数据则分两次进行 cs 片选信号 低电平有效 rd wr 读信号 写信号 低电平时有效 a1 a0 8253端口选择线 00 10分别选择计数器0 2 11选择控制端口 clk0 clk2 分别是计数器0 2计数脉冲输入端 决定计数的速率 gate0 gate2 分别是计数器0 2门控输入端 作为对计数允许 禁止的控制 out0 out2 分别是计数器0 2的输出端 反映计数器的计数状态 8253 8254的i o地址 功能 对计数器0设置计数初值 cs rd a1 a0 wr 对计数器1设置计数初值 对计数器2设置计数初值 设置控制字 从计数器0读出计数值 从计数器1读出计数值 从计数器2读出计数值 计数器 通道 内部结构示意图 预置寄存器 gate clk out 减1计数器 输出锁存器 计数器工作描述 预置寄存器 用于存放计数初值 注意 可采用二进制或十进制 bcd码 计数初值为0时 计数值最大 65536 10000 计数初值为1时 计数值最小 1 1 减法计数器 clk引脚每收到一个脉冲 减法计数器将减1 注意 预置寄存器中的预置值不会改变 输出锁存器 用于锁定当前的计数值 这样cpu在读取时 该值将不再变化 计数器的3个引脚 clk 时钟 输入 在计数过程中 此引脚上每输入1个时钟信号 下降沿 计数器的计数值将减1gate 门控 输入 控制计数器工作 开启 关闭计数 高电平时允许计数通道工作触发 重触发 上升沿产生触发或重触发out 计数器输出 输出 根据设置工作方式的不同 out引脚可输出单个或连续的波形信号 一般是在计数过程结束时 计数值归0 out引脚信号发生变化 二 8253 8254的工作方式 方式0 计数结束中断方式1 可编程单稳方式2 连续负脉冲发生器方式3 连续方波发生器方式4 软件触发选通方式5 硬件触发选通 1 方式0 计数结束中断 gate out clk 0 3 1 2 4 写入4 写入方式0 wr gate 开关作用 方式0计数结束中断 在这种方式下 当控制字cw controlword 写入控制字寄存器 则使out输出端变低 此时计数器没有赋予初值 也没开始计数 要开始计数 gate信号必须为高电平 并在写入计数初值后 通道开始计数 在计数过程中out线一直维持为低 直到计数到 0 时 out输出变高 2 方式1 可编程单稳脉冲 gate out clk 0 3 1 2 4 写入4 写入方式1 wr gate 触发作用 方式1可编程单稳脉冲 在这种方式下 当cpu写控制字之后 的上升沿 输出将保持为高 若原为低 则由低变高 当cpu写完计数值后 计数器并不开始计数 直到外部门控脉冲gate启动之后的下一个输入clk脉冲的下降沿开始计数 输出out变低 因整个计数过程中 out都维持为低 直到计数到0 输出变为高 因此 输出为一个单拍脉冲 若外部再次触发启动 则可以再产生一个单拍脉冲 3 方式2 频率发生器 分频器 0 3 1 2 4 gate out clk 写入4 写入方式2 0 3 1 2 4 0 3 1 2 4 0 3 1 2 4 wr gate 开关作用 方式2频率发生器 分频器 在这种方式下 当cpu输出控制字后 输出将为高 在写入计数值后 计数器将立即自动对输入时钟clk计数 在计数过程中输出始终保持为高 直至计数器减到1时 输出将变低 经过一个clk周期 输出恢复为高 且计数器开始重新计数 4 方式3 方波发生器 0 3 1 2 4 gate out clk 写入4 写入方式3 0 3 1 2 4 0 3 1 2 4 0 3 1 2 4 wr gate 开关作用初值n为偶数 n 2脉冲数输出高 n 2脉冲数输出低初值n为奇数 n 1 2脉冲数输出高 n 1 2脉冲数输出低 方式4软件触发选通信号 gate out clk 0 3 1 2 4 写入4 写入方式4 2 3 写入3 1 0 wr gate 开关作用 5 方式4 软件触发选通信号 在这种方式下 当写入控制字后 输出为高 原为高则保持为高 原为低则变为高 当写入计数值后立即开始计数 相当于软件启动 当计数到0后 输出变低 经过一个输入时钟周期 输出又变高 计数器停止计数 这种方式计数也是一次性的 只有在输入新的计数值后 才能开始新的计数 方式5硬件触发选通信号 gate out clk 0 3 1 2 4 写入4 写入方式5 2 2 3 3 写入3 1 1 0 wr gate 触发作用 重触发 装计数值 触发 6 方式5 硬件触发选通信号 在这种方式下 设置了控制字后 输出为高 在设置了计数值后 计数器并不立即开始计数 而是由门控脉冲的上升沿触发启动 当计数到0时 输出变低 经过一个clk脉冲 输出恢复为高 停止计数 要等到下次门控脉冲的触发才能再计数 各种工作方式的输出波形 方式0 方式1 方式2 方式3 方式4 方式5 0 n 0 n 0 n 0 n 1 1 0 n n 2 n 2 0 n 0 n 01 n 01 n 01 6种工作方式共同点 写入计数初值之后 并不马上开始计数 只有检测到gate信号有效 经过一个clk周期 把计数初值送到减1计数寄存器 才开始作减1操作 out端随着工作方式的不同和当前计数状态的不同 一定有电平输出变化 而且输出变化均发生在clk的下降沿 out的输出波形在写控制字之前为未定态 在写了控制字之后到计数之前为计数初态 再之后有计数态 暂停态 结束态等 对于给定的工作方式 门控信号gate的触发条件是有具体规定的 或电平触发 或边沿触发 或两者均可 门控信号gate的性能 6种工作方式不同点 1 方式0和方式4都是由软件触发 写入计数初值 启动计数 无自动重装入计数初值能力 除非再写初值 门控信号gate高电平时 减1计数器减1 低电平时 减1计数器停止计数 它们的区别是 方式0在计数过程中out输出为低电平 计数结束时变为高电平 并一直保持 方式4在计数过程中out输出为高电平 计数结束时输出一个宽度为一个tclk的负脉冲 以后又保持高电平 6种工作方式不同点 2 方式1和方式5均是硬件触发 gate上升沿 启动计数 写入初值之后 在门控信号gate的上升沿触发下 初值写入减1计数寄存器 开始计数 并且gate只在上升沿起作用 它们的区别是 方式1在计数过程中out输出一个宽度为计数初值乘以tclk的单相负脉冲 方式5是在计数结束后out输出一个宽度为一个tclk的负脉冲 6种工作方式不同点 3 方式2和方式3的共同点是具有自动重装入计数初值的能力 都是频率发生器 分频器 它们的区别是 方式2输出占空比为 n 1 1的矩形波信号 而方式3输出方波 或近似方波 信号 9 28253 8254的编程 8253加电后的工作方式不确定 必须经初始化编程后 才能正常工作初始化编程 先写入控制字再写入计数初值工作后 可随时读取计数值 一般先将计数值锁存在通道内的锁存器中然后可分两次读取16位的计数值8254新增的读回命令 1写入方式控制字 控制字写入控制字i o地址 a1a0 11 00计数器001计数器110计数器211非法 00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节 000方式0001方式1010方式2011方式3100方式4101方式5 0二进制1十进制 2写入计数初值 选择二进制时计数范围 1h 10000h初值写入0时计数最大 65536 10000h 选择十进制 bcd码 时计数范围 1 10000初值写入0时计数最大 10000 计数值写入计数器各自的i o地址 3读取计数值 对8位数据线 读取16位的计数值 需要分两次进行由于计数在不断进行 故应将当前计数值先行锁存 然后再读取 向控制字i o地址写入锁存命令从计数器i o地址读取被锁存的计数值3种读取方式 只读低8位只读高8位先低后高 读取计数值时要注意格式和数制 例1 8253的初始化 例 要求计数器0工作于方式3 输出方波的重复频率为2khz 计数脉冲输入为2 5mhz 采用bcd码计数 试写出初始化程序段 计算计数初值 tc 2 5mhz 2khz 1250方式字为 00110111b 37h 计数器0 写16位 方式3 bcd计数 设端口地址为 80h 81h 82h 83h 写入方式控制字moval 37hout83h al 写入计数初始值低8位moval 50hout80 al 写入计数初始值高8位moval 12hout80h al 例2 定时器 计数器0定时10ms clk时钟200khz 请初始化 分析 clk 200k t 5us 所以n 10ms 5us 2000 moval 00110001b 写入方式控制字movdx 307houtdx almoval 0h 写入计数初始值低8位movdx 304houtdx almoval 20h 写入计数初始值高8位outdx al 9 38253的应用 例3 用8253 5监视一个生产流水线 设计要求及设计方案 使用8253 5监视一个生产流水线 每通过50个工件 扬声器响5秒钟 频率2000hz 用8253 5的通道0设定为计数方式计数 计数满50后 由out0输出一个负脉冲 经反向后作为8259a的中断请求信号 在中断服务程序中 启动8253 5通道1工作 有通道1连续输出频率为2000hz的方波信号 持续5秒后结束 通道0工作于方式2 通道1工作于方式3 通道1的门控信号gate1由8255a的pa0控制 控制字设置 通道0计数器工作于方式2 采用bcd计数 因计数初值为50 采用rl1rl0 01 读 写计数器的低8位 则工作方式字为00010101 15h 通道1计数器工作于方式3 clk1接2 5mhz时钟 要求产生1000hz的方波 则计数初值应为2 5 106 2000 1250 采用rl1rl0 11 先读计数器的低8位 再读计数器的高8位 则工作方式字为01110111 77h 设通道0的地址为40h 通道1的地址为41h 控制口地址为43h 8255a的口地址为80 83h 主程序 moval 15h 通道0初始化 方式2out43h almoval 50h 置计数初值out40h alsti 开中断lpo hlt 等待中断jmplop 中断服务程序 moval 01h 通道1的gate1置1 启动计数out80h al 认为8255已经初始化 向8255 端口送数 使pa0为 1 moval 77h 通道1初始化 方式3out43h almoval 50h 置计数初值低8位out41h almoval 12h 置计数初值高8位out41h alcalldl5s 延时5秒 dl5s为5秒延时程序moval 00h 通道1的gate1置0 停止计数out80h al 复位8255端口 使pa0为 0 iret 例4 为a d转换提供采样启动信号 8253 启动转换 时钟源 频率f 5v 求计数值 cnt0 cnt1 cnt2 a0a1 a1a2 i o地址200h 207h cs ch0的输出频率 f cnt0ch0的门控端 ch2 ch1级联后控制 采样持续时间 cnt1 cnt2 f 注意地址连接 方式2连续负脉冲 方式1单稳 方式3方波 采样频率f cnt0 方波 启动 例5 三个计数通道组合应用 例6 8253在ibmpc系列机上的应用 dqclk a0a1 a0 a1 d0 d7 d0 d7 out1 out2 out0 gate0gate1gate2 clk0clk1clk2 5v 15us 接至扬声器驱动器 pb0pb1 irq0 55ms drq0接至dma控制器 8253 5v 1 19318mhz dack0brd ior iow rd wr cs t ccs 方波 连续负脉冲 约900hz 方波 8253在ibmpc系列机上的应用 pclk来自时钟发生器8284a的输出时钟 频率为2 38mhz 经二分频后作为8253的3个计数器的时钟输入 频率为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论