第9章并行接口及定时计数技术课件

上传人:无*** 文档编号:241648255 上传时间:2024-07-12 格式:PPT 页数:78 大小:2.58MB
返回 下载 相关 举报
第9章并行接口及定时计数技术课件_第1页
第1页 / 共78页
第9章并行接口及定时计数技术课件_第2页
第2页 / 共78页
第9章并行接口及定时计数技术课件_第3页
第3页 / 共78页
点击查看更多>>
资源描述
第9章 并行接口及定时/计数技术7/12/20241主要内容n并行通信与并行接口n可编程并行通信接口芯片8255An可编程定时/计数器825329.1 并行通信与并行接口把一个字符的各数位用几条线同时进行传输,传输速度把一个字符的各数位用几条线同时进行传输,传输速度快,信息率高。但它比串行通信所用的电缆多,因此,快,信息率高。但它比串行通信所用的电缆多,因此,并行通信常用在传输距离较短并行通信常用在传输距离较短(几米至几十米几米至几十米)和数据传和数据传输率较高的场合。输率较高的场合。n并行通信n并行接口实现并行通信的接口就是并行接口。实现并行通信的接口就是并行接口。3典型的并行接口和外部设备连接典型的并行接口和外部设备连接:并行接口的输入过程并行接口的输入过程并行接口的输出过程并行接口的输出过程4并行接口的输入过程:并行接口的输入过程:外部设备首先将数据送给接口,并使状态线外部设备首先将数据送给接口,并使状态线“数据输数据输入准备好入准备好”成为高电平。接口把数据接收到数据输入缓冲成为高电平。接口把数据接收到数据输入缓冲寄存器的同时,使寄存器的同时,使“数据输入回答数据输入回答”线变为高电平,作为线变为高电平,作为对外部设备的响应。外部设备接到此信号,便撤除数据和对外部设备的响应。外部设备接到此信号,便撤除数据和“数据输入准备好数据输入准备好”信号。数据到达接口中后,接口会在信号。数据到达接口中后,接口会在状态寄存器中设置状态寄存器中设置“输入准备好输入准备好”状态位,以便状态位,以便CPUCPU对其对其进行查询,接口也可以在此时向进行查询,接口也可以在此时向CPUCPU发一个中断请求。所发一个中断请求。所以,以,CPUCPU既可以用软件查询方式,也可以用中断方式来设既可以用软件查询方式,也可以用中断方式来设法读取接口中的数据。法读取接口中的数据。CPUCPU从并行接口中读取数据后,接从并行接口中读取数据后,接口会自动清除状态寄存器中的口会自动清除状态寄存器中的“输入准备好输入准备好”状态位,并状态位,并且使数据总线处于高阻状态。此后,又可以开始下一个输且使数据总线处于高阻状态。此后,又可以开始下一个输入过程。入过程。5并行接口的输出过程:并行接口的输出过程:每当外部设备从接口取走一个数据之后,接口就会将每当外部设备从接口取走一个数据之后,接口就会将状态寄存器中的状态寄存器中的“输出准备好输出准备好”状态位置状态位置“1 1”,以表示,以表示CPUCPU当前可以往接口中输出数据,这个状态位可供当前可以往接口中输出数据,这个状态位可供CPUCPU进行进行查询。此时,接口也可以向查询。此时,接口也可以向CPUCPU发一个中断请求。所以,发一个中断请求。所以,CPUCPU既可以用软件查询方式,也可以用中断方式设法往接既可以用软件查询方式,也可以用中断方式设法往接口中输出一个数据。当口中输出一个数据。当CPUCPU输出的数据到达接口的输出缓输出的数据到达接口的输出缓冲寄存器中后,接口会自动清除冲寄存器中后,接口会自动清除“输出准备好输出准备好”状态位,状态位,并且将数据送往外部设备,同时,接口往外部设备发送一并且将数据送往外部设备,同时,接口往外部设备发送一个个“驱动信号驱动信号”来启动外部设备接收数据。外部设备被启来启动外部设备接收数据。外部设备被启动后,开始接收数据,并往接口发一个动后,开始接收数据,并往接口发一个“数据输出回答数据输出回答”信号。接口收到此信号,便将状态寄存器中的信号。接口收到此信号,便将状态寄存器中的“输出准备输出准备好好”状态位重新置状态位重新置“1 1”,以便,以便CPUCPU输出下一个数据。输出下一个数据。69.2 可编程并行通信接口芯片8255An8255A是是Intel86系列微处理机的配套并行接系列微处理机的配套并行接口芯片,它可为口芯片,它可为86系列系列CPU与外部设备之间提与外部设备之间提供并行输入供并行输入/输出的通道。输出的通道。n可编程的可编程的n可以通过软件来设置芯片的工作方式,所以,用可以通过软件来设置芯片的工作方式,所以,用8255A连接外部设备时,通常不用再附加外部电路,连接外部设备时,通常不用再附加外部电路,给使用者带来很大方便。给使用者带来很大方便。78255A芯片内部结构及其功能数据数据总线总线缓冲器缓冲器内部控制线内部控制线内部数据线内部数据线D0D7A组组控制控制A组组端口端口AA组组端口端口C上部上部B组组控制控制B组组端口端口BB组组端口端口C下部下部读写读写控制控制逻辑逻辑PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET891.并行输入并行输入/输出端口输出端口A,B,Cn8255A芯片内部包含芯片内部包含3个个8位端口,其中:位端口,其中:端口端口A包含一个包含一个8位数据输出锁存位数据输出锁存/缓冲存储器和一个缓冲存储器和一个8位位数据输入锁存器数据输入锁存器端口端口B包含一个包含一个8位数据输入位数据输入/输出、锁存输出、锁存/缓冲存储器和缓冲存储器和一个一个8位数据输入缓冲存储器;位数据输入缓冲存储器;端口端口C包含一个输出锁存包含一个输出锁存/缓冲存储器和一个输入缓冲存缓冲存储器和一个输入缓冲存储器。储器。必要时端口必要时端口C可分成两个可分成两个4位端口,分别与端口位端口,分别与端口A和端口和端口B配配合工作,通常将端口合工作,通常将端口A和端口和端口B定义为输入定义为输入/输出的数据端口,输出的数据端口,而端口而端口C可作为状态或控制信息的传送端口。可作为状态或控制信息的传送端口。102.A组和组和B组控制部件组控制部件nA组和组和B组各有一个控制单元,可接收来自读组各有一个控制单元,可接收来自读/写控制部件的命令写控制部件的命令和和CPU通过数据总线通过数据总线(D7D0)送来的控制字,并根据它们来定送来的控制字,并根据它们来定义各个端口的操作方式。义各个端口的操作方式。n端口端口A与端口与端口C的高的高4位位(PC7PC4)构成构成A组,由组,由A组控制部件组控制部件实现控制功能实现控制功能n端口端口B与端口与端口C的低的低4位位(PC3PC0)构成构成B组,由组,由B组控制部件组控制部件实现控制功能实现控制功能3.数据总线缓冲存储器数据总线缓冲存储器n这是一个三态双向这是一个三态双向8位数据缓冲存储器,它是位数据缓冲存储器,它是8255A与与8086CPU之间的数据接口。之间的数据接口。CPU执行输出指令时,可将控制执行输出指令时,可将控制字或数据通过数据总线缓冲存储器传送给字或数据通过数据总线缓冲存储器传送给8255A。CPU执行输执行输入指令时,入指令时,8255A可将状态信息或数据通过总线缓冲存储器向可将状态信息或数据通过总线缓冲存储器向CPU输入。输入。114.读读/写控制部件写控制部件n这是这是8255A内部完成读内部完成读/写控制功能的部件,它能接收写控制功能的部件,它能接收CPU的控制命令,并根据它们向片内各功能部件发出的控制命令,并根据它们向片内各功能部件发出操作命令。可接收的控制命令如下:操作命令。可接收的控制命令如下:(1)CS片选信号片选信号。由。由CPU输入,通常由端口的高输入,通常由端口的高位地址码位地址码(A15A2)译码得到,译码得到,CS有效,表示该有效,表示该8255A被选中。被选中。(2)RD,WR读、写控制信号读、写控制信号。由。由CPU输入,输入,RD有效,表示有效,表示CPU读读8255A,应由,应由8255A向向CPU传传送数据或状态信息。送数据或状态信息。WR有效,表示有效,表示CPU写写8255A,应由应由CPU将控制字或数据写入将控制字或数据写入8255A。12(3)RESET复位信号复位信号。由由CPU输入。输入。RESET有效时,有效时,清除清除8255A中所有控制字寄存器内容,并将各端口置中所有控制字寄存器内容,并将各端口置成输入方式。成输入方式。(4)A1和和A0端口选择信号端口选择信号。当当A1A000,选择端口选择端口A;当当A1A001,选择端口选择端口B;当当A1A010,选择端口选择端口C;当当A1A011,选择控制字寄存器。选择控制字寄存器。13与处理器接口CS*A1 A0I/O地址读操作RD*写操作WR*0 0 00 0 10 1 00 1 160H61H62H63H读端口A读端口B读端口C非法写端口A写端口B写端口C写控制字148255A芯片的控制字及其工作方式芯片的控制字及其工作方式n8255A中各端口可有中各端口可有3种基本工作方式:种基本工作方式:n方式方式0:基本输入输出方式基本输入输出方式n适用于无条件传送和查询方式的接口电路适用于无条件传送和查询方式的接口电路n方式方式1:选通输入输出方式选通输入输出方式n适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路n方式方式2:双向选通传送方式双向选通传送方式n适用于与双向传送数据的外设适用于与双向传送数据的外设n适用于查询和中断方式的接口电路适用于查询和中断方式的接口电路n端口端口A A可处于可处于3 3种工作方式种工作方式(方式方式0 0,方式,方式1 1和方式和方式2)2)n端口端口B B只可处于两种方式只可处于两种方式(方式方式0 0和方式和方式1)1)n端口端口C C常常被分成高常常被分成高4 4位和低位和低4 4位两部分,可分别用来传位两部分,可分别用来传送数据或控制信息送数据或控制信息.n用户可用软件来分别定义用户可用软件来分别定义3 3个端口的工作方式,可使用个端口的工作方式,可使用的控制字有定义的控制字有定义工作方式控制字工作方式控制字和和置位置位/复位控制字复位控制字。15控制字控制字n(1)定义工作方式控制字:定义工作方式控制字:通过定义工作方式控制字可将通过定义工作方式控制字可将3个端口分别定义为个端口分别定义为3种不同方式的组合,当将端口种不同方式的组合,当将端口A定义为方式定义为方式1或方式或方式2或将端口或将端口B定义为方式定义为方式1时,要求使用端口时,要求使用端口C的某些位作控的某些位作控制用,这时需要使用一个专门的置位制用,这时需要使用一个专门的置位/复位控制字来对控制端口复位控制字来对控制端口C的各位分别进行置位的各位分别进行置位/复位操作。复位操作。16n(2)置位置位/复位控制字复位控制字:只对端口只对端口C有效,其使用格式如下有效,其使用格式如下图所示图所示17工作方式工作方式0n这是这是8255A中各端口的基本输入中各端口的基本输入/输出方式。它只完成简输出方式。它只完成简单的并行输入单的并行输入/输出操作,输出操作,CPU可从指定端口输入信息,可从指定端口输入信息,也可向指定端口输出信息。也可向指定端口输出信息。18方式1输入引脚:A端口数据选通信号表示外设已经准备好数据输入缓冲器满信号表示A口已经接收数据中断请求信号请求CPU接收数据PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中断允许触发器PC6、72I/O19方式1输入引脚:B端口PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB数据选通信号表示外设已经准备好数据输入缓冲器满信号表示B口已经接收数据中断请求信号请求CPU接收数据中断允许触发器方式方式1 1需借用端口需借用端口C C用做联络信号用做联络信号同时还具有中断请求和屏蔽功能同时还具有中断请求和屏蔽功能20方式1输入联络信号nSTB*选通信号,低电平有效n由外设提供的输入信号,当其有效时,将输入设备送来的数据锁存至8255A的输入锁存器nIBF输入缓冲器满信号,高电平有效n8255A输出的联络信号。当其有效时,表示数据已锁存在输入锁存器nINTR中断请求信号,高电平有效n8255A输出的信号,可用于向CPU提出中断请求,要求CPU读取外设数据21方式1中断控制n8255A的中断由中断允许触发器INTE控制n置位允许中断,复位禁止中断n对INTE的操作通过写入端口C的对应位实现,INTE触发器对应端口C的位是作应答联络信号的输入信号的那一位,只要对那一位置位/复位就可以控制INTE触发器n选通输入方式下n端口A的INTEA对应PC4n端口B的INTEB对应PC222方式1输出引脚:A端口外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中断允许触发器23方式1输出引脚:B端口PC2PC1PC0PB7PB0INTEBOBFBINTRBACKB外设响应信号表示外设已经接收到数据输出缓冲器满信号表示CPU已经输出了数据中断请求信号请求CPU再次输出数据中断允许触发器24方式1输出联络信号nOBF*输出缓冲器满信号,低有效n8255A输出给外设的一个控制信号,当其有效时,表示CPU已把数据输出给指定的端口,外设可以取走nACK*响应信号,低有效n外设的响应信号,指示8255A的端口数据已由外设接受nINTR中断请求信号,高有效n当输出设备已接受数据后,8255A输出此信号向CPU提出中断请求,要求CPU继续提供数据端口端口A A的的INTEAINTEA对应对应PCPC6 6端口端口B B的的INTEBINTEB对应对应PCPC2 225方式1的应用n端口A和端口B均工作于工作方式1nA、B都完成输入操作功能nA、B都完成输出操作功能nA、B其中一个输入,另一个输出26n端口A、B都为方式1输入操作n工作方式控制字可设置如下27n端口状态如下图所示28n当端口A和端口B同时被定义为工作方式1完成输入操作时,端口C的PC5PC0被用作控制信号,只有PC7和PC6位可完成数据输入或输出操作。n因此这实际上可构成两种组合状态:n端口A,B输入,PC7,PC6输入n端口A,B输入,PC7,PC6输出。n当A、B同时完成输出或其中一个输入、一个输出情况类似,只是使用信号和控制字不同。29方式2-双向方式n8255A中只允许端口A处于工作方式2,方式2将方式1的选通输入输出功能组合成一个双向数据端口,可以发送数据和接收数据,可用来在两台处理机之间实现双向并行通信。其有关的控制信号由端口C提供,并可向CPU发出中断请求信号。n当端口A工作于方式2时,允许端口B工作方式0或方式1完成输入/输出功能。n方式2的数据输入过程与方式1的输入方式一样n方式2的数据输出过程与方式1的输出方式有一点不同:数据输出时8255A不是在OBF*有效时向外设输出数据,而是在外设提供响应信号ACK*时才送出数据30方式2双向引脚PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6设置INTE1(输出)用PC4设置INTE2(输入)输入和输出中断通过或门输出INTRA信号n端口A工作于方式2所需要的5个控制信号分别由端口C的PC7PC3来提供。如果端口B工作于方式0,那么PC2PC0可用作数据输入/输出;如果端口B工作于方式1,那么PC2PC0用来作端口B的控制信号31n当端口A工作于方式2时,允许端口B工作方式0或方式1完成输入/输出功能,其方式控制字格式如下图所示。32例例题题:8255A8255A作作为为连连接接打打印印机机的的接接口口,工工作作于于方方式式0 0,如如下下图图所示:所示:工工作作过过程程为为:当当主主机机要要往往打打印印机机输输出出字字符符时时,先先查查询询BUSYBUSY信信号号,如如为为零零,则则可可通通过过8255A8255A向向打打印印机机输输出出一一个个字字符符,同同时时给出选通信号给出选通信号STB(STB(负脉冲负脉冲)。8255A并行接口应用举例8086D7D0PA7PA0D7D0STBPC28255ABUSY打印机打印机PC633现将现将A A端口作为传送字符的通道,工作于方式端口作为传送字符的通道,工作于方式0 0、输出方式;、输出方式;B B端口未用;端端口未用;端口口C C也工作于方式也工作于方式0 0,PC2PC2作为作为BUSYBUSY信号输入端,故信号输入端,故PC3PC0PC3PC0为输入方式,为输入方式,PC6PC6作为作为STBSTB信号输出端,故信号输出端,故PC7PC4PC7PC4为输出方式。为输出方式。设设8255A8255A的端口地址为:的端口地址为:A A端口:端口:00D0H,B00D0H,B端口端口:00D2H,:00D2H,C C端口端口:00D4H,:00D4H,控制端口:控制端口:00D6H00D6H具体程序段如下:具体程序段如下:PP:MOV AL,81H ;PP:MOV AL,81H ;控制字,使控制字,使A,B,CA,B,C三个端口均工作于方式三个端口均工作于方式0 0,A A端口端口 OUT 0D6H,AL ;OUT 0D6H,AL ;为输出,为输出,PC7PC4PC7PC4为输出,为输出,PC3PC0PC3PC0为输入。为输入。MOV AL,0DH ;MOV AL,0DH ;用置用置0 0置置1 1方式使方式使PC6PC6为为1 1,即,即STBSTB为高电平。为高电平。OUT 0D6H,ALOUT 0D6H,ALLPST:IN AL,0D4H;LPST:IN AL,0D4H;读端口读端口C C的值的值 AND AL,04HAND AL,04H JNZ LPST ;JNZ LPST ;如不为如不为0 0,说明打印机忙,故等待。,说明打印机忙,故等待。34 MOV AL,CL OUT 0D0H,AL ;如不忙,则把如不忙,则把CL中字符送端口中字符送端口A。MOV AL,0CH OUT 0D6H,AL ;使使STB为为0 INC AL OUT 0D6H,AL ;再使再使STB为为1 ;后续程序段后续程序段 359.3 可编程计数/定时控制器8253定时控制在微机系统中极为重要n定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔n计数电路记录外设提供的具有一定随机性的脉冲信号时,主要反映脉冲的个数,又称为计数器定时功能的实现方法n软件延时利用微处理器执行一个延时程序段实现n不可编程的硬件定时采用分频器、单稳电路或简易定时电路控制定时时间n可编程的硬件定时软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路368253/8254定时计数器n8253可与8086/8088CPU相连构成完整的定时、计数或脉冲发生器系统。n3个独立的16位计数器通道n每个计数器有6种工作方式n按二进制或十进制(BCD码)计数378253的内部结构和引脚D7D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2381.1.数据总线缓冲存储器数据总线缓冲存储器是8253与CPU之间的数据接口,由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。2.2.读读/写控制电路写控制电路接收CPU送入的读/写控制信号,并完成对芯片内部各功能部件的控制功能,因此,它实际上是8253芯片内部的控制器。可接收的控制信号如下:可接收的控制信号如下:(1)A1A0端口选择信号,由CPU输入。8253内部有3个独立的通道和一个控制字寄存器,它们构成8253芯片的4个端口,CPU可对3个通道进行读/写操作,对控制字寄存器进行写操作。这4个端口地址由最低2位地址码A10来选择。nA1A0=00 通道0nA1A0=01 通道1nA1A0=10 通道2nA1A0=11 控制字寄存器39 (2)CS*片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。CS*A1 A0I/O地址读操作RD*写操作WR*0 0 00 0 10 1 00 1 140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字(3)RD*、WR*读/写控制命令,由CPU输入,低电平有效。RD*有效时,CPU读取由A10所选定的通道内计数器的内容。WR*有效时,CPU将计数值写入各个通道的计数器中,或者是将方式控制字写入控制字寄存器中。403.3.通道通道0 0通道通道2 2n8253内部包含3个功能完全相同的通道,每个通道内部设有一个16位计数器,可进行二进制或十进制(BCD码)计数。n采用二进制计数时,最大计数值是FFFFHn采用BCD码计数时,最大计数值是9999n每个通道内设有一个16位计数值锁存器,可用来锁存计数值。n当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中,被计数的事件应以脉冲方式从CLKi端输入,每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”,OUTi端将有输出,表示计数次数到。n当某通道用作定时器时,由CLKi输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需的计数值,并预置到计数器中,每输入一个时钟脉冲,计数器内容减“1”,待计数值计到“0”,OUTi将有输出,表示定时时间到。允许从CLKi输入的时钟频率在12MHz范围内。41n任一通道作计数器用或作定时器用,其内部操作完全相同,区别在于前者是由计数脉冲进行减“1”计数,而后者是由时钟脉冲进行减“1”计数。作计数器时,要求计数的次数可直接作为计数器的初值预置到减“1”计数器中。作定时器时,计数器的初值即定时系数应根据要求定时的时间进行如下运算才能得到:定时系数定时系数定时系数定时系数=要求定时的时间要求定时的时间要求定时的时间要求定时的时间/时钟脉冲的周期时钟脉冲的周期时钟脉冲的周期时钟脉冲的周期4.4.控制字寄存器控制字寄存器控制字寄存器控制字寄存器控制字寄存器用来存放由CPU写入8253的方式选择控制字,由它来定义8253中各通道的工作方式,其使用格式如下图所示。4243nSC1,SC0位用来选择通道。nRL1,RL0位用来定义对所选通道中的计数器的操作nRL1RL0=00时,将该通道中当前计数器的内容锁存到锁存器中,为CPU读取当前计数值作准备。nRL1RL0=01时,表示只读/写计数器低字节,这是因为只使用计数器的低字节作计数用。nRL1RL0=10时,表示只读/写计数器高字节,这是因为只使用计数器的高字节作计数用。nRL1RL0=11时,表示先读/写计数器低字节,后读/写计数器高字节。nBCD位用来定义是采用二进制计数还是十进制计数nM2M1M0位用来定义所选通道的6种工作方式。44计数器结构示意图预置寄存器预置寄存器GATECLKOUT减减1计数器计数器输出锁存器输出锁存器计数初值存于计数初值存于预置寄存器预置寄存器;在计数过程中,在计数过程中,减法计数器减法计数器的值不断递减,的值不断递减,而预置寄存器中的预置不变。而预置寄存器中的预置不变。输出锁存器输出锁存器用于写入锁存命令时,用于写入锁存命令时,锁定当前计数值锁定当前计数值45计数器的3个引脚nCLK时钟输入信号在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1nGATE门控输入信号控制计数器工作,可分成电平控制和上升沿控制两种类型GATE作为各通道的门控信号,对于各种不同的工作方式,它所起的作用各不相同。在8253的应用中,必须正确使用GATE信号,才能保证各通道的正常操作。nOUT计数器输出信号当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号46读写操作及编程命令读写操作及编程命令 1.方式命令的作用方式命令的作用 主要是对主要是对82538253进行初始化,初始化的工作有两点:进行初始化,初始化的工作有两点:(1 1)向命令寄存器写入方式命令,以选择计数器()向命令寄存器写入方式命令,以选择计数器(3 3个计个计数器之一),确定工作方式(数器之一),确定工作方式(6 6种方式之一),指定计数种方式之一),指定计数器计数初值的长度和装入顺序以及计数值的码制(器计数初值的长度和装入顺序以及计数值的码制(BCDBCD或或二进制码)。二进制码)。(2 2)向已选定的计数器按方式命令的要求写入计数初值。)向已选定的计数器按方式命令的要求写入计数初值。47D7D6D5D4D3D2D1D0计数器选择读写字节数工作方式码制2.方式命令的格式 方式命令的格式如下所示:D7D6(SC1SC0):用于选择计数器SC1SC0=00 选择0号计数器SC1SC0=01 选择1号计数器SC1SC0=10 选择2号计数器SC1SC0=11 不用D5D4(RL1RL0):用来控制计数器读/写的字节数(1或2个字节)及读/写高低字节的顺序。RL1RL0=00 为锁存命令RL1RL0=01 仅读/写一个低字节RL1RL0=10 仅读/写一个高字节RL1RL0=11 读/写2个字节,先是低字节,后是高字节48D7D6D5D4D3D2D1D0计数器选择读写字节数工作方式码制 D0(BCD):用来指定计数器的码制,是按二进还是按二十进制数计数。BCD=0 二进制 BCD=1 二十进制 DD():用来选择计数器的工作方式。10=000 0方式10=001 1方式 10=010 2方式10=011 3方式10=100 4方式10=101 5方式(110和111不用)49例例:选选择择2号号计计数数器器,工工作作在在3方方式式,计计数数初初值值为为533H(2个个字字节),采用二进制计数。其初始化程序段为节),采用二进制计数。其初始化程序段为:MOV DX,307H ;命令口命令口 MOV AL,10110110 B ;2号计数器的初始化命令字号计数器的初始化命令字 OUT DX,AL ;写入命令寄存器写入命令寄存器 MOV DX,306H ;2号计数器数据口号计数器数据口 MOV AX,533H ;计数初值计数初值 OUT DX,AL ;选送低字节到选送低字节到2号计数器号计数器 MOV AL,AH ;取高字节送取高字节送AL OUT DX,AL ;后送高字节到后送高字节到2号计数器号计数器方波发生器503.读当前计数值读当前计数值 在事件计数器的应用中,需要读出计数过程中的当前在事件计数器的应用中,需要读出计数过程中的当前计数值,以便根据这个值做计数判断。计数值,以便根据这个值做计数判断。例:要求读出并检查例:要求读出并检查1 1号计数器的当前计数值是否是全号计数器的当前计数值是否是全“1”1”(假定计数值只有低(假定计数值只有低8 8位),其程序段为位),其程序段为MOVDX,307H;命令口命令口L:MOVAL,01000000B;1号计数器的锁存命令号计数器的锁存命令OUTDX,AL;写入命令寄存器写入命令寄存器MOVDX,305H;1号计数器数据口号计数器数据口INAL,DX;读;读1号计数器的当前计数值号计数器的当前计数值CMPAL,0FFH;比较比较JNEL;非全非全“1”,再读,再读HLT;是全是全“1”,暂停,暂停51 8253芯片的工作方式及特点:芯片的工作方式及特点:方式名称初值自动重装GATE(电平/上升沿)OUT波形0计数结束中断方式否高电平低电平1单脉冲发生器否上升沿低电平2速率发生器是高电平单个负脉冲3方波发生器是高电平方波4软件触发方式否高电平单个负脉冲5硬件触发方式是上升沿单个负脉冲52 工作方式及特点工作方式及特点 8253/8254芯片的每个计数器通道都有芯片的每个计数器通道都有6种工作方式可供选用。种工作方式可供选用。1.方式方式0-计数结束中断方式计数结束中断方式 低电平输出低电平输出(GATE信号上升沿继续计数)信号上升沿继续计数)53 方式方式0有如下有如下3个特点个特点:n当当向向计计数数器器写写完完计计数数值值后后,开开始始计计数数,计计数数一一旦旦开开始始,输输出出端端OUTOUT就就变变成成低低电电平平,并并在在计计数数过过程程中中一一直直保保持持低低电电平平,当当计计数数器器减减到到零零时时,OUTOUT立立即变成高电平。即变成高电平。n门门控控信信号号GATEGATE为为高高电电平平时时,计计数数器器工工作作;当当GATEGATE为为低低电电平平时时,计计数数器器停停止止了了工工作作,其其计计数数值值保保持持不不变变。如如果果门门控控信信号号GATEGATE再再次次变变高高时时,计计数数器器从从中止处继续计数。中止处继续计数。n在在计计数数器器工工作作期期间间,如如果果重重新新写写入入新新的的计计数数值值,计数器将按新写入的计数初值重新工作。计数器将按新写入的计数初值重新工作。54n利用工作方式利用工作方式0既可完成计数功能,也可完成定时功既可完成计数功能,也可完成定时功能。能。n当用作当用作计数器计数器时,应将要求计数的次数预置到计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从中,将要求计数的事件以脉冲方式从CLKi端输入,由端输入,由它对计数器进行减它对计数器进行减“1”计数,直到计数值为计数,直到计数值为0,此刻,此刻OUTi输出正跳变,表示计数次数到。输出正跳变,表示计数次数到。n当用作当用作定时器定时器时,应把根据要求定时的时间和时,应把根据要求定时的时间和CLKi的的周期计算出定时系数,预置到计数器中。从周期计算出定时系数,预置到计数器中。从CLKi输入输入的应是一定频率的时钟脉冲,由它对计数器进行减的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数,定时时间从写入计数值开始,到计数值计数,定时时间从写入计数值开始,到计数值计到计到“0”为止,为止,OUTi输出正跳变,表示定时时间到。输出正跳变,表示定时时间到。55例:例:使计数器使计数器T T1 1工作在工作在0 0方式,进行方式,进行1616位二进制计数,位二进制计数,计数初值的高低字节分别为计数初值的高低字节分别为BYTEHBYTEH和和BYTELBYTEL。其初始化程序段为其初始化程序段为:MOV DX,307H MOV DX,307H ;命令口命令口 MOV ALMOV AL,01110000B01110000B ;方式字方式字 OUT DXOUT DX,AL AL MOV DX MOV DX,305H 305H ;T T1 1数据口数据口 MOV ALMOV AL,BYTEL BYTEL ;计数值低字节计数值低字节 OUT DXOUT DX,ALAL MOV AL MOV AL,BYTEH BYTEH ;计数值高字节计数值高字节 OUT DXOUT DX,AL AL 56 2.方式方式1-单脉冲发生器单脉冲发生器低电平输出低电平输出(GATE信号上升沿重新计数)信号上升沿重新计数)方式方式1为可编程的单稳态工作方式。为可编程的单稳态工作方式。57n情况一:情况一:1.1.写入计数初值后,计数器并不立即开始工作;写入计数初值后,计数器并不立即开始工作;2.2.门控信号门控信号GATEGATE有效,才开始工作,使输出有效,才开始工作,使输出OUTOUT变成低电变成低电平;平;3.3.直到计数器值减到零后,输出才变高电平。直到计数器值减到零后,输出才变高电平。n情况二:情况二:1.在在计计数数器器工工作作期期间间,当当GATEGATE又又出出现现一一个个上上升升沿沿时时,计计数数器重新装入原计数初值并重新开始计数,见图中器重新装入原计数初值并重新开始计数,见图中。2.2.如如果果工工作作期期间间对对计计数数器器写写入入新新的的计计数数初初值值,则则要要等等到到当当前前的的计计数数值值计计满满回回零零且且门门控控信信号号再再次次出出现现上上升升沿沿后后,才按新写入的计数初值开始工作,见图所示才按新写入的计数初值开始工作,见图所示。58例:例:使使计计数数器器T T2 2 工工作作在在1 1方方式式,进进行行8 8位位二二进进制计数,并设计数初值的低制计数,并设计数初值的低8 8位为位为BYTELBYTEL。其初始化程序段为其初始化程序段为 MOV DX,307H ;命令口命令口 MOV AL,10010010B ;方式字方式字 OUT DX,AL MOV DX,306H ;T2数据口数据口 MOV AL,BYTEL ;低;低8位计数值位计数值 OUT DX,AL593.方式方式2-频率发生器(分频器)频率发生器(分频器)周期性负脉冲输出周期性负脉冲输出方式方式2 2是一种具有自动装入时间常数(计数初值)是一种具有自动装入时间常数(计数初值)的的N N分频器。分频器。60n进入工作方式进入工作方式2,OUTi输出高电平,输出高电平,装入计数值装入计数值n后如果后如果GATE为高电平,则立即开始计数为高电平,则立即开始计数,OUTi保持为高电平不保持为高电平不变;待计数值减到变;待计数值减到“1”和和“0”之间,之间,OUTi将输出宽度为将输出宽度为一个一个CLKi周期的周期的负脉冲负脉冲n计数值为计数值为“0”时,自动重新装入计数初值时,自动重新装入计数初值n,实现,实现循环计循环计数数nOUTi将输出一定频率的负脉冲序列,其脉冲宽度固定为一将输出一定频率的负脉冲序列,其脉冲宽度固定为一个个CLKi周期,重复周期为周期,重复周期为CLKi周期的周期的n倍。倍。61n如果在减如果在减“1”计数过程中,计数过程中,GATE变为无效变为无效(输输入入0电平电平),则暂停减,则暂停减“1”计数,待计数,待GATE恢复有恢复有效后,从初值效后,从初值n开始重新计数。开始重新计数。n如果在操作过程中要求改变输出脉冲的速率,如果在操作过程中要求改变输出脉冲的速率,CPU可可在任何时候,重新写入新的计数值,它不会影响正在进在任何时候,重新写入新的计数值,它不会影响正在进行的减行的减“1”计数过程,而是从下一个计数操作周期开计数过程,而是从下一个计数操作周期开始按新的计数值改变输出脉冲的速率。始按新的计数值改变输出脉冲的速率。62例:例:使计数器使计数器T T0 0 工作在方式工作在方式2 2,进行,进行1616位二进制计数。位二进制计数。其初始化程序段为其初始化程序段为 MOV DXMOV DX,307H 307H ;命令口命令口 MOV ALMOV AL,00110100B00110100B ;方式字方式字 OUT DXOUT DX,ALAL MOV DX MOV DX,304H 304H ;T T2 2数据口数据口 MOV ALMOV AL,BYTEL BYTEL ;低;低8 8位计数值位计数值 OUT DXOUT DX,ALAL MOV AL MOV AL,BYTEL BYTEL ;高;高8 8位计数值位计数值 OUT DXOUT DX,ALAL634.方式方式3-方波发生器方波发生器5.周期性方波输出周期性方波输出方式方式3工作方式与方式工作方式与方式2基本相同,也具有自动装基本相同,也具有自动装入时间常数(计数初值)的功能。入时间常数(计数初值)的功能。64n 工作在方式工作在方式3 3,引脚,引脚OUTOUT输出的不是一个时钟周输出的不是一个时钟周期的负脉冲,而是占空比为期的负脉冲,而是占空比为1 1:1 1或近似或近似1 1:1 1的的方波;当计数初值为偶数时,输出在前一半的方波;当计数初值为偶数时,输出在前一半的计数过程中为高电平,在后一半的计数过程中计数过程中为高电平,在后一半的计数过程中为低电平。为低电平。n 由于方式由于方式3 3输出的波形是方波,并且具有自动输出的波形是方波,并且具有自动重装计数初值的功能,因此,重装计数初值的功能,因此,82538253一旦计数开一旦计数开始,就会在输出端始,就会在输出端OUTOUT输出连续不断的方波。输出连续不断的方波。65n如果在操作过程中,如果在操作过程中,GATEGATE变为无效,则暂停减变为无效,则暂停减“1”1”计数过程,直到计数过程,直到GATEGATE再次有效,重新从初再次有效,重新从初值值n n开始减开始减“1”1”计数。计数。n如果要求改变输出方波的速率,则如果要求改变输出方波的速率,则CPUCPU可在任何可在任何时候重新装入新的计数初值时候重新装入新的计数初值n n,并从下一个计数,并从下一个计数操作周期开始改变输出方波的速率。操作周期开始改变输出方波的速率。665.方式方式4-软件触发方式软件触发方式 单次负脉冲输出单次负脉冲输出 方式方式4工作方式是一种由软件启动的闸门式计数方式,即工作方式是一种由软件启动的闸门式计数方式,即由写入计数初值来触发计数器开始工作。门控信号由写入计数初值来触发计数器开始工作。门控信号GATE为为高电平时,允许计数器工作。高电平时,允许计数器工作。例:例:使计数器使计数器T1T1工作在方式工作在方式4 4,进行,进行8 8位二进制计数,并且只装位二进制计数,并且只装入高入高8 8位计数值。其初始化程序段为:位计数值。其初始化程序段为:MOV DX,307H ;命令口命令口 MOV AL,00110100B ;方式字方式字 OUT DX,AL MOV DX,304H ;T2数据口数据口 MOV AL,BYTEL ;低;低8位计数值位计数值 OUT DX,AL6768n进入工作方式进入工作方式4,OUTi输出高电平。输出高电平。n装入计数值装入计数值n后,如果后,如果GATE为高电平,则立即开始减为高电平,则立即开始减“1”计数,直到计数值减到计数,直到计数值减到“0”为止,为止,OUTi输出宽度输出宽度为一个为一个CLKi周期的负脉冲。周期的负脉冲。n由软件装入的计数值只一次有效由软件装入的计数值只一次有效,如果要继续操作,必,如果要继续操作,必须重新置入计数初值须重新置入计数初值n。n如果在操作过程中,如果在操作过程中,GATE变为无效,则停止减变为无效,则停止减“1”计计数,到数,到GATE再次有效时,重新从初值开始减再次有效时,重新从初值开始减“1”计数。计数。69n利用这种工作方式可以完成利用这种工作方式可以完成定时功能定时功能,定时时间从装入,定时时间从装入计数值计数值n开始,开始,OUTi输出负脉冲表示定时时间到,其定输出负脉冲表示定时时间到,其定时时间时时间=nCLK周期。周期。n这种工作方式也可完成这种工作方式也可完成计数功能计数功能,它要求计数的事件以,它要求计数的事件以脉冲的方式从脉冲的方式从CLKi输入,将计数次数作为计数初值装入输入,将计数次数作为计数初值装入后,由后,由CLKi端输入的计数脉冲进行减端输入的计数脉冲进行减“1”计数,直到计计数,直到计数值为数值为“0”,由,由OUTi端输出负脉冲端输出负脉冲(表示计数次数到表示计数次数到)。当然也可利用当然也可利用OUTi向向CPU发出中断请求。发出中断请求。n因此工作方式因此工作方式4与工作方式与工作方式0很相似,只是方式很相似,只是方式0在在OUTi端输出正阶跃信号、方式端输出正阶跃信号、方式4在在OUTi端输出负脉冲信号。端输出负脉冲信号。706.方式方式5-硬件触发方式硬件触发方式 单次负脉冲输出()单次负脉冲输出()方式方式5工作特点是由工作特点是由GATE上升沿触发计数器开始工作。上升沿触发计数器开始工作。n在在方方式式5 5工工作作方方式式下下,当当写写入入计计数数初初值值后后,计计数数器器并并不不立立即即开始计数,而要由门控信号的上升沿启动计数。开始计数,而要由门控信号的上升沿启动计数。n 在在计计数数过过程程中中(或或者者计计数数结结束束后后),如如果果门门控控再再次次出出现现上上升沿,计数器将从原装入的计数初值重新计数。升沿,计数器将从原装入的计数初值重新计数。71 小结:小结:6 6 种工作方式的比较种工作方式的比较n0 0方式(门控单稳)和方式(门控单稳)和1 1方式(门控单稳),这两种方式的方式(门控单稳),这两种方式的输出波形类似。输出波形类似。n2 2方式(分频器)和方式(分频器)和3 3方式(方波发生器),这两种方式共方式(方波发生器),这两种方式共同的特点是具有自动再加载功能(装入)能力。二者的区同的特点是具有自动再加载功能(装入)能力。二者的区别在于:别在于:2 2方式在计数过程中输出高电平,而在每当减方式在计数过程中输出高电平,而在每当减1 1至至0 0时输出宽度为时输出宽度为1 1个个T TCLKCLK的负脉冲。的负脉冲。3 3方式是在计数过程中,方式是在计数过程中,OUTOUT的信号是占空比为的信号是占空比为1:11:1的方波或近似方波。的方波或近似方波。n4 4方式(软件触发单脉冲)和方式(软件触发单脉冲)和5 5方式(硬件触发单脉冲)。方式(硬件触发单脉冲)。这两种方式的这两种方式的OUTOUT输出波形相同,两者的区别是计数启动输出波形相同,两者的区别是计数启动的触发信号不同,前者由写信号启动计数,后者从的触发信号不同,前者由写信号启动计数,后者从GATEGATE的的上升沿开始计数)。上升沿开始计数)。729.2 8253计数/定时控制器应用举例n例如,某8086系统中包含一片8253芯片,要求完成如下功能:n利用通道0完成对外部事件计数功能,计满100次向CPU发出中断请求。n利用通道1产生频率为1kHz的方波。n利用通道2作标准时钟。7374n8253的数据线的数据线(D7D0)固定与固定与8086 CPU的高的高8位数据位数据线线(D15D8)相连。图相连。图9.24中中8253的端口地址码的端口地址码(A1A0)与与8086 CPU的的A2A1相连,而相连,而8086的的A0固定为固定为“1”参参加高位地址译码,以形成对加高位地址译码,以形成对8253的片选信号的片选信号CS,以保,以保证证CPU访问访问8253的端口地址均为奇地址。的端口地址均为奇地址。n根据图根据图9.24的连接方式和对系统的要求的连接方式和对系统的要求:n通道通道0定义为工作方式定义为工作方式0,完成计数功能,其计数值为,完成计数功能,其计数值为100=64Hn通道通道1应定义为工作方式应定义为工作方式3,输出频率为,输出频率为1kHz的方波,的方波,从从CLK1输入输入2.5MHz的时钟脉冲,的时钟脉冲,其重复周期为其重复周期为0.4s,而输出方波的,而输出方波的周期应为周期应为1ms。因此,通道。因此,通道1的计数初值应为的计数初值应为2500=09C4H。n通道通道2应定义为方式应定义为方式0,完成定时功能,完成定时功能,每秒钟利用每秒钟利用OUT2向向CPU发出一次中断请求,由输入时钟频率为发出一次中断请求,由输入时钟频率为1kHz,计数初值应,计数初值应为为1000。75为完成上述功能,所需要的初始化程序如下:为完成上述功能,所需要的初始化程序如下:STT:MOV DX,8253控制端口地址控制端口地址MOV AL,10H;定义通道;定义通道0工作在方式工作在方式0OUT DX,ALMOV DX,通道,通道0端口地址端口地址MOV AL,64H;给通道;给通道0送计数值送计数值OUT DX,ALMOV DX,8253控制端口控制端口MOV AL,76H ;定义通道;定义通道1为方式为方式3OUT DX,ALMOV DX,通道,通道1端口端口MOV AX,09C4HOUT DX,AL ;给通道;给通道1送计数初值送计数初值MOV AL,AHOUT DX,ALMOV DX,8253控制端口控制端口MOV AL,B1H ;定义通道;定义通道2为方式为方式0OUT DX,AL76MOV DX,通道,通道2端口端口MOV AX,1000HOUT DX,AL ;给通道;给通道2送计数初值送计数初值MOV AL,AHOUT DX,ALMOVDX,8259A偶地址端口偶地址端口MOVAL,13HOUTDX,ALMOVDX,8259A奇地址端口奇地址端口MOVAL,50H对对8259A初始化,定义通道初始化,定义通道0和通道和通道2的的OUTDX,AL;中断类型码分别为;中断类型码分别为50H和和52HMOVAL,03OUTDX,ALMOVAL,0FAHOUTDX,AL;STIHH:HLTJMP HH77n8253n结构结构n特点特点n控制字控制字n工作方式工作方式小结78
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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