Está en la página 1de 23

1

ESCUELA SUPERIOR DE INGENIERIA


----------------------------------------------------------------------

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:

C1:Puntualidad C2: Colabora C3: Aporta C4:Respeto Puntaje


ALUMNO CRITERIO e indumentaria con el grupo soluciones y disciplina TOTAL
[Apell y Nom] [0-5] [0-5] [0-5] [0-5] [20 pts]

1.
2.
3.
4.
5.
6.
1. RUBRICA DE EVALUACIÓN GRUPAL

Rubrica de Evaluación Puntaje Puntuaciones Puntaje


Para taller máximo 6 5 4 3 2 1 obtenido

Se observa que hicieron un trabajo ordenado,


limpio y al finalizar la práctica dejaron su lugar 2
de trabajo en orden
Manipula y utiliza los equipos e instrumentos de 2
manera correcta
Detectan dificultades en la práctica, y dan 3
solución de manera creativa e inventiva,
aplicando técnicas aprendidas en clase, e
investigación del grupo
Implementan los diferentes circuitos 6
propuestos, con éxito
Presenta el proyecto final con estética y 4
operativo al 100%, en el tiempo establecido
Realiza un informe grupal del proyecto, en 3
donde además investigan cada dispositivo,
utilizado en dicho proyecto
TOTAL 20

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
2
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

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

CONTADOR DE CUATRO DIGITOS


DIG1[MSB] DIG0 [LSB]
UP[+]

DW[-]

RST/ENT
U1
16 17
RA7/OSC1/CLKIN RA0/AN0
15 18
RA6/OSC2/CLKOUT RA1/AN1
1
RA2/AN2/VREF
4 2
RA5/MCLR RA3/AN3/CMP1
3
RA4/T0CKI/CMP2 U2
T3

T2

T1

T0

6 7 13
R1 RB0/INT A QA
7 1 12
RB1/RX/DT B QB
8 2 11
RB2/TX/CK C QC
10k 9 6 10
RB3/CCP1 D QD
10 4 9
RB4 BI/RBO QE
11 5 15
RB5 RBI QF
12 3 14
RB6/T1OSO/T1CKI LT QG
13
RB7/T1OSI
74LS47
PIC16F628A
T3

T2

T1

T0

R8 Q4 R7 Q3 R6 Q2 R5 Q1
BC557 BC557 BC557 BC557
1.2k 1.2k 1.2k 1.2k

SPLAY'S MULTIPLEXADOS CON PIC 16F887


R4
3 a0 10k
MOTOR
4 R2
5
6
a1 10k
7
a3
8
a2
R3
9
a1
0 a2 10k
a0
5
R5
B0
6
B1 a3 10k
7
B2
8
B3 Q1
-------------------------------------------------------------------------------
3
B4 BC557
4 1 A
B5
D

