RS BIT P2.0 ;P3.4脚接RS端 RW BIT P2.1 ;P3.5脚接R_W端 E BIT P2.2 ;P3.3脚接E端 ORG 0000H LJMP MAIN ORG 002BH LJMP IT1 MAIN: MOV P0,#01H ;清除屏幕 ACALL ENABLE MOV P0,#01H ;清除屏幕 ACALL ENABLE MOV P0,#01H ;清除屏幕 ACALL ENABLE MOV P0,#38H ;8位点阵方式 ACALL ENABLE MOV P0,#0cH ;开显示 ACALL ENABLE MOV P0,#06H ;移动光标 ACALL ENABLE MOV P0,#80H ;显示位置 ACALL ENABLE mov p0,#80h ;第一行的位置 call enable mov dptr,#date call write3 mov p0,#0c0h ;第二行的位置 call enable MOV SP,#7FH CLR CY mov r6,#00 mov r2,#00 MOV R3,#00 MOV TMOD,#15H MOV TL0,#00H MOV TH0,#00H mov th1,#high(65536-50000) mov tl1,#low(65536-50000) ;setb ET1 cha1: SETB TR1 ;LCALL XIANSHI SETB TR0 mov 27h,#00h CLR C MOV C,P1.6 MOV 27H.0,C CLR C MOV C,P1.7 MOV 27H.1,C mov a,27h ANL A,#03H MOV 17H,A CHA: JBC TF1,JINWEI ;益处进位 JMP CHA JINWEI:CLR TR1 mov th1,#high(65536-50000) mov tl1,#low(65536-50000) SETB TR1 INC R3 MOV A,R3 ;JNB P3.2,$ CJNE A,#20,CHA CLR TR0 CLR TR1 MOV R3,#00 MOV R2,TH0 MOV R6,TL0 lcall zhuan LCALL write1 MOV TL0,#00H MOV TH0,#00H jmp cha1 ZHUAN: MOV A,R2 CLR C MOV 20H,#00H MOV 21H,#00H MOV 22H,#00H MOV 24H,#00H MOV 25H,#00H MOV R3,#10H NEXT: RLC A MOV R2,A MOV A,20H ADDC A,20H DA A MOV 20H,A MOV A,21H ADDC A,21H DA A MOV 21H,A MOV A,22H ADDC A,22H DA A MOV 22H,A MOV A,R2 DJNZ R3,NEXT MOV A,R6 clr c MOV R3,#08H NEXT1: RLC A MOV R6,A MOV A,24H ADDC A,24H DA A MOV 24H,A MOV A,25H ADDC A,25H DA A MOV 25H,A mov a,r6 DJNZ R3,NEXT1 clr c mov a,24h addc a,20h da a mov 20h,a mov a,25h addc a,21h da a mov 21h,a mov a,22h addc a,#00h da a mov 22h,a mov a,22h anl a,#0fh mov 31h,a mov a,22h anl a,#0f0h swap a mov 30h,a mov a,21h anl a,#0f0h swap a mov 32h,a mov a,21h anl a,#0fh mov 33h,a mov a,20h anl a,#0f0h swap a mov 34h,a mov a,20h anl a,#0fh mov 35h,a ret ;************** ;LCD显示 ;************** ENABLE: CLR RS CLR RW CLR E ACALL DELAY SETB E RET write1: ;写数据 MOV 10H,#00H MOV 11H,#00H MOV 12H,#00H MOV 13H,#00H MOV 14H,#00H MOV 15H,#00H MOV 16H,#00H mov p0,#0ch call enable mov p0,#0c0h ;第二行的位置 call enable MOV A,17H XRL A,#02H JNZ XIAN1 MOV 40H,#00H MOV 41H,#00H MOV 42H,#00H MOV 43H,30H MOV 44H,31H MOV 45H,32H JMP XIAN
XIAN1:MOV A,17H XRL A,#01H JNZ XIAN2 MOV 40H,#00H MOV 41H,#00H MOV 42H,30H MOV 43H,31H MOV 44H,32H MOV 45H,33H JMP XIAN
XIAN2:MOV A,17H XRL A,#00H JNZ XIAN3 MOV 40H,#00H MOV 41H,30H MOV 42H,31H MOV 43H,32H MOV 44H,33H MOV 45H,34H JMP XIAN
XIAN3:MOV A,17H XRL A,#03H JNZ XIAN MOV 40H,30H MOV 41H,31H MOV 42H,32H MOV 43H,33H MOV 44H,34H MOV 45H,35H XIAN:mov r0,#40h mov a, @r0 JZ L20 MOV 10H,#0FFH MOV 15H,#0FFH mov dptr,#date1 movc a,@a+dptr call write2
L20:INC R0 MOV A, 10H CJNE A, #00H,PP mov a, @r0 JZ L21 PP: MOV 11H,#0FFH MOV 15H,#0FFH mov a, @r0 mov dptr,#date1 movc a,@a+dptr call write2
L21:INC R0 MOV A, 11H CJNE A, #00H,PP2 mov a, @r0 JZ L22 PP2: MOV 12H,#0FFH MOV 15H,#0FFH mov a, @r0 mov dptr,#date1 movc a,@a+dptr call write2 MOV A, 15H CJNE A,#0FFH,L22 MOV A,#00H mov dptr,#XIAOSHUDIAN movc a,@a+dptr call write2 L22: INC R0 MOV A, 12H CJNE A, #00H,PP3 mov a, @r0 JZ L23 PP3: MOV 13H,#0FFH mov a, @r0 mov dptr,#date1 movc a,@a+dptr call write2
L23:INC R0 MOV A, 13H CJNE A, #00H,PP4 mov a, @r0 JZ L24 PP4: MOV 14H,#0FFH mov a, @r0 mov dptr,#date1 movc a,@a+dptr call write2
L24:INC R0 mov a, @r0 mov dptr,#date1 movc a,@a+dptr call write2 MOV A,15H CJNE A, #00H,KHZ MOV A,#00H MOV dptr,#DANWEI1 JMP QUSHU KHZ:MOV dptr,#DANWEI2 QUSHU:movc a,@a+dptr call write3 mov r5,#4 l3:mov a,#20h call write2 djnz r5,l3 ret write2: mov p0, a setb rs CLR rw clr e call delay setb e ret write3: mov r1,#00h ;写数据 a2: mov a, r1 movc a, @a+dptr call write2 inc r1 cjne a,#00h,a2 ret delay: mov r7, #255 d1: mov r6, #255 d2: djnz r6, d2 djnz r7, d1 ret date: db "the frequency is",00h date1: db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h DANWEI1: DB "HZ ",00h DANWEI2: DB "KHZ ",00h XIAOSHUDIAN: DB ".",00h |