微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机闪烁灯流水灯汇编代码大全

单片机闪烁灯流水灯汇编代码大全

时间:11-29 来源:互联网 点击:

P1,#11111011B

MOV P2,#11111001B

CALL D4MS

MOV P1,#11110111B

MOV P2,#11111001B

CALL D4MS

DJNZ R0,LOOP_1

MOV R1,#65

LOOP_2:

MOV P1,#11111110B

MOV P2,#11111001B

CALL D4MS

MOV P1,#11111101B

MOV P2,#00100100B

CALL D4MS

MOV P1,#11111011B

MOV P2,#10110000B

CALL D4MS

MOV P1,#11110111B

MOV P2,#11000000B

CALL D4MS

DJNZ R1,LOOP_2

JMP LOOP

D4MS: MOV R7,#10

D1: MOV R6,#200

DJNZ R6,$

DJNZ R7,D1

RET

END

14、单片机AT89C51的P0口接8个LED,用INT0产生中断。主程序正常执行时,P0口的8个LED单灯左移。

当进入中断状态时,P0口的8个LED将变成单灯右移,3个循环后,恢复中断前的状态,

即继续执行8个LED单灯左移。延时为0.5S。

ORG 0000H

JMP main

ORG 0003H

JMP int_0

main:

SETB IT0

SETB EX0

SETB EA

MOV A,#11111110B

s: RL A

MOV P2,A

CALL delay

JMP s

delay:

MOV R7,#100

d3: MOV R6,#200

d2: MOV R5,#250

d1: DJNZ R5,d1

DJNZ R6,d2

DJNZ R7,d3

RET

int_0:

MOV P2,A

MOV R0,#24

k: RR A

MOV P2,A

CALL delay

DJNZ R0,k

MOV R0,#24

RETI

END

15、功能要求:用 产生中断,主程序正常执行时,数码管循环显示“0~9”,

每0.5S增加1。当进入中断状态时,数码管循环显示“9~0”,

每0.5S减少1,一圈之后恢复中断前的状态。

ORG 0000H

JMP main

ORG 0003H

JMP int_0

main:

SETB IT0

SETB EX0

SETB EA

s: MOV P2,A

CALL delay

INC A

CJNE A,#10,s

MOV A,#0

JMP s

delay:

MOV R7,#100

d3: MOV R6,#200

d2: MOV R5,#250

d1: DJNZ R5,d1

DJNZ R6,d2

DJNZ R7,d3

RET

int_0:

MOV A,#10

k: DEC A

MOV P2,A

CALL delay

CJNE A,#0H,k

RETI

END

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top