最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

51单片机:LED灯亮灯灭程序设计

来源:动视网 责编:小OO 时间:2025-10-02 10:53:54
文档

51单片机:LED灯亮灯灭程序设计

1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。程序:01:MOVA,#11111110B;存入欲显示灯的位置数据02:MOVP1,A;点亮第一只灯03:JMP$;保持当前的输出状态04:END;程序结束2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。程序:01:START:MOVA,#00010010B;存入欲显示灯的位置数据02:MOVP1,A;点亮灯03:JMPSTART;重新设定显示值04:END;程序结束3.功能说明:单
推荐度:
导读1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。程序:01:MOVA,#11111110B;存入欲显示灯的位置数据02:MOVP1,A;点亮第一只灯03:JMP$;保持当前的输出状态04:END;程序结束2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。程序:01:START:MOVA,#00010010B;存入欲显示灯的位置数据02:MOVP1,A;点亮灯03:JMPSTART;重新设定显示值04:END;程序结束3.功能说明:单
1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。

程序:

01:     MOV A , #11111110B   ;   存入欲显示灯的位置数据

02:     MOV P1, A       ;   点亮第一只灯

03:     JMP $             ;   保持当前的输出状态

04:     END                    ;   程序结束

2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。

程序:

01:START: MOV A , #00010010B   ; 存入欲显示灯的位置数据

02:    MOV P1, A       ; 点亮灯

03:    JMP START           ; 重新设定显示值

04:    END                ; 程序结束

3.功能说明:单片机P1端口接8只LED,每次点亮一只,向左移动点亮,重复循环。

程序:

01: START: MOV R0, #8       ;设左移8次

02:          MOV A,   #11111110B   ;存入开始点亮灯位置

03: LOOP: MOV P1, A           ;传送到P1并输出

04:          RL A             ;左移一位

05:          DJNZ   R0, LOOP        ;判断移动次数

06:          JMP START           ;重新设定显示值

07:          END                ;程序结束

4.功能说明:单片机P1端口接8只LED,每次点亮一只,向右移动点亮,重复循环。

程序:

01: START: MOV R0, #8       ;设右移8次

02:       MOV A,   #01111111B ;存入开始点亮灯位置

03: LOOP:   MOV P1, A       ;传送到P1并输出

04:           ACALL DELAY       ;调延时子程序       

05:           RR A              ;右移一位

06:           DJNZ   R0, LOOP    ;判断移动次数

07:           JMP START       ;重新设定显示值

08: DELAY:   MOV   R5,#50       ;

09:   DLY1: MOV   R6,#100       ;

10: DLY2: MOV   R7,#100       ;

11:           DJNZ R7,$          ;                

12:           DJNZ R6,DLY2       ;

13:           DJNZ R5,DLY1       ;

14:           RET                ;子程序返回

15:       END                ;程序结束

5.功能说明:单片机P1端口接8只LED,每次点亮一只,先把右边的第一只点亮,0.5秒后点亮右数的第二只灯,第一只熄灭,再过0.5秒点亮右数的第三只灯,第二只熄灭,…亮灯按此顺序由右向左移动。当亮灯移到左侧后,开始与上述反方向移动,即亮灯由左向右移动,重复循环。

程序:

01:   START: MOV R0, #8 ;设左移8次

02:           MOV A,#0FEH ;存入开始亮灯位置

03:   LOOP: MOV P1, A     ;传送到P1并输出 

04:           ACALL DELAY     ;调延时子程序

05:           RL A       ;左移一位

06:           DJNZ   R0, LOOP   ;判断移动次数    

07:           MOV R1, #8 ;设右移8次          

08; LOOP1:   RR A       ;右移一位       

09:           MOV P1, A     ;传送到P1并输出

10:          ACALL DELAY     ;调延时子程序

11:          DJNZ   R1,LOOP1   ;判断移动次数    

12:          JMP START     ;重新设定显示值          

13: DELAY:   MOV   R5,#25     ;延时0.5秒子程序

14: DLY1: MOV   R6,#100 ;

15: DLY2: MOV   R7,#100 ;

16:           DJNZ R7,$    ;                   

17:           DJNZ R6,DLY2 ;

18:           DJNZ R5,DLY1 ;

19:           RET          ;子程序返回             

20:           END          ;             

6.功能说明:单片机P1端口接8只LED,每次点亮两只,先从右边向左边移动点亮;再从左边向右边移动点亮,然后闪烁两次,重复循环。

程序:

01:   START: MOV R0, #7              ;设左移7次

02:           MOV A,#0FCH          ;存入开始亮灯位置

03:   LOOP: MOV    P1, A           ;传送到P1并输出  

04:          ACALL     DELAY       ;调延时子程序

05:          RL       A             ;左移一位

06:          DJNZ    R0, LOOP    ;判断移动次数    

