资源描述:
《控制交通灯完整实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二○一一~二○一二学年第二学期信息科学与工程学院课程设计报告书课程名称:微机原理课程设计班级:电子信息工程2009级6班学号:0姓名:张强指导教师:徐守明二○一二年二月二十日8255A控制交通灯实验一、实验流程图如下:1、主程序流程图2、中断服务程序(以外部中断0为例)二、软件仿真图如下:三、实验总结:本实验主要实现了基本交通灯工作情况,主要用到并行接口芯片5255A,单片机控制8255A工作,由8255A的PA口驱动LED闪烁,8255PA口的低三位是南北路口。高三位是东西路口,模拟交通灯工作。另外,利用单片机内部中断,加了
2、两个紧急情况处理功能。当需要关闭东西通道,开通南北通道时,按下K1键,东西红灯亮,南北绿灯亮。当需要关闭南北通道,开通东西通道时,按下K2键,东西红灯亮,南北绿灯亮。完整的做完实验后,我觉得实验中应该注意一下几点:1、延时程序的设计。要想利用软件比较准确的设计延时程序,需要知道时钟周期,状态周期,机器周期的概念以及循环程序设计的基本思路。2、8255A编程,实验中应该先写控制字后写方式字。这里需要指出的是,硬件连线时一定要严格按照8255A的控制字连线,也就是地址分配问题。AT89S52的P2口在实验中做地址线,充当地址高8位
3、,P0口既做地址线也做数据线,做地址线时充当地址低8位。3、8255A选择A口时,不能直接把A0,A1接地,而应该用地址赋值语句给A0,A1赋值,使其同时为低电平,选中A口。四、实验程序如下:;*********8255PA口的次低三位是南北路口。次高三位是东西路口*********ORG0000HLJMPSTARTORG0003H;外部中断0的中断程序入口地址LJMPKEY1;转外部中断0中断服务程序ORG0013H;外部中断1的中断程序入口地址LJMPKEY2;转外部中断1中断服务程序START:SETBIT0;INTO为
4、边沿触发SETBIT1SETBEX0;启动T0SETBEX1SETBEA;开总中断MOVDPTR,#03FFHMOVA,#80HMOVX@DPTR,AS1:MOVA,#BMOVDPTR,#00FFHMOVX@DPTR,A;第一种状态:东西红灯亮,南北绿灯亮CALLDELAY5S;5秒延时S2:MOVA,#B;第二种状态:东西红灯亮,南北黄灯亮MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1S;0.2秒延时MOVA,#B;东西红灯亮,南北黄灯灭,黄灯第一次闪烁MOVDPTR,#00FFHMOVX@DPTR,
5、ACALLDELAY1SMOVA,#B;第二种状态:东西红灯亮,南北黄灯亮MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;东西红灯亮,南北黄灯灭,黄灯第二次闪烁MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;第二种状态:东西红灯亮,南北黄灯亮MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;东西红灯亮,南北黄灯灭,黄灯第次闪烁MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SS3:MOVA
6、,#B;第三种状态:东西绿灯亮,南北红灯亮MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY5SS4:MOVA,#B;第四种状态:东西黄灯亮,南北红灯亮MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;东西黄灯灭,南北红灯亮,第一次闪烁MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;第四种状态:东西黄灯亮,南北红灯亮MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;东西黄灯灭,南北红灯亮,第二次
7、闪烁MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;第四种状态:东西黄灯亮,南北红灯亮MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SMOVA,#B;东西黄灯灭,南北红灯亮,第三次闪烁MOVDPTR,#00FFHMOVX@DPTR,ACALLDELAY1SAJMPS1;跳转到状态S1状态,循环DELAY5S:;延时5秒MOVR7,#100L0:MOVR6,#100L1:MOVR5,#248L2:DJNZR5,L2DJNZR6,L1DJNZR7,L0RETDELAY
8、1S:;延时0.5秒MOVR4,#200L3:MOVR3,#248L4:DJNZR3,L4DJNZR4,L3RET;*****************紧急处理1:东西红灯亮,南北绿灯亮*****************************KEY1:PUSHPSWMOVA,