5
6
B6
DESARROLLLO AVANZADO CON MICROCONTROLADORES R6
2 B
9
1 INSTRUCTOR:
B0 ING. EULER DEZA FIGUEROA 1k
0 B1
2
1 B2 3 C
3
2 B3
4
7 B4
8 B5 4 D
9 B6 MOTOR
3
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
II).- Materiales y equipos:
 MULTIMETRO DIGITAL
 GRABADOR DE PIC [COMPATIBLE CON PICKIT 2]
 (2) PROTOBOARD
 ALICATE PINZA [CON RESORTE]
 ALICATE DE CORTE [CON RESORTE]
 PELACABLE [OPCIONAL]
 CUCHILLA / TIJERA / CINTA MASKETING
 CAJITA PORTAHERRAMIENTAS
 ================
 (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
 (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

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
4
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
III).- Resumen :

TMR0: CLRWDT que borra el Watchdog y que hace comenzar


El bloque funcional TIMER0/WATCHDOG es un un nuevo conteo desde cero
contador (registro) de 8 bits, incrementado por  Puertos de Entrada/Salida
hardware y programable. La cuenta máxima es de  Pines de entrada/salida (I/O) de propósito
255(el incremento es constante e independiente). general
 CONTADOR: Cuenta los eventos externos(a  Mediante ellos, el micro PIC puede
través del pin RA4/TOCK1) monitorizar y controlar otros dispositivos.
 TEMPORIZADOR: Cuenta los pulsos internos  Para añadir flexibilidad al micro, muchos de
del reloj sus pines de entrada/salida están
Se puede insertar un prescaler, es decir, un divisor multiplexados con funciones alternativas.
de frecuencia programable que puede dividir por 2,  Para la mayoría de los puertos, la dirección
4, 8, 16, 32, 64, 128 o 256. del pin I/O es controlada por el registro de
La frecuencia de reloj (fosc/4). Posteriormente, con dirección de datos, llamado TRIS. TRISX<n>
el uso del prescaler se puede dividir la frecuencia. controla la dirección del pin n del puerto X.
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
REGISTRO OPTION_REG REGISTRO INTCON

REGISTRO W ALU (Unidad Aritmética-Lógica)


 Registro de trabajo  Ejecuta las operaciones con los
 Recibe los resultados de las operandos de entrada
operaciones ejecutadas por la ALU  Tiene un registro acumulador “W”
 Puede ser escrito donde sealmacenan los resultados
 Se usa para las transferencias  El registro W puede realimentar su
indirectas entre registros y valor como dato de entrada a la ALU
ubicaciones de memoria  Ejecuta operaciones según el código
 Por ejemplo: Puede usarse para que reciba en las entradas de
transferir datos a la pila y ejecutar control.
un “Push” o un “Pop”

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
5
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
Registro STATUS  Tecnología de baja potencia y alta
velocidad CMOS
Cuando el dispositivo está protegido por
 Ubicado en 03h,83h,103h y 183h código, la CPU puede continuar leyendo y
 Resume las condiciones en que se escribiendo en la memoria EEPROM, pero
encuentra el microcontrolador el programador del dispositivo ya no puede
 Bits: acceder esta memoria.
IRP: Selecciona bancos altos (2 y 3) cuando
vale 1 y bancos bajos (1 y 0) cuando vale 0 EECON1[EEPROM Control Register-88h].
RP1 y RP0: Selectores de bancos para Este registro contiene configuraciones
acceso directo. importantes acerca de la escritura y la
00: Banco 0 lectura de la EEPROM de datos. En
01: Banco 1 concreto tiene 5 bits de control, cuya
10: Banco 2 distribución y significado es el siguiente.
11: Banco 3
#TO: Bit de “Time Out”. Se pone en 0
cuando hay un “RESET”
#PD: Bit de “Power Down”. Se pone en 0 U
cuando entra en “SLEEP” (Unimplemented), No implementado. Se lee
Z: Bandera del Cero. Se pone en 1 si el como 0.
resulatado de la última operación realizada Bit 4 (flag): EEIF. Bit de interrupción de
es un 0. escritura en la memoria EEPROM ( EEPROM
DC: Bandera de Acarreo Intermedio. Se Interrupt Flag)
pone en 1 si hay un carry de los 4 bits 1: Este bit se pone a uno al terminar la
menos segnificativos a los 4 bits más operación de escritura en la EEPROM, y
significativos. debe ponerse a cero por software
C: Bandera de Acarreo. Se pone en 1 si el 0: No se ha completado la operación de
resultado de una operación excede la escritura o no ha empezado.
capacidad de 8 bits y requiere de un Bit 3 (flag), WRERR. Bit de error de
acarreo. escritura (Write Error)
Memoria EEPROM de datos [PIC16F84A] 1: Este bit se pone a 1 si se produce un
Resumen de características: error de escritura de forma prematura
 Memoria de datos de 64 bytes. (Reset o Watchdog). En este caso, los
 Lectura rápida de un byte (en el tiempo contenidos de EEADR y EEDATA no varían,
de uno o varios ciclos de instrucción). de manera que el proceso pueda ser
 Escritura de un byte en unos 8 ms. repetido correctamente.
 Se genera una interrupción cuando se 0: Se ha completado la operación de
completa la escritura de la memoria. escritura.
 1.000.000 de ciclos de Bit 2, WREN. Bit de habilitación de
borrado/escritura. escritura. (Write Enable)
 40 años de retención de datos. 1: Este bit debe ser habilitado para poder
escribir en la EEPROM
-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
6
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
0: Deshabilita la escritura de datos en la EJEMPLO ESCRITURA EEPROM: espera hasta
memoria EEPROM. confirmarlo
Bit 1, WR. Bit de control de escritura
Veamos un ejemplo de escritura típico que no
(Write Data)
utiliza interrupciones:
1: Indica que se ha iniciado una operación ESCRITURA ; Establecer EEADR y EEDATA
de escritura. Este bit debe ponerse a uno MOVLWDIRMEN1
para escribir un dato. MOVWF EEADR; Escribe la dirección en EEADR
0: Indica que se ha completado una MOVLW DATO1
operación de escritura. El PIC lo pone MOVWF EEDATA; Se escribe el dato en EEDATA
automáticamente a cero BSF STATUS,RP0 ; Selecciona el banco 1
BSF EECON1,WREN
Bit 0, RD. Bit de control de lectura (Read
; Permiso de escritura activado
Data) ;Comienzo de la secuencia de escritura
1: Inicia una lectura de la memoria MOVLW 0x55
EEPROM. Este bit debe ponerse a uno para MOVWF EECON2
poder leer un dato. ; Se escribe el dato 55 h en EECON2
0: No se ha iniciado una lectura de la MOVLW 0xAA
EEPROM. El PIC lo pone automáticamente a MOVWF EECON2 ; Se escribe AA h en EECON2
BSF EECON1,WR ; Comienza la escritura
cero
BCF EECON1,WREN
EJEMPLO LECTURA EEPROM: espera hasta
; Permiso de escritura desactivado
confirmarlo
ESPERA
LECTURA:
BTFSC EECON1,WR
BCF STATUS,RP0 ; Selecciona banco 0
; Espera a que termine la escritura
MOVLW MEM1 ; Dirección a leer de
GOTO ESPERA
MOVWF EEADR ; la EEPROM
BCF STATUS,R0 ; Selecciona el banco 0
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

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
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

RESUMEN
 Arquitectura RISC de 35  Pila de 8 niveles y 4
instrucciones. fuentes de interrupción.
 Operaciones de duración igual,  Protección de código
excepto saltos. programable.
 Compatible con otras familias de  Comunicación serie
PIC.

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
8
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

SET DE INSTRUCCIONES

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
9
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
IV).- Implemente el siguiente circuito: Contador de 0 a 9 y desarrolle el programa
correspondiente [considerar los pines de alimentacion]

