51单片机,用汇编语言编写:8个灯亮三遍(从左到右)

2020-01-12 17:19发布

P1口8个灯,共阳连接,8个灯亮三遍,0.5s每次点亮一个灯(主频12mhz),请问这个程序怎么写
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
40条回答
kap
2020-01-15 19:00

   ORG    0000H
    LJMP  START

   ORG    0100H
START:
   MOV  P1,#00H
   MOV  SP,#60H

MAIN:  MOV  R0,#3
LOOP1: MOV R1,#8
           MOV A,#01H
LOOP2:MOV P1,A
           RLC  A
           ACALL DELAY500MS
           DJNZ R1,LOOP2
           DJNZ R0,LOOP1
         
           AJMP  $   ;停机

;根据不同型号51需要调整
DELAY500MS:
          MOV    R5,#250 ;  2MS*250=500MS
DLY1:  MOV    R6,#200 ;  10US*200=2MS
DLY2:  NOP
          NOP
          NOP
          NOP
          NOP
          NOP
          NOP
          NOP
          DJNZ   R6,DLY2  
          DJNZ   R5,DLY1
          RET


         END

一周热门 更多>