基于单片机的交通信号灯模拟控制系统设计
题目:基于单片机的交通信号灯模拟控制系统设计设计内容及要求:1、硬件设计单片机主电路、交通灯接口电路、LED数码管显示电路,键盘控制电路。2、软件设计系统流程图、各功能程...
题目:基于单片机的交通信号灯模拟控制系统设计
设计内容及要求:
1、硬件设计
单片机主电路、交通灯接口电路、LED数码管显示电路,键盘控制电路。
2、软件设计
系统流程图、各功能程序
设计环境:
Protel99SE 、WAVE仿真环境、H51/L仿真器、单片机多功能实验箱
实现目标:
(1)正常情况下交叉路口的轮流通行(主道3个LED红、黄、绿控制直行,支道3个LED红、黄、绿,切换时间自行设定);
(2)特殊情况控制通行方式控制,用按键开关K1控制主道通行,支道禁行,K2控制支道通行,主道禁行,特殊情况控制通行放行。
(3)有紧急情况时用按键开关K0控制两道均为红灯;
(4)4位LED数码管能够显示双直行方向绿灯和红灯的等待时间。
这是我们课程设计题目,大家帮忙看看吧...最好能写出程序和流程图...谢谢拉.... 展开
设计内容及要求:
1、硬件设计
单片机主电路、交通灯接口电路、LED数码管显示电路,键盘控制电路。
2、软件设计
系统流程图、各功能程序
设计环境:
Protel99SE 、WAVE仿真环境、H51/L仿真器、单片机多功能实验箱
实现目标:
(1)正常情况下交叉路口的轮流通行(主道3个LED红、黄、绿控制直行,支道3个LED红、黄、绿,切换时间自行设定);
(2)特殊情况控制通行方式控制,用按键开关K1控制主道通行,支道禁行,K2控制支道通行,主道禁行,特殊情况控制通行放行。
(3)有紧急情况时用按键开关K0控制两道均为红灯;
(4)4位LED数码管能够显示双直行方向绿灯和红灯的等待时间。
这是我们课程设计题目,大家帮忙看看吧...最好能写出程序和流程图...谢谢拉.... 展开
3个回答
展开全部
;2位LED数码管显示程序:P0口接数码管段,P2口接数码管位。 P3口接键盘,P1口接发光二极管
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0P
ORG 000BH
LJMP T0INT
ORG 0013H
LJMP INT1P
ORG 001BH
LJMP CTC1
ORG 0100H
MAIN: LCALL CSHIH ;初始化
LOOP: LCALL TONGX ;通行路口
LCALL H_BCD2 ;计算(1位HEX转换为2位BCD码)
LCALL YIMA ;译码
LCALL LED4W ;显示
CLR 00H
JNB 00H,$
DJNZ R6,LOOP
MOV R6,#100
JNB 10H,LOOP1 ;启动特殊功能K0
JB 10H,$
LOOP1: JNB 11H,LOOP2 ;启动特殊功能K1
JB 11H,$
NOP
LOOP2: JNB 12H,LOOP3 ;启动特殊功能K2
JB 12H,$
NOP
LOOP3: DJNZ TIME,LOOP
SETB 02H
SJMP LOOP
TONGX: JB 01H,DONGX
JB 02H,HUANG1
MOV P1,#21H
SJMP TX_OUT
HUANG1: MOV P1,#22H
MOV TIME,#1
DJNZ R5,TX_OUT
MOV R5,200
CLR 02H
CPL 01H
MOV TIME,#15
SJMP TX_OUT
DONGX: JB 02H,HUANG2
MOV P1,#0CH
SJMP TX_OUT
HUANG2: MOV P1,#14H
MOV TIME,#1
DJNZ R5,TX_OUT
MOV R5,200
CLR 02H
CPL 01H
MOV TIME,#15
TX_OUT: RET
LED4W: MOV A,XWEI
MOV B,#3
MUL AB
MOV DPTR,#LED4T
JMP @A+DPTR
LED4T: LJMP LD4W1
LJMP LD4W2
LJMP LD4W3
LJMP LD4W4
LD4W1: MOV LEDD,MLED1
MOV LEDW,#1
INC XWEI
SJMP LED4WE
LD4W2: MOV LEDD,MLED2
MOV LEDW,#2
INC XWEI
SJMP LED4WE
LD4W3: MOV LEDD,MLED3
MOV LEDW,#4
INC XWEI
SJMP LED4WE
LD4W4: MOV LEDD,MLED4
MOV LEDW,#8
MOV XWEI,#0
LED4WE: RET
YIMA: MOV R0,#BLED1 ;四位LED
MOV R1,#MLED1
MOV R7,#2
MOV DPTR,#YIMTAB
YIMA1: MOV A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R7,YIMA1
RET
YIMTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4
DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9
CSHIH: MOV TIME,#15
MOV XWEI,#0
MOV LEDD,#0
MOV LEDW,#0
MOV R6,#100 ;1秒延时
MOV R5,#200 ;2秒延时
MOV P1,#21H
MOV 20H,#0
MOV 22H,#0
MOV TMOD,#61H ;T0方式1
MOV TTH0,#0D8H ;10ms
MOV TTL0,#0F0H
MOV TL0,TTL0
MOV TH0,TTH0
MOV TL1,#0FFH
MOV TH1,#0FFH
MOV IE,#8FH
SETB TR0
SETB TR1
MOV BLED1,#0
MOV BLED2,#0
MOV MLED3,#0
MOV MLED4,#0
RET
H_BCD2: MOV A,TIME
MOV B,#10
DIV AB
MOV BLED2,A
MOV BLED1,B
MOV MLED3,#0
MOV MLED4,#0
RET
T0INT: MOV TL0,TTL0
MOV TH0,TTH0
SETB 00H
RETI
INT0P: CPL 10H
SETB P1.2
CLR P1.1
CLR P1.0
SETB P1.5
CLR P1.4
CLR P1.3
RETI
INT1P: CPL 11H
CLR P1.2
CLR P1.1
SETB P1.0
SETB P1.5
CLR P1.4
CLR P1.3
RETI
CTC1: CPL 12H
MOV P1,#0CH
RETI
BIAOZ DATA 20H ;标志:.0定时到。
XWEI DATA 60H ;显示位,4位:0~3
TTL0 DATA 61H
TTH0 DATA 62H
TIME DATA 66H ;倒计时时间
BLED1 DATA 74H ;显示数据BCD
BLED2 DATA 75H
BLED3 DATA 76H
BLED4 DATA 77H
MLED1 DATA 78H ;显示数据译码
MLED2 DATA 79H
MLED3 DATA 7AH
MLED4 DATA 7BH
LEDD EQU P0 ;数码管段
LEDW EQU P2 ;数码管位
END
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0P
ORG 000BH
LJMP T0INT
ORG 0013H
LJMP INT1P
ORG 001BH
LJMP CTC1
ORG 0100H
MAIN: LCALL CSHIH ;初始化
LOOP: LCALL TONGX ;通行路口
LCALL H_BCD2 ;计算(1位HEX转换为2位BCD码)
LCALL YIMA ;译码
LCALL LED4W ;显示
CLR 00H
JNB 00H,$
DJNZ R6,LOOP
MOV R6,#100
JNB 10H,LOOP1 ;启动特殊功能K0
JB 10H,$
LOOP1: JNB 11H,LOOP2 ;启动特殊功能K1
JB 11H,$
NOP
LOOP2: JNB 12H,LOOP3 ;启动特殊功能K2
JB 12H,$
NOP
LOOP3: DJNZ TIME,LOOP
SETB 02H
SJMP LOOP
TONGX: JB 01H,DONGX
JB 02H,HUANG1
MOV P1,#21H
SJMP TX_OUT
HUANG1: MOV P1,#22H
MOV TIME,#1
DJNZ R5,TX_OUT
MOV R5,200
CLR 02H
CPL 01H
MOV TIME,#15
SJMP TX_OUT
DONGX: JB 02H,HUANG2
MOV P1,#0CH
SJMP TX_OUT
HUANG2: MOV P1,#14H
MOV TIME,#1
DJNZ R5,TX_OUT
MOV R5,200
CLR 02H
CPL 01H
MOV TIME,#15
TX_OUT: RET
LED4W: MOV A,XWEI
MOV B,#3
MUL AB
MOV DPTR,#LED4T
JMP @A+DPTR
LED4T: LJMP LD4W1
LJMP LD4W2
LJMP LD4W3
LJMP LD4W4
LD4W1: MOV LEDD,MLED1
MOV LEDW,#1
INC XWEI
SJMP LED4WE
LD4W2: MOV LEDD,MLED2
MOV LEDW,#2
INC XWEI
SJMP LED4WE
LD4W3: MOV LEDD,MLED3
MOV LEDW,#4
INC XWEI
SJMP LED4WE
LD4W4: MOV LEDD,MLED4
MOV LEDW,#8
MOV XWEI,#0
LED4WE: RET
YIMA: MOV R0,#BLED1 ;四位LED
MOV R1,#MLED1
MOV R7,#2
MOV DPTR,#YIMTAB
YIMA1: MOV A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R7,YIMA1
RET
YIMTAB: DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4
DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9
CSHIH: MOV TIME,#15
MOV XWEI,#0
MOV LEDD,#0
MOV LEDW,#0
MOV R6,#100 ;1秒延时
MOV R5,#200 ;2秒延时
MOV P1,#21H
MOV 20H,#0
MOV 22H,#0
MOV TMOD,#61H ;T0方式1
MOV TTH0,#0D8H ;10ms
MOV TTL0,#0F0H
MOV TL0,TTL0
MOV TH0,TTH0
MOV TL1,#0FFH
MOV TH1,#0FFH
MOV IE,#8FH
SETB TR0
SETB TR1
MOV BLED1,#0
MOV BLED2,#0
MOV MLED3,#0
MOV MLED4,#0
RET
H_BCD2: MOV A,TIME
MOV B,#10
DIV AB
MOV BLED2,A
MOV BLED1,B
MOV MLED3,#0
MOV MLED4,#0
RET
T0INT: MOV TL0,TTL0
MOV TH0,TTH0
SETB 00H
RETI
INT0P: CPL 10H
SETB P1.2
CLR P1.1
CLR P1.0
SETB P1.5
CLR P1.4
CLR P1.3
RETI
INT1P: CPL 11H
CLR P1.2
CLR P1.1
SETB P1.0
SETB P1.5
CLR P1.4
CLR P1.3
RETI
CTC1: CPL 12H
MOV P1,#0CH
RETI
BIAOZ DATA 20H ;标志:.0定时到。
XWEI DATA 60H ;显示位,4位:0~3
TTL0 DATA 61H
TTH0 DATA 62H
TIME DATA 66H ;倒计时时间
BLED1 DATA 74H ;显示数据BCD
BLED2 DATA 75H
BLED3 DATA 76H
BLED4 DATA 77H
MLED1 DATA 78H ;显示数据译码
MLED2 DATA 79H
MLED3 DATA 7AH
MLED4 DATA 7BH
LEDD EQU P0 ;数码管段
LEDW EQU P2 ;数码管位
END
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
简测智能技术
2023-05-25 广告
2023-05-25 广告
JEME-iX-eX系列产品是一款基于嵌入式硬件平台和实时操作系统的分布式多类传感器同步采集仪器。实现了多类传感器(光纤光栅电压、电流、电桥和IEPE)和多终端设备的精准同步采集,具备信号实时处理分析功能以及多线程运行的模块化、规范化的软件...
点击进入详情页
本回答由简测智能技术提供
展开全部
简单I/O实验(交通灯控制)
一.实验要求
以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。
二.实验目的
1.学习在单片机系统中扩展简单I/O接口的方法。
2.学习数据输出程序的设计方法。
3.学习模拟交通灯控制的方法。
4.学习双色灯的使用。
三.实验电路及连线
四.实验说明
1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。
2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
五.实验程序框图
程序框图:
源代码:
ORG 0000H
LJMP 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
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,#0AH ;南北黄灯,东西红灯
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
END
一.实验要求
以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理。
二.实验目的
1.学习在单片机系统中扩展简单I/O接口的方法。
2.学习数据输出程序的设计方法。
3.学习模拟交通灯控制的方法。
4.学习双色灯的使用。
三.实验电路及连线
四.实验说明
1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。再转状态3,东西绿灯通车,南北红灯。过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。
2.双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
五.实验程序框图
程序框图:
源代码:
ORG 0000H
LJMP 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
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,#0AH ;南北黄灯,东西红灯
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
END
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
51单片机的程序可以用C写的对么- -```..可以C的话等我考完试帮你做个...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询