可编程并行接口芯片8255A_第1页
可编程并行接口芯片8255A_第2页
可编程并行接口芯片8255A_第3页
可编程并行接口芯片8255A_第4页
可编程并行接口芯片8255A_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主要内容一、可编程通用接口芯片的应用方法二、可编程并行接口芯片8255A三、可编程定时/计数接口芯片8253四、可编程中断控制器8259A五、可编程串行接口芯片8250六、可编程DMA控制芯片可编程接口芯片的开发应用了解芯片的基本性能(功能)和内部结构;掌握芯片的外部连接特性,以进行硬件设计。一般将引脚分为面向CPU和面向外设的两部分。注意端口地址的确定方法(面向CPU一边);掌握芯片各控制字的含义和设置方法,能根据系统设计要求确定各控制字值;CPU在初始化程序中按要求发送各控制字到相应端口 (寄存器)以确定芯片的工作方式和状态;CPU在工作过程中可以通过读状态端口检查接口芯片的工作状态,并可重新设置和发送某些控制字值,以改变芯片的工作方式;01010110可编程:不改变硬件的连接,而通过程序设置数据的传输方向,接口线的连接和传输控制方向等可编程并行接口Intel8255初始化时用户只需确定端口地址及控制字,并通过送出控制字确定8255A各端口的工作方式;数据传送过程中,用户通过读/写端口A、B、C实现数据收/发。注意C口的位操作方式是通过写控制字来实现的。可编程并行接口Intel8255无条件和查询式、中断控制式数据传送,其具体的工作方式由用户程序确定。

8255的内部结构及基本功能

8255的外接特性及端口地址8255的三种工作方式及控制字8255的程控技术8255的内部结构及基本功能读/写逻辑控制A组控制B组控制A8bitPA7~PA0C上半部4bitC下半部4bitPC7~PC4PC3~PC0B8bitPB7~PB0CPU接口内部逻辑外设接口三个独立的8位数据端口;C口的其它用法:用作两个独立的4位数据端口;用作状态或控制口,按位置位或复位;为A、B口提供所需的各种联络信号;具有三种工作方式;数据总线缓冲器D7~D0RESETRDWRCSA0A18位机系统中,8255的A1、A0分别接系统地址总线A1、A0;8086等16位机中,可将8255与8086CPU的低8位数据线相连,8255的A1、A0分别接系统地址总线A2、A1,A0=0。8255的外部特性及端口地址的确定PA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7

D0D1D2D3D4D5D6D734433332231130402939283827371819920821622523362435251415161713261211108255A面向CPU面向外设操

作CSA0A100011011读/写端口A读/写端口B读/写端口C写控制寄存器数据总线三态1XX0000A0A1/CS/RD/WRRSTVCCGND1.外设数据端口端口A:PA0~PA7A组,支持工作方式0、1、2端口B:PB0~PB7B组,支持工作方式0、1端口C:PC0~PC7仅支持工作方式0A组控制高4位PC4~PC7B组控制低4位PC0~PC38255的外部特性及端口地址的确定8255的工作方式控制字1D7D6D5D4D3D2D1D00输出1输入PC3~PC0B口0

输出1输入0方式01方式1B口工作方式PC7~PC40输出1输入A口0输出1输入特征位,D7=1表示是方式控制字A口工作方式00方式001方式11x方式2A口方式0输出,B口方式0输入,C上输出,C下输入,试写控制字0D7D6D5D4D3D2D1D00复位1置位设置内容特征位,D7=0表示是C口按位置位/复位控制字无意义选择操作位8255的C口置/复位控制字D3D2D1C端口位000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7设8255A端口地址为60h~63h,PC5初始为低电平,试将从PC4输出一个正脉冲数据传输特点1.最多可提供三个8位端口或两个8位端口+两个4位端口2.所有端口均为单向传输(即只能做输入或输出)3.可实现无条件或自定义联络信号(C口)的查询传送CPU8255打印机并行接口(2~9)(1)(11)(16)PA0~7PC7PC2地D0~7STBBUSY地DB工作方式0-基本输入输出工作方式1-选通输入输出PA7~PA0PC4PC5PC3INTEA与门IBFASTBAINTRARDD7~D0A口方式1输入时相应的联络信号B口方式1输入时相应的联络信号IBFBSTBBINTRBPB7~PB0PC2PC1PC0INTEB与门RDD7~D0一、输入接口信号的定义PC4PC2PB7~PB0PA7~PA0STBIBFINTRRD外设送来数据②⑥当INTE=1时

①⑤③④⑦⑧⑨中断服务程序中CPU从A口或B口读取外设输入的数据工作方式1-选通输入输出A口方式1输出时相应的联络信号B口方式1输出时相应的联络信号PA7~PA0PC7PC6PC3INTEA与门ACKAOBFAINTRAWRD7~D0PB7~PB0PC1PC2PC0INTEB与门ACKBOBFBINTRBWRD7~D0二、输出接口信号的定义与时序工作方式1-选通输入输出①送往外设的数据写入相应端口WROBFINTRACK②③当INTE=1时

