接口接口技术课件

上传人:磨石 文档编号:240706315 上传时间:2024-05-01 格式:PPT 页数:72 大小:1.96MB
返回 下载 相关 举报
接口接口技术课件_第1页
第1页 / 共72页
接口接口技术课件_第2页
第2页 / 共72页
接口接口技术课件_第3页
第3页 / 共72页
点击查看更多>>
资源描述
5.4可编程计数可编程计数/定时器定时器82535.4.18253的结构的结构5.4.28253的引脚功能的引脚功能5.4.38253的控制字和初始化编程的控制字和初始化编程5.4.48253的工作方式的工作方式1接口接口技术获得定时信号可以用三种方法获得定时信号可以用三种方法:1.软软件件定定时时:执执行行延延时时子子程程序序,节节省省硬硬件件,CPU利利用率低,设计较麻烦用率低,设计较麻烦2.不不可可编编程程的的硬硬件件定定时时:用用元元器器件件搭搭成成的的延延时时电电路路使用不灵活使用不灵活3.可可编编程程的的硬硬件件定定时时:专专用用芯芯片片。计计数数或或定定时时时时,不占用不占用CPU,大大提高大大提高CPU的利用率的利用率2接口接口技术可编程计数器可编程计数器/定时器的工作原理定时器的工作原理可编程计数器可编程计数器/定时器具有两种功能:定时器具有两种功能:1.计计数数器器:设设置置好好初初值值后后,计计数数器器被被启启动动,每每当当计计数数脉脉冲冲到到来来,进进行行-1计计数数,当当减减到到0时时输输出出一信号。一信号。2.定定时时器器:设设置置好好定定时时常常数数后后,定定时时器器开开始始工工作作,在在固固定定频频率率的的时时钟钟下下,进进行行-1计计数数,按按定定时时常常数数不不断断输输出出时时钟钟周周期期整整数数倍倍的的定定时时间隔。间隔。3接口接口技术两者的主要差别是:两者的主要差别是:作作为为计计数数器器,在在减减到到“0”之之后后输输出出一一个个信信号号,此此次次 计数过程便结束了;计数过程便结束了;作作为为定定时时器器,在在减减到到“0”之之后后输输出出一一个个信信号号,接接着着自自动动重重装装计计数数初初值值开开始始下下一一个个周周期期的定时,如此连续不断地产生信号。的定时,如此连续不断地产生信号。特点:基于计数器的减特点:基于计数器的减1操作。操作。4接口接口技术典型的计数器典型的计数器/定时器的基本原理图定时器的基本原理图决定计数速率决定计数速率门脉冲信号,对时门脉冲信号,对时钟的控制信号钟的控制信号当计数当计数=0时,时,OUT输出信号输出信号控制计数器控制计数器/定时器的定时器的工作方式工作方式 5接口接口技术计计数数器器/定定时时器器的的工工作作方方式式是是指指时时钟钟脉脉冲冲和和门门脉脉冲冲如如何配合来产生输出。何配合来产生输出。有以下几种工作方式:有以下几种工作方式:(1)门脉冲控制时钟输入。门脉冲控制时钟输入。门脉冲有效,时钟有效;门脉冲有效,时钟有效;门脉冲结束,时钟无效。门脉冲结束,时钟无效。用门脉冲重新启动计数。用门脉冲重新启动计数。用门脉冲停止计数。用门脉冲停止计数。计计数数器器在在不不停停地地计计数数,当当门门脉脉冲冲到到来来时时,计计数数停停止止,并使并使OUT为高电平。为高电平。6接口接口技术单一计数。单一计数。与与门门脉脉冲冲无无关关,只只要要门门脉脉冲冲为为有有效效电电平平就就可可以以。计计数数器器按按给给定定的的初初值值进进行行减减1计计数数,到到0时时,输输出出停止。停止。循环计数。循环计数。每每当当计计数数值值=0时时,给给出出一一个个输输出出信信号号,然然后后又又从从预预置置计计数数值值寄寄存存器器获获得得计计数数初初值值,开开始始新新的的计计数过程。数过程。7接口接口技术可编程定时可编程定时/计数器计数器8253的主要功能的主要功能(1)每个芯片内部有每个芯片内部有3个独立的个独立的16位计数器通道。位计数器通道。(2)每个计数通道都可以单独使用,都可按照二进制每个计数通道都可以单独使用,都可按照二进制或或BCD码计数。码计数。0000HFFFFH2166553600009999104(3)每个计数器的计数速率可高达每个计数器的计数速率可高达2MHz,最高计数最高计数速率为速率为2.6MHz。(4)每个计数器有每个计数器有6种工作方式,可由程序设置。种工作方式,可由程序设置。(5)所有输入输出与所有输入输出与TTL兼容。兼容。8接口接口技术 5.4.1 8253的内部结构的内部结构三态、双向三态、双向8位寄存器。功能:位寄存器。功能:(1)CPU通过其向通过其向8253写入确定工作方式的命令字。写入确定工作方式的命令字。(2)向某个计数器写入计数初值。)向某个计数器写入计数初值。(3)从某一计数器读取当前的计数初值。)从某一计数器读取当前的计数初值。初始化编程时,由初始化编程时,由CPU写入控制字,写入控制字,以决定计数器的工作方式。只能写,以决定计数器的工作方式。只能写,不能读。不能读。用来对用来对3个计数器和控制寄存器进行个计数器和控制寄存器进行寻址,与寻址,与CPU的系统地址线相连。的系统地址线相连。A1A0=00选中计数器选中计数器0A1A0=01选中计数器选中计数器1A1A0=10选中计数器选中计数器2A1A0=11选中控制字寄存器选中控制字寄存器计数时钟,输入。用于输入定计数时钟,输入。用于输入定时脉冲或计数脉冲信号。时脉冲或计数脉冲信号。门控信号,输入,由外部信号通过门控信号,输入,由外部信号通过GATE端控制计数器的启动计数和停止端控制计数器的启动计数和停止计数的操作。计数的操作。时间到或计数结束输出引脚。时间到或计数结束输出引脚。当计数器计数到当计数器计数到0时,在时,在OUT引脚有输出。引脚有输出。每个计数器包含每个计数器包含(1)一个一个16位的初值寄存器位的初值寄存器(2)一个一个16位计数执行部件位计数执行部件(3)一个一个16位输出锁存器位输出锁存器9接口接口技术5.4.2 8253的外部引脚及功能的外部引脚及功能10接口接口技术1.数据总线缓冲器数据总线缓冲器8位、双向、三态的寄存器位、双向、三态的寄存器功能:功能:(1)CPU通过数据总线缓冲器向通过数据总线缓冲器向8253写入确定写入确定工作方式的命令字。工作方式的命令字。(2)向某个计数器写入计数初值。)向某个计数器写入计数初值。(3)从某一计数器读取当前的计数初值。)从某一计数器读取当前的计数初值。11接口接口技术2.读写逻辑电路读写逻辑电路CS:片选信号,输入,低电平有效。片选信号,输入,低电平有效。A1、A0:输入信号,用来对输入信号,用来对3个计数器和控制寄存器个计数器和控制寄存器进行寻址,与进行寻址,与CPU的系统地址线相连。的系统地址线相连。A1A0=00选中计数器选中计数器0A1A0=01选中计数器选中计数器1A1A0=02选中计数器选中计数器2A1A0=03选中控制字寄存器选中控制字寄存器WR:写引脚,输入,低电平有效。写引脚,输入,低电平有效。RD:读引脚,输入,低电平有效,读引脚,输入,低电平有效,12接口接口技术3.计数通道计数通道 3个相互独立的计数器个相互独立的计数器0、计数器、计数器1和计数器和计数器2。每个计数器包含每个计数器包含(1)一个一个16位的初值寄存器位的初值寄存器(2)一个一个16位计数执行部件位计数执行部件(3)一个一个16位输出锁存器位输出锁存器13接口接口技术CLK:计数时钟,输入。用于输入定时脉冲或计数计数时钟,输入。用于输入定时脉冲或计数脉冲信号。脉冲信号。GATE:门控信号,输入,由外部信号通过门控信号,输入,由外部信号通过GATE端端控制计数器的启动计数和停止计数的操作。控制计数器的启动计数和停止计数的操作。OUT:时间到或计数结束输出引脚。当计数器计数时间到或计数结束输出引脚。当计数器计数到到0时,在时,在OUT引脚有输出。引脚有输出。14接口接口技术计数初值寄存器计数初值寄存器CRCR 用用OUTOUT指令设置。指令设置。计数器执行部件计数器执行部件SRSR 是实际的减法计数是实际的减法计数器,起始值就是计数器,起始值就是计数初值初值 输出锁存器输出锁存器OLOL 用用ININ指令对它进行指令对它进行读操作,可了解计数读操作,可了解计数器瞬时值。器瞬时值。内部总线内部总线CLK计数器内部结构计数器内部结构15接口接口技术1.1.先用先用OUTOUT给计数初给计数初值寄存器值寄存器CRCR赋初值,赋初值,若初值是若初值是8 8位二进制位二进制数,需写一次,若是数,需写一次,若是1616位,分两次写位,分两次写高高8位位低低8位位内部总线内部总线CLK计数器工作过程计数器工作过程16接口接口技术高高8位位高高8位位低低8位位低低8位位1.1.先用先用OUTOUT给计数初给计数初值寄存器值寄存器CRCR赋初值,赋初值,若初值是若初值是8 8位二进制位二进制数,需写一次,若数,需写一次,若是是1616位,分两次写位,分两次写2.2.计数初值装入减计数初值装入减法计数器法计数器SRSR,在在GATEGATE允许计数下,允许计数下,SRSR进行减进行减1 1操作。操作。内部总线内部总线CLK计数器工作过程计数器工作过程17接口接口技术1.1.先用先用OUTOUT给计数初值给计数初值寄存器寄存器CRCR赋初值,若赋初值,若初值是初值是8 8位二进制数,位二进制数,需写一次,若是需写一次,若是1616位,位,分两次写分两次写2.2.计数初值装入减法计数初值装入减法计数器计数器SRSR,在在GATEGATE允允许计数下,许计数下,SRSR进行减进行减一操作。一操作。3.3.SRSR不断减不断减1 1计数,计数,每输入一个时钟脉冲每输入一个时钟脉冲减减1 1。SRSR的值送输出的值送输出锁存器锁存器OLOL中,中,OLOL的值的值随随SRSR而变。而变。内部总线内部总线CLK高高8位位高高8位位低低8位位低低8位位计数器工作过程计数器工作过程18接口接口技术高高8位位低低8位位2.2.计数初值装入减法计数初值装入减法计数器计数器SRSR,在在GATEGATE允允许计数下,许计数下,SRSR进行减进行减一操作。一操作。3.3.SRSR不断减不断减1 1计数,计数,每输入一个时钟脉冲每输入一个时钟脉冲减减1 1。SRSR的值送输出的值送输出锁存器锁存器OLOL中,中,OLOL的值的值随随SRSR而变。而变。4.4.若在计数过程中发若在计数过程中发锁存命令,则锁存命令,则SRSR仍进仍进行减行减1 1计数,而计数,而OLOL的的值锁住不变。值锁住不变。内部总线内部总线CLK计数器工作过程计数器工作过程19接口接口技术3.3.SRSR不断减不断减1 1计数,计数,每输入一个时钟脉冲每输入一个时钟脉冲减减1 1。SRSR的值送输出的值送输出锁存器锁存器OLOL中,中,OLOL的值的值随随SRSR而变。而变。4.4.若在计数过程中发若在计数过程中发锁存命令,则锁存命令,则SRSR仍进仍进行减行减1 1计数,而计数,而OLOL的的值锁住不变。值锁住不变。5.5.用用ININ读取锁存器的读取锁存器的值后,值后,OLOL又随又随SRSR而变。而变。8 8位二进制数一次读位二进制数一次读入,入,1616位两次读入。位两次读入。高高8位位高高8位位低低8位位低低8位位内部总线内部总线CLK计数器工作过程计数器工作过程20接口接口技术4.4.若在计数过程中发若在计数过程中发锁存命令,则锁存命令,则SRSR仍进仍进行减行减1 1计数,而计数,而OLOL的的值锁住不变。值锁住不变。5.5.用用ININ读取锁存器的读取锁存器的值后,值后,OLOL又随又随SRSR而变。而变。8 8位二进制数一次读位二进制数一次读入,入,1616位两次读入。位两次读入。6.6.SRSR减为减为0 0后,进行结后,进行结束处理。有些方式结束处理。有些方式结束计数,有些方式连束计数,有些方式连续计数。续计数。内部总线内部总线CLK计数器工作过程计数器工作过程21接口接口技术1.8253初始化的顺序初始化的顺序(1)先将控制字写入控制寄存器中。先将控制字写入控制寄存器中。(2)写入定时或计数的初值。写入定时或计数的初值。l若规定只写入低若规定只写入低8位,则写入的为计数值的低位,则写入的为计数值的低8位,高位,高8位自动置位自动置0;l若规定只写入高若规定只写入高8位,则写入的为计数值的高位,则写入的为计数值的高8位,低位,低8位自动置位自动置0;l若是若是16位计数值,则分两次写入,先写入低位计数值,则分两次写入,先写入低8位,再位,再写入高写入高8位。位。5.4.3 8253的控制字和初始化编程的控制字和初始化编程22接口接口技术编程命令分两类:编程命令分两类:(1)读出命令)读出命令读取计数器的当前值读取计数器的当前值(2)写入命令)写入命令包括写入控制字,写入计数包括写入控制字,写入计数初初值,写入锁存命令值,写入锁存命令23接口接口技术读输出锁存器的顺序读输出锁存器的顺序(1)输出锁存器锁存或停止计数以保存当前计数值。输出锁存器锁存或停止计数以保存当前计数值。读出当前的计数值有两种方法:读出当前的计数值有两种方法:1)把当前计数值输出到)把当前计数值输出到锁存器锁存锁存器锁存2)通过)通过GATE门控信号发一低电平信号,使计数执行门控信号发一低电平信号,使计数执行部件不作减部件不作减1操作,计数过程停止。操作,计数过程停止。(2)从输出锁存器读数从输出锁存器读数注意:注意:读读8位和读位和读16位的问题位的问题若是读若是读16位的数据,需分两次读出。先读低字节,位的数据,需分两次读出。先读低字节,再读高字节,即执行两次输入指令。再读高字节,即执行两次输入指令。24接口接口技术2.控制字的格式控制字的格式方式方式0方式方式1方式方式2方式方式3方式方式4方式方式5工作方式选择工作方式选择25接口接口技术8253有有6种工作方式,但总体说有两个功能。种工作方式,但总体说有两个功能。1.计数器方式计数器方式装入计数初值后,当装入计数初值后,当GATE变为高电平或给一触发变为高电平或给一触发脉冲时,可由外部事件进行减脉冲时,可由外部事件进行减1计数,当计数,当=0时,时,OUT输出信号。输出信号。CLK可以是连续的、均匀的、周期精确的,可以是连续的、均匀的、周期精确的,也可以不是。也可以不是。2.定时器方式定时器方式装入计数初值后,当装入计数初值后,当GATE变为高电平时,由变为高电平时,由CLK脉冲触发定时器开始工作,定时器产生脉冲触发定时器开始工作,定时器产生CLK时钟周期时钟周期整数倍的定时时间间隔。整数倍的定时时间间隔。CLK必须是连续的、周期精必须是连续的、周期精确的时钟脉冲。确的时钟脉冲。5.4.4 8253的工作方式的工作方式26接口接口技术(1)控制字写入计数器时,所有的控制逻辑电路立控制字写入计数器时,所有的控制逻辑电路立即复位,即复位,OUT进入初始状态。进入初始状态。(2)初始值写入初值寄存器后,要经过一个时钟周初始值写入初值寄存器后,要经过一个时钟周期才能将值送入减期才能将值送入减1计数器,减计数器,减1计数器从下一计数器从下一个时钟开始进行计数。个时钟开始进行计数。6种工作方式遵守的基本原则:种工作方式遵守的基本原则:5.4.4 8253的工作方式的工作方式27接口接口技术(3)在时钟脉冲的下降沿计数器进行计数。在时钟脉冲的下降沿计数器进行计数。0是计数器所能容纳的最大初值是计数器所能容纳的最大初值二进制中二进制中0相当于相当于216BCD码中码中0相当于相当于104(4)在在CLK的上升沿对的上升沿对GATE采样,各计数器的门控信采样,各计数器的门控信号的触发方式与工作方式有关。号的触发方式与工作方式有关。方式方式0、方式、方式4,电平触发;,电平触发;方式方式1、方式、方式5,上升沿触发;,上升沿触发;方式方式2、方式、方式3,可用电平触发,也可上升沿触发,可用电平触发,也可上升沿触发5.4.4 8253的工作方式的工作方式28接口接口技术1.方式方式0计数结束输出正跳变信号(产生中断)计数结束输出正跳变信号(产生中断)1)门控信号门控信号GATE决定计数的停止或继续,高电决定计数的停止或继续,高电平触发启动平触发启动。2)当写入控制字后,)当写入控制字后,OUT变为低电平,一直保持变为低电平,一直保持低电平,到计数器低电平,到计数器=0,OUT变为高电平。变为高电平。3)只计数一遍,不自动重复计数,装入初值决定)只计数一遍,不自动重复计数,装入初值决定计数过程重新开始。计数过程重新开始。5.4.4 8253的工作方式的工作方式29接口接口技术 方式方式0计数结束产生中断计数结束产生中断30接口接口技术2.方式方式1可重触发的单稳态触发器可重触发的单稳态触发器该方式是在门控信号的作用下才开始计数。当该方式是在门控信号的作用下才开始计数。当CPU写入控制字后写入控制字后,输出端变为高电平,由门控信,输出端变为高电平,由门控信号号GATE启动定时或计数(上升沿触发),然后使输启动定时或计数(上升沿触发),然后使输出端变为低电平,开始出端变为低电平,开始-1计数计数,直到计数器归直到计数器归0,OUT又变为高电平。又变为高电平。5.4.4 8253的工作方式的工作方式31接口接口技术 方式方式1可重触发的单稳态触发器可重触发的单稳态触发器计数过程中,计数过程中,GATE又来一正脉又来一正脉冲,计数初值将重新装入计数器,冲,计数初值将重新装入计数器,重新计数。重新计数。32接口接口技术3.方式方式2分频器分频器有有“初值自动重装初值自动重装”功能,能输出固定频率的脉功能,能输出固定频率的脉冲。冲。写入控制字后,写入控制字后,OUT输出高电平,若输出高电平,若GATE为高为高电平,在装入计数值电平,在装入计数值n后开始作减后开始作减1计数,计数,OUT保持保持高电平不变。当减到高电平不变。当减到1时,时,OUT输出将变为低电平,输出将变为低电平,持续一个时钟脉冲宽度后恢复为高电平,在计数值为持续一个时钟脉冲宽度后恢复为高电平,在计数值为0时,自动重新装入计数初值时,自动重新装入计数初值n,又开始重新计数过程。又开始重新计数过程。5.4.4 8253的工作方式的工作方式33接口接口技术GATE=1,允许计数;允许计数;GATE=0,停止计数。停止计数。fout=fin/nn=fin TT输出周期输出周期方式方式2的输出是输入时钟按照的输出是输入时钟按照N计数值分频后的一个计数值分频后的一个连续的脉冲。即每连续的脉冲。即每N个时钟脉冲输出一个脉冲。个时钟脉冲输出一个脉冲。5.4.4 8253的工作方式的工作方式34接口接口技术若在计数过程中若在计数过程中GATE=0,则暂,则暂停计数,待停计数,待GATE=1后,重新装后,重新装入计数初值并开始计数。入计数初值并开始计数。若在计数过程中改变计数值,不若在计数过程中改变计数值,不影响当前的减影响当前的减1计数过程,而是计数过程,而是在当前计数周期结束后才开始按在当前计数周期结束后才开始按新的计数值计数。新的计数值计数。35接口接口技术4.方式方式3方波发生器方波发生器有有“初值自动重装初值自动重装”功能,功能,写入控制字后,写入控制字后,OUT输出高电平,装入计数初值输出高电平,装入计数初值n后,后,OUT保持高电平。保持高电平。若若GATE=1,则开始计数。,则开始计数。若若n为偶数,为偶数,每来一个每来一个CLK脉冲,计数值减脉冲,计数值减2,减,减到到0时,时,OUT改变极性,计数初值又被自动重新装入,改变极性,计数初值又被自动重新装入,继续计数过程。由此得到对称的方波,方波的周期为继续计数过程。由此得到对称的方波,方波的周期为CLK周期的周期的n倍。倍。5.4.4 8253的工作方式的工作方式36接口接口技术若若n为奇数,为奇数,在装入初值后的第一个在装入初值后的第一个CLK脉冲减脉冲减1,其后每个脉冲减其后每个脉冲减2,减到,减到0时,时,OUT变为低电平,计数变为低电平,计数初值又被自动重新装入,第一个初值又被自动重新装入,第一个CLK脉冲减脉冲减3,其后每,其后每个脉冲减个脉冲减2,减到,减到0时,时,OUT变为高电平。继续计数。变为高电平。继续计数。输出的高电平宽度为输出的高电平宽度为CLK周期的(周期的(n+1)/2倍,倍,低电平宽度为低电平宽度为CLK周期的(周期的(n-1)/2倍倍5.4.4 8253的工作方式的工作方式37接口接口技术2422422444422522545538接口接口技术24224224244224255新计数值不影响新计数值不影响现行的计数过程。现行的计数过程。5.4.4 8253的工作方式的工作方式39接口接口技术5.4.4 8253的工作方式的工作方式例:要求计数器例:要求计数器0工作于方式工作于方式3,输出方波的频率为,输出方波的频率为2KHz,计数脉冲的频率为计数脉冲的频率为2.5MHz,采用,采用BCD计数,试写出初始计数,试写出初始化程序段。化程序段。8253的端口地址为:的端口地址为:80H,81H,82H,83H。000111118253的方式控制字为:的方式控制字为:初始化程序:初始化程序:MOVAL,37HOUT83H,ALMOVAL,50HOUT80H,ALMOVAL,12HOUT80H,ALn=2.5MHz/2KHz=125040接口接口技术5.方式方式4软件触发选通方式软件触发选通方式GATE门控信号只是用来允许或不允许定时操作,门控信号只是用来允许或不允许定时操作,定时的执行过程由装入的初值决定。方式设定后,定时的执行过程由装入的初值决定。方式设定后,OUT输出高电平,写入计数值输出高电平,写入计数值n后,计数器开始减后,计数器开始减1计数,输出端一直保持为高电平,当计数到计数,输出端一直保持为高电平,当计数到0后,后,OUT变低,经过一个时钟脉冲后,变低,经过一个时钟脉冲后,OUT又变高,计又变高,计数停止。数停止。5.4.4 8253的工作方式的工作方式41接口接口技术2GATE=1,允许计数;允许计数;GATE=0,停止计数。停止计数。改变计数值,按新的改变计数值,按新的计数值重新计数。计数值重新计数。42接口接口技术6.方式方式5硬件触发选通方式硬件触发选通方式计数由外部上升沿触发。设定方式后,计数由外部上升沿触发。设定方式后,OUT输出高电平,输出高电平,在设置计数值后并不计数,而是等到在设置计数值后并不计数,而是等到GATE出现上升沿才出现上升沿才开始计数,即靠硬件触发选通计数器。当计数到开始计数,即靠硬件触发选通计数器。当计数到0时,时,OUT输出一个输出一个CLK周期的低电平,然后恢复成高电平。周期的低电平,然后恢复成高电平。下次计数要靠门控脉冲再次触发才能进行。下次计数要靠门控脉冲再次触发才能进行。此方式计数器可重新触发,即在任何时刻,当此方式计数器可重新触发,即在任何时刻,当GATE上升沿到来时,计数初值将重新装入,从头开始计数。上升沿到来时,计数初值将重新装入,从头开始计数。5.4.4 8253的工作方式的工作方式43接口接口技术改变计数值,若没有改变计数值,若没有GATE的的触发,不影响计数过程。触发,不影响计数过程。44接口接口技术8253小结:小结:l输出端输出端OUT的初始状态的初始状态只有方式只有方式0是在写入控制字后输出为低,其它均是在写入控制字后输出为低,其它均为高;为高;l计数值的设置计数值的设置任一种方式,只有在写入计数值后才能开始计数,任一种方式,只有在写入计数值后才能开始计数,方式方式0、2、3、4在写入计数值后,计数自动开始,在写入计数值后,计数自动开始,方式方式1、5需外部触发,才开始计数。需外部触发,才开始计数。45接口接口技术l门控信号的作用门控信号的作用GATE输入总是在输入总是在CLK输入时钟的上升沿被采样。输入时钟的上升沿被采样。在方式在方式0,2,3,4中,中,GATE输入是电平起作用。输入是电平起作用。在方式在方式1,2,3,5中中GATE输入是上升沿起作用的。输入是上升沿起作用的。l计数到计数到0后计数器的状态后计数器的状态计数器减到计数器减到0后并不停止,在方式后并不停止,在方式0,1,4,5,计,计数器减到数器减到0后从后从FFFF/9999继续计数。方式继续计数。方式2,3是连续是连续计数,计数器自动装入计数值后,继续计数。计数,计数器自动装入计数值后,继续计数。46接口接口技术初始化程序:初始化程序:MOVAL,30H;控制字送控制字送ALMOVDX,126HOUTDX,ALMOVAL,88HMOVDX,120HOUTDX,AL;向计数器向计数器0写入计数初值的低写入计数初值的低8位位MOVAL,66HOUTDX,AL;向计数器向计数器0写入计数初值的高写入计数初值的高8位位例例1:设在:设在8086系统中有一片系统中有一片8253,其端口地址分别,其端口地址分别为:为:120H,122H,124H,126H。要求对计数器要求对计数器0进行初始化,使其工作在方式进行初始化,使其工作在方式0,二进制计数,计,二进制计数,计数初值为数初值为6688H。47接口接口技术例例2:假设:假设8253的计数器的计数器0工作在方式工作在方式5,按二进制计数,按二进制计数,计数初值为计数初值为46H;计数器计数器1工作在方式工作在方式1,按,按BCD码码计数,计数初值为计数,计数初值为4000,计数器,计数器2工作在方式工作在方式2,按,按二进制计数,计数初值为二进制计数,计数初值为0304H。请将以上三种情请将以上三种情况的初始化程序写出。况的初始化程序写出。8253芯片占用地址芯片占用地址04C0H、04C2H、04C4H、04C6H。程序:程序:MOVAL,1AH;计数器计数器0,二进制,方式,二进制,方式5,写低字节写低字节00011010BMOVDX,04C6H;设置设置8253控制口地址控制口地址OUTDX,AL;写入工作方式控制字写入工作方式控制字48接口接口技术MOVAL,73H;计数器计数器1,BCD数,方式数,方式1,计数初值为计数初值为4000 写写16位数位数01110011BMOVDX,04C6H;设置设置8253控制器地址控制器地址OUTDX,AL;写入工作方式控制字写入工作方式控制字MOVAL,00H;计数值低字节计数值低字节MOVDX,04C2H;设置设置8253计数器计数器1地址地址OUTDX,AL;写入计数值低字节写入计数值低字节MOVAL,46H;计数值的低字节计数值的低字节MOVDX,04C0H;设置设置8253计数器计数器0地址地址OUTDX,AL;写入计数值的低字节写入计数值的低字节49接口接口技术MOVAL,40H;计数器高字节计数器高字节OUTDX,AL;写入计数值高字节写入计数值高字节MOVAL,0B4H;计数器计数器2,二进制,方式,二进制,方式2,计数初值为计数初值为0304H 写入写入16位数,位数,10110100BMOVDX,04C6H;控制口地址控制口地址OUTDX,ALMOVAL,04H;计数值低字节计数值低字节MOVDX,04C4H;设置计数器设置计数器2地址地址OUTDX,AL;写入计数值低字节写入计数值低字节MOVAL,03H;计数值高字节计数值高字节OUTDX,AL;写入计数值高字节写入计数值高字节50接口接口技术例例3:设:设8253的四个端口地址分别为的四个端口地址分别为0E0H,0E2H,0E4H,0E6H,现将计数器现将计数器0的的16位计数值位计数值读出并存入读出并存入AX中中。程序如下:程序如下:MOVAL,00H;计数器计数器0的锁存命令写入的锁存命令写入8253OUT0E6H,AL;的控制口的控制口INAL,0E0H;读计数器读计数器0的低的低8位数据位数据MOVAH,AL;INAL,0E0H;读计数器读计数器0的高的高8位数据位数据XCHGAL,AH51接口接口技术例例4:某:某8086系统中有一片系统中有一片8253芯片,利用计数通芯片,利用计数通道道1完成对外部事件计数,计数满完成对外部事件计数,计数满250次向次向CPU发发出中断申请;利用计数通道出中断申请;利用计数通道2输出频率为输出频率为1KHz方方波,试编写波,试编写8253的初始化程序。(图的初始化程序。(图P148)8253端口地址为端口地址为18H1EH分析:计数通道分析:计数通道1:方式:方式0控制字控制字01110001=71H计数值计数值250H(250次,次,BCD码)码)计数通道计数通道2:输出频率为:输出频率为1KHz方波,方式方波,方式3控制字控制字10110111=0B7Hn=fin Tout=fin/fout=2MHz/1KHz=2000计数值计数值2000H(BCD码)码)52接口接口技术初始化程序:初始化程序:MOVAL,71H;计数通道计数通道1OUT1EH,ALMOVAL,50HOUT1AH,ALMOVAL,02HOUT1AH,ALMOVAL,0B7H;计数通道计数通道2OUT1EH,ALMOVAL,00HOUT1CH,ALMOVAL,20HOUT1CH,AL53接口接口技术例例5:使用:使用8253计数器计数器0,采用工作方式,采用工作方式3,产生,产生1kHz的方波脉冲信号;通过计数器的方波脉冲信号;通过计数器1,采用工作方式,采用工作方式4,用用OUT1作计数脉冲,计满作计数脉冲,计满100次向次向CPU发一次中断发一次中断申请,申请,CPU响应这一中断后继续写入计数值响应这一中断后继续写入计数值100,重新开始计数;通过计数器重新开始计数;通过计数器2,采用工作方式,采用工作方式0,每,每隔隔1秒钟向秒钟向CPU发一次中断请求,使发一次中断请求,使8个指示灯闪动。个指示灯闪动。试编写程序,并画出硬件连接图。试编写程序,并画出硬件连接图。(设设8253芯片地芯片地址为址为04C0H、04C2H、04C4H、04C6H,8259芯片芯片地址为地址为04B0H,04B2H,IR0中断类型码为中断类型码为50H,74LS373芯片地址芯片地址04A0H。)54接口接口技术硬件连接图硬件连接图55接口接口技术分析:分析:(1)由于由于CLK0=2.5MHz,T=0.4s,由计数器由计数器0产生产生的的1kHz的方波信号,的方波信号,T=1ms,所以初值为所以初值为2500,即即09C4H。fout=fin/nn=fin TT输出周期输出周期n=fin/fout=2.5MHz/1kHz=2500(2)因为计数器因为计数器1和计数器和计数器2分别工作在方式分别工作在方式4和方式和方式0,当,当GATE=1时,依靠计数初值启动定时或计数,时,依靠计数初值启动定时或计数,因而初始化时要先对因而初始化时要先对8259A初始化,再对计数器初始化,再对计数器1和计数器和计数器2初始化,装入时间常数后立即执行。初始化,装入时间常数后立即执行。56接口接口技术(3)CLK2与与OUT0连接在一起,输入时钟为连接在一起,输入时钟为1kHz,计数器计数器2每隔每隔1秒钟向秒钟向CPU发一次中断请求。发一次中断请求。n=1kHz 1s=1000定时工作时间常数等于定时工作时间常数等于1000。57接口接口技术程序:程序:START CLIMOVDX,04C6H;设置设置8253控制口地址控制口地址MOVAL,00110110BOUTDX,ALMOVDX,04C0HMOVAX,09C4H;计数器计数器0的初值的初值09C4HOUTDX,ALMOVAL,AHOUTDX,AL;写入初值高写入初值高8位位MOVBL,00H;灯亮或灭的标志灯亮或灭的标志BL=00亮亮BL=01灭灭58接口接口技术MOVDX,04B0H;8259A的偶地址的偶地址MOVAL,00010011B;设置设置8259初始化控制字初始化控制字ICW1OUTDX,AL;写入写入ICW1MOVDX,04B2H;8259A的奇地址的奇地址MOVAL,50H;设置设置8259A初始化控制字初始化控制字ICW2OUTDX,AL;写入写入ICW2MOVAL,00001101B;设置设置8259A初始化控制字初始化控制字ICW4OUTDX,AL;写入写入ICW4MOVAL,0FCH;设置设置IR0、IR1不可屏蔽,不可屏蔽,8259A操作控制字操作控制字OCW1OUTDX,AL;写入写入OCW159接口接口技术MOVAX,OFFSETINTR1;取中断服务程序取中断服务程序INTR1偏移地址偏移地址MOVWORDPTR140H,AX;中断向量表地址为中断向量表地址为50H4MOVAX,SEGINTR1;取中断服务程序取中断服务程序INTR1的的段地址段地址MOVWORDPTR142H,AXMOVAX,OFFSETINTR2;取中断服务程序取中断服务程序INTR2偏移地址偏移地址MOVWORDPTR144H,AX;中断向量表地址为中断向量表地址为51H4MOVAX,SEGINTR2;设置设置INTR2所在段地址所在段地址MOVWORDPTR146H,AX60接口接口技术MOVDX,04C6H;设置设置8253控制口地址控制口地址MOVAL,01011000B;二进制数,方式二进制数,方式4,写低字节,写低字节,计数器计数器1计数计数OUTDX,AL;将控制字写入计数器将控制字写入计数器1的控制寄存器的控制寄存器MOVDX,04C2H;设置设置8253计数器计数器1地址地址MOVAL,64H;设置计数初值设置计数初值100OUTDX,AL;计数初值写入计数初值写入8253计数器计数器1MOVDX,04C6H;设置设置8253控制口地址控制口地址MOVAL,10110001B;BCD数,方式数,方式0,写,写16位数,位数,计数器计数器2定时定时OUTDX,AL;控制字写入计数器控制字写入计数器2的控制寄存器的控制寄存器61接口接口技术MOVDX,04C4H;设置设置8253计数器计数器2地址地址MOVAL,00H;写低字节写低字节OUTDX,AL;计数值低字节写入计数器计数值低字节写入计数器2MOVAL,10H;写高字节写高字节OUTDX,AL;计数值高字节写入计数器计数值高字节写入计数器2STI;开中断开中断AA:HLT;等待中断等待中断JMPAA62接口接口技术INTR1PROCFARCLI;禁止中断禁止中断MOVDX,04C2H;设置设置8253计数器计数器1地址地址MOVAL,64H;置新初值置新初值,启动工作启动工作OUTDX,AL;计数值写入计数器计数值写入计数器1IRETINTR1ENDP63接口接口技术INTR2PROCFARCLI;禁止中断禁止中断MOVDX,04A0H;74LS373的地址的地址CMPBL,00H;灯闪烁判断灯闪烁判断BL=00灯亮灯亮JZAA2;MOVAL,00H;BL=01灯灭灯灭OUTDX,ALMOVBL,00H;重新设标志重新设标志JMPAA3AA2 MOVAL,0FFH;灯亮灯亮OUTDX,ALMOVBL,01H;重新设标志重新设标志AA3 STI;开中断开中断IRETINTR2ENDP64接口接口技术例例6:有一数据采集系统,时钟信号源为:有一数据采集系统,时钟信号源为2MHZ,用用8253定时,每隔定时,每隔2s由由8259A的的IR2产生中断,从产生中断,从8255A的的A口采集一数据,采集的数据放在内存口采集一数据,采集的数据放在内存缓冲区缓冲区BUF中。设中。设8255A的端口地址为的端口地址为80H-86H,8253的端口地址为的端口地址为0E0H-0E6H,8259A的中断类型的中断类型码为码为08H-0FH,端口地址为端口地址为20H,21H。设计硬件连设计硬件连接图,对接图,对8255A和和8253初始化并写出相关的主、初始化并写出相关的主、子程序。(假设采集子程序。(假设采集10个数据)个数据)65接口接口技术66接口接口技术将将8255A端端口口A规规划划为为工工作作方方式式0,输输入入方方式式,端端口口B规划为工作方式规划为工作方式0,输出方式;控制字为,输出方式;控制字为98H。因因为为2MHZ/0.5HZ=4000000,所所以以令令8253的的通通道道0工工作作于于方方式式3,计计数数值值为为50000(C350H),通通道道1工工作作于方式于方式2,计数值为,计数值为80DATASEGMENTM1DB100DUP(?)(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX67接口接口技术CLIMOVAL,98H;8255A的控制字的控制字OUT86H,ALMOVAL,36H;计数通道;计数通道0控制字控制字OUT0E6H,ALMOVAL,50H;计数通道;计数通道0初值初值低低8位位OUT0E0H,ALMOVAL,0C3H;计数通道;计数通道0初值初值高高8位位OUT0E0H,ALMOVAL,54H;8253计数通道计数通道1控制字控制字OUT0E6H,ALMOVAL,80;计数通道;计数通道1的初值的初值OUT0E2H,AL68接口接口技术PUSHDSMOVDX,SEGINTOMOVDS,DXMOVDX,OFFSETINTOMOVAX,250AHINT21HPOPDSINAL,21H;读取中断屏蔽寄存器内容读取中断屏蔽寄存器内容,OCW1ANDAL,0FBH;开放开放IR2的中断的中断OUT21H,ALMOVBX,OFFSETM1MOVCX,10STI69接口接口技术LL:HLTDECCXJNZLLMOVAH,4CHINT21HINTOPROCXXX:INAL,80H;从;从8255A的的A口读数据口读数据MOVBX,ALINCBXMOVAL,20HOUT20H,AL;设置设置OCW2IRETINTOENDPCODEENDSENDSTART70接口接口技术例:用例:用8253来控制一个来控制一个LED发光二极管的点亮和熄发光二极管的点亮和熄灭,要求点亮灭,要求点亮10秒钟后再让它熄灭秒钟后再让它熄灭10秒钟,秒钟,8253的各端口地址为的各端口地址为81H、83H、85H和和87H。写出。写出8253初始化程序。初始化程序。71接口接口技术MOVAL,00110111B;通道;通道0控制字,先读写低字节,后高控制字,先读写低字节,后高字节,方式字节,方式3,BCD计数计数OUT87H,ALMOVAL,00H;计数初值低字节计数初值低字节OUT81H,ALMOVAL,50H;计数初值高字节;计数初值高字节OUT81H,ALMOVAL,01110111B;通道;通道1控制字,先读写低字节,后高控制字,先读写低字节,后高字节,方式字节,方式3,BCD计数计数OUT87H,ALMOVAL,00H;计数初值低字节计数初值低字节OUT83H,ALMOVAL,80H;计数初值高字节;计数初值高字节OUT83H,AL72接口接口技术
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


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

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


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