;******************************************************************** ; APPLICATION PROGRAM FOR INTERFACE LCD 16 X 2,ADC 0809 ;******************************************************************** ; e-mail: goswamigagan@rediffmail.com ; ;******************************************************* ORG $0000 LJMP INIT ORG $0003 AJMP EXTINT0_ISR ORG $000B AJMP TIM0_OV_ISR ORG $0013 AJMP EXTINT1_ISR ORG $001B AJMP TIM1_OV_ISR ORG $0023 LJMP UART_ISR ;******************************************************* ;main Program ;******************************************************* ORG $0030 INIT: LCALL ADC LCALL LCDDISP SJMP INIT ;******************************************************* ;subroutines ;******************************************************* LCDDISP: MOV A,#3CH ACALL COMMAND MOV A,#0EH ACALL COMMAND MOV A,#06H ACALL COMMAND MOV A,#01H ACALL COMMAND MOV A,#80H ACALL COMMAND MOV A,R1 ACALL DISPLAY RET COMMAND: ACALL READY ;LCD CONTROL ROUTINE MOV P1,A CLR P3.2 CLR P3.3 SETB P3.4 CLR P3.4 RET DISPLAY: ACALL READY MOV P1,A SETB P3.2 CLR P3.3 SETB P3.4 CLR P3.4 RET READY: CLR P3.4 MOV P1,#0FFH CLR P3.2 SETB P3.3 RET WAIT: CLR P3.4 SETB P3.4 JB P3.7,WAIT CLR P3.4 RET ADC: MOV DPTR,#32H CLR P3.5 CLR P3.6 SETB P3.6 CLR P3.7 MOV R1,P2 SETB P3.7 RET DELAY: MOV R6,#0FFH LOOP1: DJNZ R6,LOOP1 RET MOV A,R1 ACALL BINBCD BINBCD: MOV B,#64H DIV AB MOV 30H,A MOV A,B MOV B,#0AH DIV AB MOV A,B MOV 32H,A RET HEXASCII: ADD A,#36H JNB PSW.6,SKIP ADD A,#7 SKIP: SUBB A,#6 RET ASCIICOV: CLR C ANL A,#1FH CJNE A,#10H,A1 MOV A,#20H RET A1: MOV R3,A SUBB A,#09H JC NUMKEY A_F: MOV A,R3 ADD A,#37H RET NUMKEY: MOV A,R3 ADD A,#30H RET ASCIIHEX: CLR C MOV R7,A SUBB A,#40H JC A2 CLR C MOV A,R7 SUBB A,#37H RET A2: CLR C MOV A,R7 SUBB A,#30H RET EXTINT0_ISR: NOP RETI ; TIM0_OV_ISR: NOP RETI ; EXTINT1_ISR: NOP RETI ; TIM1_OV_ISR: NOP RETI ; UART_ISR: NOP RETI END