《计算器定时器》PPT课件_第1页
《计算器定时器》PPT课件_第2页
《计算器定时器》PPT课件_第3页
《计算器定时器》PPT课件_第4页
《计算器定时器》PPT课件_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1,河南科技大学电子信息工程学院,计算机接口技术,第7章可编程计数器定时器接口芯片8253,知识点:了解8253内部结构及管脚功能;掌握8253工作原理及六种工作方式;掌握8253控制字及编程应用。,难点:8253的六种工作方式及编程应用。,2,计算机接口技术,7.1概述在微机系统中,常用到定时功能,如定时中断、定时采样、定时检测等等;此外,还需要计数功能,以实现对外部事件的计数,如对生产线上零件或产品的计数,对大桥和高速公路上车流量的统计等等。定时与计数的本质是相同的对脉冲信号进行计数。如果计数的对象是与外部事件相对应的脉冲信号(周期可以不相等),即为计数。如果计数的对象是标准的内部时钟信号,由于其周期恒定,故计数值就恒定地对应于一定的时间,这一过程即为定时。所以,定时的本质就是计数,当脉冲信号是周期信号时,计数就可以用于定时。如脉冲信号是周期为1秒的周期信号,则计数60次就是1分,计满60分就是1小时,计满24小时就是1天。,3,计算机接口技术,CPU执行每条指令都需要一定的时间,重复执行一些指令就会占用一段固定的时间,因此,可运用软件编程的方法,适当地选取一些指令和循环次数便能实现定时功能。,1、定时的三种方法,1)软件定时,例:MOVCX,1000DEALY:MOVBX,1234HLOOPDEALY,优点:不需要增加硬件,只需通过编程来控制和改变定时时间,灵活方便,节省费用。缺点:CPU重复执行的这段程序,程序本身并没有什么具体执行目的,仅为了延时,从而降低了CPU利用率。,4,计算机接口技术,利用专门的定时电路实现定时,如利用555定时器外接RC构成的定时电路。,2)不可编程的硬件定时,优点:电路结构简单,价格便宜,通过改变电阻或电容值,可以在一定的定时范围内改变定时时间。缺点:电路在硬件已连接好的情况下,定时时间和范围不能由程序来控制和改变,而且定时精度不高。,5,计算机接口技术,3)可编程的硬件定时,在微机系统中,常采用软件、硬件相结合的方法实现定时,如用可编程计数器/定时器芯片(如Intel8253)构成一个方便灵活的计数定时电路。这种电路不仅定时值和定时范围可由软件编程来确定和改变,而且具有多种工作方式,可以输出多种形式的控制信号,以CPU的时钟信号为输入脉冲信号,故定时精确。与CPU并行工作,应用广泛。系统也可以利用计数器/定时器芯片对外部事件进行计数。,6,计算机接口技术,2、外部事件计数,高速公路入口的车辆计数系统,7,计算机接口技术,7.2可编程计数器/定时器接口芯片8253,18253的主要功能具有3个独立的16位计数器通道,最大计数范围为065535;每个计数器都可以按照二进制或二十进制(BCD码)计数;每个计数器的计数速率可高达2MHz;每个计数器通道有6种工作方式,可通过程序进行设置;所有的输入和输出都与TTL兼容。,8,计算机接口技术,28253的内部结构,双向、三态、8位,CPU通过数据总线缓冲器可向控制字寄存器写入控制字,向计数器写入计数初值;也可读出计数器当前计数值。,接收来自CPU的控制信号。完成对8253各计数器的读/写操作。,接收CPU写入的控制字,决定8253使用哪个计数器,工作方式、读/写格式、计数方式。,计数器的门控信号,计数器的输出信号,计数器的时钟信号,9,计算机接口技术,8253的编程结构,工作过程:1、初值CRCE,CE减1计数,OL跟随CE变化,减到0,OUT输出结束信号。,2、锁存命令到来,OL锁存当前计数,当计数被读走,OL又随CE变化。,10,计算机接口技术,计数器的内部结构与工作原理,1)16位计数初值寄存器CR存放计数初值可通过程序来设置,2)计数执行部件CE一个16位减1计数器;初值是计数初值寄存器的内容;在GATE控制下,对CLK脉冲计数;启动后每出现一个CLK脉冲计数值减1;当减为0时通过OUT输出结束信号。,3)输出锁存器OL通常随计数执行部件CE的内容变化;当接收到CPU锁存命令时,锁存当前的计数值,而当前计数值被CPU读取后,OL内容又随CE的内容变化。,4)CLK信号周期性时钟信号,定时器功能;非周期性计数信号,计数器功能。5)GATE信号控制输入端有多种控制作用(允许/禁止计数、启动/停止计数),11,计算机接口技术,数据总线缓冲器是一个三态、双向、8位缓冲器,用于将8253与系统数据总线D0D7相连,实现CPU与8253之间数据的传送。CPU通过数据总线缓冲器向控制字寄存器写入确定8253工作方式的控制字;向某个计数器写入计数初值;从某个计数器读出当前计数值。,(1)数据总线缓冲器,12,计算机接口技术,(2)读/写逻辑,13,计算机接口技术,(3)WR:写信号低电平有效,当WR有效时,CPU将计数初值写入指定的计数器,即将计数初值写入CR,或将控制字写入控制字寄存器中。(4)A1、A0:端口选择信号8353内部有3个计数器(02)和1个控制字寄存器。,14,计算机接口技术,注意:如果8253与8088CPU相连时,由于8088系统数据总线为8位,所以,8253的8位数据线直接与8088系统数据总线相连,地址总线的最低两位A1、A0连8253的A1、A0。如果8253与8086CPU相连时,由于8086系统数据总线为16位。通常8253的D7D0与数据总线的低8位相连,所以,地址总线的A2、A1连8253的A1、A0;地址总线的A0置为0,这样8253内部各个端口地址都为偶地址。,15,计算机接口技术,16,计算机接口技术,8253初始化时,CPU用OUT输出指令向控制字寄存器写入控制字,以选定计数器通道,规定计数器通道的工作方式,读写格式和计数格式。此寄存器只能写入而不能读出。,(3)控制字寄存器,17,计算机接口技术,(4)计数器0、1、2,3个完全相同的计数器通道,对3个计数器通道的操作完全独立。每个通道都包含:一个16位的计数初值寄存器CR:存放由CPU送来的计数初值。一个计数执行部件CE(16位减1计数器):它的起始值就是初值寄存器的值,该值可由程序设置。一个输出锁存器OL:用来锁存计数执行部件的值,CPU可对它执行读操作,来检查某个时刻计数器的计数值。,注意:计数初值寄存器、计数执行部件和输出锁存器都是16位寄存器,它们均可被分成高8位和低8位两个部分。因此也可作为8位寄存器来使用。,18,计算机接口技术,38253的管脚及功能,19,计算机接口技术,BCD,M0,M1,M2,RW0,RW1,SC0,SC1,4.8253的控制字,20,计算机接口技术,说明:8253在工作前,必须先初始化,即先写入控制字,通过设置控制字,可完成以下任务:选择计数器;确定计数器读写格式;选择计数器工作方式;确定计数的格式。,8253内部只有一个控制字寄存器,即只有一个控制端口地址。当三个计数器同时工作时,必须对三个计数器分别进行初始化。(假设计数器0、计数器1、计数器2和控制字寄存器的地址分别为:40H,41H,42H,43H,初始化程序段为:,MOVAL,00010011BOUT43H,ALMOVAL,01111010BOUT43H,ALMOVAL,10110110BOUT43H,AL,21,计算机接口技术,对写入计数初值的说明:,先写入控制字再写计数初值;若初值是8位数,一次可完成初值的写入。若初值16位,分两次写入(写入方式按照控制字中的D5、D4进行)。每次写入一个字节;不同计数器的计数初值写到相应计数器通道中。,(3)写操作包括写入控制字、写入计数初值和锁存命令。,用作定时器时的计数器初值计算方法:定时时间时钟脉冲周期Tc计数初值N,22,计算机接口技术,(4)读操作计数器在计数时,计数器的计数内容是动态变化的,需检查当前计数值时要用到读操作。步骤为:先向8253写控制字(D5D4=00),锁存当前计数值,再读入。读完后,锁存功能自动失效。,程序:MOVAL,0000BOUT43H,AL;发出锁存命令INAL,40H;读计数器0当前计数值的低8位MOVCL,AL;送入CX寄存器的CL中INAL,40H;读计数器0当前计数值的高8位MOVCH,AL;送入CX寄存器的CL中,23,计算机接口技术,(5)计数格式,BCD=1时采用BCD码计数,写入计数器的初值用BCD码表示,范围:00009999H,其中0000表示最大值10000,即104;若设置计数初值n=1234H,表示设置了一个十进制数1234。,BCD=0时采用二进制计数,写入计数器的初值用二进制数表示,范围:0000HFFFFH,其中0000H表示最大值65536,即216;当设置计数初值n=1234H,表示设置了一个十六进制数1234H,即十进制数4660。,24,计算机接口技术,例1:设8253的端口地址为:40H43H,使用计数器1,工作于方式3,采用二进制计数,计数初值为3000H,编写初始化程序。,方案1:MOVAL,01110110BOUT43H,AL;控制字写入控制字寄存器MOVAL,00H;计数初值低8位OUT41H,AL;计数初值低8位写入计数器1MOVAL,30H;计数初值高8位OUT41H,AL;计数初值高8位写入计数器1,方案2:MOVAL,01100110BOUT43H,AL;控制字写入控制字寄存器MOVAL,30H;计数初值高8位OUT41H,AL;计数初值高8位写入计数器1,25,计算机接口技术,例2:设8253的端口地址为:5F0H5F3H,使用计数器0,工作于方式4,采用二进制计数;使用计数器2,工作于方式5,采用BCD计数。计数器0和计数器2的计数初值都为十进制数512,编写初始化程序。,MOVAL,00111000B;计数器0,工作于方式4,二进制计数MOVDX,5F3H;控制字寄存器端口地址(DX寄存器间接寻址)OUTDX,AL;控制字写入控制字寄存器MOVDX,5F0H;计数器0端口地址(DX寄存器间接寻址)MOVAL,00H;计数初值低8位OUTDX,AL;计数初值低8位写入计数器0MOVAL,02H;计数初值高8位OUTDX,AL;计数初值高8位写入计数器0,说明:十进制数512等于十六进制数0200H,26,计算机接口技术,MOVAL,10111011B;计数器2,工作于方式5,BCD计数MOVDX,5F3H;控制字寄存器端口地址(DX寄存器间接寻址)OUTDX,AL;控制字写入控制字寄存器MOVDX,5F2H;计数器2端口地址(DX寄存器间接寻址)MOVAL,12H;计数初值低8位OUTDX,AL;计数初值低8位写入计数器2MOVAL,05H;计数初值高8位OUTDX,AL;计数初值高8位写入计数器2,说明:十进制数512的二十进制表示(BCD码)为512H,27,计算机接口技术,5.8253工作方式,8253共有6种工作方式,各方式下的工作状态是不同的,输出的波形也不同,而门控信号的作用比较灵活。由此组成了8253丰富的工作方式、波形,下面我们逐一介绍。几条基本原则写入控制字,输出端OUT进入初始状态,初始状态对不同的工作方式来说不一定相同。写入计数初值后,要经过一个时钟周期,计数执行部件才开始计数操作,因为在这个时钟周期下降沿,计数初值才由CRCE。,28,计算机接口技术,通常,在每个时钟脉冲CLK的上升沿,采样门控信号GATE。不同的工作方式下,门控信号的触发方式是有具体规定的,或者是电平触发,或者是边沿触发,在有的方式中,两种触发方式都是允许的。其中0、2、3、4是电平触发方式,1、2、3、5是上升沿触发。在时钟脉冲的下降沿,计数器作减1计数。,29,计算机接口技术,工作过程写入控制字,OUT立即变为低;写入计数初值N到计数初值寄存器(CR),若GATE为高电平,下一个时钟脉冲的下降沿将计数初值N装入计数执行部件(CE),才开始减1计数;计数期间,OUT一直为低;当计数结束(计数值为0),OUT变为高,并一直保持。用途:方式0常用来对外部事件计数,利用OUT由低到高的变化产生中断请求信号。,方式0计数结束中断方式,30,计算机接口技术,方式0计数结束中断方式,GATE,OUT,CLK,0,3,1,2,4,N=4,CW,WR,写控制字设置工作方式,设置计数初值,计数值送入减1计数器,计数过程,计数结束,CRCE,高,31,计算机接口技术,图a方式0正常计数,图b方式0GATE信号发生变化,图c方式0再次写入计数初值,计数过程中,若GATE信号变为低电平,则在低电平期间暂停计数,计数值保持不变。,计数过程中,若重新写入新的计数初值,则在下一个CLK脉冲的下降沿,减1计数器以新的计数初值重新开始计数。,32,计算机接口技术,定时时间43600=14400(秒)3840H(秒),例1:家庭厨房系统。,33,计算机接口技术,相应的程序段如下:MOVAL,10011010B;8255A方式控制字OUT8255A控制口,ALMOVAL,00000000B;8255A置位/复位控制字,使PC00OUT8255A控制口,ALMOVAL,00110000B;8253计数器0方式控制字OUT8253控制口,ALMOVAL,40H;设置8253计数器0计数初值OUT计数器0端口,ALMOVAL,38HOUT计数器0端口,AL中断程序段如下:MOVAL,00000001B;8255A置位/复位控制字,使PC01OUT8255A控制口,AL,34,计算机接口技术,工作过程写入控制字CW,OUT立即变高,并保持不变。写入计数初值N,计数器并不立即计数,只有当GATE的一个上升沿到来时,才在下一个时钟脉冲的下降沿,将计数初值N装入减1计数器CE,OUT由高变低,开始减1计数。计数期间,OUT一直保持低电平,当计数结束(计数值为0),OUT变为高电平。用途:输出稳态负脉冲信号OUT端输出负脉冲的宽度=计数初值N时钟脉冲宽度TCLK。,方式1可编程单稳负脉冲输出方式,35,计算机接口技术,方式1可编程单稳负脉冲输出方式,设置工作方式,设置计数初值,计数值送入计数器,计数开始,计数过程,计数结束,GATE,OUT,CLK,0,3,1,2,4,N=4,CW,WR,36,计算机接口技术,图a方式1正常计数,图b方式1GATE信号再现,图c方式1再次写入计数初值,计数期间,又来一个门控信号上升沿触发,则在下一个CLK脉冲的下降沿,计数初值重新装入减1计数器,重新开始计数,OUT端保持低电平,直至计数值减到0时,OUT端变为高电平。,计数期间,又写入新的计数初值,不影响当前计数过程。直到下一次GATE信号触发,才装入新的计数初值,并以新的计数初值开始计数。,37,计算机接口技术,例2、高速公路入口的车辆计数系统,38,计算机接口技术,原始脉冲预处理,39,计算机接口技术,工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,若GATE为高电平,则在下一个时钟脉冲下降沿,将计数初值N装入减1计数器CE,开始减1计数。当计数值减为1时,OUT由高变低,减为0时,OUT又变为高,即OUT输出一个时钟周期的负脉冲;同时,自动将计数初值N装入计数执行部件CE,开始新一轮计数。用途:分频器若计数器的初值为N,则OUT输出的波形频率为时钟脉冲频率的N分之一。,方式2分频器,40,计算机接口技术,方式2分频器,CRCE,CRCE,CLK,GATE,OUT,3,2,1,03,2,1,03,CRCE,CR=3,2,1,高,41,计算机接口技术,图a方式2正常计数,图b方式2GATE信号发生变化,图c方式2再次写入计数初值,计数期间,又写入新的计数初值,不影响当前计数过程。计数结束后,才将新的计数初值装入减1计数器,并以新的计数初值开始计数。,计数过程中,若GATE变为低电平,则在低电平期间暂停计数,计数值保持不变,GATE上升沿使计数器重新装入计数初值,并开始减1计数。,42,计算机接口技术,工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,若GATE为高电平,在下一个时钟脉冲下降沿,将计数初值N装入减1计数器CE,开始减1计数。当计数到一半时,OUT由高变低,减1计数器继续计数,计数到0时,OUT由低变高。之后,周而复始地自动进行计数过程。当计数初值为偶数时,OUT输出对称方波;当计数初值为奇数时,OUT输出不对称方波。用途:方波发生器,也可作为分频器。,方式3方波发生器,43,计算机接口技术,方式3方波发生器,CRCE,CW,CLK,GATE,OUT,N=4,4,3,2,1,4,3,2,CRCE,CR=4,1,4,计数初值为偶数时输出波形,CRCE,高,输出正脉冲宽度=NT/2输出负脉冲宽度=NT/2,44,计算机接口技术,1,CRCE,CW,CLK,GATE,OUT,N=5,5,4,3,2,5,4,CR=5,3,2,计数初值为奇数时输出波形,CRCE,高,输出正脉冲宽度=(N+1)T/2输出负脉冲宽度=(N-1)T/2,45,计算机接口技术,图a方式3正常计数计数初值N为偶数,图c方式3GATE信号发生变化,图b方式3正常计数计数初值N为奇数,计数过程中,在OUT为低电平时,GATE变为低电平,减1计数器停止计数,而OUT立即变高电平。在GATE变为高电平后,下一个时钟脉冲的下降沿,计数初值重新装入减1计数器,开始新的计数。,46,计算机接口技术,例3:在PC机中,常用定时器/计数器8253产生定时信号或输出方波。8253的三个计数器及控制字寄存器的端口地址、工作方式与实现功能如下表所示。,8253的三个计数器及控制字寄存器的端口地址、工作方式与实现功能,47,计算机接口技术,8253的计数器0,实时中断。用于产生每秒18.2个节拍的中断信号,故设为工作在方式3,初值为0,从OUT0输出方波频率为1.19MHz/216=18.2Hz,计数器0的控制字为00110110(36H);,8253的计数器l,动态RAM刷新。用于产生固定频率的刷新信号,故设定工作在方式2,计数初值为12H18,输出频率为1.19MHz/1866.1kHz,定时时间为15.13s,计数器1的控制字为01010100(54H);,8253的计数器2,用于产生频率信号。故设为工作在方式3,计数初值为4A6H1190,方波输出频率为1.19MHz/11901kHz。此信号频率决定扬声器的音调,计数器2的控制字为10110110(0B6H)。,48,计算机接口技术,工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,若GATE为高电平,在下一个时钟脉冲下降沿,将计数初值N装入减1计数器CE,开始减1计数。当减1计数器的值为0时,OUT变为低电平,经过一个CLK时钟周期,OUT变为高电平。用途:产生单个负脉冲信号,负脉冲宽度为1个时钟周期。,方式4软件触发方式,49,计算机接口技术,方式4软件触发方式,CRCE,CW,CLK,GATE,OUT,N=2,2,1,0,2,1,0,CRCE,CR=2,高,N=2,CR=2,50,计算机接口技术,图a方式4正常计数,图c方式4再次写入计数初值,图b方式4GATE信号发生变化,计数过程中,若再次写入计数初值,则在下一个时钟脉冲的下降沿,新的计数初值重新装入减1计数器,又开始新的减1计数。,51,计算机接口技术,例4:家庭厨房系统改进型。,52,计算机接口技术,工作过程写入控制字CW,OUT变高,并保持不变。写入计数初值N,只有当GATE信号的上升沿到来后,在下一个CLK脉冲的下降沿,才将计数初值N装入减1计数器,开始减1计数。当减1计数器的值为0时,OUT变为低电平,经过一个CLK时钟周期,OUT变为高电平。用途:产生单个负脉冲信号,负脉冲宽度为1个时钟周期。,方式5硬件触发方式,53,计算机接口技术,方式5硬件触发方式,1,2,CW,CLK,GATE,OUT,N=3,3,03,3,3,2,CR=3,54,计算机接口技术,图a方式5正常计数,图c方式5再次写入计数初值,图b方式5GATE信号发生变化,在计数过程中,若写入新的计数初值,但无GATE触发脉冲,则当前计数不受影响。当前计数结束后,若再有GATE触发,将按新的计数初值开始计数。,在计数过程中,若GATE又来一个上升沿触发,则在下一个CLK脉冲的下降沿,计数初值重新装入减1计数器,并按计数初值作减1计数。,55,计算机接口技术,例5:家庭厨房系统改进型。,56,计算机接口技术,8253工作方式总结:,六种方式作用:方式0:可用来实现定时或对外部事件进行计数;方式1:可用来产生单脉冲;方式2:可用来产生序列负脉冲,每个负脉冲的宽度和CLK脉冲的周期相同;方式3:用来产生连续的方波。方式2、3都能实现对时钟脉冲进行N分频;方式4:产生一个负脉冲,可用来计数;方式5:与4波形相同,产生一个负脉冲,可用来计数;,57,计算机接口技术,门控信号GATE的控制功能,58,计算机接口技术,59,计算机接口技术,六、8253应用举例,例1:现有一个高精密晶体振荡电路,输出信号是脉冲波,频率为1MHz。要求利用8253做一个秒信号发生器,其输出接一发光二极管,以0.5秒点亮,0.5秒熄灭的方式闪烁指示。设8253的端口地址为80H86H(偶地址),解:1、时间常数计算用8253作一个分频电路,输出是方波,周期为1s,否则发光二极管不可能等间隔闪烁指示。频率为1MHz信号的周期为1s,而1Hz信号的周期为1s,分频系数N为:,60,计算机接口技术,8253一个计数器最大的计数初值是65535,所以对于N1000000,一个计数器不能完成上述分频要求。由于即取两个计数器,采用级联方式。2、电路,61,计算机接口技术,3、工作方式选择计数器1输出方波信号驱动发光二极管,所以计数器1应选工作方式3。对于计数器0,只要能起分频作用即可,对输出波形不做要求,所以可以选用方式2或方式3。对于计数器0,取工作方式2,BCD计数;对于计数器1,取工作方式3,二进制计数(也可选BCD计数)。,62,计算机接口技术,MOVAL,00110101B;计数器0控制字OUT86H,

温馨提示

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

评论

0/150

提交评论