07:          MOV    R1, #7           ;设右移7次

08: LOOP1: RR       A             ;右移一位       

09:          MOV    P1, A          ;传送到P1并输出

10:          ACALL     DELAY       ;调延时子程序

11:          DJNZ    R1, LOOP1    ;判断移动次数    

12:          MOV    R2, #3           ;设置闪烁次数

13:          MOV    A, #00H       ;设初始值

14: LOOP2: MOV    P1, A          ;P1端口灯亮

15:          ACALL     DELAY       ;调用延时子程序

16:          CPL        A             ;A取反值

17:          DJNZ    R2, LOOP2    ;判断闪烁次数    

18:          JMP        START       ;重新设定显示值          

19: DELAY: MOV    R5, #25 

20: DLY1:     MOV    R6, #100 

21: DLY2:     MOV    R7, #100 

22:          DJNZ    R7, $                            

23:          DJNZ    R6, DLY2 

24:          DJNZ    R5, DLY1 

25:          RET                      ;子程序返回    

26:          END                      ;程序结束

7.功能说明

单片机端口接八只LED,编程时利用取表的方法,使端口P1做单一灯的变化:先向左移2次,然后向右移2次,再闪烁4次,不断循环。

程序:

01:     START:   MOV   DPTR, #TABLE ;存表

02:     LOOP: CLR A          ;A清零                                  

03:          MOVC   A, @A+DPTR ;取表代码

04:          CJNE   A, #01H, LOOP1;不是01H,循环

05:          JMP START       ;重新设定

06:     LOOP1:   MOV P1, A       ;送P1输出

07:          ACALL DELAY       ;调延时程序

08:          INC DPTR       ;数据指针加1

09:          JMP LOOP       ;转移到LOOP处 

10:     DELAY:   MOV   R5,#25       ;延时0.5秒  

11:     DLY1: MOV   R6,#100        ;

12:     DLY2: MOV   R7,#100        ;

13:          DJNZ R7,$           ;                      

14:          DJNZ R6,DLY2        ;

15:          DJNZ R5,DLY1        ;

16:          RET                 ; 

17:     TABLE:   DB 0FEH,0FDH,0FBH,0F7H   ;

18:          DB 0EFH,0DFH,0BFH,7FH ; 左移

19:          DB 0FEH,0FDH,0FBH,0F7H   ;

20:          DB 0EFH,0DFH,0BFH,7FH ; 左移

21:          DB 7FH,0BFH,0DFH,0EFH ;

22:          DB 0F7H,0FBH,0FDH,0FEH   ; 右移

23:          DB 7FH,0BFH,0DFH,0EFH ;

24:          DB 0F7H,0FBH,0FDH,0FEH   ; 右移 

25:          DB 00H,0FFH,00H,0FFH ;

26:          DB 00H,0FFH,00H,0FFH ; 闪烁

27:          DB 01H                ; 结束码 

28:          END                       ;   

8:功能说明::单片机P1端口接8只LED,依次点亮且前面保持不灭,再依次熄灭;延时0.5s,重复循环。

程序:

ORG  00H

START:MOV P1,#0FFH

CALL DELAY

      MOV P1,#7FH

CALL DELAY

      MOV P1,#3FH

CALL DELAY

      MOV P1,#1FH

CALL DELAY

      MOV P1,#0FH

CALL DELAY

      MOV P1,#07H

CALL DELAY

      MOV P1,#03H

CALL DELAY

      MOV P1,#01H

CALL DELAY

      MOV P1,#00H

CALL DELAY

      MOV P1,#01H

CALL DELAY

      MOV P1,#03H

CALL DELAY

      MOV P1,#07H

CALL DELAY

      MOV P1,#0FH

CALL DELAY

      MOV P1,#1FH

CALL DELAY

      MOV P1,#3FH

CALL DELAY

      MOV P1,#7FH

CALL DELAY

      MOV P1,#0FFH

CALL DELAY

      JMP START

DELAY:MOV R3,#20     

D1:   MOV R4,#20

D2:   MOV R5,#248

      DJNZ R5,$

      DJNZ R4,D2

      DJNZ R3,D1

      RET

      END    

文档

51单片机:LED灯亮灯灭程序设计

1.功能说明:控制单片机P1端口输出,使P1.0位所接的LED点亮,其他7只灯熄灭。程序:01:MOVA,#11111110B;存入欲显示灯的位置数据02:MOVP1,A;点亮第一只灯03:JMP$;保持当前的输出状态04:END;程序结束2.功能说明:单片机P1端口接8只LED,点亮第1、3、4、6、7、8只灯。程序:01:START:MOVA,#00010010B;存入欲显示灯的位置数据02:MOVP1,A;点亮灯03:JMPSTART;重新设定显示值04:END;程序结束3.功能说明:单
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top