(1)流水燈的匯編語言實現(xiàn) ORG 0000H ;程序從0地址開始 START: MOV A,#0FEH ; ACC賦值為11111110 LOOP: MOV P1,A ;將累加器A的值賦值給P1 RR A ; ACC的內(nèi)容右移 CALL DELAY ;調(diào)用延時子程序 LJMP LOOP ;跳到LOOP處執(zhí)行 ;延時子程序(12MHz晶振)=================== DELAY: MOV R7,#255 ;R7寄存器加載200次數(shù) D1: MOV R6,#250 ;R6寄存器加載250次數(shù) lp: DJNZ R6,lp ;本行執(zhí)行R6次,也可以用 ;DJNZ R6,$ 代替 DJNZ R7,D1 ;D1循環(huán)執(zhí)行R7次 RET ;返回主程序 END ;結(jié)束程序 (2)流水燈的C語言實現(xiàn) #include<reg51.h> #include <intrins.h> #define uint unsigned int #define uchar unsigned char uchar a; void delay(uint z)//最大值65535 { while(z--); } void main() { a=0xfe;//11111110 P1=a;//P10亮 while(1) { a=_crol_(a,1);//11111101 P1=a; delay(30000); } }