PB7~PB0PA7~PA0中断服务程序中CPU向A口或B口写入输出给外设的数据②④⑤工作方式1-选通输入输出三、数据传输特点1.最多可提供两个8位端口2.所有端口均为单向传输(即只能做输入或输出)3.可实现固定联络信号(C口)的查询传送或中断传送,未定义的C口信号线可自行定义使用。CPU8255PA0~7PC7PC6D0~7STBDBPC3ACKOBFINTRPC0工作方式1-选通输入输出数据传输特点:1.A为双向端口,B为单向端口,C口组合方式2.可实现固定联络信号(C口)的查询传送或中断传送,未定义的C口信号线可自行定义使用。工作方式2-双向输入、输出PA7~PA0PC6PC7ACKAOBFAD7~D0RDWRPC4PC5STBAIBFAINTEA1PC4INTEA2PC6与门PC3INTRA或门与门中断服务程序中CPU可通过查询IBF和OBF信号来确定此次中断是输入还是输出操作8255的编程初始化编程:一个方式控制字采用控制I/O地址:A1A0=11工作过程:通过数据端口对外设数据进行读写数据读写利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBMPC/XT机上,端口A、B、C和控制端口的I/O地址为60H、61H、62H和63H例:某8255A占用端口地址范围0F0~0F3H。1)确定各端口地址。

2)编程设置8255A:A口方式0输入,B口方式0输出,PC7~PC4输出,PC3~PC0输入结论:A口地址0F0H,B口地址0F1H,C口地址0F2H,控制口地址为0F3H;控制字10010001B,即91H

MOVAL,91HOUT0F3H,AL解:A7

A6A5A4

A3

A2

A1

A01

1

1

1

0

0

0

01

11

1

0

0

0

11

1

1

1

0

0

1

01

1

1

1

0

0

1

1A1A0CS地址0F0H

0F1H0F2H

0F3H0

0

0

1

1

01

18255举例D7D6D5D4D3D2D1D0控制字1特征位00A口方式01A口输入0PC7~PC4输出0B口方式00B口输出1PC3~PC0输入例:设8255的A口工作于方式1输入,B口工作于方式0输出,若允许A口产生中断,试编程初始化该8255(其端口地址为60H~63H)。MOVAL,0B0H;1011x00XOUT63H,AL;写方式控制字MOVAL,09H;0XXX1001OUT63H,AL

;写置/复位控制字,置INTEA=1b7b6b5b4b3b2b1b0

1011x00xb7b6b5b4b3b2b1b0

0xxx1001C口置/复位控制字工作方式控制字8255举例例:利用8255的PC6产生方波,经滤波和功放后,送到扬声器以发出不同频率的声音。MOV DX,303H ;8255控制口MOV AL,00001101B ;置PC6=1OUT DX,AL CALL DELAY ;高电平维持时间MOV AL,00001100H ;置PC6=0OUT DX,AL CALL DELAY ;低电平维持时间其中DELAY为延时子程序,改变延时时间,即可改变喇叭发声的频率。8255举例例:编程实现8255控制的A/D/A接口。8255用作A/D、D/A接口电路,占用的端口地址分别为300H~303H1.初始化8255A方式1,B方式02.启动AD(PC7)3.查询IBF(PC5)4.收AD数据5.发数据到DAD/A8255举例通道选用

A端口方式1输入,用于A/D变换的数据输入接口

B端口方式0输出,用于D/A变换的数据输出接口

C端口中的位:1、为A端口服务;2、作控制信号I/O接口的控制方式输入(A端口)采用查询方式输出(B端口)采用无条件程控方式

C端口为位操作方式

PA7~PA0PC4PC5PC3INTEAPC4与门IBFASTBAINTRARDD7~D0问:A口方式1输入的联络信号是什么?8255举例通道控制8255A对A/D芯片的控制

PC7=H,启动A/D变换;PC7=L,停止A/D变换

PC4(/STBA)=L,A/D变换后的数据送A口锁存

PC5(IBFA)=H,A口已锁存A/D变换后的数据

注:查询状态信息PC5=H,下一步完成读A/D数据8255A对D/A芯片的控制

B端口工作于方式0输出,为直接数据输出8255举例控制字设置A端口方式1输入D6D5D4=011B端口方式0输出D2D1=00C端口PC7

输出

D3=0写方式控制字编程

