第7章定时计数技术..ppt_第1页
第7章定时计数技术..ppt_第2页
第7章定时计数技术..ppt_第3页
第7章定时计数技术..ppt_第4页
第7章定时计数技术..ppt_第5页
免费预览已结束,剩余35页可下载查看

下载本文档

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

文档简介

接口与通讯技术武汉科技大学计算机科学与技术学院 第7章定时 计数技术 本章内容7 1定时与计数7 2微机系统中的定时系统7 3外部定时方法及硬件定时器7 4可编程定时计数器82C54A7 5定时 计数器的应用 7 1定时与计数 1 定时 日时钟 实时钟 时间延迟2 计数3 定时与计数的关系 7 2微机系统中的定时系统 1 内部定时 计算机本身运行的时间基准或时序关系 由计算机硬件决定 用户无法更改2 外部定时 外设实现某种功能时 本身所需的时序关系3 时序配合 考虑外设与CPU连接时 以计算机的时序关系为依据 以满足计算机的时序要求 7 3外部定时方法及硬件定时器 7 3 1定时方法1 软件定时典型的延时程序段特点 不需增加硬件 浪费CPU资源 程序通用性差2 硬件定时特点 不占用CPU时间 定时准确 定时程序具有通用性7 3 2定时器1 不可编程定时器常用定时器件 单稳触发器 555 556定时器2 可编程定时器常用可编程定时 计数器芯片 Intel8253 8254 82C54A MC6840 Zilog的CTC等对时间的计时方式 正计时 倒计时 7 4可编程定时 计数器82C54A 7 4 182C54A的外部特性和内部寄存器82C54A的主要特性 3个独立的 16位的 减1计数通道 T0 T2 每个通道有自己的GATE CLK OUT 6种工作方式1 82C54A的外部连接特性 24脚 双列直插 5V供电 1 面向CPU的信号线 13 D0 D7 CS RD WR A1 A0 2 面向I O设备的信号线 9 GATEi Ti的门控信号 控制计数过程 具体作用视方式而定CLKi Ti的脉冲输入 允许计数时对CLKi输入的脉冲减1计数OUTi Ti的输出信号 Ti减为0时OUTi有效 输出波形视方式而定 7 4 182C54A的外部特性和内部寄存器 2 82C54A的内部寄存器 1 82C54A的内部结构数据总线缓冲器 命令寄存器 3个计数通道 读 写逻辑各模块的功能及82C54A的读写操作 2 3个计数通道的内部结构及各寄存器的功能 82C54A的内部结构 7 4 282C54A的编程模式 用户扩展的82C54A的I O端口地址 304H 307H1 方式命令 选择通道 确定工作方式命令字各位含义及举例2 锁存命令 将选定计数通道的当前计数值锁存 以便读取读取当前值的作用 求当前所计脉冲数 应用举例3 读回命令 既能锁存计数值又能锁存状态信息CNT 锁存选中计数器的内容 0表示要读取计数值ST 锁存选中计数器的状态 0表示要读取状态CNi 选择计数器 1表示选中 82C54方式命令字各位的含义 RW1RW0 读 写长度选择或发锁存命令00 发锁存命令 锁存SC1SC0指定的通道 此时低4位无效01 只读 写一个低字节10 只读 写一个高字节11 先低后高读 写两个字节M2M1M0 工作方式选择 方式0 5分别由000 101选择 读取当前值的应用举例 要求 用T0统计某个事件发生的次数 将结果存入寄存器BX中 假设该事件发生的次数在1 65535次范围内分析 由于发生次数在1 65535之间 故将初值送为0 采用二进制计数 当需要了解事件发生的实际次数时 只要用初值减去当前值即可 方式可选0 1 4 5 以方式0为例 初始化程序 MOVDX 307HMOVAL 30HOUTDX AL 方式字MOVBX 0 计数初值MOVDX 304HMOVAL BLOUTDX ALMOVAL BHOUTDX AL 写入初值 需要了解实际发生次数时执行下列程序段 MOVDX 307HMOVAL 00HOUTDX AL 锁存T0当前值MOVDX 304HINAL DX 读低字节MOVCL ALINAL DX 读高字节MOVCH ALSUBBX CX BX 实际发生次数 7 4 382C54A的工作方式 区分6种工作方式的标志 启动计数器的触发方式输出波形计数过程中门控信号的作用1 0方式 计数结束输出正跳变触发方式 写入初值后 WR 触发输出波形 计数过程中为低电平 减为0变高 并结束计数过程中GATE作用 1 允许 0 禁止 暂停 继续2 1方式 可重触发单稳方式触发方式 写入初值后 GATE 触发输出波形 计数过程中为低电平 减为0变高 并结束计数过程中GATE作用 1 0 不影响 启动或重新启动 82C54A的0方式 CLK N 5 82C54A的1方式 CLK 7 4 382C54A的工作方式 3 2方式 N分频器 速率波发生器 触发方式 写入初值后 WR 触发输出波形 计数过程中为高电平 减为1时变低 维持1个时钟周期 再次变高并重新装入计数初值 重复计数过程计数过程中GATE作用 1 允许 0 禁止 停止 重新开始4 3方式 方波发生器与2方式的区别仅在于输出波形不同输出波形 占空比为1 1或近似1 1的方波 初值为偶数时 前半周为高电平 后半周为低电平 初值为奇数时 前 N 1 2个脉冲为高电平方式2 方式3的特殊性 具有自动重新装载计数初值的功能周期 频率 两种方式的占空比 82C54A的2方式 82C54A的3方式 7 4 382C54A的工作方式 5 4方式 软件触发选通方式触发方式 写入初值后 WR 触发输出波形 方式设定后输出为高电平 并维持 减为0时变低 维持1个时钟周期 再次变高并结束计数过程中GATE作用 1 允许 0 禁止 停止 重新开始6 5方式 硬件触发选通方式 输出波形同4方式 触发方式同1方式 触发方式 写入初值后 GATE 触发输出波形 计数过程中为高 结束时输出宽度为1个时钟周期的负脉冲并结束计数过程中GATE作用 1 0 不影响 启动或重新启动 82C54A的4方式 82C54A的5方式 7 4 382C54A的工作方式 7 6种方式的比较触发方式 方式1和方式5为硬件触发 其余为软件触发输出波形 方式2和方式3输出重复波形 其余为单次波形 方式0 1基本相同 方式4 5相同计数过程的结束 方式2和方式3需外加控制信号令GATE 0 方式0 1 4 5计数结束会自动停止 7 4 482C54A的计数初值计算及装入 1 计数初值的计算82C54A是逆计数器 减1计数器 减1计数器减为0时输出有效定时的计数初值 时间常数 2 计数初值的装入16位计数初值装入顺序 先低后高3 计数初值的范围当初值N 0时 计数脉冲数最多 二进制计数 计65536个BCD码计数 计10000个 7 4 582C54A的初始化1 初始化步骤 设置方式命令字 设置计数初始值2 初始化举例输入频率为2MHz的时钟信号 利用T1定时2ms 采用方式3 82C54A的初始化举例 设 输入时钟频率为2MHz 要求利用T1定时2ms 采用方式3计数初值 时间常数 方式字 76H 二进制计数 或77H BCD码计数 MOVDX 307HMOVAL 76HOUTDX AL 写入方式字MOVDX 305HMOVAX 4000OUTDX ALMOVAL AHOUTDX AL 写入计数初值 4000H 7 5定时 计数器的应用 7 5 1用户扩展的定时 计数器 304H 307H 应用例7 1某系统要求用82C54A的T1测量脉冲 正脉冲 的宽度 系统提供输入时钟CLK 1MHz 采用二进制计数分析 采用方式0 用被测脉冲控制GATE1 首先装入初值0 当被测信号变高时开始计数 被测信号变低时停止计数 锁存并读出当前值n 则脉冲宽度为 65536 n s脉宽测量程序段 初始化MOVDX 307HMOVAL 70HOUTDX ALMOVDX 305HMOVAX 0000HOUTDX ALMOVAL AHOUTDX AL 测量脉宽MOVDX 307HMOVAL 40HOUTDX AL 锁存T1MOVDX 305HINAL DXMOVBL ALINAL DXMOVBH AL BX 为当前值MOVAX 0SUBAX BX 脉冲宽度测量原理 7 5 1用户扩展的定时 计数器的应用 例7 282C54A用作定时要求 每隔5ms发出一个扫描负脉冲 系统提供时钟CLK 20KHz 采用T2 用十进制计数分析 T2工作于方式2计数初值为N TOUT TCLK TOUT CLK 5 10 3 20 103 100初始化程序 MOVDX 307HMOVAL 0B5HOUTDX ALMOVDX 306HMOVAX 100HOUTDX ALMOVAL AHOUTDX AL 7 5 1用户扩展的定时 计数器的应用 例7 382C54A用作分频器要求 用T0产生 1000Hz的方波 系统提供时钟CLK 1 19318MHz 采用二进制计数分析 工作于方式3计数初值为N CLK OUT 1 19318 106 1000 1193 4A9H初始化程序 MOVDX 307HMOVAL 36HOUTDX ALMOVDX 304HMOVAX 4A9HOUTDX ALMOVAL AHOUTDX AL 7 5 1用户扩展的定时 计数器的应用 例7 482C54A同时用作计数与定时要求 控制产品流水线 每通过24个产品 暂停5s 等待打包 然后重启流水线 按ESC键停止生产 系统提供时钟100Hz分析 对24计数 选用T0 对5s定时 选用T1 用OUT0触发T1控制流水线的暂停和重启 设置T0方式2 T1方式1 由外部硬件信号 OUT0 进行触发 设两个通道都采用十进制计数T0方式字 00010101B 15H 初值N0 24HT1方式字 01110011B 73H 初值N1 5 100 H 500H硬件设计包装流水线的程序段 包装流水线计数定时装置电路结构原理 包装流水线汇编语言程序段 CODESEGMENTASSUMECS CODESTART MOVDX 307H 通道0初始化MOVAL 15HOUTDX ALMOVDX 304HMOVAL 24HOUTDX ALMOVDX 307H 通道1初始化MOVAL 73HOUTDX ALMOVDX 305HMOVAX 500HOUTDX ALMOVAL AHOUTDX AL CHECK MOVAH 0BH 是否有键按下INT21HCMPAL 00HJECHECKMOVAH 08H 有键 判断是否为ESCINT21HCMPAL 1BHJNECHECK 发停止生产的控制信号MOVAX 4C00H 是ESC则结束INT21HCODEENDSENDSTART 7 5 2系统配置的定时 计数器 40H 43H 应用 1 微机系统配置的82C54A应用设置OUT0 系统时钟中断OUT1 动态存储器刷新OUT2 发声系统音调控制 7 5 2系统配置的定时 计数器应用 2 微机系统配置的82C54A初始化程序段 计数器0 定时中断 约55ms申请一次中断 MOVAL 00110110B 初始化方式命令OUT43H ALMOVAX 00H 初值为00H 最大值 OUT40H AL 先写低字节MOVAL AHOUT40H AL 再写高字节 计数器1 DRAM定时刷新 15 s请求一次DMA传输 MOVAL 01010100B 初始化方式命令OUT43H ALMOVAL 12H 初值为12HOUT41H AL 只写低字节 计数器2 产生约900Hz的方波使扬声器发声MOVAL 10110110BOUT42H ALOUT43H ALMOVAL AHMOVAX 533HOUT42H AL 7 5 2系统配置的定时 计数器应用 3 微机系统配置的82C54A应用举例例7 5发声器设计要求 利用82C54A发600Hz的声音 按任意键开始发声 长 短音交替 按ESC键停止 82C54A的T2的输入时钟频率1 19318MHz系统的硬件连接分析 声音频率 由初值控制N 1 19318 106 600 1988声音开关 由82C55A的PB口控制PB0 PB1 1 开 PB0 0或PB1 0 关声音长短 由开放声音的延时时间控制BL作延时子程序入口参数 BL 1 短音 BL 6 长音 软件设计 由主程序和发声子程序组成主程序流程图主程序发声子程序 发声器硬件设计 发声器主程序流程图 说明 82C55A的PB口地址为61HINT21H的0BH号功能调用AL 00H 无键按下AL FFH 有键按下 再用8号调用取得该键的ASCII码 发声器主程序 CODESEGMENTASSUMECS CODEORG100HBEGIN MOVAL 0B6H 82C54方式字OUT43H ALMOVAX 1988 82C54初值OUT42H ALMOVAL AHOUT42H ALINAL 61HANDAL 0FCHOUT61H AL 关声音 PB0 PB1 0 WT MOVAH 0BHINT21HCMPAL 0JZWT 无键按下 等待 L SOUND MOVBL 6CALLSOUND 发长音MOVAH 0BHINT21HCMPAL 0JES SOUND 无按键发短音MOVAH 8INT21HCMPAL 27JNES SOUND 非ESC 发短音EXIT MOVAH 4CHINT21H 按ESC 结束S SOUND

温馨提示

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

最新文档

评论

0/150

提交评论