单片机闪烁灯流水灯汇编代码大全
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
单片机闪烁灯流水 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)