实验六--8255控制交通灯实验(5页).doc
-实验六-8255控制交通灯实验-第 5 页实验六 8255控制交通灯实验一、实验目的与要求1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。二、实验内容1、编写程序:使用8255的PA0.2、PA4.6控制LED指示灯,实现交通灯功能。2、连接线路验证8255的功能,熟悉它的使用方法。三、实验原理图四、实验步骤1、连线说明:B4区:CS、A0、A1A3区:CS1、A0、A1B4区:JP56(PA口)G6区:JP652、观察实验结果,是否能看到模拟的交通灯控制过程。五、实验程序及流程图.MODELTINYCOM_ADDEQU0F003HPA_ADDEQU0F000HPB_ADDEQU0F001HPC_ADDEQU0F002H.STACK100.DATALED_DataDB01111101B;东西绿灯,南北红灯DB11111101B;东西绿灯闪烁,南北红灯DB10111101B;东西黄灯亮,南北红灯DB11010111B;东西红灯,南北绿灯DB11011111B;东西红灯,南北绿灯闪烁DB11011011B;东西红灯,南北黄灯亮.CODESTART:MOVAX,DATAMOVDS,AXNOPMOVDX,COM_ADDMOVAL,80H;PA、PB、PC为基本输出模式OUTDX,ALMOVDX,PA_ADD;灯全熄灭MOVAL,0FFHOUTDX,ALLEABX,LED_DataSTART1:MOVAL,0XLATOUTDX,AL;东西绿灯,南北红灯CALLDL5SMOVCX,6START2:MOVAL,1XLATOUTDX,AL;东西绿灯闪烁,南北红灯CALLDL500msMOVAL,0XLATOUTDX,ALCALLDL500msLOOPSTART2MOVAL,2;东西黄灯亮,南北红灯XLATOUTDX,ALCALLDL3SMOVAL,3;东西红灯,南北绿灯XLATOUTDX,ALCALLDL5SMOVCX,6START3:MOVAL,4;东西红灯,南北绿灯闪烁XLATOUTDX,ALCALLDL500msMOVAL,3XLATOUTDX,ALCALLDL500msLOOPSTART3MOVAL,5;东西红灯,南北黄灯亮XLATOUTDX,ALCALLDL3SJMPSTART1DL500msPROCNEARPUSHCXMOVCX,60000DL500ms1:LOOPDL500ms1POPCXRETDL500msENDPDL3SPROCNEARPUSHCXMOVCX,6DL3S1:CALLDL500msLOOPDL3S1POPCXRETENDPDL5SPROCNEARPUSHCXMOVCX,10DL5S1:CALLDL500msLOOPDL5S1POPCXRETENDPENDSTART开 始8255初始化(PA口输出)0FFH->PA(灯全熄灭)东西绿灯,南北红灯(1、7号灯亮) 延时5秒东西绿灯闪烁,南北红灯(7号灯亮,1号灯闪烁6次,每次延时0.5秒)东西黄灯,南北红灯(2、7号灯亮)东西红灯,南北绿灯(3、5号灯亮)延时5秒东西红灯,南北绿灯闪烁(3号灯亮,5号灯闪烁6次,每次延时0.5秒)东西红灯,南北黄灯(3号灯亮,6号灯亮)延时3秒延时3秒六、 实验结果 按照流程图所示,1、7号灯先亮,延时一段时间,2、7号灯亮,延时一段时间,3、5号灯亮,延时一段时间,3号灯亮,5号灯闪烁6次,之后3号灯亮,6号灯亮,再延时一段时间,1、7号灯亮,如此循环。七、实验总结 这是第一次接受这种软硬件配合的实验,感觉很新鲜,也遇到了很多困难。主要是在连结电脑与硬件设备调用程序运行时出错。首先是不太会用星研软件,具体步骤不清楚,搞懂它就花了许多时间。其次,一切做好后,还是不能在硬件上运行出结果,换了台机器才变好。了解了8255芯片的工作原理,熟悉了其初始化编程方法以及输入、输出程序设计技巧。通过具体实例,形象认识了8255作为并行接口的A、B、C三个接口的作用及它与8288的连结方法,熟悉了8255芯片的3种工作方式以及控制字格式。