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$
Top Related