收藏 分销(赏)

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

上传人:鼓*** 文档编号:12150296 上传时间:2025-09-17 格式:DOC 页数:4 大小:24.50KB 下载积分:8 金币
下载 相关 举报
51单片机:LED灯亮灯灭程序设计.doc_第1页
第1页 / 共4页
51单片机:LED灯亮灯灭程序设计.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服