实验四可编程并行接口芯片8255一、实验目的1、学习并掌握8255的各种工作方式及其应用2、学习在系统接口实验单元上构造实验电路二、实验设备TDN86/51教学实验系统三、实验芯片简介1、系统中的8255线路8255的数据线片选信号线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,见图4.1。XD0XD1XD2XD3D0D1343332XD4XD5XD63130292827XD7D2D3D4D5D6D7XIORXIOWXA0XA1RESETIOY359368356RDWRA0A1RESETCSPA0PA1PA2PA3PA4PA5PA6PA7432140393837PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC7825518192022232425211415161713121110系统总线图4.1系统中的8255线路8255端口地址信号线寄存器编址IOY3A口60HB口61HC口62H控制寄存器63H2、接口实验单元中的开关和发光二极管电路图4.2中D7—D0为8个发光二极管的接线点,K7—K0为8个开关的接线点。D0D7K0K7+5V+5V4.7K×84.7K×8LED×810PA0PA7PB0PB7K0K78255LEDR+5VD0D7图4.2拨动开关和发光二极管电路图4.3实验线路图四、实验内容及步骤(一)8255接口方式0应用实验1.使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口,将图4.3中的K7—K0开关信号顺序与PB7—PB0相连,端口A的PA7—PA0分别与发光二极管D7—D0相连,然后通过对8255芯片编程来实现输入/输出功能。实验程序:ORG20002000B082MOVAL,822002E663OUT63,AL2004E461A1:INAL,612006E660OUT60,AL2008EBFAJMPA12.运行实验程序,拨动开关组,观察发光二极管亮灭情况,并记录之。(二)8255接口应用实验1.使8255端口A工作在方式0并作为输出口,PA7—PA0分别与发光二极管D7—D0相连,然后通过对8255芯片编程来实现输入/输出功能。ORG21002100B082MOVAL,822102E663OUT63,AL2104E461A1:MOVAL,012106E660OUT60,AL2108EBFAJMPA12.运行实验程序,拨动开关组,观察发光二极管应亮灭情况,并记录之。3.若要使D3或D6对应的发光二极管点亮,试修改程序,进行实验并记录之。(三)用8255作为七段数码管的接口1.按照图4.4连接实验线路,并输入下列程序。实验程序:ORG22002200MOVAL,802202OUT63,AL2204MOVAL,3F2206OUT61,AL2208MOVAL,00OUT60,AL图4.4实验线路图2.运行程序,观察记录4个数码管显示情况。3.若要使数码管上显示字形为“5”,应如何修改程序,实验之。4.若要使只有第1、3个数码管显示“3”,应如何修改程序,实验之。(四)综合运用8255的三个端口,使之实现如下功能:当PC0=1时,在四个数码管上显示K7-K0中处于闭合的开关的位数。实验程序:ORG23002300MOVSI,1010(OFFSETDATA)2303LOOP0:XORCX,CXDATA(1010)MOVAL,912307OUT63,AL2309LOOP1:INAL,62ANDAL,01JZLOOP0230FLOOP2:INAL,602311CMPAL,002313JZLOOP2(1017)2315LOOP3:SHRAL,12317INCCX2318JNCLOOP3……3F065B4F666D7D07……图4.5231ADECCX231BADDSI,CX231DMOVAL,[SI]231FOUT61,AL2321MOVAL,002323OUT62,AL2325XORCX,CX2327MOVSI,1010232AJMPLOOP2实验步骤:1.按实验线路图4.6接线2.输入程序并检查无误,经汇编、连接后装入系统3.按图4.5在存储单元1010——1017内存入0~7的字段代码。(E1010回车)4.改变开关组K0—K7的状态(注:K7-K0中只有一个闭合),使得B口的显示内容值发生变化,最终使数码管显示不同的数字;5.修改程序,使数码管的显示位数不同。将修改内容及结果记录之。PB7PB074LS07ABCDEFGdP4.7K×8+5V74LS07PC7PC6PC5PC4X1X2X3X48255PA0PA7PC0K7K0KK1+图4.6实验线路图五、实验报告要求1、对各实验内容进行分析总结。2、对实验内容(四)的程序进行注释,说明改写后的程序及实验结果。3、写出完整的实验报告。