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

    第7章计数器定时器.ppt

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

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

    第7章计数器定时器.ppt

    第六章第六章 计数器计数器/定时器定时器在在微微机机系系统统或或微微机机应应用用系系统统,特特别别是是控控制制系系统统中中,经经常常有有计计数数和和计计时时的的要要求求。如如汽汽车车里里程程表表的的公公里里计计数数,电电话话通通话话时时间间计计时时等等。这这些些应应用用在在计计算算机机中中的的处处理理方方法法不不外外乎乎两两种种:硬件方法和软件方法。硬件方法和软件方法。软软软软件件件件定定定定时时时时就就是是根根据据所所需需要要的的时时间间常常数数来来设设计计一一个个延延迟迟子子程程序序,这这样样作作的的优优点点是是节节省省硬硬件件,但但耗耗费费CPU的的资资源源较较多多,降降低低了了CPU效效率率,且且编编写写软软件件略略显显麻麻烦烦,通通常常延延迟迟时时间间较较小小且重复且重复次数有限的情况下,使用该方法。次数有限的情况下,使用该方法。硬硬硬硬件件件件定定定定时时时时就就要要用用到到计计数数器器/定定时时器器,其其优优点点是是不不占占用用CPU时时间间,且且利利用用计计数数器器/定定时时器器产产生生中中断断信信号号,就就可可以以建建立立多多作作业业环环境境,以以提提高高CPU效效率率,由由于于计计数数器器/定定时时器器开开销销不不大大,因此的因此的到了广泛应用。到了广泛应用。1第一节第一节 计数与定时计数与定时 一一.计数与定时的概念计数与定时的概念在计算机处理计数问题时,首先要将计数量转化为电在计算机处理计数问题时,首先要将计数量转化为电脉冲的形式,计数的任务即是对某电脉冲的出现次数进行脉冲的形式,计数的任务即是对某电脉冲的出现次数进行度量的工作。引发计数工作的电脉冲称为度量的工作。引发计数工作的电脉冲称为计数脉冲计数脉冲。在进行计数时,计数脉冲的出现与否受外界控制,不在进行计数时,计数脉冲的出现与否受外界控制,不具有一定的规律性,所以要求计数系统具有良好的实时性,具有一定的规律性,所以要求计数系统具有良好的实时性,即无论计数脉冲出现的快慢,计数系统必须准确记录计数即无论计数脉冲出现的快慢,计数系统必须准确记录计数脉冲的出现。脉冲的出现。在计算机系统中,更常用的是在计算机系统中,更常用的是定时工作定时工作(计时和延时计时和延时)计时计时即对两事物发生的时间间隔进行计量;即对两事物发生的时间间隔进行计量;延时延时是对某事件发生后的时间进行计量,直到某个时间间隔后是对某事件发生后的时间进行计量,直到某个时间间隔后发生另一事件。发生另一事件。时间计量时间计量是在统一的时间标准上进行的,这个标准时间通常由是在统一的时间标准上进行的,这个标准时间通常由振荡器一类电路提供的恒定频率的电脉冲来担振荡器一类电路提供的恒定频率的电脉冲来担当,这样定当,这样定时的工作就可转化为对具有恒定频率的计数脉冲进行技术时的工作就可转化为对具有恒定频率的计数脉冲进行技术的工作。的工作。2二二.计数方法与计数器计数方法与计数器通常按计数的实现方法可将计数器操作分为增量计数器和减量计数器两种。增量计数器增量计数器是指当计数脉冲到来后,计数的计数值加“1”;减量计数器减量计数器反之。增量计数器常用于对事件的累计,而减量计数常用于限量计数。增量计数关心的是当前计数的量,减量计数关心的是计数终到的时刻。如人们为了了解汽车行驶的里程而为汽车设置了里程表,使用里程表是为了了解当前汽车以运行的公里数,这时就需要增量计数器;在控制药片装瓶的药品包装机中,需要记录药片装入的数量,我们关心的是药品装满的时刻,以便换瓶,此时可采用减量计数器。3在在计计算算机机系系统统中中,计计数数操操作作可可采采用用软软件件实实现现也也可可采采用用硬硬件实现,或者将二者结合使用。件实现,或者将二者结合使用。软软件件实实现现计计数数的的方方法法是是将将计计数数脉脉冲冲直直接接锁锁存存到到计计算算机机的的输输入入引引脚脚,查查到到了了计计数数脉脉冲冲后后便便进进行行计计数数处处理理,并并清清除除锁锁存存器器,否否则则继继续续查查询询,在在软软件件中中即即可可采采用用增增量量计计数数也也可可采采用用减减量量计计数数,灵灵活活性性很很大大,但但这这样样CPU的的占占用用率率太太大大。也也可可以以利利用用计计数数脉脉冲冲引引发发中中断断进进行行计计数数,可可解解决决CPU占占用用率率的的问问题题,但但由由于于CPU响响应应中中断断的的周周期期的的限限制制,当当计计数数脉脉冲冲的的频频率率很很高时,可能发生漏计。高时,可能发生漏计。4由由于于以以上上原原因因,实实际际应应用用系系统统中中多多采采用用硬硬件件方方法法进进行行计计数数操操作作。利利用用多多个个级级联联的的触触发发器器构构成成计计数数器器,将将计计数数脉脉冲冲接接到到计计数数器器的的时时钟钟输输入入端端,则则随随着着计计数数脉脉冲冲的的到到来来,触触发发器器的的状状态态输输出出可可反反映映计计数数的的二二进进制制或或十十进进制制的的值值。如如果果使使用用可可预预置置初初值值的的计计数数器器,则则可可控控制制计计数数器器的的计计数数总总量量,当当计计数数达达到到这这个个量量时时,可可输输出出计计数数终终到到脉脉冲冲。如如果果使使用用可可重重载载计计数器,则可实现连续计数。数器,则可实现连续计数。将将这这种种计计数数器器连连到到计计算算机机系系统统中中,由由CPU来来设设置置初初值值,由由CPU启启动动计计数数,并并由由CPU来来读读取取计计数数器器的的当当前前值值,计计数数终终到到后后向向CPU发发出出中中断断请请求求,由由CPU处处理理计计数数终终到到后后的的工工作作,则则构构成成一一种种可可编编程程计计数数器器。这这种种计计数数器器的的计计数数过过程程自自动动进进行行。不不需需CPU的的干干预预,仅仅在在CPU需需要要时时提提供供计计数数的的当当前前值值,或或在在计计数数终终到到后后向向CPU发发出出中中断断请请求求,因因而而CPU占占用率极低,在实际应用系统中被广泛应用。用率极低,在实际应用系统中被广泛应用。5三三.定时方法与定时器定时方法与定时器计计算算机机系系统统中中的的,定定时时操操作作又又分分成成延延时时操操作作和和计计时时操操作作两种。两种。延延时时操操作作只只关关心心时时间间间间隔隔和和延延时时终终到到的的时时刻刻,而而计计时时操操作作则则要要求求随随时时了了解解现现在在时时刻刻的的标标准准时时间间。延延时时操操作作的的实实现现方方法很多,而计时操作的实现方法则很单一。法很多,而计时操作的实现方法则很单一。在在模模拟拟电电路路中中,延延时时操操作作多多是是利利用用电电子子器器件件本本身身的的特特性性来来实实现现的的,最最常常用用的的延延时时器器件件是是电电容容器器。如如单单稳稳态态触触发发器器,延延时时线线等等,这这类类电电路路的的设设计计安安装装一一旦旦完完毕毕,其其延延时时的的时时间间就就已已经经固固定定(或或仅仅可可在在小小范范围围内内手手工工调调节节),仅仅适适用用于于延延时时间间隔较为固定的场合。隔较为固定的场合。在在数数字字电电路路中中,实实现现延延时时操操作作则则借借用用于于计计数数器器,给给计计数数器器输输入入一一故故定定频频率率的的计计数数脉脉冲冲(也也称称为为定定时时脉脉冲冲),并并给给计计数数器器输输入入一一定定的的初初始始计计数数值值,给给计计数数器器发发一一个个启启动动脉脉冲冲后后,计计数数器器以以固固定定频频率率进进行行计计数数,延延时时一一定定时时刻刻后后,计计数数器器计计数数终终到到,发发出出终终到到脉脉冲冲。这这种种方方法法,只只要要改改变变计计数数器器的的初初始始值值,就就可可一一改改变变延延时时的的时时间间长长度度,适适当当增增加加计计数数器器的的位位数数,就就可以实现较大时间内的可调延时。可以实现较大时间内的可调延时。6软软件件延延时时是是利利用用CPU的的指指令令周周期期进进行行的的延延时时。在在程程序序中中设设计计一一种种循循环环,循循环环的的内内部部仅仅进进行行空空操操作作(NOP),只只要要准准确确的的计计算算指指令令周周期期和和循循环环次次数数,就就可可以以在在CPU执执行行该该循循环环程程序序时时延延时时指指定定的的时时间间。这这种种方方法法的的优优点点是是不不需需要要附附加加的的硬硬件件,且且延延时时范范围围灵灵活活;缺缺点点是是一一方方面面占占用用CPU资资源源,降降低低了了CPU的的利利用用率率,另另一一方方面面是是当当CPU的的指指令令中中期期不不固固定定时时(如如发发生生DMA操操作作或或插插入入数数个个Tw状状态态时时);延延时时的的时时间间可可能能发发生生较较大大的的变变化化。如如为为8086编编写写的的程程序序中中使使用用的的延延时,在时,在80486系统下,延时的时间明显缩短。系统下,延时的时间明显缩短。7计计算算机机中中实实现现延延时时的的另另一一种种方方法法是是利利用用硬硬件件,借借助助于于可可编编程程的的计计数数器器进进行行延延时时。在在电电路路上上给给计计数数器器输输入入恒恒定定的的定定时时脉脉冲冲,新新要要延延时时时时,首首先先由由CPU给给计计数数器器赋赋以以初初值值,然然后后CPU给给计计数数器器发发出出启启动动脉脉冲冲,计计数数器器就就开开始始工工作作了了,计计数数器器终终到到时时,计计数数器器输输出出终终到到脉脉冲冲,或或者者用用以以引引发发CPU中中断断,进进行行延延时时后后的的处处理理,或或者者直直接接将将计计数数脉脉冲冲输输出出到到外外设设,驱驱动动外外设设工工作作。这这种种方方法法延延时时准准确确,占占用用CPU时时间间少少,且且不不会会因因系系统统升升级级而而改改变变延延时时时时间间,故故被被广泛采用。广泛采用。当当计计算算机机系系统统中中配配置置有有定定时时时时钟钟的的情情况况下下,还还可可以以利利用用查查询询系系统统时时钟钟的的方方法法来来进进行行软软件件延延时时,系系统统时时钟钟由由计计时时机机构构产产生生,这这样样可可保保证证延延时时的的准准确确性性,但但仍仍需需占占用用较多的较多的CPU时间。时间。8u在计算机系统中,计时的工作一般是由计数器来进行的。首先在系统中设置一个计数器,给这个计数器输入稳定频率的定时脉冲作为计数脉冲,并使其工作在可重载的状态,使其输出连续的终到脉冲,这个脉冲是定时脉冲的N分频,用这个脉冲引发CPU的定时中断,CPU根据这个定时脉冲来修改内部的时钟,就可以进行计时操作。在采用了计数器定时后,可从事就成为计数的一种特例,是对标准频率的定时脉冲进行的计数。因此,把具有计数终到输出的可重载计数器称为计数器/定时器。Intel公司生产的可编程计数器/定时器8253就是一种典型的专用计数器/定时器芯片,是PC系列微机的标准设备之一。9四四.计数计数/定时的工作原理定时的工作原理计数计数/定时的功能定时的功能对外部事件发生次数进行计数对外部事件发生次数进行计数计算机系统经常用到定时信号,如计算机系统经常用到定时信号,如DRAM刷新定时刷新定时计数和计时本质上是相同的,它们都是对一个输入脉冲进计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数,如果输入脉冲的频率一定,那么记录脉冲的个数行计数,如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关系。与所需的时间是一一对应的关系。例如输入脉冲频率为例如输入脉冲频率为2MHz,那么计数那么计数2 106 计时计时1秒秒因此,使用同一个芯片,既能计数,又能计时因此,使用同一个芯片,既能计数,又能计时计时器计时器/计数器计数器10控制寄存器控制寄存器初始值寄存器初始值寄存器计数器计数器计数输出寄存器计数输出寄存器状态寄存器状态寄存器CLKGATEOUT组成:组成:控制寄存器控制寄存器决定工作模式决定工作模式状态寄存器状态寄存器反应工作状态反应工作状态初值寄存器初值寄存器计数的初值计数的初值计数输出寄存器计数输出寄存器 CPU从中读当前计数值从中读当前计数值计数器计数器 执行计数操作,执行计数操作,CPU不能访问不能访问11工作原理:工作原理:对对CLK信号进行减信号进行减1计数计数首首先先,CPU把把控控制制字字写写入入控控制制寄寄存存器器,计计数数初初始始值值写写入入初值寄存器初值寄存器计数从初值开始,每当计数从初值开始,每当CLK信号出现一次,计数值减信号出现一次,计数值减1当计数值减到当计数值减到0,从,从OUT端输出规定的信号端输出规定的信号CLK信信号号出出现现时时,计计数数器器是是否否减减1,由由门门控控信信号号GATE控制控制12CLK是计数输入信号,计数器对是计数输入信号,计数器对CLK端出现的脉冲端出现的脉冲个数进行计数个数进行计数CLK端可以输入外部事件端可以输入外部事件CLK端可以接入固定频率的时钟信号,从而端可以接入固定频率的时钟信号,从而实现计时实现计时OUT信号在计数结束时发生变化信号在计数结束时发生变化可将可将OUT作为外部设备的控制信号作为外部设备的控制信号可将可将OUT作为向作为向CPU申请中断的信号申请中断的信号CPU可以从计数输出寄存器读出当前计数值。可以从计数输出寄存器读出当前计数值。读前,应向控制寄存器发送锁存命令读前,应向控制寄存器发送锁存命令13第二节第二节 可编程计数器可编程计数器/定时器定时器 8253 8253芯芯片片上上集集成成有有3个个独独立立的的16位位计计数数器器,可可用用来来进进行行二二进进制制或或BCD码码计计数数,计计数数速速率率可可达达1.6MHz;每每个个计计数数器器(或或称称计计数数通通道道)有有独独立立的的计计数数脉脉冲冲输输入入引引脚脚CLK,独独立立的的计计数数启启动动控控制制引引脚脚GATE和和独独立立的的计计数数终终到到输出引脚输出引脚OUT。可可由由程程序序设设置置和和改改变变各各计计数数器器的的工工作作方方式式,共共有有6种种工工作作方方式式供供选选择择。通通过过对对8253的的控控制制寄寄存存器器编编程程,可可以以控控制制每每个个计计数数器器的的工工作作方方式式,计计数数制制式式以以及及计计数数初初值值的装入。的装入。8253设设有有数数据据总总线线缓缓冲冲器器,用用来来实实现现与与系系统统数数据据总总线线的的连连接接。有有读读写写控控制制逻逻辑辑,可可接接收收来来自自系系统统总总线线的的控控制信号,并产生输出信号。制信号,并产生输出信号。14一一.8253的编程结构的编程结构8253 是是24引引脚脚双双列列直直插插式式芯芯片片,它它与与CPU的的接接 口口 引引 线线 除除 了了 没没 有有RESET引引脚脚外外,其其他他与与8255相相 同同。其其 中中:D7D0是是数数据据线线引引脚脚,RD和和WD分分别别是是读读写写控控制制引引脚脚,CS是是片片选选信信号号。A1,A0是是片片内内地地址址选选择择引脚。引脚。8253的的三三个个计计数数通通道道在在结结构构上上和和功功能能上上完完全全一一样样,每每个个通通道道均均有有两两 个个 输输 入入 引引 脚脚 CLK和和GATE,一一个个输输出出信信号号引脚引脚OUT。15168253的的计计数数过过程程是是由由其其硬硬件件电电路路独独立立完完成成的的。使使用用时时,使使用用时时只只需需在在计计数数开开始始前前由由CPU通通过过程程序序向向8253写写入入控控制制字字和和计计数数初初值值,确确定定它它的的计计数数方方式式和和计计数数范范围围即即可可,而而计计数数过过程程完完全全不不需需CPU干干预预,计计数数器器可可以以和和CPU同同时时工工作作,当当计计数数完完成成后后,8253可可以以向向CPU申申请请中中断断。显显然然,这这种种独独立立于于CPU的的计计数数/定定时时器器,可可以以使使CPU开开销销最最小小,并并可可通通过过适适当当分分配优先级的办法实现延时。配优先级的办法实现延时。由由于于8253的的读读/写写操操作作对对系系统统时时钟钟没没有有特特殊殊要要求求,因因此此,它它可可以以应应用用于于任任何何一一种种微微处处理理器器组组成成的的系系统统当当中中,作作为为可可编编程程的的方方波波频频率率发发生生器器,分分频频器器,实实时时钟,事件计数器,单脉冲发生器等。时时钟,事件计数器,单脉冲发生器等。17数据总线缓冲器数据总线缓冲器u8253与数据总线的接口部件,是与数据总线的接口部件,是8位的三态双向缓冲器,位的三态双向缓冲器,CPU对对8253读写的数据,控制及状态信息读写的数据,控制及状态信息都通过这都通过这8条数据线传送,读写的内容包括:条数据线传送,读写的内容包括:uCPU向向8253传送的确定传送的确定8253工作方式的控制字工作方式的控制字uCPU向某一计数器装入计数初值向某一计数器装入计数初值uCPU从某一计数器读出计数初值从某一计数器读出计数初值18读/写逻辑电路 8253内内部部操操作作的的控控制制电电路路,它它从从系系统统控控制制总总线线上上接接收收控控制制信信号号,然然后后产产生生8253内内部部操操作作的的各各种种控控制制 信信号号,具具体体接接收收的的控控制制信信号号为为:uCS片选信号,低电平有效,有效时可以访问片选信号,低电平有效,有效时可以访问8253,为高电平时,数据,为高电平时,数据总线缓冲器总线缓冲器处在高阻状态,与系统数据总线脱离,故不能进行数据总线处在高阻状态,与系统数据总线脱离,故不能进行数据总线编程,也不能进行读写操作,但不影编程,也不能进行读写操作,但不影响计数器的工作。响计数器的工作。uRD,WR读写控制信号,控制数据的传送方向,当读写控制信号,控制数据的传送方向,当RD有效时,数据由有效时,数据由8253传向传向CPU(读当前计数值读当前计数值);当;当WR有效时,数据由有效时,数据由CPU传向传向8253(写控制字和计数初值写控制字和计数初值)。uA1,A0接系统总线的接系统总线的A1,A0,用于选择用于选择8253那的计数器和控制寄存器。那的计数器和控制寄存器。A1A0计数器计数器00计数器计数器001计数器计数器110计数器计数器211控制寄存器控制寄存器19控制寄存器控制寄存器 20计数器计数器0,1,2 8253有3个独立的计数器/定时器,计数器0,1,2,每个计数器的内部结构相同,操作完全相同。每个通道的外部均有两个输入信号CLK和GATE,一个输出信号OUT.uCLK时钟脉冲输入uGATE门控制信号输入uOUT输出信号21u每个计数器内部都有三个每个计数器内部都有三个16位寄存器位寄存器CR,CE和和OL。uCR计数初值寄存器计数初值寄存器存存放放CPU写写入入的的计计数数初初值值(也也称称时时间间常常数数)。CPU可可以以写写,但但不不能能读读CR寄寄存存器器。CPU向向CR写写入入计计数数初初值值后后的的第第一一个个CLK脉脉冲冲下下降降沿沿,CR寄寄存存器器的的内内容容被被送送到到CE计计数数器器单单元元内内,随随后后CE开开始始工工作作。如如果果是是在在非非重重载载方方式式下下(方方式式0,方方式式1,方方式式4,方方式式5),CR的的内内容容只只向向CE写写入入一一次次;在在重重载载方方式式下下(方方式式2,方方式式3),当当计计数数终终到到后后,CR的的内内容容又又重重新新写写入入CE,一维持一维持CE以同样的以同样的计数初值连续工作。计数初值连续工作。uCE计数执行部件计数执行部件接接收收CR送送来来的的计计数数初初值值,在在GATE的的控控制制下下决决CLK进进行行减减1计计数数,当当计计数数终终到到时时减减1到到0,该该计计数数通通道道的的OUT引引脚脚发发出出OUT信信号号。CPU不不能能访访问问CE寄存器。寄存器。uOL输出锁存器输出锁存器用用来来锁锁存存某某一一时时刻刻CE中中的的计计数数值值。由由于于8253的的数数据据总总线线只只有有8位位,而而CE是是16位位的的,不不可可能能在在一一个个总总线线周周期期内内将将CE的的内内容容全全部部读读入入CPU,因因此此用用OL将将不不断断变变化化的的CE值值保保持持住住,以以便便CPU读读到到正正确确的的CE值值。CPU可可随时用随时用IN指令读出该寄存器的当前计数值,但不能写该寄存器。指令读出该寄存器的当前计数值,但不能写该寄存器。228253输入信号与各功能的对应关系输入信号与各功能的对应关系CS RD WR A1 A0 功能功能 0 1 0 0 0 对计数器0设置计数初值 0 1 0 0 1 对计数器1设置计数初值 0 1 0 1 0 对计数器2设置计数初值 0 1 0 1 1 设置控制字或给一个命令 0 0 1 0 0 从计数器0读出计数值 0 0 1 0 1 从计数器1读出计数值 0 0 1 1 0 从计数器2读出计数值 23初始化初始化1)写入控制字)写入控制字2)按控制字要求写入计数初值)按控制字要求写入计数初值计数器初值计算:计数器初值计算:N=fCLK/fOUT二二.8253编程编程8253控制寄存器的格式如下控制寄存器的格式如下:D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 24例:设三个计数器的例:设三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制控制寄存器端口地址寄存器端口地址73H。计数器计数器1,工作模式,工作模式1,CR/OL使用使用16位,位,初值为初值为1234,计数值使用,计数值使用BCDMOV AL,73HOUT 73H,ALMOV AX,1234HOUT 71H,ALMOV AL,AHOUT 71H,AL例:设三个计数器的例:设三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制控制寄存器端口地址寄存器端口地址73H。计数器计数器0,工作模式,工作模式2,CR/OL仅使用低仅使用低8位,初值为位,初值为100,计数值使用二进制,计数值使用二进制MOV AL,14HOUT 73H,ALMOV AL,100OUT 70H,AL25 读操作读操作1)发出锁存命令,使当前计数值锁存在)发出锁存命令,使当前计数值锁存在OL中中2)读)读OL,获得当前计数值获得当前计数值例:设三个计数器的例:设三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制控制寄存器端口地址寄存器端口地址73H。读出计数器读出计数器0的当前计数值,放在的当前计数值,放在BX中中MOV AL,0HOUT 73H,ALIN AL,70HMOV BL,ALIN AL,70HMOV BH,ALSC1 SC0 0 0 26u写操作写操作u写命令字写命令字A1A0=11u写计数值,对各计数器口地址写计数值,对各计数器口地址u一个计数器在工作之前,需要先设置控制字,用来选择计一个计数器在工作之前,需要先设置控制字,用来选择计数器,设定工作模式和计数格式等。数器,设定工作模式和计数格式等。设置初值命令用来给出计数的初始值,初值可为设置初值命令用来给出计数的初始值,初值可为8位,也位,也可为可为16位。如为位。如为16位,则要用两条输出指令完成初值设置位,则要用两条输出指令完成初值设置。命命令令字字D7D600计数器计数器0命令字命令字01计数器计数器1命令字命令字10计数器计数器2命令字命令字D5D400锁存命令字锁存命令字非非0方式选择命令字方式选择命令字27例:设例:设8253的口地址为的口地址为40H43H,则下列程序意义为:则下列程序意义为:MOVAL,74H;01110100B初始化计数初始化计数器器1为方式为方式2,OUT43H,AL;先读低先读低8字节再读高字节再读高8字节二进制数字节二进制数MOVAL,20H;写入计数器写入计数器1计数初值计数初值0420HOUT41H,ALMOVAL,04HOUT41H,ALMOVAL,40H;01000000B向计数器向计数器1发锁存命令发锁存命令OUT43H,AL28三三.8253工作模式工作模式8253作为一个可编程计数器/定时器,可以用6种工作模式,不论工作在那种模式,都会遵守下面几条基本规则:1)控制字写入寄存器时,所有控制逻辑电路立即复位,输出端OUT进入初始状态。2)初值写入后,要经过一个时钟上升沿和一个下降沿,计数执行部件才开始进行计数。3)通常在时钟脉冲CLK的上升沿时,门控信号GATE被采样。模式0,4中,门控信号为电平触发模式1,5中,门控信号为上升沿触发模式2,3中,门控信号为电平或上升沿触发4)在时钟脉冲的下降沿,计数器作减1计数。0是计数器所能容纳的最大初始值。二进制时,0相当于216;BCD码时,0相当于104。29工作模式决定以下内容:工作模式决定以下内容:1)门控信号的影响)门控信号的影响高电平允许,当高电平允许,当GATE=0,即使出现即使出现CLK,也不计数也不计数模式模式0,2,3,4上升沿允许(上升沿触发)上升沿允许(上升沿触发)模式模式1,52)OUT信号的状态信号的状态写入控制字后,写入控制字后,OUT的状态的状态计数过程中,计数过程中,OUT的状态的状态计数终了,计数终了,OUT的状态的状态3)计数操作可否重复)计数操作可否重复不可重复不可重复模式模式0,4自动重复自动重复模式模式2,3条件重复条件重复模式模式1,5306种工作模式主要区别:u输出波形不同。u启动计数器的触发方式不同。u计数过程中门控信号GATE对计数操作的影响不同。u有的工作方式具备“初值自动重装”的功能。初值自动重装的功能是:当计数值减到规定的数值后,计数初值将会自动地重新装入计数器。31方式方式0方式方式1方式方式2方式方式3方式方式4方式方式5功能功能计数结束输出计数结束输出正跃变信号正跃变信号单脉冲发生单脉冲发生器器频率发生器频率发生器方波发生器方波发生器单脉冲发单脉冲发生器生器单脉冲发生单脉冲发生器器启动方式启动方式“软件软件”启动启动“硬件硬件”启启动动“软件软件”启启动动“软件软件”启动启动“软件软件”启动启动“硬件硬件”启启动动输出波形输出波形写入初值后,写入初值后,经过经过N+1个个CLK输出为高输出为高宽度为宽度为N个个CLK周期的周期的负脉冲负脉冲宽度为宽度为1个个CLK周期的周期的负脉冲负脉冲N为偶数,正脉为偶数,正脉冲宽均为冲宽均为N个个CLK周期;奇周期;奇数时,正脉冲数时,正脉冲宽为宽为(N+1)/2CLK周周期,负脉冲期,负脉冲(N-1)/2CLK周期周期宽度为宽度为1个个CLK周期周期的负脉冲的负脉冲宽度为宽度为1个个CLK周期的周期的负脉冲负脉冲初值重装初值重装初值自动重初值自动重装装初值自动重装初值自动重装计数过程中改变计计数过程中改变计数初值数初值立即有效立即有效外部触发后外部触发后有效有效计数到计数到1后后有效有效外部触发有效外部触发有效/计数结束后有计数结束后有效效立即有效立即有效外部触发后外部触发后有效有效GATE信号的信号的作用作用GATE=0停止计数停止计数停止计数停止计数停止计数停止计数停止计数停止计数上升沿上升沿启动计数启动计数启动计数启动计数启动计数启动计数启动计数启动计数GATE=1允许计数允许计数允许计数允许计数允许计数允许计数允许计数允许计数326种工作模式种工作模式方式方式0:计数初值写入计数初值写入CR后,后,OUT由由0到到1跳变出现在跳变出现在n+1个个时钟时钟脉冲之后脉冲之后延迟时间延迟时间TD=(n+1)TCLK方式方式1:单脉冲宽度单脉冲宽度T=n TCLK方式方式2:对输入端对输入端n个时钟脉冲,在输出端仅出现一个时钟脉冲个时钟脉冲,在输出端仅出现一个时钟脉冲N分频计数器分频计数器33方式方式3:例:计数器工作模式例:计数器工作模式3,计数器初值,计数器初值15,时钟脉冲频率为,时钟脉冲频率为2MHz,确定确定OUT端输出方波的特性。端输出方波的特性。解:解:TCLK=1/2MHz=500ns计数器初值计数器初值15为奇数,输出分频波高电平宽度为奇数,输出分频波高电平宽度 TCLK(N+1)/2=4 s输出分频波低电平宽度输出分频波低电平宽度 TCLK(N-1)/2=3.5 s方式方式4、5:触发后触发后n+1个时钟脉冲之后输出端产生选通脉冲信号个时钟脉冲之后输出端产生选通脉冲信号34例:计数器例:计数器0工作模式工作模式4,初始化计数器,初始化计数器,使装入计数使装入计数器器10 s后产生选通信号后产生选通信号(设时钟频率设时钟频率2MHz,8253端口端口地址为地址为50H53H)。解:解:n+1=T/TCLK=10/0.5=20 n=19=13HMOV AL,18HOUT 53H,ALMOV AL,13HOUT 50H,AL35四四.8253的应用的应用1.PC机中机中8253的应用的应用计数器计数器0:向系统日历时钟提供定时中断:向系统日历时钟提供定时中断模式模式3,控制字,控制字36H,计数器初始值计数器初始值0计数器计数器1:动态:动态RAM刷新刷新模式模式2,控制字,控制字54H,计数器初始值计数器初始值18(12H)计数器计数器2:控制扬声器发声:控制扬声器发声模式模式3,控制字,控制字B6H,计数器初始值计数器初始值1331(533H)PC机中,机中,8253的端口地址为的端口地址为40H43H36BIOS对对8253初始化初始化:计数器计数器0MOVAL,36H控制字控制字00,11,011,0OUT43H,AL二通道二通道0,16位位,方式方式3,二进制二进制MOVAL,0初值初值0,计数计数65536次次(最大最大)OUT40H,AL写入写入CRO的低计数值的低计数值OUT40H,AL写入写入CRO的高计数值的高计数值OUT0输出两次变高的间隔为输出两次变高的间隔为840ns*65536=55ms,即每隔即每隔55ms发发出一次请求。出一次请求。37计数器计数器1MOVAL,54H;控制字控制字00,11,011,0OUT43H,AL;二通道二通道1,只装低只装低8位位,方式方式2,二进制二进制MOVAL,12H;初值初值18OUT41H,AL;写入计数器低写入计数器低8位,高位,高8位自动为位自动为0OUT1输出两次变高的间隔为输出两次变高的间隔为840ns*18=15us,于是于是2ms内可有内可有132次刷新。次刷新。38计数器计数器2MOVAL,0B6H;控制字控制字00,11,011,0OUT43H,AL;二通道二通道2,16位位,方式方式3,二进制二进制MOVAX,533H;初值初值533H=1331OUT42H,AL;写入计数器低写入计数器低8位位MOVAL,AH;OUT42H,AL;写入计数器高写入计数器高8位位OUT2输出两次变高的间隔为输出两次变高的间隔为840ns*1331=1.12ms,频率为频率为894Hz。393.以以2MHz输入输入8253,实现每,实现每5秒定时中断秒定时中断(设(设8253端口地址端口地址40H43H)分析:分析:8253最大初值最大初值65536,CLK=2MHz可实现最大时间间隔可实现最大时间间隔:65536/(2 106)=32.769ms所以需要两个计数器串联,一个计数器的输出作为另一个计数器所以需要两个计数器串联,一个计数器的输出作为另一个计数器的输入的输入计数器计数器1:模式:模式2,OUT1每每5ms输出一个脉冲输出一个脉冲初值初值(2 106)/(1/0.005)=10000计数器计数器0:模式:模式2,OUT0每每5s输出一个脉冲输出一个脉冲初值初值(1/0.005)/(1/5)=1000OUT0GATE0CLK0OUT1GATE1CLK1+5V+5V2MHz每每5秒产生秒产生一个脉冲一个脉冲40程序:程序:MOV AL,74HOUT 43H,ALMOV AX,10000OUT 41H,ALMOV AL,AHOUT 41H,ALMOV AL,74H MOV AL,34HOUT 43H,ALMOV AX,1000OUT 40H,ALMOV AL,AHOUT 40H,AL41作业作业 1.试述试述CPU与外设交换数据的方式及其特点与外设交换数据的方式及其特点 2.设设8253三个计数器的三个计数器的CR/OL端口地址为端口地址为70H、71H、72H,控制寄存器端口地址控制寄存器端口地址73H。编写程序片段,使:编写程序片段,使:计数器计数器0,工作模式,工作模式1,使用,使用16位,初值为位,初值为1234,BCD计数计数计数器计数器1,工作模式,工作模式4,使用低,使用低8位,初值为位,初值为100,二进制计数,二进制计数计数器计数器2,工作模式,工作模式2,使用,使用16位,初值为位,初值为65536,二进制二进制计数计数 3.设设8253的端口地址同的端口地址同2,编写程序片段,读出计数器,编写程序片段,读出计数器2的内容,的内容,并把读出的数据装入寄存器并把读出的数据装入寄存器AX.4.设计数器的时钟输入频率为设计数器的时钟输入频率为1.91MHz,为产生为产生25KHZ的的 方方波输出信号,应向计数器装入的计数初值为多少?波输出信号,应向计数器装入的计数初值为多少?5.音符音符1、2、3、4、5、6、7的频率分别为的频率分别为350、393、441、467、525、589、661,编写一个程序,使用户按下,编写一个程序,使用户按下17键时扬声器发出键时扬声器发出相应的音符,按下其他键退出程序。相应的音符,按下其他键退出程序。422.扬声器控制扬声器控制设计一个程序,使扬声器发出设计一个程序,使扬声器发出600Hz频率的声音,按下任意键频率的声音,按下任意键声音停止声音停止PC机的发声系统以计数器机的发声系统以计数器2为核心。为核心。CLK2的输入频率的输入频率1.19MHz,改变计数器初值可以由改变计数器初值可以由OUT2得到不同频率的方波输出得到不同频率的方波输出对于对于600Hz,计数初值计数初值1.19MHz/600Hz=1938发声系统受发声系统受8255芯片芯片B口的两个输出端线口的两个输出端线PB0、PB1的控制的控制PB0为为1,使,使GATE2为为1,计数器,计数器2能正常计数能正常计数PB1为为1,打开输出控制门,打开输出控制门43CODE SEGMENT ASSUME CS:CODESTART:IN AL,61H OR AL,03H OUT 61H,AL MOVAX,1983 OUT42H,AL MOVAL,AH OUT 42,AL MOVAH,01H INT 21H IN Al,61H AND AL,0FCH OUT 61H,AL MOVAH,4CH INT 21HCODE ENDS END START44

    注意事项

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

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




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

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

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

    收起
    展开