×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-09-02 发布时间:
|
设计一交通灯控制系统,控制东西方向的红、黄、绿灯和南北方向的红、黄、绿灯,可手动控制和自动控制,设置两个输入控制开关(可用P1.0、P1.1做输入控制),控制过程如下:
                 东西方向                  南北方向
P1.0  P1.1     红    黄      绿        红      黄      绿
         亮                                    亮 3S后亮
                      亮 3S后 亮  
         亮                     
           闪(亮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
关键字:交通灯控制  80C51  单片机

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多