Está en la página 1de 16

LABORATORIO 1 DE SISTEMAS

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

También podría gustarte