资源预览内容
第1页 / 共72页
第2页 / 共72页
第3页 / 共72页
第4页 / 共72页
第5页 / 共72页
第6页 / 共72页
第7页 / 共72页
第8页 / 共72页
第9页 / 共72页
第10页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
定时计数控制接口定时计数控制接口定时计数控制接口定时计数控制接口n 8253的引脚和六种工作方式的引脚和六种工作方式n 8253的编程的编程 n 8253在在IBM PC系列机上的应用系列机上的应用教学重点1.定时与计数定时与计数 在在微微机机系系统统或或智智能能化化仪仪器器仪仪表表的的工工作作过过程程中中,经经常常需需要要使使系系统统处处于于定定时时工工作作状状态态,或或者者对对外部过程进行计数。外部过程进行计数。定定时时或或计计数数的的工工作作实实质质均均体体现现为为对对脉脉冲冲信信号号的的计计数数,如如果果计计数数的的对对象象是是标标准准的的内内部部时时钟钟信信号号,由由于于其其周周期期恒恒定定,故故计计数数值值就就恒恒定定地地对对应应于于一一定定的的时时间间,这这一一过过程程即即为为定定时时,如如果果计计数数的的对对象象是是与与外外部部过过程程相相对对应应的的脉脉冲冲信信号(周期可以不相等),则此时即为计数。号(周期可以不相等),则此时即为计数。2. 2. 定时功能的实现方法定时功能的实现方法软件延时软件延时利用微处理器执行一个延时程序段实现利用微处理器执行一个延时程序段实现不不用用硬硬件件,但但占占用用CPU时时间间、定定时时精精度度不不高高,随随系系统统时钟频率改变时钟频率改变不可编程的硬件定时不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时时间采用分频器、单稳电路或简易定时电路控制定时时间定时电路简单、定时时间可以在一定范围改变定时电路简单、定时时间可以在一定范围改变可编程的硬件定时可编程的硬件定时软软件件硬硬件件相相结结合合、用用可可编编程程定定时时器器芯芯片片构构成成一一个个方方便便灵活的定时电路灵活的定时电路具有多种工作方式、能够输出多种控制信号具有多种工作方式、能够输出多种控制信号计数器计数器/定时器的基本原理定时器的基本原理可编程计数器可编程计数器/定时器的工作原理定时器的工作原理 基于计数器的减1工作计数器计数器/定时器的用途定时器的用途在在多多任任务务的的分分时时系系统统中中用用来来作作为为中中断断信信号号实实现现程程序的切换。序的切换。可以往可以往I/O设备输出精确的定时信号。设备输出精确的定时信号。作为一个可编程的波特率发生器。作为一个可编程的波特率发生器。实现时间延迟实现时间延迟定时定时/计数器芯片计数器芯片Intel8253 Intel8253是是8086/8088微微机机系系统统常常用用的的定定时时/计计数数器器芯芯片片,它它具具有有定定时时与与计计数数两两大大功功能能,同类型的定时同类型的定时/计数器芯片还有计数器芯片还有Intel8254等。等。一、一、8253的一般性能概述的一般性能概述 每个每个8253芯片有芯片有3个独立的个独立的16位计数器通道位计数器通道每每个个计计数数器器通通道道都都可可以以按按照照二二进进制制或或二二十十进制计数进制计数每个计数器的计数速率可以高达每个计数器的计数速率可以高达2MHz每每个个通通道道有有6种种工工作作方方式式,可可以以由由程程序序设设定定和和改变改变所有的输入、输出电平都与所有的输入、输出电平都与TTL兼容兼容D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2二、二、8253内部结构内部结构 8253内内部部实实现现与与CPU数数据据总总线线连连接接的的8位位双双向向三三态态缓缓冲冲器器,用用以以传传送送CPU向向8253的的控控制制信信息息、数数据据信信息息以以及及CPU从从8253读读取取的的状状态态信信息息,包包括括某某一一方方面时刻的实时计数值。面时刻的实时计数值。1数据总线缓冲器数据总线缓冲器2读读/写控制逻辑写控制逻辑控控制制8253的的片片选选及及对对内内部部相相关关寄寄存存器器的的读读/写写操操作作,它它接接收收CPU发发来来的的地地址址信信号号以以实实现现片片选选、内内部部通通道道选选择择以以及对读及对读/写操作进行控制。写操作进行控制。3控制字寄存器控制字寄存器在在8253的的初初始始化化编编程程时时,由由CPU写写入入控控制制字字,以以决决定定通通道道的的工工作作方方式式,此此寄存器只能写入,不能读出。寄存器只能写入,不能读出。这这是是三三个个独独立立的的,结结构构相相同同的的计计数数器器/定定时时器器通通道道,每每一一个个通通道道包包含含一一个个16位位的的计计数数寄寄存存器器,用用以以存存放放计计数数初初始始值值,和和一一个个16位位的的减减法法计计数数器器和和一一个个16位位的的锁锁存存器器,锁锁存存器器在在计计数数器器工工作作的的过过程程中中,跟跟随随计计数数值值的的变变化化,在在接接收收到到CPU发发来来的的读读计计数数值值命命令令时时,用用以以锁锁存存计计数数值值,供供CPU读读取取,读取完毕之后,输出锁存器又跟随减读取完毕之后,输出锁存器又跟随减1计数器变化。计数器变化。另另外外,计计数数器器的的值值为为0的的状状态态,还还反反映映在在状状态态锁存器中,可供读取。锁存器中,可供读取。4计数通道计数通道0#、1#、2#三三、8253外部引脚外部引脚 8253芯芯片片是是具具有有24个个引引脚脚的的双双列列直直插式集成电路芯片,其引脚分布如图。插式集成电路芯片,其引脚分布如图。8253芯芯片片的的24个个引引脚脚分分为为两两组组,一一组组面面向向CPU,另另一一组组面面向向外外部部设设备备,各各引脚及其所传送信号的情况,如下:引脚及其所传送信号的情况,如下:82538253的引脚的引脚 1. 面向面向CPU的引脚的引脚D0 D7:双双向向、三三态态数数据据线线引引脚脚,用用以以与与系系统统的的数据线连接,传送控制、数据及状态信息。数据线连接,传送控制、数据及状态信息。A0 A1:地地址址信信号号输输入入引引脚脚,一一般般接接CPU地地址址总总线线的的A1、A0位位,用用以以选选择择8253芯芯片片的的通通道道及及控控制制字寄存器。字寄存器。CS*:芯片选择信号输入引脚,低电平有效芯片选择信号输入引脚,低电平有效RD*:来来自自于于CPU的的读读控控制制信信号号输输入入引引脚脚,低低电电平有效平有效WR*:来来自自于于CPU的的写写控控制制信信号号输输入入引引脚脚,低低电电平有效。平有效。CS* A1 A0计数器通道计数器通道读操作读操作RD*写操作写操作WR*0 0 00 0 10 1 00 1 10#1#2#控制端口控制端口读计数器读计数器0读计数器读计数器1读计数器读计数器2无操作无操作写计数器写计数器0写计数器写计数器1写计数器写计数器2写控制字写控制字2. 各计数器的各计数器的3个引脚个引脚CLK时钟输入信号时钟输入信号在在计计数数过过程程中中,此此引引脚脚上上每每输输入入一一个个时时钟钟信信号号(下降沿),计数器的计数值减(下降沿),计数器的计数值减1GATE门控输入信号门控输入信号控控制制计计数数器器工工作作,可可分分成成电电平平控控制制和和上上升升沿沿控控制两种类型制两种类型OUT计数器输出信号计数器输出信号当当一一次次计计数数过过程程结结束束(计计数数值值减减为为0),OUT引脚上将产生一个输出信号引脚上将产生一个输出信号1. 1. 计数器计数器预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值四四、 82538253的控制字的控制字 计数器计数器读写格式读写格式工作方式工作方式数制数制D7D6D5D4D3D2D1D000计数器计数器001计数器计数器110计数器计数器211非法非法00计数器锁存命令计数器锁存命令01只读写低字节只读写低字节10只读写高字节只读写高字节11先读写低字节先读写低字节后读写高字节后读写高字节000方式方式0001方式方式1010方式方式2011方式方式3100方式方式4101方式方式50二进制二进制1十进制十进制控制字写入控制字控制字写入控制字I/O地址(地址(A1A011)示例示例四四、 82538253的控制字的控制字 要要使使用用82538253,必必须须首首先先进进行行初初始始化化编编程程,初初始始化化编编程程包包括括设设置置通通道道控控制制字字和和送送通通道道计计数数初初值值两两个个方方面面,控控制制字字写写入入82538253的的控控制制字字寄寄存存器器,而初始值则写入相应通道的计数寄存器中。而初始值则写入相应通道的计数寄存器中。初始化编程包括如下步骤:初始化编程包括如下步骤:(1)(1)写入通道控制字,规定通道的工作方式;写入通道控制字,规定通道的工作方式;(2)(2)写写入入计计数数值值,若若规规定定只只写写低低8 8位位,则则高高8 8位位自自动动置置0 0,若若规规定定只只写写高高8 8位位,则则低低8 8位位自自动动置置0 0。若若为为1616位位计计数数值值则则分分两两次次写写入入,先先写写低低8 8位位,后后写高写高8 8位。位。 D D0 0:用于确定计数数制,用于确定计数数制,0 0,二进制;,二进制;1 1,BCDBCD码码18253的初始化编程的初始化编程例例1:设:设8253的端口地址为:的端口地址为:04H07H,要使计数器要使计数器1工作在方式工作在方式0,仅用,仅用8位二进制计数,计数值为位二进制计数,计数值为128,进行初始化编程。进行初始化编程。控制字为:控制字为:01010000B=50H初始化程序:初始化程序:MOVAL,50HMOVDX,07HOUTDX,ALMOVAL,80HMOVDX,05HOUTDX,AL例例2:设:设8253的端口地址为:的端口地址为:F8HFBH,若用通道若用通道0工作工作在方式在方式1,按二,按二十进制计数,计数值为十进制计数,计数值为5080H,进行进行初始化编程。初始化编程。控制字为:控制字为:00110011B=33H初始化程序:初始化程序:MOVAL,33HMOVDX,0FBHOUTDX,ALMOVAL,80HMOVDX,0F8HOUTDX,ALMOVAL,50HOUTDX,AL例例3:设设8253的的端端口口地地址址为为:04H07H,若若用用通通道道2工工作作在在方方式式2,按按二二进进制制计计数数,计计数数值值为为02F0H,进进行行初始化编程。初始化编程。控制字为:控制字为:10110100B=0B4H初始化程序:初始化程序:MOVAL,0B4HMOVDX,07HOUTDX,ALMOVAL,0F0HMOVDX,06HOUTDX,ALMOVAL,02HOUTDX,AL8253可可用用控控制制命命令令来来读读取取相相应应通通道道的的计计数数值值,由由于于计计数数值值是是16位位的的,而而读读取取的的瞬瞬时时值值,要要分分两两次次读读取取,所所以以在在读读取取计计数数值值之之前前,要要用用锁锁存存命命令令,将将相相应应通通道道的的计计数数值值锁锁存存在在锁锁存存器器中中,然然后后分分两两次读入,先读低字节,后读高字节。次读入,先读低字节,后读高字节。当当控控制制字字中中,D5、D4=00时时,控控制制字字的的作作用用是是将将相相应应通通道道的的计计数数值值锁锁存存的的命命令令,锁锁存存计计数数值值在在读读取完成之后,自动解锁。取完成之后,自动解锁。2 2读取读取82538253通道中的计数值通道中的计数值如如要要读读通通道道1的的16位位计计数数器器,编编程程如如下下:地址地址F8HFBH。MOVAL,40H;MOVDX,0FBHOUTDX,AL;锁存计数值锁存计数值MOVDX,0F9HINAL,DXMOVCL,AL;低八位低八位INAL,DX;MOVCH,AL;高八位高八位五五、82538253在系统中的典型连接在系统中的典型连接1试说明定时和计数在实际系统中的应用?这两者之间有和联系和差别?2定时和计数有哪几种实现方法?各有什么特点?3试说明定时/计数器芯片Intel8253的内部结构。定时/计数器芯片Intel8253占用几个端口地址?各个端口分别对应什么 习题与思考习题与思考六六、82538253的工作方式的工作方式 8253共共有有6种种工工作作方方式式,各各方方式式下下的的工工作作状状态态是是不不同同的的,输输出出的的波波形形也也不不同同,其其中中比比较较灵灵活活的的是是门门控控信信号号的的作作用用。由由此此组组成成了了8253丰丰富富的的工工作作方方式式、波波形,下面我们逐个介绍:形,下面我们逐个介绍: 1几条基本原则几条基本原则 (1) 控控制制字字写写入入计计数数器器时时,所所有有的的控控制制逻逻辑辑电电路路立立即即复复位位,输输出出端端OUT进进入入初初始始状状态态。初初始始状状态态对对不不同同的的模模式式来来说说不不一一定定相相同。同。(2) 计计数数初初始始值值写写入入之之后后,要要经经过过一一个个时时钟钟周周期期上上升升沿沿和和一一个个下下降降沿沿,计计数数执执行行部部件件才才可可以以开开始始进进行行计计数数操操作作,因因为为第第一一个个下降沿将计数寄存器的内容送减下降沿将计数寄存器的内容送减1计数器。计数器。(3) 通通常常,在在每每个个时时钟钟脉脉冲冲CLK的的上上升升沿沿,采采样样门门控控信信号号GATE。不不同同的的工工作作方方式式下下,门门控控信信号号的的触触发发方方式式是是有有具具体体规规定定的的,即即或或者者是是电电平平触触发发,或或者者是是边边沿沿触触发发,在在有有的的模模式式中中,两两种种触触发发方方式式都都是是允允许许的的。其其中中0、2、3、4是是电电平平触触发发方方式式,1、2、3、5是上升沿触发。是上升沿触发。(4) 在在时时钟钟脉脉冲冲的的下下降降沿沿,计计数数器器作作减减1计计数数,0是是计计数数器器所所能能容容纳纳的的最最大大初初始始值值。二二进进制制相相当当于于216,用用BCD码码计计数数时时,相相当当于于104方方式式0的的波波形形如如图图所所示示,当当控控制制字字写写入入控控制制字字寄寄存存器器后后,输输出出OUT就就变变低低,当当计计数数值值写写入入计计数数器器后后开开始始计计数数,在在整整个个计计数数过过程程中中,OUT保保持持为为低低,当当计计数数到到0后后,OUT变变高高;GATE的的高高低电平控制计数过程是否进行。低电平控制计数过程是否进行。2方式方式0计数结束产生中断计数结束产生中断 方式方式0 0时序图时序图GATEOUTCLK031244方式方式0WR设设定定工工作作方方式式设设定定计计数数初初值值计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束计数器只计一遍,当计数到0时,不重新开始计数保持为高,直到输入一新的计数值,OUT才变低,开始新的计数;计数值是在写计数值命令后经过一个输入脉冲,才装入计数器的,下一个脉冲开始计数,因此,如果设置计数器初值为N,则输出OUT在N1个脉冲后才能变高;在计数过程中,可由GATE信号控制暂停。当GATE0时,暂停计数;当GATE1时,继续计数;在计数过程中可以改变计数值,且这种改变是立即有效的,分成两种情况:若是8位计数,则写入新值后的下一个脉冲按新值计数;若是16位计数,则在写入第一个字节后,停止计数,写入第二个字节后的下一个脉冲按新值计数。方式方式0 0有下列特点有下列特点 方式方式1的波形如图所示,的波形如图所示,CPU向向8253写入控写入控制字后制字后OUT变高,并保持,写入计数值后并变高,并保持,写入计数值后并不立即计数,只有当外界不立即计数,只有当外界GATE信号启动后信号启动后(一个正脉冲)的下一个脉冲才开始计数,(一个正脉冲)的下一个脉冲才开始计数,OUT变低,计数到变低,计数到0后,后,OUT才变高,此时才变高,此时再来一个再来一个GATE正脉冲,计数器又开始重新正脉冲,计数器又开始重新计数,输出计数,输出OUT再次变低,再次变低,因此输出为,因此输出为一单拍负脉冲一单拍负脉冲 3方式方式1可编程的硬件触发单拍脉冲可编程的硬件触发单拍脉冲方式方式1 1时序图时序图设设定定工工作作方方式式设设定定计计数数初初值值硬硬件件启启动动计计数数值值送送入入计计数数器器计计数数过过程程计计数数结结束束GATEOUTCLK031244方式方式1WR输出输出OUT业宽度为计数初值的单脉冲;业宽度为计数初值的单脉冲;输出受门控信号输出受门控信号GATE的控制,分三种情况:的控制,分三种情况:计计数数到到0后后,再再来来GATE脉脉冲冲,则则重重新新开开始始计计数数,OUT变低;变低;在在计计数数过过程程中中来来GATE脉脉冲冲,则则从从下下一一CLK脉脉冲冲开始重新计数,开始重新计数,OUT保持为低;保持为低;改改变变计计数数值值后后,只只有有当当GATE脉脉冲冲启启动动后后,才才按按新新值值计计数数,否否则则原原计计数数过过程程不不受受影影响响,仍仍继继续续进进行行,即新值的改变是从下一个即新值的改变是从下一个GATE开始的。开始的。计计数数值值是是多多次次有有效效的的,每每来来一一个个GATE脉脉冲冲,就就自自动动装装入入计计数数值值开开始始从从头头计计数数,因因此此在在初初始始化化时时,计数值写入一次即可。计数值写入一次即可。方式方式1 1有下列特点有下列特点 4.方式方式2速率发生器速率发生器 方式方式2的波形如图所示,在这种方式下,的波形如图所示,在这种方式下,CPU输出控制字后,输出输出控制字后,输出OUT就变高,写就变高,写入计数值后的下一个入计数值后的下一个CLK脉冲开始计数,脉冲开始计数,计数到计数到1后,输出后,输出OUT变低,经过一个变低,经过一个CLK以后,以后,OUT恢复为高,计数器重新开始计恢复为高,计数器重新开始计数,数,因此在这种方式下,只需写入一次,因此在这种方式下,只需写入一次计数值,就能连续工作,输出连续相同间隔计数值,就能连续工作,输出连续相同间隔的负脉冲(前提:的负脉冲(前提:GATE保持为高),即周保持为高),即周期性地输出。期性地输出。 方式方式2 2时序图时序图03124GATEOUTCLK4方式方式2031240312403124WR通道可以连续工作;通道可以连续工作;GATE可可以以控控制制计计数数过过程程,当当GATE为为低低时时暂暂停停计计数数,恢恢复复为为高高后后重重新新从从初初值值;(注注意意:该该方方式式与与方方式式0不不同同,方方式式0是是继继续计数);续计数);重重新新设设置置新新的的计计数数值值即即在在计计数数过过程程中中改改变变计计数数值值,则则新新的的计计数数值值是是下下次次有有效效的的,同方式同方式1。方式方式2 2有下列特点有下列特点 5方式方式3方波速率发生器方波速率发生器 方式方式3的波形如图所示,这种方式下的输出的波形如图所示,这种方式下的输出与方式与方式2都是周期性的,不同的是周期不同,都是周期性的,不同的是周期不同,CPU写入控制字后,输出写入控制字后,输出OUT变高,写入计变高,写入计数值后开始计数,不同的是减数值后开始计数,不同的是减2计数,当计计数,当计数到一半计数值时,输出变低,重新装入计数到一半计数值时,输出变低,重新装入计数值进行减数值进行减2计数,当计数到计数,当计数到0时,输出变高,时,输出变高,装入计数值进行减装入计数值进行减2计数,循环不止。计数,循环不止。 方式方式3 3时序图时序图计数值为偶数 方式方式3 3时序图时序图计数值为奇数 通道可以连续工作;通道可以连续工作;关关于于计计数数值值的的奇奇偶偶,若若为为偶偶数数,则则输输出出标标准准方方波波,高高低低电电平平各各为为N/2N/2个个;若若为为奇奇数数,则则在在装装入入计计数数值值后后的的下下一一个个CLKCLK使使其其装装入入,然然后后减减1 1计计数数,(N N1 1)/2/2,OUTOUT改改变变状状态态,再再减减至至0 0,OUTOUT又又改改变变状状态态,重重新新装装入入计计数数值值循循环环此此过过程程,因因此此,在在这这种种情情况况下下,输输出出有有(N N1 1)/2/2个个CLKCLK个个高高电电平平,(N N1 1)/2/2个个CLKCLK个低电平;个低电平;GATEGATE信信号号能能使使计计数数过过程程重重新新开开始始,当当GATEGATE0 0时时,停停止止计计数数,当当GATEGATE变变高高后后,计计数数器器重重新新装装入入初初值值开开始始计计数数,尤尤其其是是当当GATEGATE0 0时,若时,若OUTOUT此时为低,则立即变高,其它动作同上;此时为低,则立即变高,其它动作同上;在在计计数数期期间间改改变变计计数数值值不不影影响响现现行行的的计计数数过过程程,一一般般情情况况下下,新新的的计计数数值值是是在在现现行行半半周周结结束束后后才才装装入入计计数数器器。但但若若中中间遇到有间遇到有GATEGATE脉冲,则在此脉冲后即装入新值开始计数。脉冲,则在此脉冲后即装入新值开始计数。方式方式3 3有下列特点有下列特点 方方式式4的的波波形形如如图图所所示示,在在这这种种方方式式下下,也也是是当当CPU写写入入控控制制字字后后,OUT立立即即变变高高,写写入入计计数数值值开开始始计计数数,当当计计数数到到0后后,OUT变变低低,经经过过一一个个CLK脉脉冲冲后后,OUT变变高高,这这种种计计数数是是一一次次性性的的(与与方方式式0有有相相似似之之处处),只只有有当当写写入入新新的的计计数数值值后后才开始下一次计数。才开始下一次计数。6方式方式4软件触发的选通信号发生器软件触发的选通信号发生器GATEOUTCLK031244方式方式4223331 0WR方式方式4 4时序图时序图当当计计数数值值为为N时时,则则间间隔隔N1个个CLK脉脉冲冲输输出出一一个负脉冲(计数一次有效);个负脉冲(计数一次有效);GATE0时时,禁禁止止计计数数,GATE1时时,恢恢复复继继续续计数;计数;在在计计数数过过程程中中重重新新装装入入新新的的计计数数值值,则则该该值值是是立立即即有有效效的的(若若为为16位位计计数数值值,则则装装入入第第一一个个字字节节时时停止计数,装入第二个字节后开始按新值计数)。停止计数,装入第二个字节后开始按新值计数)。方式方式4 4有下列特点有下列特点 方方式式5的的波波形形如如图图所所示示,在在这这种种方方式式下下,当当控控制制字字写写入入后后,OUT立立刻刻变变高高,写写入入计计数数值值后后并并不不立立即即开开始始计计数数,而而是是由由GATE的的上上升升沿沿触触发发启启动动计计数数的的,当当计计数数到到0时时,输输出出变变低低,经经过过一一个个CLK之之后后,输输出出恢恢复复为为高高,计计数数停停止止,若若再再有有GATE脉脉冲冲来来,则则重重新新装装入入计计数数值值开开始始计计数数,上上述述过过程程重重复。复。7方式方式5硬件触发的选通信号发生器硬件触发的选通信号发生器GATEOUTCLK031244方式方式52233311 0WR方式方式5 5时序图时序图在在这这种种方方式式下下,若若设设置置的的计计数数值值是是N,则则在在GATE脉脉冲冲后后,经经过过(N1)个个CLK才才一一个个负脉冲;负脉冲;若若在在计计数数过过程程中中又又来来一一个个GATE脉脉冲冲,则则重重新新装装入入初初值值开开始始计计数数,输输出出不不变变,即即计计数数值值多次有效;多次有效;若若在在计计数数过过程程中中修修改改计计数数值值,则则该该计计数数值值在下一个在下一个GATE脉冲后装入开始按此值计数。脉冲后装入开始按此值计数。方式方式5 5有下列特点有下列特点 各种工作方式的输出波形各种工作方式的输出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1讨论:讨论:计数开始的时刻计数开始的时刻88253的工作方式小结的工作方式小结 (1) 方方式式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲,但方式2连续工作,方式4由软件触发启动,方式5由硬件触发启动。(2) 方方式式5与方式1工作过程相同,但输出波形不同,方式1输出的是宽度为N个为N个CLK脉冲的低电平有效的脉冲(计数过程中输出为低),而方式5输出的为宽度为一个CLK脉冲的负脉冲(计数过程中输出为高)。(3) 输输出出端端OUT的初始状态,方式0在写入方式字后输出为低,其余方式,写入控制字后,输出均变未能高。(4) 任任一一种种方方式式,均均是是在在写写入入计计数数初初值值之之后后,才才能能开开始始计计数数,方方式式0、2、3、4都是在写入计数初值之后,开始计数的,而方式1和方式5需要外部触发启动,才开始计数。(5) 6种工作方式中,只有方式2和方式3是连续计数,其它方式都是一次计数,要继续工作需要重新启动,方式0、4由软件启动,方式1、5由硬件启动。(6) 门控信号的作用门控信号的作用通过门控信号GATE,可以干预8253某一通道的计数过程,在不同的工作方式下,门控信号起作用的方式也不一样,其中0、2、3、4是电平起作用,1、2、3、5是上升沿起作用,方式2、3对电平上升沿都可以起作用。(7) 在计数过程中改变计数值,它们的作用有所不同。在计数过程中改变计数值,它们的作用有所不同。(8) 计计数数到到0后计数器的状态,方式0、1、4、5继续倒计数,变为FF、FE。,而方式2、3、,则自动装入计数初值继续计数。88253的工作方式小结(续)的工作方式小结(续) 七七、 82538253的编程应用的编程应用例例1 1 在在IBM IBM PC/XTPC/XT中中,82538253作作为为定定时时计计数数器器电电路路,它它的的三三个通道的作用分别为:个通道的作用分别为:计计数数器器0 0编编程程为为方方式式3 3,GATE0GATE0固固定定为为高高电电平平,OUT0OUT0作作为为中中断断请请求求信信号号接接至至8259A8259A中中断断控控制制器器的的第第0 0级级IRQ0IRQ0。这这个个定定时时中中断(约断(约55ms55ms)用于报时时钟的时间基准。用于报时时钟的时间基准。计计数数器器1 1编编程程为为方方式式2 2,GATE1GATE1固固定定为为高高电电平平,OUT1OUT1的的输输出出经经过过一一个个D D触触发发器器后后作作为为8237A8237A5DMA5DMA控控制制器器通通道道0 0的的DMADMA请请求求DREQ0DREQ0,用用于于定定时时(约约15us15us)启启动动刷刷新新动动态态RAMRAM,这这样样在在2ms2ms内可以有内可以有132132次刷新,大于次刷新,大于128128次(次(128128次是系统的最低要求)。次是系统的最低要求)。计计数数器器2 2编编程程为为方方式式3 3,1KHZ1KHZ的的方方波波输输出出,通通过过滤滤波波,去去除除高高频频分分量量后后送送扬扬声声器器,GATE2GATE2是是82558255的的PB0PB0,OUTOUT输输出出经经一一与与门门控控制制,控控制制信信号号为为82558255的的PB1PB1,这这样样利利用用PB0PB0、PB1PB1同同时时为为高的时间来控制发长音还是发短音。高的时间来控制发长音还是发短音。2. 写入计数值写入计数值选择二进制时选择二进制时计数值范围:计数值范围:0000HFFFFH0000H是最大值,代表是最大值,代表65536选择十进制(选择十进制(BCD码)码)计数值范围:计数值范围:000099990000代表最大值代表最大值10000计数值写入计数器各自的计数值写入计数器各自的I/O地址地址示例示例3. 读取计数值读取计数值对对8位数据线,读取位数据线,读取16位计数值需分两次位计数值需分两次计计数数在在不不断断进进行行,应应该该将将当当前前计计数数值值先先行行锁存,然后读取:锁存,然后读取:向控制字向控制字I/O地址:给地址:给8253写入锁存命令写入锁存命令从计数器从计数器I/O地址:读取锁存的计数值地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制读取计数值,要注意读写格式和计数数制8253在在IBM PC系列机上的应用系列机上的应用A0A1A0A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2DQCLK+5V接至接至DMA控制器控制器接至扬声器驱动器接至扬声器驱动器PB0PB1IRQ0DRQ08253+5V1.19318MHzDACK0BRDIORIOWRDWRCST/CCS定时中断和定时刷新定时中断和定时刷新从阅读初始化程序段从阅读初始化程序段看看计数器计数器0作为定时中断作为定时中断的作用的作用n将将计数器计数器1作为定时刷新作为定时刷新n看如何编写初始化程序段看如何编写初始化程序段计数器计数器0 0:初始化程序:初始化程序mov al,36h;36H00 11 011 0B;计数器计数器0为方式为方式3,采用二进制计数,采用二进制计数;先低后高写入计数值;先低后高写入计数值out 43h,al;写入方式控制字写入方式控制字mov al,0 ;计数值为计数值为0out 40h,al;写入低字节计数值写入低字节计数值out 40h,al;写入高字节计数值写入高字节计数值计数器计数器0:定时中断:定时中断计计数数器器0:方方式式3,计计数数值值:65536,输输出出频频率率为为1.19318MHz6553618.206Hz的方波的方波门控为常启状态,这个方波信号不断产生门控为常启状态,这个方波信号不断产生OUT0端接端接8259A的的IRQ0,用作中断请求信号用作中断请求信号每每 秒秒 产产 生生 18.206次次 中中 断断 请请 求求 , 或或 说说 每每 隔隔55ms(54.925493ms)申请一次中断申请一次中断DOS系系统统利利用用计计数数器器0的的这这个个特特点点,通通过过08号号中中断断服务程序实现了日时钟计时功能服务程序实现了日时钟计时功能计数器计数器1:定时刷新:定时刷新需要重复不断提出刷新请求需要重复不断提出刷新请求门控总为高,选择方式门控总为高,选择方式2或或3n2ms内刷新内刷新128次,即次,即15.6 s刷新一次刷新一次计数初值为计数初值为18计数器计数器1:初始化程序:初始化程序mov al,54h;54H01 01 010 0 B;计数器计数器1为方式为方式2,采用二进制计数,采用二进制计数;只写低;只写低8位计数值位计数值out 43h,al;写入方式控制字写入方式控制字mov al,18;计数初值为计数初值为18out 41h,al;写入计数值写入计数值 扬声器控制扬声器控制计数器计数器2的输出控制扬声器的发声音调的输出控制扬声器的发声音调计计数数器器2只只能能工工作作在在方方式式3,才才能能输输出出一一定定频频率率的的方方波波,经经滤滤波波后后得得到到近近似似的的正正弦弦波波,进而推动扬声器发声进而推动扬声器发声扬声器还受控于并行接口(扬声器还受控于并行接口(8255芯片)芯片)必必须须使使PB0和和PB1同同时时为为高高电电平平,扬扬声声器器才才能发出预先设定频率的声音能发出预先设定频率的声音发音发音频率设置子程序频率设置子程序;入口参数;入口参数AX1.19318106发音频率发音频率speakerprocpush axmov al,0b6h;b6h10110110bout 43h,al;写入控制字写入控制字pop axout 42h,al;写入低写入低8位计数值位计数值mov al,ahout 42h,al;写入高写入高8位计数值位计数值retspeakerendp扬声器开子程序扬声器开子程序speakon procpush axin al,61h;PB端口的地址为端口的地址为61Hor al,03h;D1D0PB1PB011B,其他位不变其他位不变out 61h,alpop axretspeakon endp扬声器关子程序扬声器关子程序speakoffprocpush axin al,61h;PB端口的地址为端口的地址为61Hand al,0fch;D1D0PB1PB000B,其他位不变其他位不变out 61h,alpop axretspeakoffendp例题例题1 1 扬声器声音的控制扬声器声音的控制;数据段;数据段freq dw 1193180/600;代码段代码段mov ax,freqcall speaker;设置扬声器音调设置扬声器音调call speakon;打开扬声器声音打开扬声器声音mov ah,1;等待按键等待按键int 21h;按键后按键后call speakoff;关闭扬声器声音关闭扬声器声音可编程硬件延时可编程硬件延时利利用用日日时时钟钟每每隔隔55ms中中断断一一次次不不变变的的特特点点,可可以以编编写写一一段段不不随随系系统统时时钟钟频频率率变变化化的的固固定延时程序定延时程序由由于于日日时时钟钟中中断断的的时时间间单单位位是是55ms,所所以以无法实现更短时间的延时无法实现更短时间的延时这这时时只只有有利利用用实实时时时时钟钟中中断断,不不过过它它的的最最短延时约是短延时约是1ms(976 s)扩充定时计数器的应用扩充定时计数器的应用A0A1A0A1外部事件产生源外部事件产生源8253OUT0GATE0CLK0200207HIRQD0D7D0D7译码译码电路电路AENA3A9+5VCSIORIOWRDWR例题例题2 外部事件的计数外部事件的计数mov dx,203h;设置方式控制字设置方式控制字mov al,10hout dx,al mov dx,200h;设置计数初值设置计数初值mov al,64h;计数初值为计数初值为100out dx,al输出:输出:明确向哪个明确向哪个端口端口输出什么输出什么数据数据输入:输入:清楚从哪个清楚从哪个端口端口输入什么输入什么数据数据18253芯片共有几种工作方式?每种方式各有什么特点?2某系统中8253芯片的通道02和控制端口地址分别为FFF0HFFF3H。定义通道0工作在方式2,CLK02MHz,要求输出OUT0为1kHz的速率波;定义通道l工作在方式0,其CLKl输入外部计数事件,每计满100个向CPU发出中断请求。试写出8253通道0和通道1的初始化程序。3试编写一程序,使IBMPC机系统板上的发声电路发出200Hz至900Hz频率连续变化的报警声。4设8253的通道2工作在计数方式,外部事件从CLK2引入,通道2每计500个脉冲向CPU发出中断请求,CPU响应这一中断后继续写入计数值,重新开始计数,保持每1秒钟向CPU发出中断请求。假设条件如下:8253的通道2工作在方式4;外部计数事件频率为1kHz;中断类型号为54H;8253各端口地址如上题;用8212芯片产生中断类型号;(注:8212为带8位输入锁存器和8位输出缓冲器的总线接口电路)。试编写程序完成以上任务,并画出硬件连接图。习题与思考:习题与思考:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号