刚开始在其它论坛泡的时候,高手调教菜鸟的时候总喜欢说刚学单片机的同志们都对流水灯的程序感到恐惧,搞得我刚燃起的心中熊熊的烈火忽然被浇灭了一点,但是后来写流水灯程序的时候才发现,不是想象中的难,最起码对我来说。然后就把程序写了出来,经过调试成功后很开心,因为我已经踏进了单片机的世界
流水灯程序:
ORG 0000H
LJMP MAIN
ORG 1000H
MAIN:
MOV 20H,#01
MOV A,#0FEH
MOV R7,20H
LOOP:
MOV P1,A
LCALL DELLAY
MOV P1,#0FFH
LCALL DELLAY
DJNZ R7,LOOP
RL A
INC 20H
MOV R7,20H
CJNE R7,#09,LOOP
LJMP MAIN
DELLAY:
MOV R3,#100
D1:
MOV R4,#20
D2:
MOV R5,#248
DJNZ R5,$
DJNZ R4,D2
DJNZ R3,D1
RET
后来老师要求我们写一个冒泡排序的程序,因为之前我也学过C语言,如果用C写的话,也不是很难(虽然我C属于初学者,也学得不太好),写的时候卡在一个内循环的嵌套跳不出来,后来在自修的时候突然就想出来了,然后就是调试,成功!那时我发现,现在的我无论是自修还是吃饭或者做其他事情的时候都会想要写的程序该怎么写,如果换了以前在高中这是不可能的事情!
ORG 0000H
MOV 70H,#52H
MOV 71H,#55H
MOV 72H,#50H
MOV 73H,#60H
MOV 74H,#56H
MOV 75H,#54H
MOV 76H,#51H
MOV 77H,#66H
MOV 78H,#61H
MOV 79H,#58H
MOV 7AH,#59H
MOV 7BH,#57H
MOV 7CH,#62H
MOV 7DH,#68H
MOV 7EH,#64H
MOV 7FH,#63H
ORG 1000H
BUBBLE: MOV R0,#70H
MOV B,#10H
CLR 30H
DEC B
LOOP:
MOV A,@R0
MOV 20H,A
INC R0
MOV 21H,@R0
CJNE A,21H,BUEU
BUEU: JC BUNEXT
MOV A,@R0
MOV @R0,20H
DEC R0
MOV @R0,A
INC R0
SETB 30H
BUNEXT: DJNZ B,LOOP
JB 30H,BUBBLE
END