Download - Laboratorio 1_2v3

Transcript
  • 7/26/2019 Laboratorio 1_2v3

    1/13

    LABORATORIO 1 DE SISTEMASEMBEBIDOS:

    PROGRAMACIN DEL UC ENASSEMBLER PARTE 2MSc. Roberto Furukawa

    Abril 2016

  • 7/26/2019 Laboratorio 1_2v3

    2/13

    LABORATORIOS

    Laboratorio Tema a evaluar Fecha de entrega

    Laboratorio 1 Programacin en Assembler Semana 4-5

    Laboratorio 2 Uso de perifricos

    Uso de interrupcionesImplementacin

    Semana 6-7

    Proyecto parcial Informe parcial Semana 9

    Laboratorio 3 Programacin en C Semana 10-11

    Laboratorio 4 Uso de perifricos (teclado y LCD)

    Uso de conversor AD y ComunicacinserialImplementacin

    Semana 12-13

    Proyecto final InformeExposicin

    Semana 14-15

  • 7/26/2019 Laboratorio 1_2v3

    3/13

    Laboratorio N1_2

    Fecha de desarrollo: 16 y 23 de abril

    Fecha de entrega: 23 de abril

  • 7/26/2019 Laboratorio 1_2v3

    4/13

    Revisin Laboratorio 1_1

    Ejemplo del tutorial Ejercicio 1 y 2 ejem1 ejem4

    problema3 ejem5 ejem6 ejem7 ejem9 aplicaciones ejem11 ejem12

  • 7/26/2019 Laboratorio 1_2v3

    5/13

  • 7/26/2019 Laboratorio 1_2v3

    6/13

    Alfredo Granados Ly

    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 sealde

    1KHz (DC=50%).

    3.- Realizar un programa para generar una secuencia de luces en el Puerto B.4.- Realizar un programa para contar el nmero de vueltas por segundo que

    realiza un motor de C.C.

    Nota: No olvidar de borrar el flag de desordamiento del TIMER0.

  • 7/26/2019 Laboratorio 1_2v3

    7/13

    Alfredo Granados Ly

    AplicacionesRealizar una rutina para obtener una base de tiempo de 1 segundo.

    Para la solucin de este problema utilice los lazos anidados. Es muy probableque utilice hasta tres niveles (depende del nmero de cuentas a realizar porlazo).

    Se recomienda realizar como primer paso un lazo con una cuenta de 256 y

    calcular el tiempo consumido por este.A continuacin anide este lazo en otro y calcule el tiempo.

    Para comparar los clculos realizados por Ud, utilice la ventana de StopWatch ypara 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.

  • 7/26/2019 Laboratorio 1_2v3

    8/13

    Alfredo Granados Ly

    Generar por el pin RB2 del PIC16F84 una seal

    de 1KHz (DC=50%).Para generar una seal de 1KHzutilizamos el TMR0 comotemporizador. La seal de reloj seobtiene del Cristal:

    Fclk = 4MHz/4=1MHz.

    Tclk = 1us.

    Sin el pre-escaler la cuenta mximadel TMR0 es de 255 y se llenar en255us.

    Dividiendo Fclk/2 el Tclk = 2us, conlo cual el TMR0 se llena en 512us.

  • 7/26/2019 Laboratorio 1_2v3

    9/13

    Alfredo Granados Ly

    Realizar un programa para generar una secuencia

    de luces en el Puerto BUtilizaremos la instruccin derotacin:

    RLF f,d : rota a la izquierda a travs

    del acarreo.

    RRF f,d : rota a la derecha a travs

    del acarreo.

    La rotacin se realizar cada200ms. Para ello se realizar unasub-rutina de tiempo (utilizando elTMR0).

    Con el valor del Pre-escaler a 111tenemos una divisin 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).

  • 7/26/2019 Laboratorio 1_2v3

    10/13

    Alfredo Granados Ly

    Realizar un programa para contar el nmero de vueltas

    por segundo que realiza un motor de C.CSolucin:De acuerdo al grfico vemos que por cada vuelta que da el motor, se genera un pulsode reloj.

    La idea es contar cuantos pulsos ingresan al TMR0 en 1 segundo (El TMR0 funcionarcomo contador). Utilizaremos le rutina que dura aprox. 1 segundo.

    El nmero de vueltas se mostrar en el Puerto B como cuenta binaria.

  • 7/26/2019 Laboratorio 1_2v3

    11/13

    Revisin Laboratorio 1_2

    ejem1

    ejem4

    Problema3

    ejem5

    ejem6

    ejem7 ejem9

    ejem11

    ejem12

    aplicacin 1

    Ejercicio 1 Ejercicio 2

    Ejercicio 3

    Ejercicio 4

  • 7/26/2019 Laboratorio 1_2v3

    12/13

  • 7/26/2019 Laboratorio 1_2v3

    13/13

    Tutoriales en video

    Primer Tutorial de programacin bsica en ASEMBLER(Prender un led, el "HOLA MUNDO DE LOS PIC") 17:38

    https://www.youtube.com/watch?v=Z67GlpBZJYA

    Segundo tutorial de programacin de microcontroladoresPIC en asembler (juego de luces basico) 11:30

    https://www.youtube.com/watch?v=UFzIn7CuFwc

    Tercer tutorial de programacin de microcontroladores PICen asembler (contador de 0 a 9) 24:48

    https://www.youtube.com/watch?v=MtOqKkRQ4yw