第五章并行接口2011/10东北大学计算机系统研究所第五章并行接口5.1并行接口与并行通信5.2Intel8255A可编程外设接口习题并行通信和串行通信D0D7STRACK017017CP1CP2CPUOUTXXXH,ALINAL,XXXHCPU101000115.1并行接口与并行通信•并行通信:直接传送;查询方式;中断方式;DMA方式。•并行接口:数据锁存;数据缓冲。I/ODATASTBACKSTBACKDATAINTRIRQi并行接口锁存缓冲CPU5.1并行接口与并行通信•并行通信:直接传送;查询方式;中断方式;DMA方式。•并行接口:数据锁存;数据缓冲。74LS27374LS244GCLK5.1并行接口与并行通信简单I/O接口-直接传送,无条件传送273273…….段码位码ZXK:0FFDCHZWK:0FFDDHL6L5L020H[BUF]5.1并行接口与并行通信简单I/O接口-LED显示器接口LED显示程序LEDDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDB88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,0DEH,0F3HBUFDB09H,09H,02H,05H,01H,08HLED1:CALLDIS;显示实验学生的学号”992518”JMPLED1DIS:MOVCL,20HMOVBX,OFFSETBUFDIS1:MOVAL,[BX]PUSHBXMOVBX,OFFSETLEDXLATPOPBXMOVDX,ZXK;段码OUTDX,ALMOVAL,CLMOVDX,ZWK;位码OUTDX,ALPUSHCXMOVCX,0100HDELAY:5.1并行接口与并行通信简单I/O接口-LED显示器接口控制程序5.1并行接口与并行通信简单I/O接口-LED显示器接口控制程序(续)DELAY:LOOP$POPCXCMPCL,01HJZEXITINCBXSHRCL,1JMPDIS1EXIT:MOVAL,00HMOVDX,ZWKOUTDX,ALRET第五章并行接口5.2Intel8255A可编程外设接口5.1并行接口与并行通信习题5.2.18255A的引脚D0~D7PAPBPCPA0~7PB0~7PC0~7RDWRCSA0A1RESET5.2Intel8255A可编程并行接口5.2.28255A的结构D0~D7PAPA0~7PB0~7PC0~3RDWRCSA0A1缓冲器读写控制PC上PC下PBB组控制A组控制PC4~75.2Intel8255A可编程并行接口5.2.38255A的控制字10XXX1/0000=第0位001=第1位111=第7位…...例:moval,0dh/outportc,al即将PC口的第6位置1XXA口的工作方式1/0A口输入/输出1/0C口(高4位)输入/输出C口(低4位)输入/输出B口的工作方式B口输入/输出1/01/01/05.2Intel8255A可编程并行接口5.2.48255A的工作方式•方式0:称为基本输入输出方式,可直接输入或输出。A口、B口、C口均可定义为方式0输入或输出,输入有缓冲,输出有锁存。C口还可按位将其清0或置1。•方式1:可选择查询或中断方式输入或输出。A口、B口可定义为方式1输入或输出。输入输出均有锁存。•方式2:称为双向传送方式(半双工)。可分别选择查询或中断方式输入和输出。只有A口可定义为方式2。输入输出均有锁存。5.2Intel8255A可编程并行接口5.2.48255A的工作方式(续)-方式1输入STBDATAIBFINTRRDPC4PC5PC3PA7~0STBIBFINTRINTEANDPC2PC1PC0PB7~0STBIBFINTRINTEAND5.2Intel8255A可编程并行接口5.2.48255A的工作方式(续)-方式1输出WRDATAOBFINTRACKPC6PC7PC3PA7~0ACKOBFINTRINTEANDPC2PC1PC0PB7~0ACKOBFINTRINTEAND5.2Intel8255A可编程并行接口5.2.58255A的编程例1:某系统要求8255A的A口、C口为方式0输入,B口为方式0输出。假定8255A的端口地址为360H~363H,试编写初始化程序。MOVAL,99HMOVDX,363HOUTDX,AL5.2Intel8255A可编程并行接口*控制字:100110015.2.58255A的编程(续)例2:某系统要求8255A的A组为方式1输出,B口和C口的剩余部分为方式0输入,并且允许A口在输出数据被外设取走之后申请中断。试编写初始化程序。假定8255A的端口地址为360H~363H,MOVAL,0ABHMOVDX,363HOUTDX,ALMOVAL,0DHOUTDX,AL5.2Intel8255A可编程并行接口*控制字:10101011000011015.2.58255A的编程(续)例1:某系统要求8255A的A口为方式2,B口和C口的剩余部分为方式0输入,且允许A口在数据被外设取走以及数据输入之后产生中断。假定8255A的端口地址为360H~363H,试编写初始化程序。MOVAL,0CBHMOVDX,363HOUTDX,ALMOVAL,09HOUTDX,ALMOVAL,0DHOUTDX,AL5.2Intel8255A可编程并行接口;控制字:11001011;控制字:00001001,PC4=1;控制字:00001101,PC6=15.2.68255A的应用-按键和LED控制例1:PCBUS8255AD0~7D0~7IOWIORAENA9A8A7A6A5A4A3A2A1A0WRRDCSA0A1PA7PA6PA0PB7PB6PB0VccVcc….….….….GND10111101xx5.2Intel8255A可编程并行接口5.2.68255A的应用(续)-打印机控制例2:PCBUS8255AD0~7D0~7IOWIORAENA9A8A7A6A5A4A3A2A1A0WRRDCSA0A1PA7PA6PA0PC7PC6PC0….….D0D0D0STBACKINTROBFACK编写打印10个字母的程序BUSY打印机5.2Intel8255A可编程并行接口5.2.68255A的应用(续)-基于ISA总线的接口扩展例3:PCBUS8255AD0~7D8~15IOWIORAENA9A8A7A6A5A4A3A2A1WRRDCSA0A1PA7PA6PA0PC7PC6PC0….INTR5.2Intel8255A可编程并行接口BHE5.2.68255A的应用(续)-在PC/XT机中的应用主板上有一片8255A(端口地址:60H~63H),用于支持键盘、扬声器、配置开关等外部设备。PA口:输入,PB7=0时,输入键盘扫描码,PB7=1时,输入配置开关的状态(P147Fig5-14)。PB口:输出,控制8253通道2、扬声器、磁带机马达等。PC口:输入,输入配置开关、磁带机数据、8253通道2的输出、奇偶错等。5.2Intel8255A可编程并行接口第五章并行接口5.1并行接口与并行通信5.2Intel8255A可编程外设接口习题1.什么是并行通信?并行通信与串行通信相比较有什么优缺点?2.两台计算机通过并行接口(8位)相连完成单向数据传输,至少需要多少条信号线?3.要求使8255A的A口为工作方式0输入,B口为工作方式1输出,C口为输入,试写出初始化程序。4.试写出将C口的第3位清0的程序段。5.试写出将C口的第5位置0的程序段。6.要求使8255A的A口和C口为工作方式0输入,B口为工作方式0输出,试写出初始化程序。*7.要求设计基于ISA总线的2片8255A扩展接口电路,端口地址自定。习题