CONTADOR DIGITAL [0 A 9]
U1
16 17
RA7/OSC1/CLKIN RA0/AN0 a0 U2
15 18
RA6/OSC2/CLKOUT RA1/AN1 a1
R1 1 7 13
RA2/AN2/VREF a2 b0 A QA
4 2 1 12
RA5/MCLR RA3/AN3/CMP1 b1 B QB
3 2 11
10k RA4/T0CKI/CMP2 b2 C QC
6 10
b3 D QD
6 4 9
RB0/INT b0 BI/RBO QE
7 5 15
RB1/RX/DT b1 RBI QF
8 3 14
RB2/TX/CK b2 LT QG
9
RB3/CCP1 b3
10 74LS47
RB4 b4
11
RB5 b5
12
RB6/T1OSO/T1CKI b6
13
RB7/T1OSI UP [+] R5
PIC16F628A
a0 10k

DOWN R6
a1 10k

ENTER R7
a2 10k

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
10
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

V).- Implemente el siguiente circuito: Contador de 0-99 y desarrolle el programa


correspondiente [considerar los pines de alimentacion]

CONTADOR DIGITAL [0 A 99]

U1
U2 74LS47
16 17
RA7/OSC1/CLKIN RA0/AN0 a0
15 18 7 13
RA6/OSC2/CLKOUT RA1/AN1 a1 b4 A QA
R1 1 1 12
RA2/AN2/VREF a2 b5 B QB
4 2 2 11
RA5/MCLR RA3/AN3/CMP1 a3 b6 C QC 1k 1k
10k 3 6 10
RA4/T0CKI/CMP2 b7 D QD
4 9
BI/RBO QE
6 5 15
RB0/INT b0 RBI QF
7 3 14
RB1/RX/DT b1 LT QG
8
RB2/TX/CK b2
9
RB3/CCP1 b3 7 13
10 b0 A QA
RB4 b4 1 12
11 b1 B QB
RB5 b5 2 11
12 b2 C QC
RB6/T1OSO/T1CKI b6 6 10
13 b3 D QD
RB7/T1OSI b7 4 9
BI/RBO QE
5 15
PIC16F628A RBI QF
3 14
LT QG
74LS47 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
11
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

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[-]

