PROGRAMA TESTE LCD
; LCD
; pino 1 - GND, pino 2 - VCC, pino 3 - contraste
; pino 5 - RW aterrado (GND)
; pinos 4 e 6 - ligados ao microcontrolador
; pinos 7 a 10 - abertos
; pinos 11 a 14 - bits menos significativos do port do microcontrolador
; TECLADO
; bit0 do port em aberto
; bits 1 a 7 ligados em sequencia a C1,C2,C3,L1,L2,L3 e L4
INF EQU P1 ;pinos 11 (LSB) a 14(MSB) LCD(END.PORT)
RS EQU P3.4;pino 4 do LCD (END. BIT PORT)
RW EQU P3.5
EN EQU P3.6;pino 6 do LCD (END. BIT PORT)
TECLADO EQU P2
MARCTEC EQU 23H ;MARCADOR DE MEMORIA
ORG 0000H
; INICIALIZAÇÃO ******************************************* MOV SP,#35H ; CARREGA SP mov a,#00h ; zerar os registradores mov p0, #00h; apagar os LEDS mov r0,#00h mov r1,#00h mov r2,#00h mov r3,#00h mov r4,#00h mov r5,#00h mov r6,#00h mov r7,#00h
MOV P0,#00H ; APAGA LEDS SETB P3.7 ; DESLIGA BUZZER
; PROGRAMAÇÃO DO LCD ************************************** CLR RW CLR EN CLR RS
; MOV SCON,#40H ;#### PARA TESTE C/ UART ##### LCALL AT100MS MOV A,#33H ; RESET LCALL ECMD LCALL AT40MS MOV A,#32H ; RESET LCALL ECMD LCALL AT40MS MOV A,#28H ; PROGRAMA MODO LCALL ECMD MOV A,#0CH ; LIGA DISPLAY E ATIVA CURSOR LCALL ECMD MOV A,#06H ; CURSOR DESLOCANDO PARA DIREITA LCALL ECMD MOV A,#01H ; CLEAR DISPLAY LCALL ECMD
;**********************************************************
; PROGRAMA DE TESTE DO HW *********************************
INICIO: MOV A,#01H ; APAGA LCD LCALL ECMD MOV A,#80H ; POSICIONA NO INICIO DA 1 LINHA LCALL ECMD MOV DPTR,#TAB ; ESCREVE MSG NO LCD LCALL EMSG
ESPERA: LCALL VETEC CJNE A,#0FH,COMPARA LJMP ESPERA
COMPARA: CJNE A,#01H,COMPARA2 MOV A,#80H ; POSICIONA NO INICIO