ORG 0000H<br /> START:MOV SP,#60H<br /> JMP MAIN<br /> ORG 0023H<br /> PUSH A<br /> PUSH PSW<br /> PUSH B<br /> CLR RI<br /> MOV A,SBUF<br />D100US:PUSH 02H<br /> MOV R2,#150<br /> EEE1:DJNZ R2,EEE1<br /> POP 02H<br /> RET<br /> D1MS:MOV R3,#2 ;延时子程序<br /> JMP LOOP92<br /> D10MS:MOV R3,#20 ;延时子程序<br /> LOOP92:MOV R2,#0FAH<br /> LOOP91:DJNZ R2,LOOP91<br /> DJNZ R3,LOOP92<br /> RET<br /> D60MS:MOV R3,#120 ;延时子程序<br /> LOOP94:MOV R2,#0FAH<br /> LOOP93:DJNZ R2,LOOP93<br /> DJNZ R3,LOOP94<br /> RET<br /> EEPWR:PUSH PSW<br /> PUSH A<br /> SETB PSW.3<br /> CALL ESTR<br /> CLR C<br /> MOV A,DZJCQH<br /> RLC A<br /> ORL A,#0A0H<br /> CALL WROM<br /> MOV A,DZJCQL<br /> CALL WROM<br /> MOV A,SJJCQ<br /> CALL WROM<br /> CALL ESTOP<br /> NOP<br /> MOV R7,#10<br /> DJNZ R7,$<br /> POP A<br /> POP PSW<br /> RET<br /> EEPRD:PUSH PSW<br /> PUSH A<br /> SETB PSW.3<br /> CALL ESTR<br /> CLR C<br /> MOV A,DZJCQH<br /> RLC A<br /> ORL A,#0A0H<br /> CALL WROM<br /> MOV A,DZJCQL<br /> CALL WROM<br /> CALL ESTR<br /> MOV A,#0A1H<br /> CALL WROM<br /> CALL RROM<br /> MOV SJJCQ,A<br /> CALL ESTOP<br /> MOV R7,#10<br /> DJNZ R7,$<br /> POP A<br /> POP PSW<br /> RET<br /> ESTR:MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> CLR SCL<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> SETB SDA<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP ;1.5US<br /> SETB SCL<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP ;6.5US<br /> NOP<br /> NOP<br /> CLR SDA<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP ;5US<br /> NOP<br /> NOP<br /> CLR SCL<br /> MOV R7,#8 ;20US<br /> NOP<br /> DJNZ R7,$<br /> RET<br /> WROM:MOV R1,#8<br /> WROM0:RLC A<br /> MOV SDA,C<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP<br /> SETB SCL<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP<br /> NOP<br /> NOP<br /> CLR SCL<br /> MOV R7,#8<br /> NOP<br /> DJNZ R7,$<br /> DJNZ R1,WROM0<br /> SETB SDA<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP<br /> SETB SCL<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP<br /> MOV C,SDA<br /> MOV R7,#8<br /> NOP<br /> DJNZ R7,$<br /> CLR SCL<br /> MOV R7,#8<br /> NOP<br /> DJNZ R7,$<br /> RET<br /> ESTOP:CLR SDA<br /> MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> NOP<br /> NOP<br /> NOP<br /> SETB SCL<br /> NOP<br /> NOP<br /> SETB SDA<br /> NOP<br /> NOP<br /> NOP<br /> CLR SCL<br /> RET<br /> RROM:MOV R2,#8<br /> NOP<br /> CLR SCL<br /> SETB SDA<br /> RROM1:MOV R7,#2<br /> NOP<br /> DJNZ R7,$<br /> SETB SCL<br /> NOP<br /> MOV C,SDA<br /> RLC A<br /> MOV R7,#1<br /> NOP<br /> DJNZ R7,$<br /> CLR SCL<br /> DJNZ R2,RROM1<br /> MOV R7,#5<br /> NOP<br /> DJNZ R7,$<br /> RET<br /> DISPLAY:MOV DPTR,#TABLE1 ;显示子程序<br /> MOV A,XHSZ+3<br /> MOVC A,@A+DPTR<br /> CALL CLSX<br /> MOV A,XHSZ+2<br /> MOVC A,@A+DPTR<br /> CALL CLSX<br /> MOV A,XHSZ+1<br /> MOVC A,@A+DPTR<br /> CALL CLSX<br /> MOV A,XHSZ<br /> MOVC A,@A+DPTR<br /> CALL CLSX<br /> SETB OE<br /> SETB ST<br /> NOP<br /> NOP<br /> CLR ST<br /> CLR OE<br /> RET<br /> QXS:MOV R4,#4<br /> DISP4:MOV A,#04H<br /> CPL A<br /> CALL CLSX<br /> DJNZ R4,DISP4<br /> SETB OE<br /> SETB ST<br /> NOP<br /> NOP<br /> CLR ST<br /> CLR OE<br /> RET<br /> CLSX:MOV R5,#8<br /> CLSX1:RRC A<br /> MOV DOT,C<br /> SETB CP<br /> NOP<br /> NOP<br /> CLR CP<br /> DJNZ R5,CLSX1<br /> RET<br /> TABLE1:DB 44H,0DEH,26H,16H ;"0--3"<br /> DB 9CH,15H,05H,5EH ;"4--7"<br /> DB 04H,14H,0CH,85H ;"8,9,A,B"<br /> DB 65H,86H,25H,2DH ;"C,D,E,F"<br /> DB 0FBH,0BFH,2CH,0E5H ;" ,-,P,L"<br /> DB 6DH,0C4H,4CH,0FFH ;"Γ,U,N"<br />; TABLE1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H ;0. - 7.<br /> DB 0FFH,0EFH,88H,0,0,0,0,0 ;8. - 9.<br /> DB 28H,0faH,49H,58H ;"0--3"<br /> DB 9aH,1cH,0cH,0f8H ;"4--7"<br /> DB 08H,18H,0FFH,0DFH ;"8,9, ,-"<br /> DB 89H,7FH,0DH,8DH ;"P,_,E,F"<br /> DB 20H,0F2H,41H,50H ;"0.--3."<br /> DB 92H,14H,04H,0F0H ;"4.--7."<br /> DB 00H,10H,0F7H,0D7H ;"8.,9., ., ."<br /> DB 81H,77H,05H,85H ;"P.,_.,E.,F."<br /> RET<br /> END<br />
|