EMBEBIDOS: PROGRAMACIÓN DEL UC EN ASSEMBLER – PARTE 3 MSc. Roberto Furukawa Junio 2020 OBJETIVO Desarrollar el laboratorio N°1 parte 3 LABORATORIOS
Laboratorio Tema a evaluar Fecha de entrega
Laboratorio 1 Programación en Assembler Semana 5 Laboratorio 2 Uso de periféricos Semana 7 Uso de interrupciones Implementación Proyecto parcial Informe parcial Semana 9 Laboratorio 3 Programación en C Semana 10-11 Laboratorio 4 Uso de periféricos (teclado y LCD) Semana 12-13 Uso de conversor AD y Comunicación serial Implementación Proyecto final Informe Semana 14-15 Exposición Revisión del proyecto Exposición de los Proyectos grupales: 15’ Área de salud (1) Área de educación (2) Área de trabajo (3) Proyecto del aula Revisar información de ciudades inteligentes utilizando IoT ¿Qué son las Ciudades inteligentes? Presente y futuro. IBM Smarter Cities Área de salud (1) ¿Cómo está la situación actual? En el Perú y Mundo. ¿Cuáles son las brechas? ¿Qué se monitorea y que se puede monitorear? ¿Cuál es el costo? ¿Cómo beneficia? ¿Cuál es la tendencia? Área de educación (2) ¿Cómo está la situación actual? En el Perú y Mundo. ¿Cuáles son las brechas? ¿Qué se monitorea y que se puede monitorear? ¿Cuál es el costo? ¿Cómo beneficia? ¿Cuál es la tendencia? Área de trabajo (3) ¿Cómo está la situación actual? En el Perú y Mundo. ¿Cuáles son las brechas? ¿Qué se monitorea y que se puede monitorear? ¿Cuál es el costo? ¿Cómo beneficia? ¿Cuál es la tendencia? Tutorial de proteus Hacer tutorial MPLAB-V8.00 Revisión de la datasheet del PIC1687 Revisión de las librerías por grupo 1 4 Problema 3 5 6 7 9 multiplicación 11 12 primer tutorial segundo tutorial tercer tutorial Aplicaciones
1.- Realizar una rutina para obtener una base de tiempo de 1
segundo. 2.- Realizar un programa para generar por el pin RB2 del PIC16F84 una señal de 1KHz (DC=50%). 3.- Realizar un programa para generar una secuencia de luces en el Puerto B. 4.- Realizar un programa para contar el número de vueltas por segundo que realiza un motor de C.C. Nota: No olvidar de borrar el flag de desordamiento del TIMER0. Realizar una rutina para obtener una base de tiempo de 1 segundo. Para la solución de este problema utilice los lazos anidados. Es muy probable que utilice hasta tres niveles (depende del número de cuentas a realizar por lazo). Se recomienda realizar como primer paso un lazo con una cuenta de 256 y calcular el tiempo consumido por este. A continuación anide este lazo en otro y calcule el tiempo. Para comparar los cálculos realizados por Ud, utilice la ventana de StopWatch y para acelerar la velocidad de proceso utilice los puntos de ruptura en el programa (Break Point Setting). Nota: Considere en todo momento que la frecuencia del Cristal es de 4MHz. Generar por el pin RB2 del PIC16F84 una señal de 1KHz (DC=50%). Para generar una señal de 1KHz utilizamos el TMR0 como temporizador. La señal de reloj se obtiene del Cristal: Fclk = 4MHz/4=1MHz. Tclk = 1us. Sin el pre-escaler la cuenta máxima del TMR0 es de 255 y se llenará en 255us. Dividiendo Fclk/2 el Tclk = 2us, con lo cual el TMR0 se llena en 512us. Realizar un programa para generar una secuencia de luces en el Puerto B Utilizaremos la instrucción de rotación: RLF f,d : rota a la izquierda a través del acarreo. RRF f,d : rota a la derecha a través del acarreo. La rotación se realizará cada 200ms. Para ello se realizará una sub-rutina de tiempo (utilizando el TMR0). Con el valor del Pre-escaler a “111” tenemos una división de la frecuencia de fxtal/256. Por lo tanto el TMR0 se llenará a los 65,5ms=256us*256cuentas. Para llegar a los 200ms, el TMR0 debe desbordarse a los 50ms cuatro veces (para ello debe utilizar un contador). Realizar un programa para contar el número de vueltas por segundo que realiza un motor de C.C Solución: De acuerdo al gráfico vemos que por cada vuelta que da el motor, se genera un pulso de reloj. La idea es contar cuantos pulsos ingresan al TMR0 en 1 segundo (El TMR0 funcionará como contador). Utilizaremos le rutina que dura aprox. 1 segundo. El número de vueltas se mostrará en el Puerto B como cuenta binaria. Se ha subido las soluciones como librerías https://drive.google.com/drive/folders/1A3X8dtId 9IS8Gp28_rc07Ts5N1xtUYzm?usp=sharing