分享

51单片机控制交通灯的课程设计

 共同成长888 2016-05-28
51单片机控制交通灯的课设
程序如下:
ORG 00H
;************************************************************
;灯操作及数码管显示
;************************************************************
START:MOV DPTR,#TAB
      MOV SCON,#00H
      MOV P1,#6CH
      MOV R0,#11    
D1:   DEC R0          ;自定义为10S
      CJNE R0,#3,LP0
      LCALL DBDB
      MOV P1,#6CH
      LCALL DISP1
D11:  DEC R0
      CJNE R0,#0,LP00
      MOV P1,#6CH
      LCALL DBDB
      LCALL DISP
      MOV P1,#0AAH
      MOV R0,#04
D2:   DEC R0
      CJNE R0,#0,LP1
      LCALL DBDB
      LCALL DISP
      MOV P1,#0C6H
      MOV R0,#16     ; 自定义为15S
D3:   DEC R0
      CJNE R0,#3,LP2
      LCALL DBDB
      MOV P1,#0C6H
      LCALL DISP1
D33:  DEC R0
      CJNE R0,#0,LP22
      MOV P1,#0C6H
      LCALL DBDB
      LCALL DISP
      MOV P1,#0AAH
      MOV R0,#04
D4:   DEC R0
      CJNE R0,#0,LP3
      LCALL DBDB
      LCALL DISP
      MOV P1,#6CH
      MOV R0,#11
      LJMP D1
LP0:  LCALL DBDB
      LCALL DISP
      LJMP D1
LP00: LCALL DBDB
      MOV P1,#6CH
      LCALL DISP1
      LJMP D11
LP1:  LCALL DBDB
      LCALL DISP
      LJMP D2
LP2:  LCALL DBDB
      LCALL DISP
      LJMP D3
LP22: LCALL DBDB
      MOV P1,#0C6H
      LCALL DISP1
      LJMP D33
LP3:  LCALL DBDB
      LCALL DISP
      LCALL D4
;************************************************************
;除10运算
;************************************************************
DBDB: MOV A,R0
      MOV B,#10
      DIV AB
      MOV R1,A
      MOV R2,B
      RET
;************************************************************
;显示子程序
;************************************************************
DISP: MOV A,R2
      MOVC A,@A+DPTR
      MOV SBUF,A
      JNB TI,$
      CLR TI
      MOV A,R1
      MOVC A,@A+DPTR
      MOV SBUF,A
      JNB TI,$
      CLR TI
      LCALL DELAY
      RET
DISP1: MOV A,R2
      MOVC A,@A+DPTR
      MOV SBUF,A
      JNB TI,$
      CLR TI
      MOV A,R1
      MOVC A,@A+DPTR
      MOV SBUF,A
      JNB TI,$
      CLR TI
      LCALL DELAY1
      MOV P1,#0FFH
      MOV A,#10
      MOVC A,@A+DPTR
      MOV SBUF,A
      JNB TI,$
      CLR TI
      MOV SBUF,A
      JNB TI,$
      CLR TI
      LCALL DELAY2
      RET
;************************************************************
;延时子程序
;************************************************************
DELAY:MOV R3,#09H
K1:   MOV R4,#100
K2:   MOV R5,#250
K3:   DJNZ R5,K3
      DJNZ R4,K2
      DJNZ R3,K1
      RET
DELAY1:MOV R3,#09H
SS1:   MOV R4,#80
SS2:   MOV R5,#250
SS3:   DJNZ R5,SS3
      DJNZ R4,SS2
      DJNZ R3,SS1
      RET
DELAY2:MOV R3,#09H
AA1:   MOV R4,#30
AA2:   MOV R5,#250
AA3:   DJNZ R5,AA3
      DJNZ R4,AA2
      DJNZ R3,AA1
      RET
TAB:  DB 3FH,06H,5BH
      DB 4FH,66H
      DB 6DH,7DH,07H
      DB 7FH,6FH,00H                                                                  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章