第8章 常用可编程并行接口芯片(2)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第8章常用可编程并行接口芯片第8章常用可编程并行接口芯片1.可编程接口芯片的基本概念2.可编程并行接口芯片8255A3.可编程定时器/计数器芯片82534.DMA控制器可编程定时器/计数器芯片82531.8253工作原理内部结构与引脚信号初始化编程步骤和门控信号的功能8253的工作方式2.8253的应用举例定时功能计数功能一、8253的内部结构和引脚信号(1)方式0——计数到零产生中断请求方式0.计数结束中断方式①②⑤④⑥GATEOUTCLK031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束软件触发计数(高电平)方式0的主要特点:1)计数器只计一遍而不能自动重复工作。当减1计数到零时,并不自动恢复计数初值重新开始计数,且OUT输出保持为高电平。只有CPU再次写入一个新的计数值(即使计数值相同也需再次写入),OUT才变为低电平,计数器按新写入的计数值重新开始计数。或者CPU重新对8253设置方式0控制字,它的OUT输出也可以立即变为低电平,并等再次写入计数初值后重新开始计数。2)CPU向CR寄存器写入计数初值后的第一个CLK脉冲,将CR的内容送入CE,从此之后计数器才开始减1计数。这第一个CLK脉冲不包括在减1计数过程中。如果设置计数初值为N,则输出OUT是在N+1个CLK脉冲之后才变为高电平。3)在计数过程中,可由GATE信号控制暂停计数。当GATE变低时,计数暂停;当GATE变高后又接着计数。如图所示:4)在计数过程中也可改变计数值。在写入新的计数值后,计数器将立即按新的计数值重新开始计数,即改变计数值是立即有效的。当按新的计数值减1计数到0时,输出OUT变为高电平。其工作波形如图所示。(2)方式1—硬件可重复触发的单稳态触发器方式1.硬件可重触发单稳态方式①设定工作方式②设定计数初值③硬件启动④计数值送入计数器⑤计数过程⑥计数结束①②⑤④⑥③GATEOUTCLK031244方式1WR硬件触发计数(上升沿)在方式1,当CPU输出控制字后(WR的上升沿),OUT输出变为高电平(若原为高电平,则保持为高电平);在CPU写入计数初值后,计数器并不开始计数,直至门控信号GATE上升沿(即门控触发信号)出现,并在其下一个CLK脉冲的下降沿,CR的内容送入CE,同时使OUT输出变为低电平,然后开始对随后的CLK脉冲进行减1计数。在计数过程中,OUT一直维持为低电平,直至减1计数到0时,OUT输出变为高电平。即由于GATE上升沿的触发,使OUT输出端产生一个宽度为N个CLK周期的负脉冲。此后,若再次由GATE上升沿触发,则输出再次产生一个同样宽度的负脉冲。方式1的主要特点是:1)若设置计数初值为N,则输出负脉冲的宽度为N个CLK脉冲周期。2)当计数到零时,可再次由GATE上升沿触发,输出同样宽度的负脉冲,而不必重新写入计数初值。3)在计数过程中(输出负脉冲期间),可由GATE上升沿再触发。并使计数器从计数初值开始重新作减1计数,减至0时,OUT输出变为高电平。其效果是使输出负脉冲的宽度比原来加宽了。4)在计数过程中,CPU可改变计数初值,这时计数过程不受影响,计数到零后输出变高。当再次触发时,计数器才按新输入的计数值计数。即改变计数值是下次有效的。(3)方式2——分频器在方式2,当CPU输出控制字后,OUT输出为高。在写入计数初值后,计数器将自动对输入时钟CLK计数。在计数过程中OUT输出为高,直至计数器减到1(注意,不是减到0)时,OUT输出变低,经过一个CLK周期,输出恢复为高,且计数器将自动重新开始计数。这种方式可作脉冲速率发生器或用来产生实时时钟中断信号。方式2的时序图如图所示方式2的主要特点是:1)不用重新设置计数值,通道能连续工作,输出固定频率的脉冲。如果计数初值为N,则每输入N个CLK脉冲,输出一个负脉冲。负脉冲宽度为1个CLK周期,重复周期为N倍的CLK周期。2)计数过程可由GATE信号控制。当GATE信号变低时,立即暂停现行计数;当GATE信号又变高后,从计数初值开始重新计数。3)如果在计数过程中,CPU重新写入计数值,则对于正在进行的计数无影响,而是从下一个计数操作周期开始按新的计数值改变输出脉冲的频率。(4)方式3——方波发生器方式3和方式2的工作情况类似,两者的主要区别是输出波形的形式。对于方式3,OUT输出是对称方波或基本对称的矩形波。即在一个计数周期内,若计数初值N为偶数,则OUT输出将有N/2个CLK周期为高电平,N/2个CLK周期为低电平,输出为对称方波,其周期为N个CLK周期;若N为奇数,则OUT输出将有(N+1)/2个CLK周期为高电平,(N-1)/2个CLK周期为低电平,输出为基本对称的矩形波,其周期也为N个CLK周期在方式3,当CPU设置控制字后,输出将为高,在写完计数初值N后计数器就自动开始计数,输出保持为高。当计数到N/2(或(N+1)/2)时,输出变低,直至计数到0,使输出变高。同时又重新装入计数值开始新的计数。计数过程周而复始重复进行。这种方式常用来产生一定频率的方波。方式3的时序图如图所示。方式3的主要特点是:1)若计数初值N为偶数,则输出波形是周期为N个CLK周期的对称方波;若计数初值N为奇数,则输出波形是周期为N个CLK周期的基本对称矩形波,其高电平持续时间比低电平持续时间多一个CLK周期。2)如果在计数过程中,GATE信号变低,则暂停现行计数过程,直到GATE再次有效,将从计数初值开始重新计数。3)如果要求改变输出方波的频率,则CPU可在任何时候重新写入新的计数初值,并从下一个计数操作周期开始改变输出方波的频率。(5)方式4——软件触发选通在方式4,当写入控制字后,OUT输出为高。当写入计数初值后计数器即开始计数(相当于软件触发启动),当计数到0后,输出变低,经过1个CLK周期,输出又变高。方式4不能自动重复计数,即这种方式计数是一次性的。每次启动计数都要靠重新写入计数值,所以称为“软件触发选通”。当8253工作于方式4时,可用作软件触发的选通信号发生器。方式4的主要特点是:1)若设置计数初值为N,则在写入计数初值后的N+1个CLK脉冲,才输出一个负脉冲。负脉冲的宽度为1个CLK周期。2)GATE为高时,允许计数;GATE为低时,禁止计数。所以,要实现软件启动,GATE应为高。3)若在计数过程中改变计数值,则按新的计数值重新开始计数,即改变计数值是立即有效的。方式4可应用于这样一种情况:CPU经输出端口发送并行数据给接收系统,经过一段时间延迟后,再发送一个选通信号,利用该选通信号将并行数据打入到接收系统的缓冲寄存器中。通过改变计数初值N,可以方便地调整发出选通信号的延迟时间。(6)方式5—硬件触发选通在方式5,设置了控制字后,输出为高。在设置了计数初值后,计数器并不立即开始计数,而是由门控信号GATE的上升沿触发启动。当计数到0时,输出变低,经过一个CLK周期,输出恢复为高,并停止计数。要等到下次门控GATE信号的触发才能再计数,即方式5的计数是一次性的。方式5的主要特点是:1)若设置计数初值为N,则在门控GATE上升沿触发后,经过N+1个CLK脉冲,才输出一个负脉冲。2)若在计数过程中再次出现门控GATE触发信号,则将使计数器从计数初值开始重新计数,但OUT输出的高电平不受影响。3)若在计数过程中改变计数值,只要在计数到0之前不出现新的门控触发信号,则原计数过程不受影响;等计数到0并出现新的门控发信号后,再按新的计数值计数。若在写入了新的计数值后,在未计数到0之前有门控触发信号出现,则立即按新的计数值重新开始计数。各种工作方式的输出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N10N10N(1)方式0——计数到零产生中断请求(2)方式1—硬件可重复触发的单稳态触发器(3)方式2——分频器(4)方式3——方波发生器(5)方式4——软件触发选通(6)方式5—硬件触发选通四、8253的初始化编程1.内部寄存器的寻址8253有三个独立的计数器通道,每个通道可以被CPU访问的部件有:8位的控制寄存器,它只能写入,不能读出;16位的计数初值寄存器CR,它只能写入,不能读出;16位的输出锁存器OL,它只能读出,不能写入;8253芯片是否被选中,决定于片选信号CS,通常CS接自地址译码器输出。8253内部寄存器的寻址2.初始化编程顺序计数方式选择选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536当写入的计数初值为1200H时,就表示预置了一个十进制数4608。选择十进制(BCD码)计数值范围:0000~99990000代表最大值10000以16进制方式写入当写入的计数初值为1200H时,就表示预置了一个十进制数1200。如果是8位二进制计数(计数值≤256),则在8253初始化编程的传送指令“MOVAL,n”中,n可以写成任何进制数(二进制、十进制或十六进制)的形式;如果是16位二进制计数(计数值≤65536),一种方法是:先把计算得到的十进制计数初值n转换成4位十六进制数(即16位二进制),然后分两次写入8253的指定端口。另一种方法是:先把该十进制计数初值n直接传送给AX,然后分两次写入8253指定端口,即:MOVAX,nOUTPORT,AL;先写低8位(PORT为端口号)MOVAL,AHOUTPORT,AL;后写高8位当采用二进制计数时:4.初始化编程举例参考课本:P398-400参考课本:P403-404[例1]用8253产生各种定时波形8253计数功能的应用例子【例】:用8253实现生产流水线上的工件计数,每通过100个工件,扬声器便发出频率为1000Hz的音响信号,持续时间为5秒。8253小结1.掌握8253引脚,尤其是CLK、OUT、GATE引脚的功能2.掌握8253的六种工作方式、编程和在IBMPC系列机上的应用

1 / 96
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功