RST/ENT
U1
16 17
RA7/OSC1/CLKIN RA0/AN0
15 18
RA6/OSC2/CLKOUT RA1/AN1
1
RA2/AN2/VREF
4 2
RA5/MCLR RA3/AN3/CMP1
3
RA4/T0CKI/CMP2 U2
T3

T2

T1

T0

6 7 13
R1 RB0/INT A QA
7 1 12
RB1/RX/DT B QB
8 2 11
RB2/TX/CK C QC
10k 9 6 10
RB3/CCP1 D QD
10 4 9
RB4 BI/RBO QE
11 5 15
RB5 RBI QF
12 3 14
RB6/T1OSO/T1CKI LT QG
13
RB7/T1OSI
74LS47
PIC16F628A
T3

T2

T1

T0

R8 Q4 R7 Q3 R6 Q2 R5 Q1
BC557 BC557 BC557 BC557
1.2k 1.2k 1.2k 1.2k

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
12
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
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)]

CONTADOR DIGITAL CON PIC 16F887 [0 A 255]


R1
10k UP [+] R6
U1
1 15 a0 10k
RE3/MCLR/VPP RC0/T1OSO/T1CKI B0
16
RC1/T1OSI/CCP2 B1
2 17 DOWN R7
RA0/AN0/ULPWU/C12IN0- RC2/P1A/CCP1 B2
3 18
RA1/AN1/C12IN1- RC3/SCK/SCL B3
4 23 10k
RA2/AN2/VREF-/CVREF/C2IN+ RC4/SDI/SDA B4 a1
5 24
RA3/AN3/VREF+/C1IN+ RC5/SDO B5
6 25
RA4/T0CKI/C1OUT RC6/TX/CK B6 ENTER
7
RA5/AN4/SS/C2OUT RC7/RX/DT
26 R8
14
RA6/OSC2/CLKOUT
13 19 a2 10k
RA7/OSC1/CLKIN RD0 1
20

A
RD1 2
33 21
RB0/AN12/INT RD2 3
34 22
RB1/AN10/C12IN3- RD3 4 1 A
35 27
RB2/AN8 RD4 B0
36 28
RB3/AN9/PGM/C12IN2- RD5/P1B B1
37 29
a3 RB4/AN11 RD6/P1C 2 B B2
38 30
a2 RB5/AN13/T1G RD7/P1D B3
39
a1 RB6/ICSPCLK B4
40 8
a0 RB7/ICSPDAT RE0/AN5 3 C B5
9
RE1/AN6 B6
10
RE2/AN7
4 D
PIC16F887

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
13
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
14
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
VIII).- Implemente el siguiente circuito: [Puede reemplazar por otro microcontrolador que
ud disponga (PIC16F84A, PIC16F628A, PIC16F877A, PIC16F876, ETC)]

MENSAJE CORREDIZO CON DISPLAY'S MULTIPLEXADOS CON PIC 16F887


R1 R4
U1
13 33 a0 10k
10k OSC1/CLKIN RB0/INT MOTOR
14 34 R2
OSC2/CLKOUT RB1
35
RB2
2 36
RA0/AN0 RB3/PGM a1 10k
3 37
RA1/AN1 RB4 a3
4
RA2/AN2/VREF-/CVREF RB5
38
a2
R3
5 39
RA3/AN3/VREF+ RB6/PGC a1
6 40 a2 10k
RA4/T0CKI/C1OUT RB7/PGD a0
7 R5
RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI B0
8 16
RE0/AN5/RD RC1/T1OSI/CCP2 B1 a3 10k
9 17
RE1/AN6/WR RC2/CCP1 B2
10 18
RE2/AN7/CS RC3/SCK/SCL
23
B3 Q1
RC4/SDI/SDA B4 BC557
1 24 1 A
MCLR/Vpp/THV RC5/SDO B5

A
25
RC6/TX/CK B6
26
RC7/RX/DT
2 B R6
19 B0 1k
RD0/PSP0 1
20 B1
RD1/PSP1 2
21 B2 3 C
RD2/PSP2 3
22 B3
RD3/PSP3 4
27 B4
RD4/PSP4
28 B5 4 D
RD5/PSP5
29 B6 MOTOR
RD6/PSP6
30
RD7/PSP7
PIC16F877A Por: Euler Deza Figueroa

a).- Muestre un mensaje corredizo en los 4 displays multiplexados. Por ejemplo: “HOLA
PERU – 2016 ”

