《第08章常用可编程数字接口电路.ppt》由会员分享,可在线阅读,更多相关《第08章常用可编程数字接口电路.ppt(79页珍藏版)》请在优知文库上搜索。
1、可编程接口技术C H A P T E R8本 章 内 容概 述可编程定时器/计数器Intel 8253可编程并行接口芯片Intel 8255A可编程串行输入/输出接口Ins 8250第一节 概 述 可编程数字接口电路根据其可编程数字接口电路根据其在系统中所起的作在系统中所起的作用用可分为两大类:可分为两大类:专用接口芯片专用接口芯片专为某类外设的某种功能而设计的专用接口芯片,不需要进行任何设置;可编程接口芯片可编程接口芯片(如图8-1所示)在多种场合使用,通过对芯片的设置来确定工作模式、工作状态和功能。第一节 概 述(续)从它们的结构上看,可以把一个接口分为两部分:从它们的结构上看,可以把一个
2、接口分为两部分:总线收发器读写控制逻辑状态寄存器控制寄存器数据输入/输出锁存器和缓冲器DB0DB7ABRDWRCSRESET状态信号线控制线号线数据线左半部分接口与左半部分接口与系统总线相连,系统总线相连,包括总线收发器包括总线收发器及读写控制逻辑及读写控制逻辑右半部分接口与右半部分接口与各种各种I/O设备相设备相连,包括状态寄连,包括状态寄存器、控制寄存存器、控制寄存器、数据输入器、数据输入/输出锁存器和缓输出锁存器和缓冲器。冲器。图8-1通用接口芯片第二节 可编程定时器/计数器Intel8253基本概念:定时定时:产生符合时间要求的信号的过程;产生符合时间要求的信号的过程;计数计数:对一些
3、脉冲信号或外部事件的数量进对一些脉冲信号或外部事件的数量进 行统计的过程;行统计的过程;第二节第二节 可编程定时器可编程定时器/计数器计数器 Intel 8253Intel 8253定时器和计数器在工作方式上有许多相似之处:作为计数器,输入的计数信号是随机的,作为计数器,输入的计数信号是随机的,计数的是外部脉冲信号;计数的是外部脉冲信号;作为定时器,输入的脉冲信号具有周期性,作为定时器,输入的脉冲信号具有周期性,计数的是内部基准时钟产生的脉冲。计数的是内部基准时钟产生的脉冲。一个定时电路可一个定时电路可完成计数功能。完成计数功能。第二节第二节 可编程定时器可编程定时器/计数器计数器 Intel
4、 8253Intel 8253计算机系统中的定时方法包括:软件定时软件定时:通过通过CPUCPU执行一个循环程序获得;执行一个循环程序获得;优点:节省硬件资源;优点:节省硬件资源;缺点:降低了缺点:降低了CPUCPU的效率。的效率。不可编程:不可编程:硬件定时硬件定时 可编程:可编程:由计数器等元器件组建由计数器等元器件组建的一个专用的计时电路。的一个专用的计时电路。由大规模集成电路芯片构由大规模集成电路芯片构成,定时时间及定时方式成,定时时间及定时方式可通过软件编程灵活设置。可通过软件编程灵活设置。Intel 8253 Intel 8253 的内部结构及外部引脚的内部结构及外部引脚Intel
5、 8253的特点:具有具有3 3个独立的个独立的1616位定时位定时/计数通道(计数器计数通道(计数器0 0,计数,计数器器1 1和计数器和计数器2 2););每个通道有每个通道有6 6种工作方式,可实现精确定时及对外部种工作方式,可实现精确定时及对外部脉冲计数,由程序进行设置选择;脉冲计数,由程序进行设置选择;每个通道的计数器均可以按照二进制或每个通道的计数器均可以按照二进制或BCDBCD码计数;码计数;每个计数器的计数速率可达每个计数器的计数速率可达2MHz2MHz(Intel 8254Intel 8254最高最高计数速率达计数速率达10MHz10MHz););可由软件设置延时时间的长短;
6、可由软件设置延时时间的长短;所有输入输出都与所有输入输出都与TTLTTL兼容。兼容。Intel 8253的内部结构Intel 8253的内部结构如图8-2a所示。计数器计数器0 02 2是三是三个定时器个定时器/计数器计数器通道,内部结构通道,内部结构相同,如相同,如图图8-2b8-2b所示。所示。数据总线缓冲器是数据总线缓冲器是Intel 8253Intel 8253与系统与系统数据总线连接的数据总线连接的8 8位位双向三态缓冲器。双向三态缓冲器。读读/写逻辑电路写逻辑电路接收来自系统总接收来自系统总线的信号。线的信号。控制字寄控制字寄存器存器Intel 8253的外部引脚Intel 825
7、3Intel 8253的外部引脚如图的外部引脚如图7-2c7-2c所示。所示。D D7 7D D0 0:八:八位双向三位双向三态数据线;态数据线;A A1 1、A A0 0:用于:用于寻址三个计数寻址三个计数器和控制字寄器和控制字寄存器。存器。这三个信号分这三个信号分别是写、读和别是写、读和片选信号。片选信号。CLKCLK0 0CLKCLK2 2:计数脉冲信计数脉冲信号输入。号输入。GATEGATE0 0GATEGATE2 2:门:门控信号输入引脚。控信号输入引脚。OUTOUT0 0OUTOUT2 2:计数器计数器0 02 2的的计数结束输出计数结束输出引脚。引脚。Intel 8253Inte
8、l 8253的工作方式的工作方式每个通道都具有六种工作方式,需注意以下几点:当控制字写入当控制字写入Intel 8253Intel 8253时,其内部所有的控制逻时,其内部所有的控制逻辑电路立即复位,输出端辑电路立即复位,输出端OUTOUT进入初始状态;进入初始状态;软启动:软启动:计数器的启动计数器的启动 硬启动:硬启动:多数情况下,计数器启动一次只工作一个周期,但多数情况下,计数器启动一次只工作一个周期,但有两种方式可供选择,若选择则自动重复计数。有两种方式可供选择,若选择则自动重复计数。用输出指令向计数器赋初值启用输出指令向计数器赋初值启动计数;动计数;写入计数初值后计数器并未启写入计数
9、初值后计数器并未启动,需门控信号动,需门控信号GATEGATE变成高电变成高电平时才能启动;平时才能启动;Intel 8253Intel 8253的初始化编程的初始化编程 通过初始化编程可确定Intel 8253各通道的工作方式及计数初值。工作方式的确定通过向Intel 8253控制寄存器中写入控制字来完成。1.82531.8253控制字格式(如控制字格式(如图图8-48-4所示)所示)2.2.初始化编程初始化编程u 对计数器设置初值前,必须先写控制字以确定工作方式。u 初值设置时,要符合控制字中的格式规定。在对8253编程的过程中,有两种情况:对8253执行写操作,即写入控制字和计数初值,规
10、定和启动计数器工作,为初始化编程;对8253执行读操作,读出的是指定通道的当前计数值。Intel 8253Intel 8253的初始化编程的初始化编程Intel 8253Intel 8253的初始化编程的初始化编程【例8-1】设计8253初始化程序。要求满足使计数通道0工作在方式1,二进制计数,计数值为805AH。设:口地址为4A0H4A3H,CPU为8088。控制字控制字:00110010B00110010B初始化编程:初始化编程:MOV DXMOV DX,4A3H4A3HMOV ALMOV AL,32H32HOUT DXOUT DX,ALALMOV DXMOV DX,4A0H4A0HMOV
11、 ALMOV AL,5AH5AHOUT DXOUT DX,ALALMOV ALMOV AL,80H80HOUT DXOUT DX,ALALIntel 8253Intel 8253的工作方式的工作方式1.方式0-计数结束时中断方式CW N=443210WRCLKGATEOUTCW N=332210WRCLKGATEOUTCW N=332120WRCLKGATEOUT1N=22.方式1 可编程单脉冲方式CW N=221210WRCLKGATEOUT0CW N=221432WRCLKGATEOUT0N=43.方式2 速率发生器方式CW N=332132WRCLKGATEOUT134.方式3 方波发生
12、器方式CW N=442424WRCLKGATEOUT245.方式4 -软件触发选通方式CW N=443210WRCLKGATEOUT6.方式5 硬件触发选通方式CW N=443210WRCLKGATEOUTGATEGATE信号功能表信号功能表GATE低电平或变为低电平上升沿高电平方式0禁止计数不影响允许计数不影响不影响不影响不影响不影响方式1方式2方式3方式4方式5禁止计数允许计数允许计数启动计数禁止计数并置OUT为高初始化计数,计数器重新装入同方式2同方式2同方式2启动计数表表8-28-2GATEGATE信号功能表信号功能表Intel 8253Intel 8253的工作方式(续)的工作方式(
13、续)表表8-38-382538253工作方式一览表工作方式一览表启动计数中止计数自动重复更新初值OUT波形方式0方式1方式2方式3方式4方式5软启动硬启动软/硬启动软/硬启动软启动硬启动GATE=0GATE=0GATE=0GATE=0/无无无无有有立即有效下一轮有效下一轮有效下半轮有效下一轮有效下一轮有效N0NNN1N/2 N/2N 1N 100【例例8-18-1】用用8253(8253(地址地址40H40H43H)43H)将将5MHz5MHz的方波信的方波信号变为号变为1Hz1Hz的脉冲。的脉冲。图图8-58-5系统连接图系统连接图初值初值=F=FCLKCLK/F/FOUTOUT=5MHz/
14、1Hz=5MHz/1Hz=5=51061066553665536,怎么办?,怎么办?方法:方法:将将2 2个个T/CT/C(定时器(定时器/计计数器通道)级联,数器通道)级联,T/C0T/C0采用方采用方式式3 3产生连续分频方波,做产生连续分频方波,做T/C1T/C1的的CLKCLK,T/C1T/C1采用方式采用方式2 2产产生生1Hz1Hz脉冲。两个脉冲。两个T/CT/C的的GATEGATE统统一控制。一控制。程序如下:程序如下:MOV AL,00110111B;T/C0控制字 OUT 43H,ALMOV AX,5000H;T/C0 初值OUT 40H,ALMOV AL,AHOUT 40H
15、,ALMOV AL,01110101B ;T/C1 控制字 OUT 43H,AL MOV AX,1000H ;T/C1初值OUT 41H,ALMOV AL,AHOUT 41H,AL图图8-6 8-6 系统连接图系统连接图D7D0WRRDA0A1A3A4A5A6A7CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT28253ABC74LS138Y2G1G2AG2BD7D0IOWIORA1A2A0A8A9【例8-2】系统如图所示,CLK0的时钟频率是8KHz,编程使其产生周期为9s,占空比为5:9的方波,并计算T/C0最大定时时间。TCLK0=1/fCLK0=1/80
16、00=0.125ms最大定时时间:最大定时时间:655360.25ms 8.192sMOV AL,00110111B ;T/C0 控制字 OUT 96H,ALMOV AX,8000H ;T/C0 初值OUT 90H,ALMOV AL,AHOUT 90H,ALMOV AL,01110111B ;T/C1 控制字OUT 96H,ALMOV AX,9H ;T/C1初值OUT 92H,ALMOV AL,AHOUT 92H,AL初始化程序如下:初始化程序如下:第三节第三节 可编程并行接口芯片可编程并行接口芯片Intel 8255AIntel 8255A从数据传输的形式上区分,通信有两种方式:并从数据传输的形式上区分,通信有两种方式:并行通信与串行通信。行通信与串行通信。并行通信并行通信:n:n位二进制数通过位二进制数通过n n条数据线同时传输。条数据线同时传输。优点:传输速度快、效率高。常用于数据传输速度优点:传输速度快、效率高。常用于数据传输速度要求高而传输距离较短的场合。要求高而传输距离较短的场合。Intel 8255AIntel 8255A即即IntelIntel公司生产的公司生产的8 8