欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    《微机原理与应用教学资料》第八章 8253.ppt

    • 资源ID:3046909       资源大小:9.19MB        全文页数:24页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《微机原理与应用教学资料》第八章 8253.ppt

    1,第八章 可编程计数器/定时器8253及其应用,8-1 概述 8-1 8253结构和工作原理 8-2 8253应用举例,电气学院学习部资料库,2,8.1 概述,定时.计数 定时 软件定时 不可编程的硬件定时 可编程的硬件定时 一、软件定时 1、CPU循环执行一条或一系列指令 例:CPU的时钟频率为5MHz,则1个时钟周期为T= µs 执行一条指令所需要的时间=0.2µs×所需时钟周期 编一程序实现延时1ms 时钟周期×执行次数 MOV CX ,N ;4×1 NEXT: NOP ;3×N NOP ;3×N LOOP NEXT ;循环时为17,不循环时为5,电气学院学习部资料库,3, T=0.2µs 要延时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=1µs 若定时时间T=0.5ms 则计数初值n=0.5×10-3/1×10-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,n×TCLK,写入控制字,写入计数初值,计数结束,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=1µs)的时钟脉冲,电气学院学习部资料库,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:480µs的脉冲 ,求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=2×106×20=4×10765536 级联 取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.读计数值 读现行计数值两个方法: 在读数前用外部硬件切断计数脉冲信号,或使门控信号变为低电平,迫使8253停止计数。 问题:干扰了实际的计数过程 先用计数器锁存命令锁存现行计数值,然后将其读出。 程序: MOV AL , 0100 0000B ;低四位对锁存命令无影响,置0 OUT 46H, AL IN AL, 40H MOV AH,AL IN AL, 40H XCHG AH, AL ;计数值存于AX中,电气学院学习部资料库,24,谢谢大家!,作业:8-4,电气学院学习部资料库,

    注意事项

    本文(《微机原理与应用教学资料》第八章 8253.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开