8051单片机P0口接有16个LED,编程实现流水灯,每次亮一个亮1s后熄灭再亮第二个,再亮1s然后熄灭,以此类推

2024年12月02日 20:32
有4个网友回答
网友(1):

MIN:    MOV   R0,#00H
        MOV   DPTR,#TAB
DD1:    MOV   A, R0
        MOVC  A,@A+DPTR
        MOV   P1, A
        ACALL DELAY1
        INC   R0
        CJNE  R0, #10H, DD1
        JMP   MIN

DELAY1: MOV R5,#2     ; 可以改时间
    D1: MOV R6,#255       
    D2: MOV R7,#255
    D3: DJNZ R7,D3
        DJNZ R6,D2
        DJNZ R5,D1
        RET                     

TAB:  DB 0E8H,0D8H,0B8H, 78H,0E4H,0D4H,0B4H, 74H 
      DB 0E2H,0D2H,0B2H, 72H,0E1H,0D1H,0B1H, 71H
      END

网友(2):

流水灯程序很简单的,关键是你的这个8脚上接16个LED不晓得能亮不,16个可接成4*4的,但是应该驱动不了的。

网友(3):

你这题目有问题吧,8051是8位机,P0口只有8根口线如何控制16个LED,如果是用扩展或者加了其他元件以便实现16个LED的控制,那也得说出硬件接法啊,是你题目抄错了还是出题的是个糊涂蛋

网友(4):

1楼正解。