这是一个以1621为驱动的LCD显示,不知道那里做得不对,没看到有东西显示出来。用了4个COM口和SEG0-SEG19这几个口<br />;CS equ P1.0<br />;DWR equ P1.1<br />;DAT equ P1.2<br />ORG 0000H<br />JMP MAIN<br /><br />MAIN:<br /> MOV SP,#60H<br /> SETB P1.0<br /> MOV A,#01H ;开震荡<br /> CALL WRIT_MODE<br /><br /> MOV A,#18H<br /> CALL WRIT_MODE<br /><br /> MOV A,#29H ;LCD1/3,4COM<br /> CALL WRIT_MODE<br /><br /> MOV A,#03H ;LCD 0N<br /> CALL WRIT_MODE<br /><br />MAIN1: ;清屏<br /> MOV R0,#0<br />MAIN2:<br /> MOV A,R0<br /> CALL WRIT_DATA<br /> MOV A,#00H<br /> CALL WRIT_DATA0<br /> INC R0<br /> CJNE R0,#20,MAIN2 ;清SEG0-20<br /> CALL TIME1<br /><br />MAIN3:<br /> MOV A,#08H<br /> CALL WRIT_DATA<br /> MOV A,#0FH<br /> CALL WRIT_DATA0<br /> JMP MAIN3<br /><br />WRIT_MODE: ;100<br /> CLR P1.0<br /> SETB P1.2<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /> NOP<br /> CLR P1.2<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /> NOP<br /> CLR P1.2<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /><br /> MOV R7,#08H<br />WRIT_MODE1:<br /> RLC A<br /> MOV P1.2,C<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /> NOP<br /> DJNZ R7,WRIT_MODE1<br /><br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /> SETB P1.0<br /> RET<br /><br /><br />WRIT_DATA: ;101<br /> CLR P1.0<br /> SETB P1.2<br /> NOP<br /> CLR P1.1<br /> NOP<br /> CLR P1.1<br /> NOP<br /> CLR P1.2<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /> NOP<br /> SETB P1.2<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /><br /> MOV R7,#06H<br /> RLC A<br /> RLC A<br />WRIT_DATA1:<br /> RLC A<br /> MOV P1.2,C<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /> NOP<br /> DJNZ R7,WRIT_DATA1<br /> SETB P1.0<br /> RET<br /><br />WRIT_DATA0:<br /> CLR P1.0<br /> MOV R7,#04H<br /> RLC A<br /> RLC A<br /> RLC A<br /> RLC A<br />WRIT_DATA01:<br /> RLC A<br /> MOV P1.2,C<br /> NOP<br /> CLR P1.1<br /> NOP<br /> SETB P1.1<br /> NOP<br /> DJNZ R7,WRIT_DATA01<br /> SETB P1.0<br /> RET<br /><br />;1s<br />TIME1:<br /> MOV 10H,#12H<br /> G1: MOV 11H,#33H<br /> G2: MOV 12H,#6FH<br /> G3: DJNZ 12H,G3<br /> DJNZ 11H,G2<br /> DJNZ 10H,G3<br /> RET<br /><br />;66ms<br />TIME2:<br /> MOV 10H,#09H<br /> M1: MOV 11H,#2CH<br /> M2: MOV 12H,#0DH<br /> M3: DJNZ 12H,M3<br /> DJNZ 11H,M2<br /> DJNZ 10H,M3<br /> RET<br /> END |
|