Está en la página 1de 27

TECLADODE4X4:LATECLAQUESEOPRIMESEMUESTRAENELDISPLAYDE7SEGMENTOS

11101111;INCIAL4BITSMENOSSIGNIFICATIVOSCONFIGRADOSCOMOENTRADA 11101110;4BITSMASSIGNIFICATIVOSENTRANA4BITSMENOSSIGNIFICATIVOS
1 DECIM AL 1 2 3 4 5 6 7 8 9 A B C D F 0 E HEX EF EE ED EB DF DE DD DB BF BE BD BB F7 E7 D7 B7 77 7F 7B 7D 7E
D7 D0

1110 1110 1110 1110 1101 1101 1101 1101 1011 1011 1011 1011 1111 1110 1101 1011 1111 0111 0111 0111 0111

1111 1110 1101 1011 1111 1110 1101 1011 1111 1110 1101 1011 0111 0111 0111 0111 0111 1111 1011 1101 1110

1 1 1 1 1

1 1

1 1 1

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

TECLADODE4X4:LATECLAQUESEOPRIMESEMUESTRAENELDISPLAYDE7SEGMENTOS
;.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.PROGRAMA PRINCIPAL.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.--.-.-.-.-..ORG 0000H ; PROGRAMA INICIA EN DIRECCION CERO MOV P1,#00H LJMP INICIO1 INICIO1: LCALL TIMEOUT ; LLAMA A SUBRUTINA DE LECTURA DE TECLA INICIO: MOV P1,A WAIT: JMP INICIO1 ;--------------------------------------------SUBRUTINAS--------------------------------------------TIMEOUT: CALL TIEMPO ;RETARDO PARA EVITAR REBOTE DE LA TECLA IMPRIME: TECLA1: MOV P2,#0EFH MOV A, P2 CJNE A,#0EEH,TECLA2 MOV A,#06H ;'1' LJMP INICIO CJNE A,#0EDH,TECLA3 MOV A,#5BH ;'2' LJMP INICIO CJNE A,#0EBH,TECLA4 MOV A,#4FH ;'3' LJMP INICIO MOV P2,#0DFH MOV A,P2 CJNE A,#0DEH,TECLA5 MOV A,#66H ;'4' LJMP INICIO CJNE A,#0DDH,TECLA6 MOV A,#6DH ;'5' LJMP INICIO CJNE A,#0DBH,TECLA7 MOV A,#7DH ;'6' LJMP INICIO MOV P2,#0BFH MOV A,P2 CJNE A,#0BEH,TECLA8 MOV A,#07H ;'7' LJMP INICIO TECLA8: TECLA9: CJNE A,#0BDH,TECLA9 MOV A,#7FH ;'8' LJMP INICIO CJNE A,#0BBH,TECLA10 MOV A,#6FH ;'9' LJMP INICIO MOV P2,#0F7H MOV A,P2 CJNE A,#0E7H,TECLA11 MOV A,#77H ;'A' LJMP INICIO CJNE A,#0D7H,TECLA12 MOV A,#7CH ;'B' LJMP INICIO CJNE A,#0B7H,TECLA13 MOV A,#39H ;'C' LJMP INICIO CJNE A,#077H,TECLA14 MOV A,#5EH ;'D' LJMP INICIO MOV P2,#07FH MOV A,P2 CJNE A,#07BH,TECLA15 MOV A,#71H ;'F' LJMP INICIO CJNE A,#07DH,TECLA16 MOV A,#3FH ;'0' LJMP INICIO CJNE A,#07EH, SIGUE MOV A,#79H ;'E' LJMP INICIO LJMP IMPRIME MOV R7,#0FFH MOV R6,#0FFH DJNZ R6,$ DJNZ R7,NEXT RET END

TECLA10:

TECLA11:

TECLA12:

TECLA2:

TECLA13:

TECLA3:

TECLA14:

TECLA4:

TECLA15:

TECLA5:

TECLA16:

TECLA6:

TECLA7:

SIGUE: TIEMPO: NEXT:

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

TECLADODE4X4:LATECLAQUESEOPRIMESEMUESTRAENELDISPLAYDE7SEGMENTOS

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Utilizacin del LCD

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Caracteres

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Usando configuracin de 8 bits

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Usando configuracin de 4 bits

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Set de instrucciones

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Ejemplo del uso de instrucciones (1)

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Ejemplo del uso de instrucciones (2)

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

ORG0000H LJMPMAIN

ORG030H RS EQUP2.0 RW EQUP2.1 EN EQUP2.2 ; CONFIGURACION ;Inicializacin MAIN: MOVA,#38H;001110008BITS;Primeravez(FUNCTIONSET) LCALLCOMANDO MOVA,#0CH;CURSORAPAGADO,DISPLAYENCENDIDO(DISPLAYON/OFFCONTROL) LCALLCOMANDO MOVA,#06H;00000110RECORRE(ENTRYMODESET) LCALLCOMANDO ; PROGRAMAPRINCIPAL INICIO: MOVDPTR,#DATO1 CALLRENG0 CALLTABLA MOVDPTR,#DATO2 CALLRENG1 ;LECTURADEDATOSENTABLA CALLTABLA TABLA: MOVR0,#00H CALLDELAY1 MOVDPTR,#DATO3 MOVR1,#16 CALLRENG0 OTRO: MOVA,R0 CALLTABLA MOVCA,@A+DPTR MOVDPTR,#DATO4 CALLRENG1 CALLESCRIBE CALLTABLA INCR0 CALLDELAY1 DJNZR1,OTRO MOVDPTR,#DATO5 RET CALLRENG0 CALLTABLA MOVDPTR,#DATO6 CALLRENG1 CALLTABLA CALLDELAY1 JMPINICIO

; SUBRUTINAPARAINDICARELRENGLON RENG0: MOVA,#80H LCALLCOMANDO RET RENG1: MOVA,#0C0H LCALLCOMANDO RET ; ENVIODECOMANDOALLCD COMANDO: MOVP1,A CLRRS CLRRW SETBEN CLREN LCALLDELAY RET ; ENVIODELTEXTOALLCD ESCRIBE:MOVP1,Ae SETBRS CLRRW SETBEN CLREN LCALLDELAY RET ;SUBRUTINADERETARDOPARAENVIODECOMANDOS DELAY: MOVR6,#50 HERE2: MOVR7,#255 HERE: DJNZR7,HERE DJNZR6,HERE2 RET ; SUBRUTINADERETARDOENTREMENSAJES DELAY1: MOVR5,#50 TARDA1: MOVR6,#255 TARDA: MOVR7,#255 DJNZR7,$ DJNZR6,TARDA DJNZR5,TARDA1 RET DATO1: DB'MATERIA:MICRO' DATO2: DB'ELECTRONICA' DATO3: DB'BIENVENIDOAL' DATO4: DB'TECNOLOGICODE' DATO5: DB'MINATITLAN,VER.' DATO6: DB'@itmina.edu.mx ' END Dr. Jos de Jess Moreno Vzquez

Microprocesadores y microcontroladores

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

EJEMPLO DE INTERRUPCIN POR TIMER:


Este ejercicio produce el desplazamiento de un bit a la izquierda. y se visualiza en el Puerto 0 (P0). El desplazamiento es siempre en la misma direccin. La velocidad de desplazamiento del bit depende del valor que el usuario le ponga en el Puerto P1 con los ocho conmutadores, segn el peso de los bits.

ORG 00H JMP 200H ORG

ORG

ORG

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