a).- 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
R1 U1 LM016L

10k 13 33
OSC1/CLKIN RB0/INT B0
14 34 UP [+] R6
OSC2/CLKOUT RB1 B1
35
RB2 B2
2 36 10k
a0 RA0/AN0 RB3/PGM B3 a0
3 37
a1 RA1/AN1 RB4 B4
4 38
a2 RA2/AN2/VREF-/CVREF RB5 B5 DOWN
5 39 R7
VDD
VSS

VEE

a3 RA3/AN3/VREF+ RB6/PGC B6
RW
RS

D0
D1
D2
D3
D4
D5
D6
D7

6 40
E

RA4/T0CKI/C1OUT RB7/PGD B7
7 a1 10k
RA5/AN4/SS/C2OUT
15
1
2
3

4
5
6

7
8
9
10
11
12
13
14

RC0/T1OSO/T1CKI
8 16 ENTER R8
RE0/AN5/RD RC1/T1OSI/CCP2
9 17
RE1/AN6/WR RC2/CCP1
10 18 10k
RE2/AN7/CS RC3/SCK/SCL a2
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
B2

B3

B4
B5
B6
B7
RW

25
RC6/TX/CK
4

26
RC7/RX/DT
19
RD0/PSP0 1
20
RD1/PSP1 2
21
RD2/PSP2 3
22
RD3/PSP3 4
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7 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
15
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
16
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
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
17
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
PROGRAMA EN ASSEMBLER

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
18
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
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

Generacion de retardos a traves del TMR0


LCD1
R1 UP [+] R4 LM016L

10k
U1 a0 10k
16 17
OSC1/CLKIN RA0 a0 DOWN
15
OSC2/CLKOUT RA1
18
a1
R2
1
RA2 a2
4 2 a1 10k
MCLR RA3 a3

VDD
VSS

VEE

RW
3

RS

D0
D1
D2
D3
D4
D5
D6
D7
RA4/T0CKI 1

E
ENTER R3
6
RB0/INT B0

1
2
3

4
5
6

7
8
9
10
11
12
13
14
7 10k
RB1 B1 a2
8
RB2 B2
9
RB3 B3
RB4
10
B4
R5
11
RB5 B5
12 2 10k

B2

B3

B4
B5
B6
B7
RB6 B6
13
RB7 B7
B0
4

PIC16F84A

B0 A

B LED1
C

D Por: Euler Deza Figueroa

SIMULACION

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
19
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
 Uso del utilitario Calculadora TMR0, para calcular el TMR0, para que se desborde
en 20ms

PROGRAMA EN ASSEMBLER

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
20
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

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

C1
1

U1 0 START RV1
22pF
X1 13
OSC1/CLKIN RB0/INT
33
VDD
VSS

VEE

RW

C2 14 34
RS

0 STOP
D0
D1
D2
D3
D4
D5
D6
D7

CRYSTAL OSC2/CLKOUT RB1


E

35
50%

RB2
2

2 36
RA0/AN0 RB3/PGM
0 P3
1
2
3

4
5
6

7
8
9
10
11
12
13
14

3 37
22pF RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39 50k
RA3/AN3/VREF+ RB6/PGC
6
7
RA4/T0CKI/C1OUT RB7/PGD
40 0 SENSOR
RS

D4
D5
D6
D7

RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
8 16
RE0/AN5/RD RC1/T1OSI/CCP2 RW
9 17
RE1/AN6/WR RC2/CCP1 RS
10 18
RE2/AN7/CS RC3/SCK/SCL E
R1 23
RC4/SDI/SDA D4
1 24
MCLR/Vpp/THV RC5/SDO D5
10k 25
RC6/TX/CK D6 U3
26 16 8
RC7/RX/DT D7
19 2 3
RD0/PSP0 B4 B4 IN1 VSS VS OUT1
RD1/PSP1
20
21
B5 B5
7
1
IN2 OUT2
6 BASTAGO
RD2/PSP2 B6 EN1
22
RD3/PSP3 B7
27
RD4/PSP4
28 9
RD5/PSP5 EN2
29 10 11
RD6/PSP6 B6 IN3 OUT3
RD7/PSP7
30
B7
15
IN4 GND GND OUT4
14 MOTOR FAJA
PIC16F877A
L293D

BY: EULER DEZA

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
21
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
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
22
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
23
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------

-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA

También podría gustarte