MOVAL,1011000XBMOVDX,303HOUTDX,AL1011000X方式控制字8255举例启动/停止A/D转换MOVDX,303HMOVAL,0XXX1110BOUTDX,AL0XXX11110XXX1110MOVDX,303HMOVAL,0XXX1111BOUTDX,AL停止A/D,即清PC7=L完成A/D变换过程编程启动A/D,即置PC7=H8255举例A/D转换状态查询及读结果查询PC4,完成A/D变换数据读入A端口

MOVDX,302H;C端口R/W地址为302HAG:INAL,DX;C端口数据读入ALTESTAL,00100000B;测PC5位是否为0JZAG;为0循环查询,为1继续

MOVDX,300H;A端口R/W地址为300HINAL,DX

;A/D变换数据读入AL8255举例D/A转换完成B端口D/A变换数据输出编程

;数据处理过程略

MOVDX,301H;B端口R/W地址为301HOUTDX,AL;B端口数据送D/A变换器8255举例定时/计数芯片Intel8253定时/计数器的作用生产线上统计产品的数目----计数器系统的动态存储器刷新----定时器系统时钟计时----定时器扬声器的频率源----定时器如何定时软件定时,优点是节省硬件;缺点是执行程序期间CPU一直被占用,降低了CPU效率硬件定时,要用额外的硬件—计数/定时器,但可提高CPU的利用率初始化:8253没有复位端,开机后必须进行软件初始化。另外,在改变计数器工作方式时也需要对8253进行初始化设置。必须先写入控制字,再设置计数初值。在设置计数初值时,要根据控制字中内容确定是只写高8位,只写低8位,还是先低后高写入16位。读计数值:CPU应先送计数器锁存命令,再用输入指令从输出锁存器中获取计数值。

读取计数值时应根据控制字内容确定是只读高8位,只读低8位,还是先低后高读出16位。定时/计数芯片Intel8253

8253的内部结构及基本功能

8253的外接特性及端口地址

8253的控制字及工作方式8253的程控技术定时/计数功能的实现定时功能和计数功能均可通过计数器来实现:若计数器输入为标准时钟脉冲,则通过计数可得到时间间隔,实现定时功能;若计数器的输入为需计数的信号,则计数值就是一定时间内信号(脉冲)出现的次数,即实现计数功能。定时/计数器控制寄存器状态寄存器数据缓冲读/写控制逻辑计数初值寄存器当前计数值输出寄存器计数器计数控制数据总线RESETREADY中断申请CLKGATEOUT面向外设面向CPURDWRCSA1

A08253内部结构数据总线缓冲器8D0~D7内部总线CLK0计数器0GATE0OUT0计数器1CLK1GATE1OUT1计数器2CLK2GATE2OUT2读/写逻辑A0A1WRRDCS控制字寄存器内部的各计数器的结构&CLKGATE16位当前计数值锁存器16位减一计数器16位计数初值寄存器OUT(减1至0时)MSBLSB装入初值LSBMSB锁存后读出当前值8253基本功能具有三个相互独立的16位计数器通道每个通道都可设定以6种工作方式之一进行计数/定时每个计数器都可设为按二进制或BCD码计数具有计数和定时功能,基于减1计数工作定时器减为0后,可自动装入定时常数初值,并产生输出信号在减1操作中,任何时刻计数器的值都可由CPU经计数输出寄存器读取8253引脚8253引脚8253与CPU的接口

8位数据线:D0~D7

寻址控制线:A0、A0、/CS

读写控制线:/RD、/WR8253与外设的接口

注:三个独立的计数器/定时器时钟输入:CLK

输入门控:GATE

波形输出:OUT

8253的外接特性及端口地址的确定8796115104321511422132319201821162417128253D0D1D2D3D4D5D6D7/WR/RDA0A1/CSVCCGNDCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2面向CPU面向外设数据总线三态1XX写控制寄存器011读/写计数器2001读/写计数器1010读/写计数器0000操

作A0A1CS8253寄存器选择表

二进制计数时最小值为0001H,最大值为10000H(65535)

十进制(BCD码)计数时最小值为0001,最大值为10000。8253的控制字及工作方式D7D6D5D4D3D2D1D0D0=0,采用二进制计数;D0=1,采用二-十进制计数;D3D2D1=000,计数器工作在方式0D3D2D1=001,计数器工作在方式1D3D2D1=*10,计数器工作在方式2D3D2D1=*11,计数器工作在方式3D3D2D1=100,计数器工作在方式4D3D2D1=101,计数器工作在方式5D5D4=00,将当前计数值锁存至输出寄存 器中以供CPU读;D5D4=01,只读/写计数器低8位;D5D4=10,只读/写计数器高8位;D5D4=11,先读/写计数器低8位,再读/写 计数器高8位;D7D6=00,选择计数器0的控制寄存器;D7D6=01,选择计数器1的控制寄存器;D7D6=10,选择计数器2的控制寄存器;D7D6=11,非法;例将计数器2初始化为工作方式3,计数初值为533H,为二进制计数方式,设寄存器地址为40H~43H控制字10110110B6HMOV AL,0B6H ;计数器2,先低后高字节OUT 43H,AL ;写命令字MOV AX,533H ;计数初值OUT 42H,AL ;写计数值低位MOV AL,AHOUT 42H,AL ;写计数值高位8253的控制字例8253工作为计数器1,方式3,初值为4020H,十进制计数,设寄存器地址为40H~43H控制字

