codigo de teclado en mplab

2
LIST P=16F877A ; Identifica al dispositivo INCLUDE <P16F877A.INC> ; Librería del dispositivo CBLOCK 0X20 ; Área de variables ENDC ORG 0X2007 ; Configuración del PIC DW 0X3F7A ORG 0X0000 ; Dirección inicial de la ROM BSF STATUS,RP0 ; Bank 1 BCF STATUS,RP1 MOVLW 0X1F ; Port A de entrada para el teclado MOVWF TRISA ; bits: 3-0 (dato) y bit: 4 (DA) CLRF TRISD ; Port D de salida al display BCF STATUS,RP0 ; Bank 0 BCF STATUS,RP1 INICIO: CLRF PORD ; Display a “ 0 “ LEE1: BTFSS PORTA,4 ; Pulsó una tecla? (DA = 1)? GOTO LEE1 ; NO, vuelvo a sensar MOVFW PORTA ; SI, se lee el dato ANDLW 0X0F ; solo los 4 bits del dato CALL TABLA MOVWF PORTD ; salida por display LEE2: BTFSC PORTA,4 ; Liberó la tecla? (DA = 0)? GOTO LEE2 ; NO, vuelvo a sensar GOTO LEE1 ; SI, leo el siguiente carácter que envía ; el teclado TABLA: ADDWF PCL,F DT .1,.2,.3,.0,.4,.5,.6,.0,.7,.8,.9,.0,.0,.0,.0,.0 END

Upload: eder-achaica

Post on 14-Sep-2015

226 views

Category:

Documents


0 download

DESCRIPTION

circuitos electricos

TRANSCRIPT

LIST P=16F877A ; Identifica al dispositivo INCLUDE ; Librera del dispositivo CBLOCK 0X20 ; rea de variables

ENDC ORG 0X2007 ; Configuracin del PIC DW 0X3F7A ORG 0X0000 ; Direccin inicial de la ROM BSF STATUS,RP0 ; Bank 1 BCF STATUS,RP1MOVLW 0X1F ; Port A de entrada para el tecladoMOVWF TRISA ; bits: 3-0 (dato) y bit: 4 (DA) CLRF TRISD ; Port D de salida al display BCF STATUS,RP0 ; Bank 0 BCF STATUS,RP1

INICIO: CLRF PORD ; Display a 0 LEE1: BTFSS PORTA,4 ; Puls una tecla? (DA = 1)?GOTO LEE1 ; NO, vuelvo a sensar MOVFW PORTA ; SI, se lee el datoANDLW 0X0F ; solo los 4 bits del datoCALL TABLAMOVWF PORTD ; salida por displayLEE2: BTFSC PORTA,4 ; Liber la tecla? (DA = 0)?GOTO LEE2 ; NO, vuelvo a sensarGOTO LEE1 ; SI, leo el siguiente carcter que enva ; el tecladoTABLA:ADDWF PCL,FDT .1,.2,.3,.0,.4,.5,.6,.0,.7,.8,.9,.0,.0,.0,.0,.0 END