1、单片机交通信号灯控制.txt 我的人生有A 面也有 B 面,你的人生有S 面也有 B 面。失败不 可怕,关键看是不是成功他妈。现在的大学生太没素质了!过来拷毛片,居然用剪切!有空 学风水去,死后占个好墓也算弥补了生前买不起好房的遗憾。一.实验要求 以 74LS273 作为输出口,控制4 个双色 LED灯(可发红,绿,黄光),模拟交通灯管理。 二. 实验目的 1. 学习在单片机系统中扩展简单I/O 接口的方法。 2. 学习数据输出程序的设计方法。 3. 学习模拟交通灯控制的方法。 4. 学习双色灯的使用。 三. 实验电路及连线 四. 实验说明 1. 因为本实验是交通灯控制实验,所以要先了解实际交
2、通灯的变化规律。假设一个十字路口 为东西南北走向。初始状态0 为东西红灯,南北红灯。然后转状态1 南北绿灯通车,东西红 灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒, 东西仍然红灯。 再转状态3, 东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南 北仍然红灯。最后循环至状态1。 2. 双色 LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端 加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯 亮;两端都加高电平时,黄灯亮。 五. 实验程序框图 程序框图: 源代码: ORG 0000H LJM
3、P START ORG 0040H START: MOV SP,#60H LCALL STATUS0 ;初始状态 ( 都是红灯 ) CIRCLE: LCALL STATUS1 ; 南北绿灯 , 东西红灯 LCALL STATUS2 ;南北绿灯闪转黄灯, 东西红灯 LCALL STATUS3 ;南北红灯 , 东西绿灯 LCALL STATUS4 ;南北红灯 , 东西绿灯闪转黄灯 LJMP CIRCLE STATUS0: ; 南北红灯 , 东西红灯 MOV DPTR,#8300H MOV A,#0FH MOVX DPTR,A MOV R2,#10 ; 延时 1 秒 LCALL DELAY RET
4、STATUS1: ; 南北绿灯 , 东西红灯 MOV DPTR,#08300H MOV A,#5AH ; 南北绿灯 ,东西红灯 MOVX DPTR,A MOV R2,#50 ; 延时 5 秒 LCALL DELAY RET STATUS2: ; 南北绿灯闪转黄灯, 东西红灯 MOV DPTR,#8300H MOV R3,#03H ; 绿灯闪 3 次 FLASH: MOV A,#5FH MOVX DPTR,A MOV R2,#03H LCALL DELAY MOV A,#5AH MOVX DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH MOV A,#0A
5、H ; 南北黄灯 ,东西红灯 MOVX DPTR,A MOV R2,#10 ; 延时 1 秒 LCALL DELAY RET STATUS3: ; 南北红灯 , 东西绿灯 MOV DPTR,#8300H MOV A,#0A5H MOVX DPTR,A MOV R2,#50 ; 延时 5 秒 LCALL DELAY RET STATUS4: ; 南北红灯 , 东西绿灯闪转黄灯 MOV DPTR,#8300H MOV R3,#03H ; 绿灯闪 3 次 FLASH1: MOV A,#0AFH MOVX DPTR,A MOV R2,#03H LCALL DELAY MOV A,#0A5H MOVX DPTR,A MOV R2,#03H LCALL DELAY DJNZ R3,FLASH1 MOV A,#05H ; 南北红灯 ,东西黄灯 MOVX DPTR,A MOV R2,#10 ; 延时 1 秒 LCALL DELAY NOP RET DELAY: ; 延时子程序 PUSH 2 PUSH 1 PUSH 0 DELAY1: MOV 1,#00H DELAY2: MOV 0,#0B2H DJNZ 0,$ DJNZ 1,DELAY2 ; 延时 100 mS DJNZ 2,DELAY1 POP 0 POP 1 POP 2 RET