Práctica 4.
- Introducción a un sistema de desarrollo llamado MIUVA basado en el
microcontrolador PIC 18F4550.
I. PRESENTACIÓN
MATERIA: ARQUITECTURA DE CLAVE: SCD-1003 EQUIPO NO:
COMPUTADORAS
TITULO: Introducción a un sistema de desarrollo llamado MIUVA basado en el microcontrolador
PIC 18F4550.
PROFESORES: ING. ELOY CADENA MENDOZA, ING. ROLANDO FECHA:
PALACIOS ORTEGA, ING. CÉSAR AUGUSTO SEBASTIÁN NÚÑEZ
UNIDAD: IV Práctica No. 4
COMPETENCIA(S): Analizar, verificar y probar el sistema de desarrollo llamado MIUVA
con circuito PIC 18F4550.
II. INSTRUMENTACIÓN
MATERIAL:
Hardware
1 Tarjeta MIUVA con circuito PIC 18F4550
1 Computadora con 16 Mbytes de memoria como mínimo.
Software
1 Sistema Operativo MS-DOS 386 o superior, o Sistema Operativo
Windows
Software para Miuva (MikroC, Pickit 2, MPLAB IDE)
EQUIPO:
Computadora Personal.
HERRAMIENTAS:
Protoboard
Tarjeta Miuva
Cables
Led’s
III. ASPECTOS TEÓRICOS
INTRODUCCIÓN: Para el desarrollo de esta práctica número cuatro se utilizará la tarjeta MIUVA
(figura 1) con el PIC18F4550 para desarrollar los 5 ejercicios. En la figura 2 se muestra el diagrama
de bloques del microcontrolador. La tarjeta de desarrollo de Intesc Miuva, ha sido diseñada para
estudiantes o profesionistas que trabajan con microcontroladores de 8 bits de Microchip. Miuva
cuenta con un microcontrolador PIC18F4550 y está equipada con su propio programador-depurador.
El estudiante buscará lo necesario para hacer funcionar y demostrar lo solicitado en los ejercicios.
El microcontrolador PIC18f4550 sigue la arquitectura Harvard “que dispone de dos memorias
independientes a las que se conecta mediante dos grupos de buses separados”: memoria de datos y
memoria de programa. “Ambos buses son totalmente independientes y pueden ser de distintos anchos,
esto permite que la CPU pueda acceder de forma independiente y simultánea a la memoria de datos
y a la de instrucciones, consiguiendo que las instrucciones se ejecuten en menos ciclos de reloj”
(Palacios et. al. 2004)
Son procesadores tipo RISC, los cuales “son microprocesadores con un repertorio de instrucciones
reducido. Las instrucciones son muy simples y suelen ejecutarse en un ciclo máquina. Los
procesadores RISC suelen tener una estructura Pipeline y ejecutar casi todas las instrucciones en el
mismo tiempo” (Palacios et. al. 2004)
BIBLIOGRAFÍA:
Productos Miuva. (s.f.). Obtenido de Intesc Electronics & Embedded:
http://www.intesc.mx/productos/miuva
Palacios et. al. (2004). Microcontrolador PIC16F84A: Desarrollo de proyectos. México:
Alfaomega.
SISTEMA DE DESARROLLO “MIUVA”
Figura 1. Tarjeta MIUVA con PIC18F4550
Ref. [http://www.intesc.mx/productos/miuva]
Figura 2. Diagrama de bloques del microcontrolador.
Ref. [http://www.intesc.mx/productos/miuva]
IV. DESARROLLO
COMPETENCIAS ESPECÍFICAS:
a. Conocer una arquitectura diferente a la de la familia Intel.
b. Identificar los elementos del sistema de desarrollo de la Tarjeta Miuva.
c. Ejecutar programas en el sistema mínimo basado en la Tarjeta Miuva con Pic
18F4550.
ACTIVIDADES A DESARROLLAR:
1. Seguir el procedimiento para instalar y comunicar la tarjeta Miuva con la PC. Se
encuentra al final de esta práctica.
2. Cargar los programas de ejemplo.
3. Elaborar el Reporte de la Práctica por equipo.
Los siguientes ejercicios tienen como fuente:
Ejercicios de MIUVA Resueltos.
Autor: M.C. Carlos García Lucero
www.intesc.mx
Ejercicio No. 1
Conectar un pulsador al pin RBO, cuando se pulse, se prenderá el diodo led conectado al pin RB7.
Objetivos:
· Reconocer partes del sistema de desarrollo.
· Aprender a manipular diodos leds con los pines de salida y pulsadores.
· Familiarizarse con el entorno de programación.
· Reconocer las partes de un programa en Ensamblador.
Ver figura 3.
Figura 3: Diagrama electrónico del Ejercicio 1. [Hecho en Proteus]
Solución: Código Realizado en MPLAB IDE.
LIST P = 18F4550
INCLUDE <P18F4550.INC>
ORG 0x00 ;Iniciar en el registro 0x00
CLRF PORTB
LRF LATB
MOVLW 0Eh
MOVWF ADCON1 ; digital I/O pins
MOVLW 01h
MOVWF TRISB
CICLO
btfss PORTB, 0
goto APAGA
bsf PORTB, 7 ;Encender Led
bra CICLO
APAGA
bcf PORTB, 7 ;Apagar Led
bra CICLO
END
Ejercicio No. 2
Se trata de conectar un diodo led al pin RB0, haciendo que brille durante 500 ms (milisegundos) y
que se apague durante 100 ms, este proceso se repetirá cíclicamente; no olvide la resistencia
limitadora; ver figura 4.
Objetivos:
· Reconocer partes del sistema de desarrollo.
· Aprender a manipular diodos leds con los pines de salida del sistema de desarrollo.
· Familiarizarse con el entorno de programación.
· Reconocer las partes de un programa en MikroC.
Figura 4. Diagrama electrónico del Ejercicio 2. [Hecho en Proteus]
Solución: Código Realizado en MikroC.
void main() {
ADCON1 = 0x0f; //Todos los pines del Pic son Digitales
TRISB.F0 = 0; //Configura puerto E como salidas.
while(1){
LATB.RB0 = 0; //Apaga el LED
delay_ms(100); //Retardo de 100 mili segundos
LATB.RB0 = 1; //Enciende el LED
delay_ms(500);
}
}
Ejercicio No. 3
Se trata de encender y apagar 4 diodos leds secuencialmente. Los diodos leds deben estar
conectados a los pines RB0, RB1, RB2, RB3; no olvide sus resistencias limitadoras.
Se deben encender y posteriormente apagar los diodos leds desde el pin RB0 al RB3, con un tiempo
de duración de encendido y apagado de 200 milisegundos; ver figura 5.
Figura 5. Diagrama electrónico del Ejercicio 3. [Hecho en Proteus]
Solución: Realizado en MikroC.
unsigned short X = 1; //Declara la variable X, y la inicia a cero
void main() {
ADCON1 = 0x0f; //Todos los pines del Pic son Digitales
TRISB.RB0 = 0;
TRISB.RB1 = 0;
TRISB.RB2 = 0;
TRISB.RB3 = 0;
//Configura puerto B como salidas.
while(1){ //Ciclo infinito
PORTB.RB0 = 1;
delay_ms(200);
PORTB.RB0 = 0;
delay_ms(200);
PORTB.RB1 = 1;
delay_ms(200);
PORTB.RB1 = 0;
delay_ms(200);
PORTB.RB2 = 1;
delay_ms(200);
PORTB.RB2 = 0;
delay_ms(200);
PORTB.RB3 = 1; // y lo manda al puerto B
delay_ms(200); //Retardo de 200 milisegundos
PORTB.RB3 = 0;
delay_ms(200);
Ejercicio 4.-
Cruce de semáforos.
Se trata de un cruce de semáforos; para ello utilizaremos en el primer semáforo S1, los pines RB0
(led rojo), RB1 (led ámbar) y RB2 (led verde). En el segundo semáforo S2, utilizaremos los pines
RB3 (led rojo), RB4 (led ámbar) y RB5 (led verde). La secuencia de funcionamiento debe ser: a)
S1 en rojo y S2 en verde durante 3 segundos; b) S1 en rojo y S2 en ámbar durante 500 ms; c) S1
en verde y S2 en rojo durante 3 segundos; d) S1 en ámbar y S2 en rojo durante 500 ms ; ver figura
6.
Objetivos:
· Familiarizarse con el entorno de programación.
· Aprender a declarar variables tipo arreglo o lista de valores.
Figura 6. Diagrama electrónico del Ejercicio 4. [Hecho en Proteus]
Solución: Realizado en MikroC.
void main() {
//semaforo 1
TRISB.F0 = 0; //luz roja
TRISB.F1 = 0; //luz ámbar
TRISB.F2 = 0; //luz verde
//semaforo 2
TRISB.F3 = 0; //luz roja
TRISB.F4 = 0; //luz ámbar
TRISB.F5 = 0; //luz verde
while(1){
LATB.RB3 = 0; //apaga luz roja del semaforo 2
LATB.RB0 = 1; //enciende luz roja del semaforo 1
LATB.RB1 = 0; //apaga luz amarilla del semaforo 1
LATB.RB5 = 1; //enciende luz verde del semaforo 2
delay_ms(10000); //retardo de 10 segundos
LATB.RB5 = 0; //apaga la luz verde del semaforo 2
LATB.RB4 = 1; //enciende luz amarilla del semaforo 2
delay_ms(1000); //
LATB.RB0 = 0; //apaga luz roja del semaforo 1
LATB.RB2 = 1; //enciende luz verde del semaforo 1
LATB.RB4 = 0; //apaga luz amarilla del semaforo 2
LATB.RB3 = 1; //enciende luz roja del semaforo 2
delay_ms(10000);
LATB.RB2=0; //apaga luz verde del semaforo 1
LATB.RB1=1; //enciende luz amarilla del semaforo 1
delay_ms(1000);
}
}
Ejercicio 5.-
Se trata de un zumbador que en código MORSE (pitidos largos/cortos) especifica una palabra, en
este caso programamos “SOS”. En código MORSE; la S son tres señales acústicas de corta duración
y la O tres señales acústica de larga duración.
El zumbador debe estar conectado al pin RB0, los pitidos cortos tendrán una duración de 100 ms y
los largos de 300 ms. Entre letra y letra debe pasar un tiempo de 300 ms y entre SOS´s debe haber
un tiempo de un segundo.
Nota: Debes usar variables para guardar los tiempos que vas a usar ; ver figura 7.
Objetivos:
Reconocer las partes del sistema de desarrollo.
Aprender a manipular un zumbador con sistema de desarrollo.
Familiarizarse con el entorno de programación.
Aprender a declarar variables.
Figura 7. Diagrama electrónico del ejercicio 5. [Hecho en Proteus]
Solución 1. Realizado en MikroC.
int i = 0;
void main() {
TRISB.F0 = 0;
while(1){
int s = 100;
int o = 300;
int espera = 1000;
LATB.RB0 = 1;
delay_ms(100);
LATB.RB0 = 0;
delay_ms(300);
LATB.RB0 = 1;
delay_ms(300);
LATB.RB0 = 0;
delay_ms(300);
LATB.RB0 = 1;
delay_ms(100);
LATB.RB0 = 0;
delay_ms(1000);
}
PRODUCTOS ENTREGABLES:
Reporte de la práctica en CD R/W, incluyendo archivos de Programas
V. EVALUACIÓN
RÚBRICA:
• Simulación de programas. ------------------------------------- 20%
• Realización de práctica de laboratorio ------------------------40%
• Elaboración y entrega del reporte y conclusiones ------------40%
Criterio Altamente Competente Medianamente No competente
competente competente
Desarrolló la Conoce y Conoce y Lo maneja No conoce el
habilidad para maneja maneja medianamente. sistema de
ocupar el ampliamente el adecuadamente desarrollo
sistema de sistema de el sistema de
desarrollo. desarrollo desarrollo.
Respuestas Demuestra que Las respuestas Le falta exactitud Da respuestas
a preguntas sabe bien el son correctas de en su respuesta ambiguas, le
teóricas tema con acuerdo al tema falta
respuestas conocimiento
bastante amplias
Realizó reporte Reporte con los Reporte con los Reporte cumple El reporte No
técnico temas a temas con falta con los cumple con los
profundidad, de profundidad, elementos elementos
detallado en sus detallado en sus básicos básicos
esquemas y esquemas y
conclusiones conclusiones
claras aceptables
VI. FORMATO DEL REPORTE (se entrega en forma electrónica en CD)
Portada
1. Índice
2. Introducción
3. Marco teórico
4. Desarrollo de la práctica
5. Resultados, Gráficas, Cálculos, Dibujos, Diagramas, programas.
6. Conclusiones del equipo.
7. Bibliografía
8. Anexos y Apéndices
REFERENCIAS PARA UTILIZAR MIKROC Y PICKIT 2
Abrimos el Programa MikroC y posteriormente nos mostrará una ventana como se muestra a
continuación seleccionamos “New Project” ; ver figura 8.
Figura 8. Abriendo el Programa MikroC
Después ingresamos el nombre para nuestro proyecto y seleccionamos el Pic que trae la tarjeta Miuva
en este caso es PIC 18F4550 y seleccionamos “Next” ; ver figura 9.
Figura 9. Seleccionando el Pic
Después escribimos nuestro código para el primer ejercicio y lo compilamos seleccionando la opción
“Build” y en el parte de inferior nos mostrara si hay o no errores ; ver figura 10.
Figura 10. Escribiendo nuestro código
Después que ya tengamos nuestro programa correctamente, Instalamos el programa Pickit 2 el cual
sirve para “Grabar el código en la Tarjeta Miuva”.
Para esto primero se conecta la tarjeta Miuva con el cable USB a la computadora, después abrimos
Pickit 2 y seleccionamos la opción “File” y en seguida “Import Hex” ; ver figura 11.
Figura 11. Abriendo Pickit 2
Después se busca el archivo .Hex en la carpeta donde se haya guardado el programa. Y después se
selecciona la opción “Write”; ver figura 12.
Figura 12. Seleccionamos la opción “Write”.