單片機(jī)的跑馬燈簡(jiǎn)單匯編程序
使用取反(CPL)實(shí)現(xiàn)跑馬燈的閃爍,隨后給P0口賦值實(shí)現(xiàn)移動(dòng)。
注;使用的是12MHZ頻率,
ORG 0000H LJMP LOOP1 ORG 0030H LOOP1: MOV A,#11111111B clr p1.4 ;打開(kāi)使能MOV R1,#5 ;閃爍5次 LOOP: CPL A ;取反 MOV P0 , A ;輸出 ACALL DEL CPL A MOV P0 , A ACALL DEL DJNZ R1 , LOOP ;減一非零判斷 MOV P0,#11100111B ACALL DEL MOV P0,#11011011B ACALL DEL MOV P0,#10111101B ACALL DEL MOV P0,#01111110B ACALL DEL LJMP LOOP1 LOOP3: ACALL DEL SJMP LOOP1 DEL: MOV R5,#6H ;延時(shí)子程序部分 F3: MOV R6,#0FFH ;BCD碼為255 F2: MOV R7,#0FFH ;總延時(shí)為0.7803s F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END
帶C循環(huán)做移動(dòng),使用一條跳轉(zhuǎn)轉(zhuǎn)移指令就可實(shí)現(xiàn)一直循環(huán)下去,延時(shí)為1.3s!
ORG 0000H SJMP BEGAIN ORG 0030H BEGAIN: MOV P0, #0FFH ;初始狀態(tài) clr p1.4 ;打開(kāi)led使能mov P2, #00110101B ; 鎖存2個(gè)74hc573,防止數(shù)碼管點(diǎn)陣干擾.MAIN : CLR A MOV A ,#11111110B ; 0FEH LOOP: RLC A MOV P0 , A ACALL DEL LJMP LOOP DEL: MOV R5,#10H F3: MOV R6,#0FFH F2: MOV R7,#0FFH F1: DJNZ R7,F1 DJNZ R6,F2 DJNZ R5,F3 RET END
單片機(jī)相關(guān)文章:單片機(jī)教程
單片機(jī)相關(guān)文章:單片機(jī)視頻教程
單片機(jī)相關(guān)文章:單片機(jī)工作原理
評(píng)論