本帖最后由 kxc2008 于 2009-8-2 15:32 编辑
;控制P1口LED灯渐亮和渐暗程序<br />ORG 00H<br />JMP MAIN<br />ORG 30H<br />MAIN:<br /><br />CALL LOOP2 ;<br />CALL DELAY1<br />JMP MAIN<br />;以下一段为由暗变亮的子程序,变化程度共255级,由两段程序组<br />;成,一段点亮,时间值由A中的数决定<br /><br /><br /><br />;以下为由亮变暗子程序,原理与上面一样.<br />LOOP2:<br />MOV ;P1,#0FFH <br />INC A ;程序运行到此,A的值为0,经这一步后为1<br />CJNE A,#02H,W2<br />W1:<br />JMP OVER2<br />W2:<br />MOV R7,A<br />D11:MOV R6,#30<br />DJNZ R6,$<br />DJNZ R7,D11<br />MOV ;P1,#0<br />CPL A<br />MOV R7,A<br />D22:MOV R6,#30<br />DJNZ R6,$<br />DJNZ R7,D22<br />CPL A<br />JMP LOOP2<br />OVER2:RET<br />LOOP3:MOV ;P1,#0FFH<br /> CALL DELAY1<br /> MOV ;P1,#00H<br /> CALL DELAY1<br /><br />DELAY1:MOV R3,#100<br />YS1: MOV R4,#100<br />YS2: MOV R5,#248<br /> DJNZ R5,$<br /> DJNZ R4,YS2<br /> DJNZ R3,YS1<br /> RET<br />END<br /><br /><br /><br />请教各位高手如何由亮到暗的时候,不要全灭下去,要有一点微亮,然后在从暗到亮这样循环 |