单片机,利用MCS-51集成开发环境编程:控制8个发光二极管,首先点亮一个发光二极管,悦0.5s后第二个被点亮,悦1s后第三个被点亮,悦1.5s后第4个点亮.以此类推,知道第8个被点亮.之后8个二极管闪烁
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 19:46:17
单片机,利用MCS-51集成开发环境编程:控制8个发光二极管,首先点亮一个发光二极管,悦0.5s后第二个被点亮,悦1s后第三个被点亮,悦1.5s后第4个点亮.以此类推,知道第8个被点亮.之后8个二极管闪烁
单片机,利用MCS-51集成开发环境编程:
控制8个发光二极管,首先点亮一个发光二极管,悦0.5s后第二个被点亮,悦1s后第三个被点亮,悦1.5s后第4个点亮.以此类推,知道第8个被点亮.之后8个二极管闪烁3次,接着熄灭帝8个,约0.5s后熄灭第7个,以此类推,知道所有熄灭.并重复上述过程.
单片机,利用MCS-51集成开发环境编程:控制8个发光二极管,首先点亮一个发光二极管,悦0.5s后第二个被点亮,悦1s后第三个被点亮,悦1.5s后第4个点亮.以此类推,知道第8个被点亮.之后8个二极管闪烁
程序如下:
;-------------------------------------------------
ORG 0000H
CLR A
M_LOOP:
MOV A, #255
;-------------------------------------------------
MOV R2, #8
M_L1:
CLR C
RRC A
MOV P1, A
CALL DELAY500
DJNZ R2, M_L1
;-------------------------------------------------
MOV R2, #6
M_L2:
CPL A
MOV P1, A
CALL DELAY500
DJNZ R2, M_L2
;-------------------------------------------------
MOV R2, #8
M_L3:
SETB C
RLC A
MOV P1, A
CALL DELAY500
DJNZ R2, M_L3
SJMP M_LOOP
;-------------------------------------------------
DELAY500:MOV 5FH, #5 ;2T;
DEL4: MOV 5EH, #200 ;2T;
DEL3: MOV 5DH, #242 ;2T;
NOP ;1T;
DJNZ 5DH, $ ;2T;
DJNZ 5EH, DEL3 ;2T;
DJNZ 5FH, DEL4 ;2T;
RET ;2T;
;-------------------------------------------------
END
仿真执行效果如下: