1 INGENIERIA MECATRONICA -------------------------------------------------------------------- Práctica de Taller 2 CURSO:TALLER DE DESARROLLO AVANZADO CON MICROCONTROLADORES FECHA: INSTRUCTOR: ING. EULER DEZA FIGUEROA BLOQUE: GRUPO N°: RUBRICA DE EVALUACIÓN POR CADA INTEGRANTE DEL GRUPO: ALUMNO CRITERIO [Apell y Nom] C1:Puntualidad e indumentaria [0-5] C2: Colabora con el grupo [0-5] C3: Aporta soluciones [0-5] C4:Respeto y disciplina [0-5] Puntaje TOTAL [20 pts] 1. 2. 3. 4. 5. 6. 1. RUBRICA DE EVALUACIÓN GRUPAL Rubrica de Evaluación Para taller Se observa que hicieron un trabajo ordenado, limpio y al finalizar la práctica dejaron su lugar de trabajo en orden Manipula y utiliza los equipos e instrumentos de manera correcta Detectan dificultades en la práctica, y dan solución de manera creativa e inventiva, aplicando técnicas aprendidas en clase, e investigación del grupo Implementan los diferentes circuitos propuestos, con éxito Presenta el proyecto final con estética y operativo al 100%, en el tiempo establecido Realiza un informe grupal del proyecto, en donde además investigan cada dispositivo, utilizado en dicho proyecto TOTAL Puntaje máximo Puntuaciones 6 5 4 3 2 1 2 2 3 6 4 3 20 ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA Puntaje obtenido 2 INGENIERIA MECATRONICA -------------------------------------------------------------------- Práctica de Taller 2 Programacion lenguaje assembler para microcontroladores: Manejo de display’s y Pantallas LCD Objetivos: ➢ Aplicar correctamente el juego de instrucciones de los uC’s PIC ➢ Implementar Los diferentes circuitos basados en microcntroladores y componentes electrónicos en protoboard. ➢ Realizar el diseño de los algoritmos para los diferentes ejercicios propuestos ➢ Aplicar los conocimientos adquiridos al control de varios display’s de manera multiplezada y a proceson con Pantallas LCD ➢ Conocer las aplicaciones de la memoria interna EEPROM y TMR0. Proyectos I).- PROPUESTAS DE DISEÑO ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 3 INGENIERIA MECATRONICA -------------------------------------------------------------------CONTADOR DE CUATRO DIGITOS DIG1[MSB] DIG0 [LSB] UP[+] DW[-] RST/ENT RB0/INT RB1/RX/DT RB2/TX/CK RB3/CCP1 RB4 RB5 RB6/T1OSO/T1CKI RB7/T1OSI R1 10k 17 18 1 2 3 6 7 8 9 10 11 12 13 U2 7 1 2 6 4 5 3 A B C D BI/RBO RBI LT QA QB QC QD QE QF QG 13 12 11 10 9 15 14 T0 RA5/MCLR T1 4 RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 T2 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT T3 U1 16 15 74LS47 R8 Q4 R7 BC557 Q3 R6 BC557 1.2k 1.2k T0 T1 T2 T3 PIC16F628A Q2 Q1 R5 BC557 1.2k BC557 1.2k SPLAY'S MULTIPLEXADOS CON PIC 16F887 9 0 1 2 7 8 9 0 MOTOR a3 a2 a1 a0 1 2 3 4 10k R3 a2 10k R5 II).- Materiales y equipos: B0 B1 B2 B3 B4 B5 B6 a3 ➢ MULTIMETRO DIGITAL ➢ GRABADOR DE PIC [COMPATIBLE CON PICKIT 2] ➢ (2) PROTOBOARD ➢ ALICATE PINZA [CON RESORTE] ➢ ALICATE DE CORTE [CON RESORTE] ➢ PELACABLE [OPCIONAL] ➢ Euler Deza Figueroa CUCHILLAPor: / TIJERA / CINTA MASKETING ➢ CAJITA PORTAHERRAMIENTAS ➢ ================ 10k Q1 1 A 2 B 3 C 4 D BC557 A B B0 B1 B2 B3 B4 B5 B6 10k R2 a1 C 5 6 7 8 3 4 5 6 R4 a0 D 3 4 5 6 7 8 9 0 R6 1k MOTOR ➢ (1 De cada uno) PIC16F84A, PIC 16F877A, PIC16F628A ➢ (1) Cristal de 4MHz ➢ (1) Cristal de 20MHz ➢ (4) Condensadores de 22pF ➢ (20) Resistencias de 1.2 KOhm ➢ (20) Resistencias de 220 Ohm ➢ (20) Resistencias de 10 KOhm ➢ (6) LDR ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 4 INGENIERIA MECATRONICA -------------------------------------------------------------------- ➢ (8) Led de alto brillo (Colores rojo, blanco, verde) ➢ (8) Pulsadores NA para protoboard ➢ CABLECILLO PARA PROTOBOARD [NO EL UTP] ➢ (1) 74HC47 ➢ (3) 74HC164 ➢ (3) 74HC373 ➢ (5) Display ánodo común ➢ (2) Dip – Switch de 4 pines ➢ (6) Transistores BC557 / (6) Transistores BC548 ➢ (2) Driver L293d | Regulador L7805 ➢ (2) CI 40106 ➢ TIP31 Y TIP32 [3 de C/U] ➢ (3) Transistores 2N2222 ➢ (2) Transistores BD137 | BD135 | // (4) DIODOS DE 1Amp ➢ (1) Pantalla LCD de 2x16, compatible con el modelo LM016L. ➢ CABLECILLO PARA PROTOBOARD [NO EL UTP] ➢ ESTRUCTURA DEL CARRITO SEGUIDOR DE LINEA ➢ (2) MOTORES PAP [BIPOLAR DE PREFERENCIA] ➢ Estructura FAJA TRANSPORTADORA III).- Resumen : TMR0: El bloque funcional TIMER0/WATCHDOG es un contador (registro) de 8 bits, incrementado por hardware y programable. La cuenta máxima es de 255(el incremento es constante e independiente). ❑ CONTADOR: Cuenta los eventos externos(a través del pin RA4/TOCK1) ❑ TEMPORIZADOR: Cuenta los pulsos internos del reloj Se puede insertar un prescaler, es decir, un divisor de frecuencia programable que puede dividir por 2, 4, 8, 16, 32, 64, 128 o 256. La frecuencia de reloj (fosc/4). Posteriormente, con el uso del prescaler se puede dividir la frecuencia. El bloque del TIMER0 puede funcionar como WATCHDOG, lo que permite que durante el funcionamiento normal del microcontrolador, un desbordamiento (o timeout) del Watchdog provoque un reset (Watchdog Timer Reset). Para evitar el desbordamiento se debe, cada cierto tiempo y antes de que llegue el limite, ejecutar una instrucción CLRWDT que borra el Watchdog y que hace comenzar un nuevo conteo desde cero • Puertos de Entrada/Salida • Pines de entrada/salida (I/O) de propósito general • Mediante ellos, el micro PIC puede monitorizar y controlar otros dispositivos. • Para añadir flexibilidad al micro, muchos de sus pines de entrada/salida están multiplexados con funciones alternativas. • Para la mayoría de los puertos, la dirección del pin I/O es controlada por el registro de dirección de datos, llamado TRIS. TRISX<n> controla la dirección del pin n del puerto X. ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 5 INGENIERIA MECATRONICA -------------------------------------------------------------------REGISTRO OPTION_REG Registro STATUS Ubicado en 03h,83h,103h y 183h Resume las condiciones en que se encuentra el microcontrolador • Bits: IRP: Selecciona bancos altos (2 y 3) cuando vale 1 y bancos bajos (1 y 0) cuando vale 0 RP1 y RP0: Selectores de bancos para acceso directo. REGISTRO W 00: Banco 0 • Registro 01: Banco 1 de trabajo Recibe 10:• Banco 2 los resultados de las operaciones ejecutadas por la ALU 11: Banco 3 • Puede escrito #TO: Bit deser “Time Out”. Se pone en 0 • Se usa para las cuando hay un “RESET”transferencias entre registros y #PD: indirectas Bit de “Power Down”. Se pone en 0 ubicaciones de memoria cuando entra en “SLEEP” Por ejemplo: Puede usarse Z: •Bandera del Cero. Se pone enpara 1 si el transferir datos a la pila y ejecutar resulatado de la última operación realizada un “Push” o un “Pop” es un 0. DC: Bandera de Acarreo Intermedio. Se pone en 1 si hay un carry de los 4 bits menos segnificativos a los 4 bits más significativos. C: Bandera de Acarreo. Se pone en 1 si el resultado de una operación excede la capacidad de 8 bits y requiere de un acarreo. Memoria EEPROM de datos [PIC16F84A] Resumen de características: • Memoria de datos de 64 bytes. • Lectura rápida de un byte (en el tiempo de uno o varios ciclos de instrucción). • Escritura de un byte en unos 8 ms. • Se genera una interrupción cuando se completa la escritura de la memoria. • 1.000.000 de ciclos de borrado/escritura. • • REGISTRO INTCON • Tecnología de baja potencia y alta velocidad CMOS Cuando el dispositivo está protegido por código, la CPU puede continuar leyendo y escribiendo en la memoria EEPROM, pero el programador del dispositivo ya no puede acceder esta memoria. EECON1[EEPROM Control Register-88h]. Este registro contiene configuraciones importantes acerca de la escritura y la lectura de la EEPROM de datos. En ALU (Unidad concreto tiene 5 Aritmética-Lógica) bits de control, cuya • Ejecuta las operaciones los distribución y significado es el con siguiente. operandos de entrada • Tiene un registro acumulador “W” donde sealmacenan los resultados • El registro W puede realimentar su valor como dato de entrada a la ALU • Ejecuta operaciones según el código que reciba en No las implementado. entradas de Se U (Unimplemented), control. lee como 0. Bit 4 (flag): EEIF. Bit de interrupción de escritura en la memoria EEPROM ( EEPROM Interrupt Flag) 1: Este bit se pone a uno al terminar la operación de escritura en la EEPROM, y debe ponerse a cero por software 0: No se ha completado la operación de escritura o no ha empezado. Bit 3 (flag), WRERR. Bit de error de escritura (Write Error) 1: Este bit se pone a 1 si se produce un error de escritura de forma prematura (Reset o Watchdog). En este caso, los contenidos de EEADR y EEDATA no varían, de manera que el proceso pueda ser repetido correctamente. 0: Se ha completado la operación de escritura. ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 6 INGENIERIA MECATRONICA -------------------------------------------------------------------- • 40 años de retención de datos. 0: Deshabilita la escritura de datos en la memoria EEPROM. Bit 1, WR. Bit de control de escritura (Write Data) 1: Indica que se ha iniciado una operación de escritura. Este bit debe ponerse a uno para escribir un dato. 0: Indica que se ha completado una operación de escritura. El PIC lo pone automáticamente a cero Bit 0, RD. Bit de control de lectura (Read Data) 1: Inicia una lectura de la memoria EEPROM. Este bit debe ponerse a uno para poder leer un dato. 0: No se ha iniciado una lectura de la EEPROM. El PIC lo pone automáticamente a cero EJEMPLO LECTURA EEPROM: espera hasta confirmarlo LECTURA: BCF STATUS,RP0 ; Selecciona banco 0 MOVLW MEM1 ; Dirección a leer de MOVWF EEADR ; la EEPROM BSF STATUS,RP0 ; Selecciona banco 1 BSF EECON1,RD ; Activar lectura ESPERA BTFSC EECON1,RD ; Espera final de lectura GOTO ESPERA ; a que baje la bandera BCF STATUS,RP0 ; Selecciona banco 0 MOVF EEDATA,W ; W se carga con el valor ; leído en eeprom Bit 2, WREN. Bit de habilitación de escritura. (Write Enable) 1: Este bit debe ser habilitado para poder escribir en la EEPROM EJEMPLO ESCRITURA EEPROM: espera hasta confirmarlo Veamos un ejemplo de escritura típico que no utiliza interrupciones: ESCRITURA ; Establecer EEADR y EEDATA MOVLWDIRMEN1 MOVWF EEADR; Escribe la dirección en EEADR MOVLW DATO1 MOVWF EEDATA; Se escribe el dato en EEDATA BSF STATUS,RP0 ; Selecciona el banco 1 BSF EECON1,WREN ; Permiso de escritura activado ;Comienzo de la secuencia de escritura MOVLW 0x55 MOVWF EECON2 ; Se escribe el dato 55 h en EECON2 MOVLW 0xAA MOVWF EECON2 ; Se escribe AA h en EECON2 BSF EECON1,WR ; Comienza la escritura BCF EECON1,WREN ; Permiso de escritura desactivado ESPERA BTFSC EECON1,WR ; Espera a que termine la escritura GOTO ESPERA BCF STATUS,R0 ; Selecciona el banco 0 La memoria EEPROM es bastante lenta, por lo cual es importante esperar a que el ciclo de lectura termine, aunque algunas veces se omita. Pero es aún más importante esta espera en el ciclo de escritura, ya que la EEPROM puede tardar en ser escrita hasta 10 ms. ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 7 INGENIERIA MECATRONICA -------------------------------------------------------------------- RESUMEN ❑ Arquitectura RISC de 35 instrucciones. ❑ Operaciones de duración igual, excepto saltos. ❑ Pila de 8 niveles y 4 fuentes de interrupción. ❑ Protección de código programable. ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 8 INGENIERIA MECATRONICA -------------------------------------------------------------------- ❑ Compatible con otras familias de PIC. ❑ Comunicación serie ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 9 INGENIERIA MECATRONICA -------------------------------------------------------------------- SET DE INSTRUCCIONES ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 10 INGENIERIA MECATRONICA -------------------------------------------------------------------- IV).- Implemente el siguiente circuito: Contador de 0 a 9 y desarrolle el programa CONTADOR DIGITAL [0 A 9] U1 16 15 R1 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR 10k RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 RB0/INT RB1/RX/DT RB2/TX/CK RB3/CCP1 RB4 RB5 RB6/T1OSO/T1CKI RB7/T1OSI 17 18 1 2 3 6 7 8 9 10 11 12 13 a0 a1 a2 U2 b0 b1 b2 b3 b0 b1 b2 b3 b4 b5 b6 7 1 2 6 4 5 3 A B C D BI/RBO RBI LT 13 12 11 10 9 15 14 QA QB QC QD QE QF QG 74LS47 UP [+] R5 PIC16F628A a0 DOWN 10k R6 a1 ENTER 10k R7 a2 10k correspondiente [considerar los pines de alimentacion] a).-ESCRIBIR EL CODIGO, COMPILAR Y GRABAR EN EL MICROCONTROLADOR. b).-LUEGO MODIFIQUE EL DISEÑO PARA QUE REALICE LA MISMA FUNCIÓN PERO SIN EL DECODIFICADOR 74HC47 ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 11 INGENIERIA MECATRONICA -------------------------------------------------------------------- V).- Implemente el siguiente circuito: Contador de 0-99 y desarrolle el programa correspondiente [considerar los pines de alimentacion] ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 12 INGENIERIA MECATRONICA -------------------------------------------------------------------- CONTADOR DIGITAL [0 A 99] U1 16 15 R1 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR 10k RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 RB0/INT RB1/RX/DT RB2/TX/CK RB3/CCP1 RB4 RB5 RB6/T1OSO/T1CKI RB7/T1OSI PIC16F628A 17 18 1 2 3 6 7 8 9 10 11 12 13 a0 a1 a2 a3 b0 b1 b2 b3 b4 b5 b6 b7 U2 b4 b5 b6 b7 b0 b1 b2 b3 7 1 2 6 4 5 3 7 1 2 6 4 5 3 74LS47 A B C D BI/RBO RBI LT QA QB QC QD QE QF QG A B C D BI/RBO RBI LT QA QB QC QD QE QF QG 74LS47 13 12 11 10 9 15 14 1k 13 12 11 10 9 15 14 U3 a).-ESCRIBIR EL CODIGO, COMPILAR Y GRABAR EN EL MICROCONTROLADOR. b).-LUEGO MODIFIQUE EL DISEÑO [AGREGUE PULSADORES AL PUERTO A] PARA QUE REALICE LA FUNCION DE UN CONTADOR UP-DOWN DE DOS CIFRAS [0-99 Max] ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 1k 13 INGENIERIA MECATRONICA -------------------------------------------------------------------- VI).- Implemente el siguiente circuito: Contador de 4 digitos y desarrolle el programa correspondiente [considerar los pines de alimentacion] CONTADOR DE CUATRO DIGITOS DIG1[MSB] DIG0 [LSB] UP[+] DW[-] RB0/INT RB1/RX/DT RB2/TX/CK RB3/CCP1 RB4 RB5 RB6/T1OSO/T1CKI RB7/T1OSI R1 10k 6 7 8 9 10 11 12 13 U2 7 1 2 6 4 5 3 A B C D BI/RBO RBI LT QA QB QC QD QE QF QG 13 12 11 10 9 15 14 T0 17 18 1 2 3 T1 RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 T3 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT T2 RST/ENT U1 16 15 74LS47 R8 Q4 R7 BC557 1.2k Q3 R6 BC557 1.2k T0 T1 T2 T3 PIC16F628A Q2 R5 BC557 1.2k Q1 BC557 1.2k VII).- Implemente el siguiente circuito: Contador de 0-255 y muestre en display’s de manera multiplexada y desarrolle el programa correspondiente [considerar los pines de alimentacion y la conexcion adecuada de los transistores PNP, para acticar cada anodo de los displays (Ejercicio anterior)] ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 14 INGENIERIA MECATRONICA -------------------------------------------------------------------- CONTADOR DIGITAL CON PIC 16F887 [0 A 255] R1 UP [+] a3 a2 a1 a0 33 34 35 36 37 38 39 40 PIC16F887 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 8 9 10 B0 B1 B2 B3 B4 B5 B6 1 2 3 4 R6 a0 DOWN 10k R7 a1 ENTER 10k R8 a2 10k 1 A 2 B 3 C 4 D B0 B1 B2 B3 B4 B5 B6 a).- ESCRIBIR EL CODIGO, COMPILAR Y GRABAR EN EL MICROCONTROLADOR b).- MODIFICAR EL PROGRAMA PARA REALIZAR UN CONTADOR UP-DOWN DE 0 A 255 ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA A RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RA0/AN0/ULPWU/C12IN0RC2/P1A/CCP1 RA1/AN1/C12IN1RC3/SCK/SCL RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA RA3/AN3/VREF+/C1IN+ RC5/SDO RA4/T0CKI/C1OUT RC6/TX/CK RA5/AN4/SS/C2OUT RC7/RX/DT RA6/OSC2/CLKOUT RA7/OSC1/CLKIN RD0 RD1 RB0/AN12/INT RD2 RB1/AN10/C12IN3RD3 RB2/AN8 RD4 RB3/AN9/PGM/C12IN2RD5/P1B RB4/AN11 RD6/P1C RB5/AN13/T1G RD7/P1D RB6/ICSPCLK RB7/ICSPDAT RE0/AN5 RE1/AN6 RE2/AN7 B 2 3 4 5 6 7 14 13 RE3/MCLR/VPP D U1 1 C 10k 15 INGENIERIA MECATRONICA -------------------------------------------------------------------- VIII).- Implemente el siguiente circuito: [Puede reemplazar por otro microcontrolador que ud disponga (PIC16F84A, PIC16F628A, PIC16F877A, PIC16F876, ETC)] ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 16 INGENIERIA MECATRONICA -------------------------------------------------------------------MENSAJE CORREDIZO CON DISPLAY'S MULTIPLEXADOS CON PIC 16F887 R1 R4 U1 RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 10k a0 MOTOR R2 10k a1 a3 a2 a1 a0 R3 10k a2 R5 B0 B1 B2 B3 B4 B5 B6 10k a3 Q1 1 2 B 3 C 4 D R6 1k B0 B1 B2 B3 B4 B5 B6 1 2 3 4 BC557 A A 1 RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT 33 34 35 36 37 38 39 40 B 8 9 10 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD C 2 3 4 5 6 7 OSC1/CLKIN OSC2/CLKOUT D 13 14 10k MOTOR Por: Euler Deza Figueroa PIC16F877A a).- Muestre un mensaje corredizo en los 4 displays multiplexados. Por ejemplo: “HOLA PERU – 2016 ” b).- Muestre un mensaje corredizo, el mensaje debe estar grabado en la memoria EEPROM Interna, a artir de la direccion 15, y muestrelo en los 4 displays multiplexados. Por ejemplo: “HOLA PERU – 2016 ” IX).- Implemente el siguiente circuito: Test–LCD. En la linea 1 del LCD, muestra el estado de P1 [RA0], y en la linea 2 del LCD, se incrementa una variable contador, cuando se pulsa P1. [Puede reemplazar por otro microcontrolador que ud disponga (PIC16F84A, PIC16F628A, PIC16F877A, PIC16F876, ETC)] TEST DE LA PANTALLA LCD [CONTADOR DIGITAL] LCD1 LM016L U1 RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 19 20 21 22 27 28 29 30 R6 VSS VDD VEE R7 D0 D1 D2 D3 D4 D5 D6 D7 DOWN RS RW E 10k a0 R8 7 8 9 10 11 12 13 14 ENTER 4 5 6 10k a1 1 2 3 15 16 17 18 23 24 25 26 UP [+] 10k a2 B4 B5 B6 B7 1 B0 B1 B2 B3 B4 B5 B6 B7 1 8 9 10 RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT 33 34 35 36 37 38 39 40 2 2 3 4 5 6 7 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 3 a0 a1 a2 a3 OSC1/CLKIN OSC2/CLKOUT 4 13 14 10k B2 RW B3 R1 1 2 3 4 Por: Euler Deza Figueroa PIC16F877A a).- ESCRIBIR EL CODIGO, COMPILAR Y GRABAR EN EL MICROCONTROLADOR b).- MODIFICAR EL PROGRAMA PARA REALIZAR UN CONTADOR UP-DOWN DE 0 A 99 Max ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 17 INGENIERIA MECATRONICA -------------------------------------------------------------------- ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 18 INGENIERIA MECATRONICA -------------------------------------------------------------------- X).- Implemente el siguiente circuito: Test–EEPROM. Se graban diez datos en la MEMORIA EEPROM INTERNA, luego se procede a leer cada direccion de memoria grabada y se visualiza en pantalla lcd, direccion [0-10], dato[x] Finalmente modifique el progrma y dele una aplicación que crea conveniente. SIMULACION ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 19 INGENIERIA MECATRONICA -------------------------------------------------------------------- PROGRAMA EN ASSEMBLER ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 20 INGENIERIA MECATRONICA -------------------------------------------------------------------- XI).- Implemente el siguiente circuito: Generacion de Retardos a traves del TMR0. a).-La siguiente aplicación genera una onda cuadrada de PERIODO=40ms [el TMR0 se configuró de tal modo que se desborde cada 20ms] Para el calculo de TMRO se usó el utilitario: Calculador TMR0, no obstante se puede encontrar con la siguiente fórmula T = TCM . Prescaler.(256 – Carga TMR0 ) b).-Finalmente modifique el progrma y genere un retardo de 1 segudo, a traves del TMR0 ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 21 INGENIERIA MECATRONICA -------------------------------------------------------------------- Generacion de retardos a traves del TMR0 LCD1 UP [+] U1 PIC16F84A B0 10k a2 D0 D1 D2 D3 D4 D5 D6 D7 7 8 9 10 11 12 13 14 R3 RS RW E ENTER 4 5 6 R5 10k 2 B4 B5 B6 B7 B0 B1 B2 B3 B4 B5 B6 B7 10k B2 6 7 8 9 10 11 12 13 R2 a1 4 RB0/INT RB1 RB2 RB3 RB4 RB5 RB6 RB7 DOWN B3 MCLR a0 a1 a2 a3 1 VSS VDD VEE RA0 RA1 RA2 RA3 RA4/T0CKI 1 2 3 4 17 18 1 2 3 OSC1/CLKIN OSC2/CLKOUT B0 16 15 LM016L 10k a0 3 10k R4 2 R1 A B LED1 C D Por: Euler Deza Figueroa SIMULACION • Uso del utilitario Calculadora TMR0, para calcular el TMR0, para que se desborde en 20ms ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 22 INGENIERIA MECATRONICA -------------------------------------------------------------------- ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 23 INGENIERIA MECATRONICA -------------------------------------------------------------------- XII).- Implemente el circuito, maqueta para el control de una faja transportadora y desarrolle el programa correspondiente [considerar los pines de alimentacion] [Faja Tranportadora V1.0 (By: Euler Deza)]. Explicar FAJA TRANSPORTADORA V1.0 LCD1 LM016L 8 9 10 R1 10k 1 RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 19 20 21 22 27 28 29 30 0 P3 RW RS E D4 D5 D6 D7 B4 B5 B6 B7 16 B4 B5 B6 B7 D0 D1 D2 D3 D4 D5 D6 D7 RS RW E 50k 0 SENSOR 2 7 1 9 10 15 IN1 IN2 EN1 EN2 IN3 IN4 VSS GND 8 VS OUT1 OUT2 OUT3 GND OUT4 D4 D5 D6 D7 15 16 17 18 23 24 25 26 0 STOP 7 8 9 10 11 12 13 14 22pF RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RV1 0 START 33 34 35 36 37 38 39 40 E 2 3 4 5 6 7 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 4 5 6 2 CRYSTAL OSC1/CLKIN OSC2/CLKOUT RS C2 13 14 VSS VDD VEE U1 X1 1 2 3 22pF 50% 1 C1 U3 3 6 BASTAGO 11 14 MOTOR FAJA PIC16F877A L293D BY: EULER DEZA ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 24 INGENIERIA MECATRONICA -------------------------------------------------------------------- XIII).- EJERCICIOS COMPLEMENTARIOS: 1. Realice un juego en pantalla LCD, use caracteres especiales mediante la memoria CGRAM de la pantalla LCD 2. Realizar un programa para controlar un carrito detector de obstáculos monitoriado en pantalla LCD 3. Realice un programa para controlar una matriz de led’s de 8x8 [Debe visualizar un mensaje corredizo] 4. Realice un Menu en pantalla LCD, para controlar motores, led’s, sensores, etc 5. Diseñe el control de una faja transportadora, en donde se tenga el control del motor DC, ademas debe contar con sensores, un contador de objetos e indicador de alarmas con PIC, debe contar con opciones de SET-POINT, teniendo la posibilidad de grabar los parametros mas importantes de ajuste en la EEPROM INTERNA del PIC 6. Diseñe el prototipo de una impresora 2D, incorporando para ello dos motores PAP, ademas algun mecanismo de envio de datos para la impresión de formas, figuras y letras usando microcontrolador. X).- CONCLUSIONES Y RECOMENDACIONES ➢ ➢ ➢ ➢ ➢ ➢ ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 25 INGENIERIA MECATRONICA -------------------------------------------------------------------- ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA 26 INGENIERIA MECATRONICA -------------------------------------------------------------------- ------------------------------------------------------------------------------DESARROLLLO AVANZADO CON MICROCONTROLADORES INSTRUCTOR: ING. EULER DEZA FIGUEROA