Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Práctica de Taller 2
CURSO:TALLER DE DESARROLLO AVANZADO CON MICROCONTROLADORES FECHA:
1.
2.
3.
4.
5.
6.
1. RUBRICA DE EVALUACIÓN GRUPAL
-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
2
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
Práctica de Taller 2
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
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 :
-------------------------------------------------------------------------------
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
-------------------------------------------------------------------------------
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
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
----------------------------------------------------------------------
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
-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
11
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
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)]
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
-------------------------------------------------------------------------------
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)]
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 ”
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
-------------------------------------------------------------------------------
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]
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]
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
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
----------------------------------------------------------------------
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
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
-------------------------------------------------------------------------------
DESARROLLLO AVANZADO CON MICROCONTROLADORES
INSTRUCTOR: ING. EULER DEZA FIGUEROA
21
ESCUELA SUPERIOR DE INGENIERIA
----------------------------------------------------------------------
XIII).- EJERCICIOS COMPLEMENTARIOS:
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.
-------------------------------------------------------------------------------
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