EJEMPLO DE INTERRUPCIN EXTERNA (INTx): Programa que realiza el desplazamiento del encendido de un led de izquierda a derecha (led`s colocados en P0), cuando se pulse el push button colocado en la terminal correspondiente a la interrupcin externa INT0 (P3.2), los led s parpadearan 10 veces.

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

;--------------------------------------;SUBRUTINA DE INTERRUPCIN ORG 100H ORG 0H INTO: PUSH ACC JMP START MOV A,PSW ;--------------------------------------PUSH ACC ;VECTOR DE INTERRUPCION DE INT0 MOV R0,#10 ORG 03H SALTO4: MOV P0,#0FFH JMP INTO CALL RETARDO ;---------------------------------------MOV P0,#00H ;PROGRAMA PRINCIPAL CALL RETARDO DJNZ R0, SALTO4 ORG 30H POP ACC START: MOV TCON,#01H ;Se programa la INT0 por transicin MOV PSW,A MOV IE,#081H ;Habilita interrupcin INT0 POP ACC MOV A,#00H ;Limpia Acumulador RETI SETB C ;----------------------------------------SALTO1: RLC A ;SUBRUTINA DE TEMPORIZADO MOV P0,A RETARDO: MOV R1,#0FFH CALL RETARDO SALTO3: MOV R2,#0FFH JNB ACC.7,SALTO1 DJNZ R2,$ SALTO2: RRC A DJNZ R1,SALTO3 MOV P0,A RET CALL RETARDO JNB ACC.0, SALTO2 END JMP SALTO1 NOP

Continua ejemplo

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

Ejemplo: Programa que realiza diferentes secuencias de encendido de led`s cuando se pulsa el push button colocado en la terminal correspondiente a la interrupcin externa INT0 (P3.2)

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

ORG 0H JMP INICIO ORG 3H JMP INTO ORG 100H MOV TCON,#01H ;Se programa la INT0 por transicin MOV IE,#81H ;Habilita interrupcin INT0 INICIO1: INC R5 ;-----------------------------------------------; SECUENCIA 1 SEC: CJNE R5,#01H,SEC1 MOV P0,#88H CALL RETARDO MOV P0,#44H CALL RETARDO JMP SEC ;------------------------------------------------; SECUENCIA 2 SEC1: CJNE R5,#02H,SEC2 MOV P0,#09H CALL RETARDO MOV P0,#22H CALL RETARDO JMP SEC1 ;-----------------------------------------------; SECUENCIA 3 SEC2: CJNE R5,#03H,SEC3 MOV P0,#18H CALL RETARDO MOV P0,#81H CALL RETARDO JMP SEC2 ;-----------------------------------------------; SECUENCIA 4 SEC3: CJNE R5,#04H,SEC4 SETB C SALTO1: RLC A MOV P0,A CALL RETARDO JNB ACC.7,SALTO1 SALTO2: RRC A MOV P0,A CALL RETARDO JNB ACC.0, SALTO2 JMP SALTO1 INICIO:

;----------------------------------------------; SECUENCIA 5 SEC4: CJNE R5,#05,TERMINA MOV P0,#81H CALL RETARDO MOV P0,#0C3H CALL RETARDO MOV P0,#0E7H CALL RETARDO MOV P0,#0FFH CALL RETARDO MOV P0,#0E7H CALL RETARDO MOV P0,#0C3H CALL RETARDO MOV P0,#81H CALL RETARDO JMP SEC4 TERMINA: CJNE R5,#06,ULTIMO MOV R5,#00H ULTIMO: JMP INICIO1 ;-----------------------------------------------; RUTINA DE INTERRUPCION INTO: INC R5 MOV 0AH,#07H MOV 0BH,#01H RETI MOV R3,#01H MOV R1,#0FFH MOV R2,#0FFH DJNZ R2,$ DJNZ R1,SALTO3 DJNZ R3,SALTO7 RET END

RETARDO: SALTO7: SALTO3:

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

CONVERTIDORES ANALOGO DIGITAL (SERIE) ADC0831/ADC0832/ADC0834/ADC0838 8-Bit Serial I/O A/D Converters with Multiplexer Options
Features NSC MICROWIRE compatibledirect interface to COPS family processors Easy interface to all microprocessors, or operates stand-alone 2-, 4- or 8-channel multiplexer options with address logic Shunt regulator allows operation with high voltage Supplies 0V to 5V input range with single 5V power supply TTL/MOS input/output compatible Key Specifications Resolution 8 Bits Total Unadjusted Error 12 LSB and 1 LSB Single Supply 5 VDC Low Power 15 Mw Conversion Time 32 s fCLK, Clock Frequency (max 400 KHz) tC, Conversion Time = 8(1/fCLK)

ADC0831

ADC0832

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

CONVERTIDORES ANALOGO DIGITAL (SERIE)


ORGRESET CS CLK DATO INICIO: EQU P3.4 EQUP3.2 EQU P3.3 CALL ADC MOV P0,A JMP INICIO

;SUBRUTINADELCONVERTIDORADC0831 ADC: SETB DATO CLR CS SETB CLK CLR CLK MOV R3,#8 CLR A SETBCLK CLR CLK CLR C JNB DATO,CORRE CPL C RLCA DJNZ R3,OTRO SETB CLK CLR CLK SETB CLK CLR CLK SETB CS RET END Dr. Jos de Jess Moreno Vzquez

OTRO:

CORRE:

Microprocesadores y microcontroladores

CONVERTIDORES ANALOGO DIGITAL (SERIE)

CLK

DATO CS

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

CONVERTIDORES ANALOGO DIGITAL (PARALELO)


Features Compatible with 8080 P derivativesno interfacing logic needed - access time - 135 ns Easy interface to all microprocessors, or operates stand alone Differential analog voltage inputs Logic inputs and outputs meet both MOS and TTL voltage level specifications Works with 2.5V (LM336) voltage reference On-chip clock generator 0V to 5V analog input voltage range with single 5V Supply No zero adjust required Key Specifications Resolution 8 bits Total error 14 LSB, 12 LSB and 1 LSB Conversion time 100 s

ADC0804

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

CONVERTIDORES ANALOGO DIGITAL (PARALELO)


ORG00H JMPINICIO ORG100H INICIO: RS EQUP2.0 RW EQUP2.1 EN EQUP2.2 ; CONFIGURACIONLCD ; SUBRUTINAPARAINDICARELRENGLON RENG0:MOVA,#80H LCALLCOMANDO RET ; SUBRUTINADECONVERSIONHEXASCII MOVR4,#00H MOVR2,A SWAPA SIGUIENTE: ANLA,#0FH MOVR3,A CLRA CJNER3,#09H,MENOR REGRESA:MOVA,#30H JMPFIN MENOR: JCREGRESA MOVA,#37H FIN: ADDA,R3 CALLESCRIBE MOVA,R2 INCR4 CJNER4,#02H,SIGUIENTE RET DATO1:DB'VALORHEX.ADC: END ASCII:

RENG1:MOVA,#0C0H LCALLCOMANDO RET

;ENVIODECOMANDOALLCD COMANDO:MOVP1,A MOVA,#38H;8BITS(FUNCTIONSET) CLRRS LCALLCOMANDO CLRRW MOVA,#0CH;CURSORAPAGADO,DISPLAYENCENDIDO ;(DISPLAYON/OFFCONTROL) SETBEN LCALLCOMANDO CLREN MOVA,#06H;RECORRE(ENTRYMODESET) LCALLDELAY LCALLCOMANDO RET

; PROGRAMAPRINCIPAL INICIO1:MOVDPTR,#DATO1 CALLRENG0 CALLTABLA CALLRENG1 CALLLECTURA CALLASCII JMPINICIO1

; ENVIODELTEXTOALLCD ESCRIBE:MOVP1,A SETBRS CLRRW SETBEN CLREN LCALLDELAY RET

10

;SUBRUTINADERETARDOPARAENVIODECOMANDOS DELAY:MOVR6,#50 HERE2:MOVR7,#255 HERE:DJNZR7,HERE DJNZR6,HERE2 RET

;LECTURADEDATOSENTABLA TABLA: MOVR0,#00H MOVR1,#16 OTRO: MOVA,R0 MOVCA,@A+DPTR CALLESCRIBE INCR0 DJNZR1,OTRO RET

;SUBRUTINADEADQUISICIONDELADC0804 LECTURA:MOVA,P0 RET

8
Dr. Jos de Jess Moreno Vzquez

Microprocesadores y microcontroladores

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

CONVERTIDORESANALOGODIGITAL(SERIE) 3
;SUBRUTINADELCONVERTIDORADC0831 ADC: SETBDATO CLRCS; SETBCLK ORG100H CLR CLK MAIN: MOVR3,#08H CLRA CS EQUP3.4 SIGUE: SETBCLK CLK EQUP3.2 CLR CLK DATO EQUP3.3 CLRC JNBDATO,CORRE RS EQUP2.0 CPL C RW EQUP2.1 CORRE: RLC A EN EQUP2.2 CONTEO: DJNZ R3,SIGUE ; CONFIGURACION SETBCLK CLRCLK MOVA,#38H;8BITS(FUNCTIONSET) SETB CLK LCALLCOMANDO CLR CLK MOVA,#0CH;CURSORAPAGADO,DISPLAYENCENDIDO SETBCS ;(DISPLAYON/OFFCONTROL) MOVR4,A LCALLCOMANDO RET MOVA,#06H;(ENTRYMODESET) LCALLCOMANDO ; SUBRUTINADECONVERSIONHEXASCII ORGRESET LJMPMAIN

;LECTURADEDATOSENTABLA MOVR0,#00H MOVR1,#16 OTRO: MOVA,R0 MOVCA,@A+DPTR CALLESCRIBE INCR0 DJNZR1,OTRO RET ; SUBRUTINAPARAINDICARELRENGLON RENG0:MOVA,#80H LCALLCOMANDO RET RENG1:MOVA,#08DH LCALLCOMANDO RET ;ENVIODECOMANDOALLCD COMANDO:MOVP1,A CLRRS CLRRW SETBEN CLREN LCALLDELAY RET ; ENVIODELTEXTOALLCD ESCRIBE:MOVP1,A SETBRS CLRRW SETBEN CLREN LCALLDELAY RET ; SUBRUTINADERETARDOPARAENVIODECOMANDOS DELAY:MOVR6,#50 HERE2:MOVR7,#255 HERE:DJNZR7,HERE DJNZR6,HERE2 RET TABLA:

; PROGRAMAPRINCIPAL INICIO:MOVDPTR,#DATO1 CALLRENG0 CALLTABLA INICIO1:CALLADC MOVP0,A CALLRENG1 MOVA,R4 CALLASCII JMPINICIO1

ASCII:

SIGUIENTE:

REGRESA: MENOR: FIN:

Microprocesadores y microcontroladores

MOVR4,#00H MOVR2,A SWAPA ANLA,#0FH MOVR3,A CLRA CJNER3,#09H,MENOR MOVA,#30H JMPFIN JCREGRESA MOVA,#37H ADDA,R3 CALLESCRIBE MOVA,R2 INCR4 CJNER4,#02H,SIGUIENTE RET

;SUBRUTINADECONVERSIONASCII DATO1:DB'CODIGOHEX:H' END Dr. Jos de Jess Moreno Vzquez

10

CONVERTIDORES ANALOGO DIGITAL (SERIE)

Microprocesadores y microcontroladores

Dr. Jos de Jess Moreno Vzquez

También podría gustarte