欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第11章 8253可编程定时计数器.ppt

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

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

    第11章 8253可编程定时计数器.ppt

    微型计算机原理与接口技术微型计算机原理与接口技术 主主 编编 何何 超超 中国水利水电出版社中国水利水电出版社u概述概述u8253的编程控制字和工作方式的编程控制字和工作方式 uPC/XT机中机中8253的应用的应用 第第11章章 8253可编程定时计数器可编程定时计数器11.1 概述 微机系统,要管理和协调各部件的时序关系和相互配合,使系统正常而有机地高速运转,必须有准确稳定的时间基准、事件先后顺序的巧妙安排和精确控制以及精密可靠的定时计数功能 实现定时和计数有两种方法:硬件定时和软件定时。硬件定时,是利用专门的定时电路实现精确定时。这种定时方式又可分为简单硬件定时和利用可编程接口芯片实现定时。8253是为微机配套设计开发的一个可编程定时计数器 11.1 概述一、一、8253的结构框图的结构框图 11.1 概述概述(1)数据总线缓冲器 数据总线缓冲器是8253与CPU的接口,双向、三态、8位的缓冲器。(2)读写控制逻辑 当信号为低电平有效时,选中该8253芯片(3)控制字寄存器 控制字寄存器从数据总线上接收CPU送来的控制字,该控制字可以进行通道的选择、工作方式的设定、计数初值格式(BCD码或二进制)的设定以及计数初值的写入顺序等。(4)计数器0、计数器1、计数器2 8253的三个计数通道.其结构完全相同,每个计数器由CLK和GATE两个输入信号和OUT一个输出信号。11.1 概述概述二、二、8253的引脚的引脚 11.1 概述概述(1)数据总线D7D0。三态、双向输入输出线。用于8253 与系统的数据总线间的数据传送。(2)片选信号。输入,低电平有效。(3)读信号、写信号。输入,低电平有效,必须先选中8253(0)时,才能对8253的内部寄存器进行读和写。(4)时钟输入CLK。时钟信号的作用是在8253进行定时或计数时每输入一个时钟信号,使计数器减1。(5)门控信号GATE。输入引脚。该信号的作用是控制启动定时或计数。(6)输出引脚OUT。三个通道各有一个OUT引脚,是8253向外部的输出信号。11.2 8253的编程控制字和工作方式的编程控制字和工作方式一、一、8253的控制字的控制字 11.2 8253的编程控制字和工作方式的编程控制字和工作方式(1)D0位:设定减位:设定减1计数是按二进制还是二计数是按二进制还是二-十进制计数。十进制计数。(2)D3D1:设定工作方式,由这三位的编码决定本通道:设定工作方式,由这三位的编码决定本通道 工作于工作于6种工作方式中的哪一种。种工作方式中的哪一种。(3)D5D4:设定计数值读:设定计数值读/写格式。写格式。(4)D7D6:计数器通道选择。:计数器通道选择。8253进行初始化编程时,进行初始化编程时,要写入控制字和计数初值。在初始化时必须注意,对于每要写入控制字和计数初值。在初始化时必须注意,对于每个计数通道,必须先写控制字再写计数初值。个计数通道,必须先写控制字再写计数初值。11.2 8253的编程控制字和工作方式的编程控制字和工作方式二、工作方式二、工作方式1、方式、方式0 逐次减逐次减1,计数到,计数到0时发中断请求时发中断请求 当控制字写入控制寄存器后,当控制字写入控制寄存器后,OUT输出引脚立即变为输出引脚立即变为低电平。低电平。CPU向向CR计数器写入计数初值后的第一个计数器写入计数初值后的第一个CLK脉冲下降沿出现时,脉冲下降沿出现时,CR寄存器的内容被送入寄存器的内容被送入CE计数单元计数单元内。随后的每个内。随后的每个CLK脉冲的下跳沿出现时,都使脉冲的下跳沿出现时,都使CE计数执计数执行单元的内容减行单元的内容减1。当当CE减减1计数到计数到0时,时,OUT输出变为高电平。用户可输出变为高电平。用户可以用以用OUT的输出发出中断请求信号。的输出发出中断请求信号。11.2 8253的编程控制字和工作方式的编程控制字和工作方式8253工作在方式工作在方式0时的时序图时的时序图 11.2 8253的编程控制字和工作方式的编程控制字和工作方式例:设例:设8253计数器通道计数器通道0工作于方式工作于方式0,用,用8位二进制计数,其位二进制计数,其 计数值为计数值为50,二,二-十进制,则它的初始化程序段如下:十进制,则它的初始化程序段如下:MOV AL,11H;设置控制字;设置控制字OUT 43H,AL ;写入控制字寄存器;写入控制字寄存器MOV AL,50 ;设置计数初值;设置计数初值OUT 40H,AL;写入计数初值寄存器;写入计数初值寄存器11.2 8253的编程控制字和工作方式的编程控制字和工作方式2、方式、方式1:可编程单脉冲输出:可编程单脉冲输出 该方式下,写入命令字和计数初值后,计数器输出端该方式下,写入命令字和计数初值后,计数器输出端OUT为高电平,由门控信号的上升沿触发,使为高电平,由门控信号的上升沿触发,使OUT变为低变为低电平,在下一个电平,在下一个CLK时钟的下跳沿开始对随后到来的时钟的下跳沿开始对随后到来的CLK时钟进行计数,当减时钟进行计数,当减1计数至计数至0时,时,OUT变为高电平。变为高电平。即每个即每个GATE信号的上升沿会触发信号的上升沿会触发OUT输出一个宽度输出一个宽度为计数初值为计数初值N个个CLK周期间隔的负脉冲。周期间隔的负脉冲。该方式可重复触发,只要有该方式可重复触发,只要有GATE信号的上升沿到来信号的上升沿到来就会重新触发计数器。就会重新触发计数器。11.2 8253的编程控制字和工作方式的编程控制字和工作方式8253工作在工作方式工作在工作方式1的时序图的时序图 11.2 8253的编程控制字和工作方式的编程控制字和工作方式例:设计数器通道例:设计数器通道1工作于方式工作于方式1,按二进制计数,计数初值,按二进制计数,计数初值 为为40H,它的初始化程序段为:,它的初始化程序段为:MOV AL,62H;工作方式控制字;工作方式控制字OUT 43H,ALMOV AL,40H;送计数初值;送计数初值OUT 41H,AL11.2 8253的编程控制字和工作方式的编程控制字和工作方式3、方式、方式2:周期性时间间隔计时器(频率发生器):周期性时间间隔计时器(频率发生器)当控制字写入控制字寄存器以后,当控制字写入控制字寄存器以后,OUT变为高电平初变为高电平初始电平,当计数初值送入始电平,当计数初值送入CR后的第一个后的第一个CLK脉冲的下跳脉冲的下跳沿,将沿,将CR内容送内容送CE,并开始对以后的,并开始对以后的CLK脉冲进行减脉冲进行减1计数。计数值减计数。计数值减1至至1时,输出立即变为低电平。输出低电时,输出立即变为低电平。输出低电平的宽度等于一个输入时钟周期时间。当减平的宽度等于一个输入时钟周期时间。当减1到到0时时OUT变变为高电平。同时自动将计数初值送计数器继续进行下一次为高电平。同时自动将计数初值送计数器继续进行下一次的计数。的计数。11.2 8253的编程控制字和工作方式的编程控制字和工作方式8253工作在工作方式工作在工作方式2的时序图的时序图 11.2 8253的编程控制字和工作方式的编程控制字和工作方式例:设例:设8253计数器计数器0工作于方式工作于方式2,按二进制计数,计数初值,按二进制计数,计数初值为为0304H。MOV AL,00110100B;设控制字,通道;设控制字,通道0,先读,先读/写高写高8位位 ;再读写低;再读写低8位,方式位,方式2,二进制。,二进制。OUT43H,ALMOV AL,04H ;送计数值低字节;送计数值低字节OUT 40H,ALMOV AL,03HOUT 40H,AL ;送计数值高字节;送计数值高字节11.2 8253的编程控制字和工作方式的编程控制字和工作方式4、方式、方式3:方波发生器:方波发生器 该方式的工作过程与方式该方式的工作过程与方式2很相似,门控的作用及自很相似,门控的作用及自动加载计数初值都一样,只是动加载计数初值都一样,只是OUT引脚输出波形不同。该引脚输出波形不同。该方式在计数过程中输出一系列方波。方式在计数过程中输出一系列方波。当计数初值当计数初值N为偶数时,输出高、低电平持续时间相为偶数时,输出高、低电平持续时间相等。当等。当N为奇数时,输出高电平持续时间比低电平持续时为奇数时,输出高电平持续时间比低电平持续时间多一个时钟周期。间多一个时钟周期。11.2 8253的编程控制字和工作方式的编程控制字和工作方式例:设例:设8253计数器计数器2工作在方式工作在方式3,按二,按二-十进制计数,计数十进制计数,计数初值为初值为4,则它的初始化程序段如下:,则它的初始化程序段如下:MOV AL,10010111B ;计数器;计数器2,只读,只读/写低写低8位,位,;工作方式;工作方式3,二,二十进制十进制OUT 43H,AL ;控制字送控制字寄存器;控制字送控制字寄存器MOV AL,4 ;送计数初值;送计数初值OUT 42H,AL11.2 8253的编程控制字和工作方式的编程控制字和工作方式8253工作在工作方式工作在工作方式3的时序图的时序图11.2 8253的编程控制字和工作方式的编程控制字和工作方式5、方式、方式4:软件触发选通:软件触发选通 该方式与方式该方式与方式0相似,当写入方式命令字后相似,当写入方式命令字后OUT引脚引脚变为高电平初始电平。当计数到变为高电平初始电平。当计数到0时,时,OUT引脚输出一个引脚输出一个CLK时钟周期宽的负脉冲,然后又恢复为高电平。时钟周期宽的负脉冲,然后又恢复为高电平。GATE=1时允许计数,时允许计数,GATE=0时停止计数。该方式时停止计数。该方式不能循环计数,每次启动计数都要靠重新写入计数初值。不能循环计数,每次启动计数都要靠重新写入计数初值。11.2 8253的编程控制字和工作方式的编程控制字和工作方式8253工作在工作方式工作在工作方式4的时序图的时序图 11.2 8253的编程控制字和工作方式的编程控制字和工作方式例:设例:设8253计数器计数器1工作于方式工作于方式4,按二进制计数,计数初值,按二进制计数,计数初值为为3,则初始化程序段为:,则初始化程序段为:MOVAL,058H;设置控制字寄存器;设置控制字寄存器 OUT43H,AL;送控制字;送控制字 MOVAL,3 ;置计数初值;置计数初值 OUT41H,AL;送计数初值;送计数初值11.2 8253的编程控制字和工作方式的编程控制字和工作方式6、方式、方式5:硬件触发脉冲:硬件触发脉冲 该方式下,对该方式下,对8253写入计数值后,计数器并不会立即写入计数值后,计数器并不会立即开始计数,而是必须等开始计数,而是必须等GATE上跳沿出现之后,才会在下上跳沿出现之后,才会在下一个一个CLK的下跳沿,将的下跳沿,将CR内容装入内容装入CE,并开始对随后的,并开始对随后的CLK脉冲进行计数。脉冲进行计数。在计数期间,在计数期间,OUT引脚输出为高电平。当计数到引脚输出为高电平。当计数到0时,时,OUT引脚输出一个引脚输出一个CLK周期宽的负脉冲,然后又恢复为高周期宽的负脉冲,然后又恢复为高电平。电平。11.2 8253的编程控制字和工作方式的编程控制字和工作方式8253工作在工作方式工作在工作方式5的时序图的时序图 11.2 8253的编程控制字和工作方式的编程控制字和工作方式例:设例:设8253的通道的通道1工作于方式工作于方式5,按二进制计数,计数初值,按二进制计数,计数初值为为4000H,则它的初始化程序段为:,则它的初始化程序段为:MOV AL,01101010B;通道;通道1,只读写高字节,只读写高字节,;方式;方式5,二进制计数。,二进制计数。OUT 43H,ALMOV AL,40HOUT 41H,AL ;送计数初值;送计数初值11.2 8253的编程控制字和工作方式的编程控制字和工作方式三、三、8253的读操作的读操作 有两种读计数值的方法:有两种读计数值的方法:(1)读之前先停止计数:)读之前先停止计数:用用GATE信号控制计数器先停止计数,再由软件将计数信号控制计数器先停止计数,再由软件将计数值读出,读出顺序必须严格按控制字值读出,读出顺序必须严格按控制字D5D4确定的格式进确定的格式进行。行。(2)读之前先送计数值锁存命令:)读之前先送计数值锁存命令:需要在读之前先发一个锁存命令,将当前计数器中的需要在读之前先发一个锁存命令,将当前计数器中的内容锁存进一存储寄存器,得到一个不变的稳定量。然后内容锁存进一存储寄存器,得到一个不变的稳定量。然后再发读命令,从该锁存器中将数据读出。再发读命令,从该锁存器中将数据读出。11.2 8253的编程控制字和工作方式的编程控制字和工作方式【例例】要读取通道要读取通道3的计数值,则要执行的程序段为:的计数值,则要执行的程序段为:MOV AL,80H;通道;通道3的锁存命令的锁存命令OUT43H,AL;写入控制寄存器;写入控制寄存器IN AL,42H;读低;读低8位位MOV BL,ALINAL,42H ;读高;读高8位位MOV BH,AL11.3 PC/XT机中机中8253的应用的应用1、计数器、计数器0:用于产生实时时钟信号:用于产生实时时钟信号 计数器计数器0编程设定于工作方式编程设定于工作方式3,OUT0引脚输出方波,引脚输出方波,计数初值为计数初值为0,即最大值,即最大值216=65536。由于输入时钟为。由于输入时钟为1.19318MHz的方波,因此在的方波,因此在OUT0输出频率为输出频率为1.19318M/65536=18.2HZ的方波。计数器的输出端的方波。计数器的输出端OUT0与与8259A的的IRQ0相连,所以每隔相连,所以每隔1/18.2秒,将在秒,将在IRQ0产产生一个中断请求信号(即每隔生一个中断请求信号(即每隔55ms产生一次产生一次0级中断)。级中断)。这种周期性的中断,被这种周期性的中断,被BIOS用作工作日的计时时钟。由用作工作日的计时时钟。由于系统中于系统中0级中断的优先级最高,这就保证了系统时钟的级中断的优先级最高,这就保证了系统时钟的稳定性和可靠性。稳定性和可靠性。11.3 PC/XT机中机中8253的应用的应用2、计数器、计数器1:用于产生动态存储器刷新的地址更新信号:用于产生动态存储器刷新的地址更新信号 该计数器编程设定为工作方式该计数器编程设定为工作方式2,计数初值,计数初值18,CLK引脚引脚1.19318MHZ的脉冲,的脉冲,18/1.19318 MHZ=15.12s,因此每隔因此每隔15.12s在在OUT引脚产生一个宽度为引脚产生一个宽度为840ns的负的负脉冲。脉冲。该信号经过触发器记忆后,作为该信号经过触发器记忆后,作为8237A通道通道0的的DREQ0请求信号,用来控制对动态存储器的刷新。请求信号,用来控制对动态存储器的刷新。11.3 PC/XT机中机中8253的应用的应用3、计数器、计数器2:产生扬声器的发音驱动信号,还可根据用户编程用于产生扬声器的发音驱动信号,还可根据用户编程用于其他目的。其他目的。计数器计数器2编程设定为工作方式编程设定为工作方式3,计数初值,计数初值533H,OUT2输出引脚接输出引脚接8255A的的PC5用于驱动扬声器。也可通用于驱动扬声器。也可通过编程,产生各种频率的方波,控制声音的音调和任意长过编程,产生各种频率的方波,控制声音的音调和任意长时间的声音。时间的声音。

    注意事项

    本文(第11章 8253可编程定时计数器.ppt)为本站会员(gsy****95)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开