Uploaded by raulex379

UPN Micros Taller Practico II

advertisement
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
Download