77H编程

MOVAL,77HOUT43H,AL;写计数器1的控制字

MOVAL,20HOUT41H,AL

;写计数器1的低8位初值

MOVAL,40HOUT41H,AL

;写计数器1的高8位初值8253的控制字0

10

111

11工作方式与功能方式0:计数结束产生中断输出(软件启动)方式1:可编程单脉冲(硬件启动)方式2:速率发生器(软、硬件启动)方式3:方波发生器(软、硬件启动)方式4:软件触发选通方式5:硬件触发选通方式0—计数结束产生中断预置初值之后,OUT保持低电平。只有当计数器中计数值减为0时,OUT才会输出高电平并维持计数初值寄存器CR在延迟一个CLK脉冲后传到CE中,因此N+1个CLK脉冲后计数值才变为0GATE=0,计数暂停;1,继续计数计数过程中可重写或改变计数值8253工作在方式0时的波形图CW写入后使输出OUT变为低电平LSB之后的第一个CLK下降沿才将计数初值送入计数器计数减至0后OUT恢复为高电平GATE信号可以使计数暂停计数过程中重新写入的初值将在之后的第一个CLK下降沿起作用6种工作方式的对比方式0初始化设计数器0工作于方式0,8位二进制计数,初值为9。端口地址为0E0H~0E3H初始化程序MOV AL,10H;设计数器0,工作方式0OUT 0E3H,AL;写入控制寄存器MOV AL,9 ;设计数初值OUT 0E0H,AL;写初值入计数器0的CR方式1—可编程单脉冲门控信号GATE正脉冲启动定时/计数允许当前计数未完时的多次重触发,GATE再触发后,OUT输出会保持N个CLK脉宽的低电平下个GATE正脉冲触发信号到来时,会将新初值装入CE中,使计数单元从新初值开始计数方式1初始化设计数器1工作于方式1,BCD码计数,计数值为十进制4000。设端口地址为0E0H~0E3H16位计数初值,但由于计数值低8位为0,所以可以设定读/写操作控制段只写高8位,CR低8位自动清0。控制字为01100011B,初始值40HMOV AL,63H ;设控制字OUT 0E3H,ALMOV AL,40H ;设初值40H(高8位)OUT 0E1H,AL方式2—速率发生器计数器减到1时,OUT仅输出一个CLK脉宽的低电平,然后自动装入重新计数GATE由低变高会重新装入初值新初值在下次计数才起作用方式2初始化设计数器工作于方式2,二进制计数,计数初值0304H。端口地址0E0H~0E3HMOV AL,0B4H ;控制字OUT 0E3H,ALMOV AL,04H ;计数器低字节OUT 0E2H,ALMOV AL,03H ;计数器高字节OUT 0E2H,AL方式3—方波发生器与方式2类似,但其输出方波或准方波计数值完成一半时,使OUT变低,直到计数任务全部完成为止,OUT恢复为高初值为偶数时,每次减2,直至0时OUT输出变为低电平,然后又从初值开始,每次减2,直至0时OUT输出变为高电平初值为奇数时,先减1,后每次减2,直至为0。即有(N+1)/2个脉宽的高电平,(N-1)/2个脉宽的低电平GATE由低变高时,重新开始计数方式3初始化计数器0工作于方式3,二进制计数,初值为4。端口地址为0E0H~0E3H MOV AL,16H ;控制字

OUT 0E3H,AL MOV AL,4 ;初值

OUT 0E0H,AL方式4—软件触发选通计数减到0时输出一个脉宽的低电平GATE由低到高时,计数器恢复工作,而不重置初值计数过程中,新初值立即起作用方式4初始化设计数器1工作于方式4,二进制计数,计数初值为3。端口地址为0E0H~0E3HMOV AL,58H ;控制字OUT 0E3H,ALMOV AL,3 ;初值OUT 0E1H,AL方式5—硬件触发选通如方式1,方式5也是硬件触发计数器到0,输出一个脉宽的负脉冲允许当前计数未完时的多次重触发GATE触发,按新初值计数方式5初始化设计数器2工作于方式5,二进制计数,计数初值为3,端口地址为0E0H~0E3HMOVAL,9AH ;控制字OUT 0E3H,ALMOVAL,3 ;初始值OUT0E2H,AL8253工作方式总结5.4计数定时接口8253各工作方式的共同点控制字写入计数器时,所有控

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论