51单片机用汇编语言实现八个LED的全亮全灭
答案:1 悬赏:10 手机版
解决时间 2021-04-04 18:37
- 提问者网友:鼻尖触碰
- 2021-04-03 18:57
51单片机用汇编语言实现八个LED的全亮全灭
最佳答案
- 五星知识达人网友:夜余生
- 2021-04-03 19:38
;以89c51单片机为例,假定用P1控制LED:
IO_LED EQU P1;
led_0 BIT P1.0;
led_1 BIT P1.1;
led_2 BIT P1.2;
led_3 BIT P1.3;
led_4 BIT P1.4;
led_5 BIT P1.5;
led_6 BIT P1.6;
led_7 BIT P1.7;
;定义开关LED的数据,假定LED正极一端接电源,另一端通过限流电阻接I/O端口:
DATA_CloseLED EQU 11111111B;
DATA_OpenLED EQU 00000000B;
ORG 0000H
AJMP MAIN
ORG 0030H
;-----------------------
;延时0.5秒程序(注:此延时函数摘自STC-ISP)
DELAY500MS: ;@12.000MHz
PUSH 30H
PUSH 31H
PUSH 32H
MOV 30H,#4
MOV 31H,#205
MOV 32H,#180
NEXT:
DJNZ 32H,NEXT
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 32H
POP 31H
POP 30H
RET
;-----------------------
;下面是主程序
MAIN:
MOV IO_LED,#DATA_CloseLED;同时关闭8个LED
LCALL DELAY500MS;延时0.5秒
MOV IO_LED,#DATA_OpenLED;同时打开8个LED
LCALL DELAY500MS;延时0.5秒
LJMP MAIN;循环
END;
上面程序演示了8个LED间隔0.5秒同时亮和灭的变化。
IO_LED EQU P1;
led_0 BIT P1.0;
led_1 BIT P1.1;
led_2 BIT P1.2;
led_3 BIT P1.3;
led_4 BIT P1.4;
led_5 BIT P1.5;
led_6 BIT P1.6;
led_7 BIT P1.7;
;定义开关LED的数据,假定LED正极一端接电源,另一端通过限流电阻接I/O端口:
DATA_CloseLED EQU 11111111B;
DATA_OpenLED EQU 00000000B;
ORG 0000H
AJMP MAIN
ORG 0030H
;-----------------------
;延时0.5秒程序(注:此延时函数摘自STC-ISP)
DELAY500MS: ;@12.000MHz
PUSH 30H
PUSH 31H
PUSH 32H
MOV 30H,#4
MOV 31H,#205
MOV 32H,#180
NEXT:
DJNZ 32H,NEXT
DJNZ 31H,NEXT
DJNZ 30H,NEXT
POP 32H
POP 31H
POP 30H
RET
;-----------------------
;下面是主程序
MAIN:
MOV IO_LED,#DATA_CloseLED;同时关闭8个LED
LCALL DELAY500MS;延时0.5秒
MOV IO_LED,#DATA_OpenLED;同时打开8个LED
LCALL DELAY500MS;延时0.5秒
LJMP MAIN;循环
END;
上面程序演示了8个LED间隔0.5秒同时亮和灭的变化。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