实验三、8255A并行接口实验一、实验目的:1)掌握8255A和微机接口方法。2)掌握8255A的工作方式和编程原理。3)掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。二、实验内容:1)8255A并行口实验(一)用8255PA口控制PB口2)8255A并行口实验(二)用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。内容18255A并行口实验(一)用8255PA口控制PB口三、实验原理:⒈8255A芯片简介:8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/输出方式方式l:选通输入/输出方式方式2:双向选通工作方式2.8255A共有两个控制字:方式选择控制字和C口按位置0/置1控制字。方式选择控制字格式如下:D7D6D5D4D3D2D1D0特征位1端口C(上半部)1=输入0=输出方式选择00=方式001=方式11X=方式2端口A1=输入0=输出A组端口C(下半部)1=输入0=输出方式选择0=方式01=方式1端口B1=输入0=输出B组三、实验原理:图6-3接线图3.使8255A端口A工作在方式0并作为输入口,读取K1-K8个开关量,PB口工作在方式0作为输出口。四、实验步骤1.8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。8255A芯片B口的PB0-PB7依次接Ll-L8。2、在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。(注:必须先传送EPROM后,再往下操作)3、运行实验程序。在系统显示监控提示符“P.”时,输入11B0,按EXEC键,系统显示执行提示符“┌”拨动K1-K8,LI-L8会跟着亮灭。连线详细过程见:…PCI9054\相关资料\连线图\DJ598PCI.exe五、实验程序框图结束图1.216位实验软件其使用说明见”16位微机原理与接口实验指导书1.doc”的16~19页或者…\DJ8086K\DJ8086软件使用.exe。CODESEGMENT;H8255-1.ASMASSUMECS:CODEIOCONPTEQU0FF2BHIOBPTEQU0FF29HIOAPTEQU0FF28HORG11B0HSTART:MOVAL,90HMOVDX,IOCONPTOUTDX,ALNOPNOPNOPIOLED1:MOVDX,IOAPTINAL,DXMOVDX,IOBPTOUTDX,ALMOVCX,0FFFFHDELAY:LOOPDELAYJMPIOLED1CODEENDSENDSTART实验程序六、实验结果内容28255A并行口实验(二)用8255做输出口,控制十二个发光管亮灭,模拟交通灯管理。三、实验原理:⒈8255A芯片简介:8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/输出方式方式l:选通输入/输出方式方式2:双向选通工作方式2.8255A共有两个控制字:方式选择控制字和C口按位置0/置1控制字。方式选择控制字格式如下:D7D6D5D4D3D2D1D0特征位1端口C(上半部)1=输入0=输出方式选择00=方式001=方式11X=方式2端口A1=输入0=输出A组端口C(下半部)1=输入0=输出方式选择0=方式01=方式1端口B1=输入0=输出B组三、实验原理:图6-4四、实验步骤⒈在系统显示监控提示符“P.”时,按SCAL键。⒉按图6-4连好实验线路8255A:PC0-L3,PC1-L6,PC2-L9,PC3-L12,PC4-L2,PC5-L5,PC6-L8,PC7-L11;PB4-L1,PB5-L4,PB6-L7,PB7-L10⒊在“P.”态时,输入11E0后,按EXEC键;系统显示执行符“┌”,同时Ll-Ll5发光二极管模拟交通灯显示。五、编程指南⑴通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。⑵要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口l、3为南北方向,2、4为东西方向,初始状态为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。延时一段时间后,l、3路口的绿灯熄灭,而l、3路口的黄灯开始闪烁,闪烁若干次以后,l、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车,延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到l、3路口方向,之后,重复上述过程。(注意:指示灯中,1路口对应L1-L3;2路口对应L4-L6;3路口对应L7-L9;4路口对应L10-L12)⑶程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。⑷各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。连线详细过程见:…PCI9054\相关资料\连线图\DJ598PCI.exe五、实验程序框图结束图1.216位实验软件其使用说明见”16位微机原理与接口实验指导书1.doc”的16~19页或者…\DJ8086K\DJ8086软件使用.exe。SEGMENT;H8255-2.ASMASSUMECS:CODEIOCONPTEQU0FF2BHIOAPTEQU0FF28HIOBPTEQU0FF29HIOCPTEQU0FF2AHORG11e0HSTART:MOVAL,82HMOVDX,IOCONPTOUTDX,ALMOVDX,IOBPTINAL,DXMOVBYTEPTRDS:[0601H],ALMOVDX,IOCONPTMOVAL,80HOUTDX,ALMOVDX,IOBPTMOVAL,DS:[0601H]ORAL,0F0HOUTDX,ALMOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY1实验程序IOLED0:MOVAL,10100101BMOVDX,IOCPTOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0F0HOUTDX,ALMOVCX,8HIOLED1:MOVDX,IOBPTMOVAL,DS:[0601H]ANDAL,10101111BOUTDX,ALCALLDELAY2ORAL,01010000BOUTDX,ALCALLDELAY2LOOPIOLED1MOVDX,IOCPTMOVAL,0F0HOUTDX,ALCALLDELAY2实验程序MOVAL,01011010BOUTDX,ALCALLDELAY1CALLDELAY1ORAL,0F0HOUTDX,ALMOVCX,8HIOLED2:MOVDX,IOBPTMOVAL,DS:[0601H]ANDAL,01011111BOUTDX,ALCALLDELAY2ORAL,10100000BOUTDX,ALCALLDELAY2LOOPIOLED2MOVDX,IOCPTMOVAL,0F0H实验程序实验程序OUTDX,ALCALLDELAY2JMPIOLED0DELAY1:PUSHAXPUSHCXMOVCX,0030HDELY2:CALLDELAY2LOOPDELY2POPCXPOPAXRETDELAY2:PUSHCXMOVCX,8000HDELA1:LOOPDELA1POPCXRETCODEENDSENDSTART六、实验结果