Reporte Micro

Embed Size (px)

Citation preview

  • 8/16/2019 Reporte Micro

    1/24

     Universidad Autónoma de Nuevo León

    Facultad de Ingeniería Mecánica y Eléctrica

    Microcontroladores

    Proyecto 1

     Argel Díaz Garza 1601338

    Elihu Emmanuel Escalera Rodríguez 1596688

    Homero Aranda Hernández 1588973

    M1

    Semestre Enero-Junio

    Ing. Saúl Montes de Oca Luna

  • 8/16/2019 Reporte Micro

    2/24

    Cd. Universitaria, 04 de Mayo de 2016

    Proyecto:

    Dos contadores de 0 al 99 que cuenten cada que reciban un pulso de su

    respectivo push button.

    Se debe dejar libres los pines PB0 y PB1, el SC y ! entradas el "DC

    #etardo de 1 $s

    %ista de $ateriales:

    1 Protoboard

    1 Co$putadora o %aptop

    1 Pro&ra$a '(reescale Code)arrior*

    1 BD+ interace

    1 +icrocontrolador +C9S0-S-

    / #esistencias de 0 oh$

    #esistencias de 100 oh$

    2ransistores !3!!!!"

    Displays Catodo Co$un

    Cable para protoboard

    Para esto se dise45 un pro&ra$a con el cual cada par de displays au$entaban de

    or$a unitaria al recibir una se4al procedente de un push botton de or$a $anual,

    conectados al co$6n de estos displays se encontraban transistores haciendo el

    trabajo de con$utadores y asi activar cada uno de los display en el $o$ento en

    que uera requerido, estos se encontraban conectados en el colector, teniendo en

    el e$isor a tierra y la base diri&ida hacia el $icrocontrolador.

    Marco Teórico

    2ransistor !3!!!!. s un transistor de silicio y baja potencia, dise4ado para

    aplicaciones de a$pliicaci5n lineal y con$utaci5n. 7no de sus principales

    abricantes es la Philips Se$iconductors. dentiicado ta$bi8n co$o P3!!!! por

    otros abricantes.

    Descripci5n

  • 8/16/2019 Reporte Micro

    3/24

    s un transistor de silicio de $ediana potencia con una polaridad npn, construido

    $ediante el proceso de base epitaial y desi&nado para aplicaciones de

    a$pliicaci5n lineal y con$utaci5n. Puede a$pliicar peque4as corrientes a

    tensiones peque4as o $edias y trabajar a recuencias $ediana$ente altas. s

    abricado en dierentes or$atos, los $s co$unes son los 2;

    Principales caracter=sticas

    • >oltaje colector e$isor en corte ?0> @>ceoA

    • Corriente de colector constante -00$" @cA

    • Potencia total disipada 00$)@PdA

    • anancia o he $=ni$a

    • (recuencia de trabajo !0 +h @(tA

    • ncapsulado de $etal 2;

  • 8/16/2019 Reporte Micro

    4/24

    Diagramas de los componentes

    Transistor 2N2222A

    Display de Cátodo Común.

  • 8/16/2019 Reporte Micro

    5/24

    Microcontrolador MC9S08SE8

  • 8/16/2019 Reporte Micro

    6/24

    Asignación de pines del microcontrolador.

    PTC ! 0in 2 del display

    PTC"! 0in A del display

    PTC#! 0in % del displayPTC$! 0in ' del diaplay

    PTC%!0in E del display

    PTC&! 0in F del display

    PTC'! 0in 3 del display

    PT(! Al s4itc# 5

    PT("! Al 64itc# 7

    PTA0! Al transistor 7

    PTA'! Al transistor 5

    PTA&! Al transistor 8

    PTA%! Al transistor 9

    Diagrama de )l*+o

  • 8/16/2019 Reporte Micro

    7/24

  • 8/16/2019 Reporte Micro

    8/24

  • 8/16/2019 Reporte Micro

    9/24

  • 8/16/2019 Reporte Micro

    10/24

    Código en Ensam,lador

    : Include derivative;speci

  • 8/16/2019 Reporte Micro

    11/24

      '%$2 G555..... :-

      '%$2 G5555555. :J

      '%$2 G5555.55. :/

     

     @6tartup

      L'K? BAMEnd5 : initiali!e t#e stac pointer

      ?6

      %LI : ena*le interrupts

    U5 EOU P2. : 'eclaramos direcciones

    para unas etiuetas ue nosotros elegimos

    '5 EOU P25

    U7 EOU P29

    '7 EOU P28

    ENBA'A6 EOU P2H

    2N5 EOU P2

    %N5 EOU P2J

    %N7 EOU P2/

    %N9 EOU P2A

    %N8 EOU P22

      Q6B 'E%LABA%INE6 :2rincamos a la etiueta de declaraciones

      M1 P.,U5 :%argamos un . a las etietas anteriores

      M1 P.,'5

      M1 P.,U7

      M1 P.,'7

      M1 P.,ENBA'A6

      M1 P.,2N5

  • 8/16/2019 Reporte Micro

    12/24

      M1 P/,%N5

    M1 P/,%N7

      M1 P/,%N9

      M1 P/,%N8

    mainLoop

     Q6B 2ABBI' :2rincamos al *arrido, ue es la

    impresión del codigo en los displays

     

    L'A 02'

      AN' P%.

      %M0 ENBA'A6

      2EO mainLoop

      6A ENBA'A6

      AN' P8.

      %M0 2N5

      2EO 6R5

      6A 2N5

     

    2B%LB ,02',%NA'B5 :6i el *it del 02' es cero, se salta a la

    etiueta %NA'B5

      &eed@4atc#dog

    2BA mainLoop :2rincamos al mainLoop

     

    6R5

    2B%LB -,02',%NA'B7 :6i el *it del 02' es cero, se salta a la

    etiueta %NA'B5

      &eed@4atc#dog

  • 8/16/2019 Reporte Micro

    13/24

      2BA mainLoop :2rincamos al mainLoop

     

    %NA'B5 Q6B %N5 :2rincamos a la etiueta de

    %N5

      2BA mainLoop :2rincamos al mainLoop

     

    %NA'B7 Q6B %N7 :2rincamos a la etiueta de

    %N7

      2BA mainLoop :2rincamos al mainLoop

     

    %N5 L'A %N5 :%argamos el acumulador con%N5

      %M0 P. :%omparamos con .

      2NE UNI'A'E65 :Mientras no sea cero, *rincamos a

    UNI'A'E65

      2BA B6U5 :2rincamos a B6U5

     

    UNI'A'E65 IN% U5 :Incrementamos uno U5

      'E% %N5 :'ecrementamos uno %N5

      B6

     

    'E%ENA65 IN% '5 :Incrementamos uno '5

      'E% %N7 :'ecrementamos uno %N7

      B6 

    B6U5 L'A P. :%argamos A con .

      6A U5 :Lo almacenamos en U5

      L'A P/ :%argamos A con /

  • 8/16/2019 Reporte Micro

    14/24

      6A %N5 :Lo almacenamos en %N5

      L'A %N7 :%argamos %N7 en el acumulador

      %M0 P. :%omparamos con un .

      2NE 'E%ENA65 :Mientras no sea cero, saltamos a'E%ENA65

      2BA BE6'5 :6altamos a BE6'5

     

    BE6'5 L'A P. :%argamos el acumulador

    con .

      6A '5 :Lo almacenamos en '5

      L'A P/ :%argamos el acumulador con /

      6A %N7 :Lo almacenamos en %N7

      B6

    %N7 L'A %N9 :%argamos el acumulador con lo

    ue #ay en %N9

      %M0 P. :Lo comparamos con .

      2NE UNI'A'E67 :Mientras no sea cero, *rincamos a

    UNI'A'E67

      2BA B6U7 :2rincamos a B6U7

     

    UNI'A'E67 IN% U7 :Incrementamos uno U7

      'E% %N9 :'ecrementamos uno %N9

      B6 

    'E%ENA67 IN% '7 :Incrementamos uno '7

      'E% %N8 :'ecrementamos uno %N8

      B6

  • 8/16/2019 Reporte Micro

    15/24

     

    B6U7 L'A P. :%argamos el acumulador

    con .

      6A U7 :Lo almacenamos en U7

      L'A P/ :%argamos el acumulador con /

      6A %N9 :Lo almacenamos en %N9

      L'A %N8 :%argamos el acumulador con lo ue #ay

    en %N8

      %M0 P. :Lo comparamos con .

      2NE 'E%ENA67 :Mientras no sea cero, *rincamos a

    'E%ENA67

      2BA BE6'7 :2rincamos a BE6'7

     

    BE6'7 L'A P. :%argamos el acumulador

    con .

      6A '7 :Lo almacenamos en '7

      L'A P/ :%argamos el acumulador con /

      6A %N8 :Lo almacenamos en %N8

      B6

    'E%LABA%INE6

      L'A P. :'eclaramos el puerto 2

      6A 02'' :como entrada

      L'A P%. :'eclaramos resistencias de 0ull Up  6A 020E :a *it y *it - del puerto 2

      L'A PFF :'eclaramos el puerto 2%

      6A 0%'' :como salida

  • 8/16/2019 Reporte Micro

    16/24

      L'A P.F :'eclaramos los *its del . al 9 del puerto

    A

      6A 0A'' :%omo salidas

      B6

    2ABBI'

    &eed@4atc#dog

      :Encendemos el display U5

      %LBK :2orramos el registro K?

      %LB?

     

    L'A P5 :%argamos 5 al 0A' para polari!ar el transistor de U5

      6A 0A'

      L'? U5 :%argamos ? con U5

      L'K? PE...,? :%argamos K? con la direccion PE...?

     

    6? 0%' :Lo cargamos al 0%'

      26B BEAB' :2rincamos a un retardo

     

    :Encendemos el display '5

     

    %LBK :2orramos el registro K?

      %LB?

      L'A P7 :%argamos 7 al 0A' para polari!ar el transistor de '5

      6A 0A'

      L'? '5 :%argamos ? con '5

      L'K? PE...,? :%argamos K? con la direccion PE...?

     

  • 8/16/2019 Reporte Micro

    17/24

      6? 0%' :Lo cargamos al 0%'

      26B BEAB' :2rincamos a un retardo

     

    :Encendemos el display U7

      %LBK :2orramos el registro K?

      %LB?

      L'A P8 :%argamos 8 al 0A' para polari!ar el transistor de U7

      6A 0A'

      L'? U7 :%argamos % con U7

      L'K? PE...,? :%argamos K? con la direccion PE...? 

    6? 0%' :Lo cargamos al 0%'

      26B BEAB' :2rincamos a un retardo

     

    :Encendemos el display '7

     

    %LBK :2orramos el registro K?

      %LB?

      L'A PJ :%argamos J en 0A' para polari!ar el transistor de '7

      6A 0A'

      L'? '7 :%argamos ? con '7

      L'K? PE...,? :%argamos K? con la direccion PE...?

     

    6? 0%' :Lo cargamos al 0%'

      26B BEAB' :2rincamos a un retardo

     

  • 8/16/2019 Reporte Micro

    18/24

      B6 :1olvemos a la su*rutina

     

    BEAB' L'K? PFF :%argamos K? con FF

      %I%L &eed@4atc#dog

     

    L'A P5 :%argamos A con 5

     

    %I%L7 'E%A :'ecrementamos A

      2NE %I%L7 :6i no es . saltamos al %I%L7  AI? ;5 :6i es . restamos 5 a ?

      %0K? . :%omparamos K? con .

      2NE %I%L :6i no es . 6altamos a %I%L

      B6 :Begresamos a la su*rutina

     

    BEAB'7 L'K? P9FFF

      %I%L8 &eed@4atc#dog

     

    L'A P5

     

    %I%L9 'E%A

      2NE %I%L9

      AI? ;5

      %0K? .

      2NE %I%L8

  • 8/16/2019 Reporte Micro

    19/24

      B6

     

    :SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

    :S spurious ; 6purious Interrupt 6ervice Boutine$ S

    :S )un4anted interrupt S

    :SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

    spurious : placed #ere so t#at security value

      N0 : does not c#ange all t#e time$

      BI

    :SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

    :S Interrupt 1ectors S

    :SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS

      B3 PFFFA

      '%$R spurious :

      '%$R spurious : 6RI

      '%$R @6tartup : Beset

  • 8/16/2019 Reporte Micro

    20/24

    Código

  • 8/16/2019 Reporte Micro

    21/24

  • 8/16/2019 Reporte Micro

    22/24

  • 8/16/2019 Reporte Micro

    23/24

  • 8/16/2019 Reporte Micro

    24/24

    %onclusiones$;

    Luego de la reali!ación de este proyecto y durante el mismo, lo más sencillo de

    reali!ar o al menos lo ue pareció ser lo más sencillo &ue el armar las

    cone>iones en el proto*oard pues solo de*íamos guiarnos de los datas#eets

    para poder diseTar el circuito, donde sí se encontraron una serie deinconvenientes y pro*lemas, &ue durante el diseTo del programa de

    &uncionamiento pues nos topamos con pro*lemas en cosas como las

    interrupciones o el ue no contara cuando de*ía, o algunas situaciones

    similares y creo ue el poder resolver esos detalles &ue el mayor reto dentro de

    este proyecto, ya ue en ocasiones pareciera ue es más di&ícil encontrar el

    error en el programa ue en si resolverlo$