登录
首页 单片机论坛
回帖 发帖
正文

主题:各位大虾 帮我修改以下程序

点击:1085 回复:0

我是用8051CPU和LS273锁存器做的交通灯控制电路,数码管是共阴极的动态显示
P1.0口接十位  P1.1口接个位  P1.2  P1.3  P1.4口分别接南北方向的红黄绿灯
P1.5  P1.6  P1.7口分别接东西方向的红黄绿灯
下面的程序是南北方向32S,东西方向40S的切换,如何把它改成为:<1>南北,红灯亮32S,同时东西绿灯也亮32S,但最后3S绿灯闪烁3下.<2>东西方向红灯亮40S,同时南北方向绿灯也亮40S,最后3S绿灯闪烁3下.
请问这最后3S如何判断?请大哥大姐们帮帮忙改一下,谢谢谢放谢^^^
小弟的邮箱地址是:031hzj1983@163.com
          ORG  0000H
          LJMP  START
          ORG  4100H    
START:SETB  P1.2
          CLR  P1.4
          CLR  P1.5
          CLR  P1.6
          SETB  P1.7
          MOV  R0,#06H
          MOV  R3,#07H
          LCALL  SUB1
          SETB   P1.4
          CLR   P1.2
          CLR  P1.3
          CLR  P1.7
          SETB  P1.5
          CLR   P1.6
          MOV  R0,#08H
          MOV  R3,#05H
          LCALL  SUB1
          LJMP  START
SUB1:MOV   R4,#25
NEXT1:MOV   DPTR,#TAB
         MOV  A,R0
         MOVC  A,@A+DPTR
         MOV   DPTR,#0CFA0H
         MOVX   @DPTR,A
         CLR  P1.0
         SETB  P1.1
         LCALL  SUB
NEXT2:MOV  DPTR,#TAB
         MOV   A,R3
         MOVC   A,@A+DPTR
         MOV   DPTR,#0CFA0H
         MOVX  @DPTR,A
         CLR  P1.1
         SETB  P1.0
         LCALL  SUB
         DJNZ  R4,NEXT1
         LCALL  SUB
         INC  R0
         CJNE  R0,#10,NEXT1
         MOV  R0,#00H
         INC  R3
         CJNE  R3,#10,NEXT1        
         RET
 SUB:MOV  R7,#80
DEL1:MOV  R6,#4
         NOP
DEL2:DJNZ  R6,DEL2
         DJNZ  R7,DEL1
         RET    
 TAB:DB 6FH,7FH,07H,7DH,6DH
        DB 66H,4FH,5BH,06H,3FH
        END
05-06-14 19:12

工控新闻

更多新闻资讯