您的位置 首页 动态

试验八 交通灯操控(80C51单片机汇编语言编程)

设计一交通灯控制系统,控制东西方向的红、黄、绿灯和南北方向的红、黄、绿灯,可手动控制和自动控制,设置两个输入控制开关(可用P10、P1

规划一交通灯操控体系,操控东西方向的红、黄、绿灯和南北方向的红、黄、绿灯,可手动操控和主动操控,设置两个输入操控开关(可用P1.0、P1.1做输入操控),操控进程如下:
东西方向 南北方向
P1.0 P1.1 绿 绿
1 0 亮 3S后亮
0 1 亮 3S后 亮
0 0
1 1 闪(亮1S灭1S) 闪(亮1S灭1S)

ORG 0000H
AJMP MAIN
ORG 000BH
AJMP T0

ORG 0030H
MAIN:MOV P1,#03H
MOV TMOD,#01H
MOV TH0,#3CH
MOV TL0,#0B0H
SETB EA
SETB ET0
MOV R2,#30
MOV R3,#30
MOV R4,#50
MOV R5,#50
MOV R6,#10
MOV R7,#10
SETB TR0
SJMP $

ORG 0200H;进入定时器,首要判别状况
T0:SETB P1.0
SETB P1.1
JB P1.0,AA ;每100ms判别一次状况
JNB P1.0,BB
AA:JB P1.1,SHAN ;11
JNB P1.1,ZD2 ;01
BB:JB P1.1,ZD1 ;10
JNB P1.1,HONG;00

SHAN:MOV TH0,#3CH;黄灯闪耀状况
MOV TL0,#0B0H
CJNE R6,#00H,LOOP1
MOV P1,#01001011B;亮一秒
DJNZ R7,GORET1
MOV R6,#0AH
GORETI:RETI
LOOP1:MOV P1,#00000011B;灭一秒
DJNZ R6,GORET1
MOV R7,#0AH
GORET1:RETI

HONG:MOV TH0,#3CH ;红灯一向亮
MOV TL0,#0B0H
MOV P1,#10010000B
RETI

ZD1:JB P1.4,ZD11
MOV TH0,#3CH;主动状况
MOV TL0,#0B0H
CJNE R4,#00H,LOOP2
MOV P1,#10001001B;黄灯亮3秒
DJNZ R2,GORET2
MOV R4,#50
LJMP ZD11
LOOP2:MOV P1,#10000101B;红灯亮5秒
DJNZ R4,GORET2
MOV R2,#1EH
GORET2:RETI

ZD11:MOV TH0,#3CH ;主动状况11
MOV TL0,#0B0H
CJNE R4,#00H,LOOP5
MOV P1,#01010001B;黄灯亮3秒
DJNZ R2,GORET3
MOV R4,#32H
MOV P1,#10000110B
AJMP ZD1
LOOP5:MOV P1,#00110001B;绿灯亮5秒
DJNZ R4,GORET3
MOV R2,#1EH
GORET3:RETI

ZD2:JB P1.7,ZD21
MOV TH0,#3CH ;主动状况2
MOV TL0,#0B0H
CJNE R5,#00H,LOOP3
MOV P1,#01010010B;黄灯亮3秒
DJNZ R3,GORET4
MOV R5,#32H
AJMP ZD21
LOOP3:MOV P1,#00110010B;绿灯亮5秒
DJNZ R5,GORET4
MOV R3,#1EH
GORET4:RETI

ZD21:MOV TH0,#3CH;主动状况
MOV TL0,#0B0H
CJNE R5,#00H,LOOP6
MOV P1,#10001010B;黄灯亮3秒
DJNZ R3,GORET5
MOV R5,#32H
MOV P1,#00110010B
AJMP ZD2
LOOP6:MOV P1,#10000110B;红灯亮5秒
DJNZ R5,GORET5
MOV R3,#1EH
GORET5:RETI

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/261581.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部