《微机原理与应用教学资料》第八章.ppt_第1页
《微机原理与应用教学资料》第八章.ppt_第2页
《微机原理与应用教学资料》第八章.ppt_第3页
《微机原理与应用教学资料》第八章.ppt_第4页
《微机原理与应用教学资料》第八章.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1,第八章 可编程计数器/定时器8253及其应用,8-1 概述 8-1 8253结构和工作原理 8-2 8253应用举例,电气学院学习部资料库,2,8.1 概述,定时.计数 定时 软件定时 不可编程的硬件定时 可编程的硬件定时 一、软件定时 1、CPU循环执行一条或一系列指令 例:CPU的时钟频率为5MHz,则1个时钟周期为T= s 执行一条指令所需要的时间=0.2s所需时钟周期 编一程序实现延时1ms 时钟周期执行次数 MOV CX ,N ;41 NEXT: NOP ;3N NOP ;3N LOOP NEXT ;循环时为17,不循环时为5,电气学院学习部资料库,3, T=0.2s 要延时1ms所需要的总的时钟周期数 =4+3N+3N+17(N-1)+5=23N-8=5000 N= =218=ODAH 2、缺点:CPU利用率太低 二、不可编程的硬件定时 1、555芯片+外接电阻、电容 2、缺点:定时不能由程序控制,定时精度不高,电气学院学习部资料库,4,三、可编程的硬件定时:8253芯片 1、对8253设定计数初值启动工作时间到,自动形成输出信号 向CPU提出中断请求,启动设备工作 2、特点:提高了CPU的利用率,定时精度高 四、计数 : 8253芯片 计数脉冲信号由外部事件提供。,电气学院学习部资料库,5,8.2 8253的结构和工作原理,一. 8253的编程结构 图9-1 1.数据总线缓冲器 接数据总线低8位,传送信息 控制字 输入 计数初值 计数值 输出 2. 读/写控制电路 CS :片选信号,接I/O端口译码电路74LS138输出 RD、WR :读写信号,接CPU的RD、WR。 A1、A0:端口选择信号,接8086CPU的A2、A1地址线 若为8088CPU,8位数据线,则接系统的A1、A0(实验用电路) 00:计数器0 01: 1 8253需要4个端口地址 10: 2 11:控制器R,电气学院学习部资料库,6,例:8253的基地址为FOH(11110000B) 则:计数器0:FOH;计数器1:F2H;计数器2:F4H;控制寄存器:F6H 3.计数器02 3个计数器通道完全独立、结构完全相同。包括 4个寄存器R 2个输入信号 CLK,GATE 1个输出信号 OUT 控制字R: 8位 计数初值R: 16位 计数执行部件:16位,减法计数器 计数输出R: 16位,锁存执行部件的值 16位R可分为高8位和低8位,必要时用作8位寄存器 CLK:脉冲输入 时钟脉冲(定时) 要求2MHz ,高于时须分频。 计数脉冲,外部事件引起,电气学院学习部资料库,7,OUT:脉冲输出 GATE:门控信号,决定是否允许计数 二.工作原理 倒计数法:预置一初值,GATE有效,将计数初值装入执行部件,然后开始递减计数。(CLK端每输入一个脉冲,计数值-1,当计数值=0,便从OUT引脚输出一个脉冲信号) 定时: CLK输入脉冲频率一定(fCLK) 定时时间=1/fCLK 输入脉冲数(计数初值) 计数初值=定时时间/TCLK 例:若CLK脉冲频率fCLK=1MHz脉冲周期TCLK=1s 若定时时间T=0.5ms 则计数初值n=0.510-3/110-6=500 2. 计数 CLK输入脉冲的间隔可以不相等,电气学院学习部资料库,8,三、 控制字寄存器 通道选择 读/写操作位 模式选择 (6种工作方式) 1:BCD码计数 0:二进制计数 3个通道共用1个控制字寄存器,D7、D6决定向哪一个通道写入控制字 RL1、RL0: 00 - 计数器锁存 01 - 只读写低8位 10 - 只读写高8位 11 先读写低8位,后读写高8位 BCD:初值范围为00009999H 0000表示最大值 104 =10000 二进制: 0000FFFFH 216 =65536,电气学院学习部资料库,9,四、初始化编程步骤 步骤:1、写入控制字 A1A0=11 初始化控制字寄存器,复位OUT,并使计数器清0 2、写入计数初值 A1A0=00,01,10 初值 8位:一条输出指令 16位:两条输出指令 先送低8位初值后送高8位初 值 例:选择0#通道,工作方式3,计数初值2354H,BCD计数方式 8253端口地址为40H46H D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 1 1 1 1 通道0 | | | 先读写低8位,后读写高8位 方式3 BCD计数 当D3=0,控制字=37H,电气学院学习部资料库,10,初始化程序: MOV AL ,37H OUT 46H ,AL ;设置控制字 MOV AL ,54H ;写入计数初值,先低后高 OUT 40H ,AL MOV AL ,23H OUT 40H ,AL ;读通道0计数结果,并送入CX寄存器 MOV AL ,07H ;00 00 011 1=07H OUT 46H ,AL ;设置控制字 IN AL ,40H MOV CL ,AL IN AL ,40H MOV CH ,AL ;将通道0计数结果CX,电气学院学习部资料库,11,五、8253的工作方式(6种) 1. 写入控制字,同时影响OUT端电平,为起始OUT端电平 写入计数初值n,使WR变为低电平,在WR的上升沿时,将 n计数初值R 当GATE有效,再在下一个CLK时钟脉冲的下降沿,将n 计数执行部件,开始减1计数(计数器随着时钟脉冲的输入而递减计数) 1.方式0 计数结束中断方式 OUT输出端波形 从写入计数初值到开始减1之间,有一个时钟脉冲的延迟。 详见后,电气学院学习部资料库,12,8253CLK,WR,8253OUT,nTCLK,写入控制字,写入计数初值,计数结束,4,3,2,1,0,电气学院学习部资料库,13,方式1 可编程单稳态输出 可重触发 GATE触发,方式2 比率发生器 相当n分频 计数初值=定时时间/ TCLK=fCLK/ fOUT,电气学院学习部资料库,14,方式3 方波发生器,方式4 软件触发选通 写入计数初值后开始计数 负脉冲 方式5 硬件触发选通 GATE上升沿触发计数 负脉冲 初始OUT、GATE、是否重装初值汇总表,电气学院学习部资料库,15,电气学院学习部资料库,16,8-3 应用举例,先根据需要设计硬件电路,然后用OUT指令初始化8253 1. 定时功能例 需计算初值 例1:P315 要求:基地址为310H,fCLK =1MHz 与8086连接: D7D0:接8086 CPU的D7D0 RD、WR:接CPU的RD、WR A1、A0:接8086的A2、A1 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 0 0 0 1 0 0 (偶地址!) CS :接74LS138的译码输出Y4 基址:310H CLK0、CLK1、CLK2:接 fCLK =1MHz (TCLK=1s)的时钟脉冲,电气学院学习部资料库,17,通道0:方式3 GATE0+5V 若要OUT输出 2kHz的方波,则n0=? no*Tclk=T 256 控制字:0 0 1 1 0 1 1 1 B =37H 通道1:方式1 GATE1上升沿 若要OUT:480s的脉冲 ,求n1=? 256 控制字:0 1 1 1 0 0 1 1 B =73H 通道2:方式5 GATE2上升沿 n2=26 控制字:1 0 0 1 1 0 1 1 B =9BH,电气学院学习部资料库,18,MOV DX, 316H ;送通道0控制字 MOV AL, 00110111B OUT DX, AL MOV DX, 310H ;送通道0计数初值 MOV AL, 00H OUT DX, AL MOV AL, 05H OUT DX, AL MOV DX, 316H ;送通道1控制字 MOV AL, 01110011B OUT DX, AL MOV DX, 312H ;送通道1计数初值 MOV AL, 80H OUT DX, AL MOV AL, 04H OUT DX, AL,电气学院学习部资料库,19,例2 控制LED点亮或熄灭。点亮10秒后再让它熄灭10秒,并重复上述过程。 设8253各端口地址为81H,83H,85H,87H,则8253的D0D7系统DB的D8D15 fclk=2MHZ 据题意 TOUT=20s fout=1/20 计数初值N=210620=410765536 级联 取N1=5000,N2=8000,A7A0,控制字 00110101(35H,通道0) 若二进制计数N1=1388H N2=1F40H 控制字 01110111(77H,通道1 ),电气学院学习部资料库,20,2. 计数功能例 不需计算初值 例2:用8253监视一个生产流水线,每通过50个工件,扬声器响5秒钟,频率2000周,端口地址为40H、42H、44H、46H 硬件连接,电气学院学习部资料库,21,没有工件通过:Ua5V(H) 有工件通过:Ua=0(L) 通道0:方式2 比率发生器 计数方式,每通过50个工件申请一次中断 通道1:方式3 方波发生器 通道GATE1由8255A的PA0控制,当GATE1为高电平,输出方波,扬声器响。 在中断服务程序中控制GATE高电平的时间,软件延时 控制字设置 通道0:0 0 0 1 0 1 0 1 n0=50 通道1:0 1 1 1 0 1 1 1 n1=2M/2000=1000256 主程序:MOV AL ,00010101B OUT 46H ,AL; 送控制字 MOV AL ,50H OUT 40H ,AL; 送通道0初值 MOV AL ,01110111B; 送控制字 OUT 46H ,AL,电气学院学习部资料库,22,STI ; 开中断 LOP: HLT ;等待中断,及中断返回时 JMP LOP ;断点 中断服务程序: MOV AL ,01H ;GATE1=1 启动计数 OUT 80H ,AL ;设8255A的PA通道地址为 80H,将PA0置1 MOV AL ,00H ; 送初值,BCD计数,后缀 OUT 42H ,AL ; 仍须加H MOV AL ,10H OUT 42H ,AL CALL DLEAY5S ;调用延时为5秒的子程序 MOV AL ,00H ;GATE1=0 停止计数,扬声器不 OUT 80H ,AL ;响 IRET,电气学院学习部资料库,23,3.读计数值 读现行计数值两个方法:

温馨提示

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

评论

0/150

提交评论