《可编程接口芯》PPT课件.ppt
《《可编程接口芯》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《可编程接口芯》PPT课件.ppt(91页珍藏版)》请在三一办公上搜索。
1、第5章 可编程接口芯片,5.1 可编程并行接口8255A 5.2 可编程定时器/计数器82545.3 串行通信的基本概念5.4 可编程串行通信接口165505.5 可编程串行通信接口8251A,5.1 可编程并行接口8255A,5.1.1 8255A的内部结构与外部引脚,三个数据端口A、B、C 三个8位的输入输出端口,可用指令将它们分别设置成输入或输出端口。2.A组控制、B组控制 8255A将端口A、B、C分为两组:端口A和端口C的高4位构成A组,端口B和端口C的低4位构成B组。3.数据总线缓冲器 双向三态的8位缓冲器,与系统数据总线连接,是8255A与CPU之间信息传输的必经之路。4.读/写
2、控制逻辑 管理8255A的数据传输过程。,图5-2,5.8255A的引脚,8255的引脚信号:(1).与CPU连接的信号线D7D0:8255A的双向三态数据线。A1、A0:端口地址选择信号。CS#:片选信号。RD#:读信号,低电平有效。WR#:写信号,低电平有效。RESET:复位信号。VCC、GND:电源和地线。,(2).与外部设备相连的信号线PA7PA0:A口与外部设备连接的数据线。PB7PB0:B口与外部设备连接的数据线。PC7PC0:C口输入输出数据线。,5.1.2 8255A的控制字 1.方式选择控制字 8255A有三种基本工作方式:方式0:基本的输入/输出方式。方式1:选通输入/输出
3、方式。方式2:双向传输方式。8255A各数据端口的工作方式由方式选择控制字进行设置。,图5-3,8255A方式选择控制字,D7位是方式选择控制字的标志位,它必须是1;D6D5位用于选择A口的工作方式;D4、D3用于选择A口、C口高四位输入输出功能设置。D2位用于选择B口的工作方式。端口A可工作在3种工作方式中的任何一种,端口B只能工作在方式0或方式1,端口C则常常配合端口A和端口B工作。只有端口A可工作在方式2。,2.端口C按位置位/复位控制字 端口C有一种特殊的控制方式,可以将端口C的某一位置1或清0,而不影响端口C的其他位的状态。,5.1.3 8255A的工作方式1方式0 基本输入/输出方
4、式(1)方式0的工作特点:A口和B口作为两个8位端口C口的高4位和低4位可以用作两个4位端口(2)方式0的使用场合:无条件传送查询式传送,2方式1 选通输入/输出方式(1)方式1工作特点带有选通的输入/输出方式。端口A、端口B和端口C被分为两个组。端口A和端口B用作8位数据的输入/输出,端口C的一些引脚被规定为端口A、B的联络信号。,(2)方式1联络信号IBFA、IBFB:输入缓冲区满信号,高电平有效。STBa#、STBb#:选通信号输入,负脉冲。OBFA#、OBFB#:输出缓冲区满信号,低电平有效。ACKA#、ACKB#:外设接收到输出数据后给8255A的应答信号,下降沿/负脉冲有效。INT
5、EA和INTEB:端口A和端口B的中断允许信号。INTR:中断请求信号,8255A输出给CPU。(3)方式1的使用查询方式中断方式,8255A芯片方式1的联络信号,3方式2 双向输入/输出方式(1)方式2工作特点方式2只适用于端口A,是双向的输入/输出传输方式。方式2下各信号含义见表5-3,其中:INTE1:输出中断允许信号。INTE2:输入中断允许信号。(2)方式2的使用场合,8255芯片方式2的联络信号,5.1.4 8255A的应用,1.8255A与CPU的连接 数据线和控制线一般直接和系统总线的相应信号相连片选信号和地址译码器的输出相连三个端口的数据线和外设的数据线直接相连8255A的端
6、口选择信号A1和A0,8088CPU与8086CPU在连接上有所不同,图5-5,2.8255A基本输入输出应用作为键盘接口:,“反转法”进行键盘扫描:设8255A为方式0,A口输出,B口输入;向A口输出00H,从B口读入键盘列线值:低4位值为0FH:无键按下否则,就有键按下有键按下时,将8255A反向设置为A口输入,B口输出将B口原读入值从B口输出从A口输入,得到该键的“行列码”,“反转法”键盘扫描程序:KEYSCANPROC NEARBEGIN:MOVDX,20EH;置8255A控制口地址MOVAL,82H;8255A方式控制字;A口工作在方式0输出,B口工作在方式0输入OUTDX,AL;输
7、出8255A方式控制字LOOP1:MOVDX,208H;A口地址送DXMOVAL,00HOUTDX,AL;A口输出00H扫描键盘MOVDX,20AH;B口地址送DX中INAL,DX;读入键盘列值ANDAL,0FH;保留低4位CMPAL,0FHJELOOP1;无键按下,重新扫描,CALL DELAY;有键按下,延时去抖动INAL,DX;再次读B口,检查有无键按下ANDAL,0FH;保留低4位CMPAL,0FHJELOOP1;无键按下,重新扫描MOVKEY,AL;有键按下,列值保存在KEY单元MOVDX,20EH;置8255A控制口地址MOVAL,90H;8255A方式控制字;B口方式0输出,A口
8、方式0输入OUTDX,AL;输出8255A方式控制字MOVDX,20AH;B口地址送DX中MOVAL,KEY;从KEY单元取出列值OUTDX,AL;向B口输出列值,反向扫描,MOVDX,208H;A口地址送DXINAL,DX;从A口读入行值ANDAL,1FH;保留低5位CMPAL,1FHJEBEGIN;无键按下,重新扫描CALLKEYVALUE;转键值处理程序:查表获得按键编码,保存,MOVDX,20AH;B口地址送DX中MOVAL,0OUTDX,AL;向B口输出列值,反向扫描MOVDX,208H;A口地址送DXWAIT2:INAL,DX;从A口读入行值ANDAL,1FH;保留低5位CMPAL
9、,1FHJNEWAIT2;未释放,等待RETKEYSCANENDP,8255方式0应用-用作打印机接口,3.8255A中断方式应用8255A的A口工作在方式1输出方式,用以传送打印字符。PC6自动作为ACK#信号输入端PC0用来发送选通脉冲PC3(INTR)连到中断控制器 8259A的IR3,对应中断类型码为0BH8255A的端口地址为0C0H0C6H。中断方式实现26个英文字母的输出。,图5-7,.dataBUFFER DB“abcdefghijklmnopqrstuvwxyz”,0dh,0ahOUT_POINTERDW?;缓冲区输出指针DONEDB?;完成标志,=1表示已输出完成.code
10、START:MOVAX,SEG LPRINTMOVDS,AXLEADX,LPRINTMOVAX,250BHINT21H;设置0BH中断向量MOVAX,dataMOVDS,AX;装载DSLEABX,BUFFER,MOVOUT_POINTER,BX;设置输出缓冲区指针MOVDONE,0;设置未完成标志MOV AL,0A0HOUT0C6H,AL;8255A的方式选择字,A口工作在方式1,输出MOVAL,1OUT0C6H,AL;PC0置为1,使选通无效MOVAL,0DHOUT0C6H,AL;使PC6为1,允许8255A的打印机中断INAL,21HANDAL,11110111BOUT21H,AL;清82
11、59的IR3屏蔽,允许打印机中断,STI;开中断INT0BH;调用0BH中断服务程序输出第一个字符WAIT1:CMPDON E,0JEWAIT1;未完成,循环等待MOVAX,4C00HINT21H;打印完成,返回操作系统,;以下为中断服务子程序:LPTINTPROCFARPUSHDS;保护现场PUSHAXPUSHDISTI;开放中断MOVAX,SEGBUFFER;装载输出缓冲区指针MOVDS,AX MOVDI,OUT_POINTERMOVAL,DI OUT0C0H,AL;字符送A口,MOVAL,0;使PC0为0,产生选通信号OUT0C6H,ALCALLDelay;适当延时INCAL;使PC0为
12、1,撤消选通信号OUT0C6H,ALINCOUT_POINTER;修改地址指针CMPBYTE PTRDI,0AH JNENEXTMOVDONE,1;已完成,置完成标志MOVAL,0CHOUT0C6H,AL;使PC6为0,关闭8255A的打印机中断,INAL,21H ORAL,00001000BOUT21H,AL;重新屏蔽8259的IR3,关闭8259A的打印机中断NEXT:CLI;中断结束处理,关闭中断MOVAL,20HOUT20H,AL;向8259A发EOI命令POPDI;恢复现场POPAXPOPDS IRETLPRINTENDPENDSTART,4.8255A在PC机中的应用早期的PC/X
13、T微机系统(8088CPU)使用一片8255A,系统分配的端口地址为60H63H,工作在基本输入/输出方式。A口用作键盘接口电路,接收串并转换后的键盘扫描码。B口的PB7和PB6用于控制键盘接口电路,PB1和PB0用于控制发声系统。C口连接“系统配置开关”。80286以上的微机系统中,8255A的对应电路被集成到多功能芯片内部,保留了8255A的端口地址和它的相应功能。,5.2 可编程定时器/计数器8254,计算机系统中经常要用到定时信号,如定时检测、定时扫描和时钟定时等,定时方法通常有以下三种:(1)软件定时(2)不可编程的硬件定时(3)可编程的硬件定时许多场合还需要对脉冲信号进行计数。本节
14、介绍Intel 8254定时计数器芯片,它是一种的可编程的定时器件。,Intel 8254主要特性:(1)3个独立的16位定时/计数通道。(2)每个通道有6种工作方式。(3)最高计数频率为10MHz。(4)可以按二进制或BCD码两种方式计数。(5)定时时间长短可用软件设置,可由软件或硬件控制开始计数或停止计数。(6)可以同时锁存13个计数器的计数值和状态值,供CPU读取。,5.2.1 8254的内部结构与外部引脚,数据总线缓冲器8254与系统数据总线相连的接口电路。通过数据总线缓冲器,CPU用指令对8254进行读/写:(1)8254初始化编程时,写入控制字。(2)CPU向某一计数器写入计数初值
15、。(3)CPU读出计数器的当前计数值。,2.读/写控制逻辑接收来自CPU的控制信号:读信号RD#写信号WR#片选信号CS#芯片内部寄存器寻址信号A1A0,3计数器028254有3个结构完全相同的定时器/计数器通道:0,1,2每个通道包含:一个8位的控制字寄存器三个16位的初值寄存器、减1计数器和结果输出锁存器。每个通道有3根专用的信号线:CLK:计数/定时脉冲输入端,每输入一个脉冲,减1操作OUT:计数值减到零时,由输出端OUT输出结束信号GATE:门控信号,允许或停止计数,图5-9,CLK脉冲:8254作外部事件计数器时,CLK引脚上的计数脉冲从外部输入,这些脉冲的间隔可以不相等。8254用
16、作定时器时,CLK引脚的输入信号是精确的时钟脉冲。8254的定时时间T时钟脉冲周期tc计数初值n,4.控制寄存器 控制寄存器是一个只能写入的寄存器,它接收从CPU来的控制字,并由控制字的D7、D6位的编码决定控制字写入哪个计数器的控制寄存器。在对8254进行编程时,CPU用输出指令向它写入控制字,由此确定各计数器通道的工作方式、读写格式和计数的数制。,5.Intel 8254的引脚(1)CS#:片选信号,接IO端口译码电路的输出(2)RD#,WR#:读写控制信号(3)D7D0:数据线,与系统数据总线相连(4)A1A0 接地址总线低2位,用于片内端口的选择。A1A0=00,选择通道0;A1A0=
17、01,选择通道1;A1A0=10,选择通道2;A1A0=11,选择控制端口。(5)每个通道有三根对外的信号线:CLK,OUT 和 GATE。,图5-10,5.2.2 8254的工作方式每个通道有六种可选择的工作方式:1.方式0 计数器方式 写入方式0控制字后,输出OUT立即变为低电平,且在计数过程中一直维持低电平。赋初值后,在每个CLK时钟下降沿,计数器进行减1计数。计数值减到零时,OUT输出变为高电平,并且一直保持到该通道重新装入计数初值或重新设置工作方式为止。GATE用于控制计数过程。GATE为高电平,允许计数;GATE为低电平,暂停计数。,图5-11 方式0,2.方式1可重触发的单稳态触
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程接口芯 可编程 接口 PPT 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5480291.html