Está en la página 1de 20

Llabor: M.C.

Lverardo lnzunza Conzlez



!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB SlsLema mlnlmo basado en mlcroconLrolador 16l84A.

-?CADEF=B lmplemenLar el clrculLo mlnlmo basado en mlcroconLrolador 16l84A para el desarrollo de varlas
apllcaclones dldcLlcas. Adems deber leer un daLo de 3 blLs por el puerLo A y envlarlo a Lraves del puerLo 8.

.GDA@EGHB
1 mlcroconLrolador 16l84
1 x1AL de 4MPz
1 8 de 10k!
10 8 de 470! o 330!
2 C de 22pl
1 C de 100 pl
1 push buLLom
8 Led's
1 dlp swLlch de 8 llneas
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores
1 sofLware MLA8

:&-1%(#.#%"+-
<I Armar el slgulenLe clrculLo elecLrlco basado en mlcroconLrolador 16l84A, GJA>KL M=NAMDG@ ON JEP
LQEDMR AN AH POA@D= ) M=N LOL @ALPAMDEFGL @ALELDANMEGL S M=NAMDG@ T 2%(UL AN AH POA@D= /V
2) rogramar el mlcroconLrolador uLlllzando el MLA8 o el sofLware adecuado para el programador.
3) robar el clrculLo lnLroduclendo dlferenLes daLos blnarlos.



llgura 1) ulagrama elecLrlco del slsLema mlnlmo basado en mlcroconLrolador 16l84A.
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB Cperaclones arlLmeLlcas con el mlcroconLrolador lC 16l84A.

-?CADEF=B uesarrollar dos programas para el mlcroconLrolador lC 16l84A, de Lal forma que reallce las slgulenLes
operaclones arlLmeLlcas:
8=(3A-4)/2
!" ! !"

uonde, A = orL A, 8 = orL 8 del mlcroconLrolador lC 16l84A.

.GDA@EGHB
1 MlcroconLrolador 16l84A
1 x1AL de 4MPz
1 8 de 10k!
10 8 de 470! o 330!
2 C de 22pl
1 C de 100 pl
1 ush buLLom
8 Led's
1 ulp swlLch de 8 llneas
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores lC's
1 SofLware MLA8 v7.40 o superlor

(EGI@G>G G ?H=JKAL
:GL= ; M




llgura 1) ulagrama a bloques del slsLema mlnlmo para reallzar la operacln arlLmeLlca 8=(3A-1)/2.


:)'- ;<




llgura 2 ) ulagrama a bloques del slsLema mlnlmo para reallzar la operacln arlLmeLlca !" ! !".



"=DGB Ln las enLradas de daLos del mlcroconLrolador lC, deber conecLar un dlp swlLch y en la sallda LLu's para
vlsuallzar en cdlgo blnarlo el resulLado de las operaclones.
MlcroconLrolador
8=(3A-4)/2
A 8
MlcroconLrolador
!" ! !!"

A 8
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB Comparacln de reglsLros con el mlcroconLrolador 16l84A.

-?CADEF=B uesarrollar un programa para el mlcroconLrolador lC 16l84A, para que esLe leyendo los daLos de enLrada
a Lraves del puerLo A y reallce las slgulenLes Lareas:
a) Cuando el daLo en el puerLo A sea mayor que 27, unlcamenLe deber acLlvar en AL1C la sallda 880.
b) Cuando el daLo en el puerLo A, sea lgual 27, unlcamenLe deber acLlvar en AL1C la sallda 881.
c) Cuando el daLo en el puerLo A, sea menor que 27, unlcamenLe deber acLlvar en AL1C la sallda 882.

"=DGB Cbserve que solamenLe deber esLar una sallda acLlva en AL1C, dependlendo del resulLado de la comparacln.

.GDA@EGHB
1 MlcroconLrolador 16l84A
1 x1AL de 4MPz
1 8 de 10k!
10 8 de 470! o 330!
2 C de 22pl
1 C de 100 pl
1 push buLLom
8 Led's
1 ulp swLlch de 8 llneas
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores
1 SofLware MLA8

(EGI@G>G G ?H=JKAL





llgura 1) ulagrama a bloques del slsLema mlnlmo para reallzar comparaclones.



llgura 2) ulagrama elecLrlco del slsLema mlnlmo basado en mlcroconLrolador 16l84A.
.EM@=M=ND@=HGO=@
M=>= M=>PG@GO=@
A
A>8
A=8
A<8
UNIVERSIDAD AUTNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERA, ARQUITECTURA Y DISEO
MICROCONTROLADORES
PRACTICA No. 4
CONTROL ON/OFF DE TEMPERATURA BASADO EN MICROCONTROLADOR

Objetivo:
Disear y construr un circuito digital basado en microcontrolador PIC 16F84A para controlar la temperatura
cuando este fuera del rango 18-35C.

FUNCIONAMIENTO DEL CIRCUITO. Cuando la temperatura sea mayor a 35C se encienda un ventilador 12
Vcd o 127Vca para enfriar el sistema. Cuando la temperatura este por debajo de 18C se deber activar un
sistema de calentamiento. Cuando la temperatura este dentro del rango normal (18-35C), el microcontrolador
deber encender un LED verde conectado en cualquiera de los pines.

Material:
Convertidor Analgico a Digital ADC0804
PIC 16F84
Oscilador LM555
Amplificador operacional LM741
Amplificador operacional (comparador de precisin)
Sensor de temperatura LM35
Ventilador
Relays, u optoacopladores
TRIACs
8 Diodos emisores de luz (LEDS)
1 resistor variable de 1 Kohms
1 resistor de 16 Kohms, 2 Kohms, 75 ohms, 10 Kohms
2 resistores de 500 Kohms
8 resistores de 330 ohms
2 capacitores 0.1 F, 1 F
1 capacitor de 150 pF
Protoboard
Fuente de poder de 5 volts
Alambres de diferentes longitudes

Procedimiento:

Se sugiere integrar esta prctica por etapas, es decir, primeramente configurar el sensor y verificar que mida
bien la temperatura, posteriormente configurar el ADC y disear el circuito de acondicionamiento de seal.
Hacer pruebas de conversin de A/D. Identificar bien el valor binario correspondiente a 18C y 35C. Relizar el
programa en ensamblador para hacer las comparaciones y la toma de decisiones.

Diagrama a bloques








Figura 1) Diagrama a bloques del controlador de temperatura basado en microcontrolador PIC 16F84A.



Elaboro: M.C. EVERARDO INZUNZA GONZALEZ
Sensor
Acond.
senal
ADC

Microcon-
trolador
PIC
16F84A
Ventilador
Calentador
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB ConLador de pulsaclones de 0-999.

-?CADEF=B uesarrollar un programa para el mlcroconLrolador 16l84A de Lal forma que conLablllce el numero de
pulsaclones deLecLadas en 8A0, que el resulLado (cdlgo blnarlo) lo convlerLa a cdlgo de 7 segmenLos y lo envle
por el uerLo 8 en forma mulLlcanallzada por dlvlsln de Llempo , cuando llegue a 1000 relnlcle la cuenLa en cero.

.GDA@EGHB
1 MlcroconLrolador 16l84
1 x1AL de 4MPz
1 8 de 10k!
10 8 de 470! o 330!
2 C de 22pl
1 C de 100 pl
2 push buLLom
3 ulsplay's de 7 segmenLos (nodo comun o cLodo comun)
3 1ranslsLores npn o pnp
1 dlp swLlch de 8 llneas
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores
1 sofLware MLA8

(EGI@G>G G ?H=JKAL






llgura 1) ulagrama a bloques del slsLema mlnlmo para conLablllzar pulsaclones de 0-999.

:&-1%(%.#%"+-

1.- lnLerconcecLar el slsLema mlnlmo basado en mlcroconLrolador 16l84A.
2.- lnLerconecLar dlrecLamenLe al puerLo 8 18LS dlsplays de 7 segmenLos, de Lal forma que en el pln 880 esLe
conecLada la Lermlnal ! del dlsplay, y en el pln 886 esLe conecLada la Larmlnal # de los 3 dlsplays.
3.- uLlllce los blLs 8A1, 8A2 y 8A3 para acLlvar cada LranslsLor de seleccln de dlsplay.
3.- Lscrlba el programa para que deLecLe los pulsos en 8A0, una vez deLecLados lncremenLe a un conLador y
posLerlormenLe convlerLa el numero blnarlo del conLador a cdlgo de 7 segmenLos.
4.- Ll cdlgo 7 segmenLos deber ser envlado por el puerLo 8 en forma mulLlcanallzada por dlvlsln de Llempo, es
declr por un perlodo de Llempo se desplleguan las unldades, en oLro perlodo de Llempo se despllegan las decenas
y en oLro perlodo de Llempo las cenLenas. (LsLe reLardo puede ser del orden de 3 a 13 mS).
MlcroconLrolador

8
ulsplays de
7 segmenLos
ulso de
enLrada
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB )2)&.) (#4#+)2
Objetivo: Disear y construr una alarma digital utilizando el microcontrolador 16F84A.

Requerimientos generales del sistema
El sistema tendr como entrada 8 sensores del tipo ON/OFF y una entrada para ACTIVAR/DESACTIVAR la
alarma. Estas 8 entradas sern a travs del puerto A (RA0:RA3) y puerto B (RB3:RB6), pueden ser activadas en
ALTO/BAJO, esto depende del tipo de sensor. Cuando la alarma est activada y cualquiera de los sensores se
active, la alarma deber encender los bits 0, 1 y 2 del puerto B, los cuales encendern una bocina (buzzer) (de 12
Vcd o 24Vcd o 17vca), una luz de emergencia (12vcd o 127 vca) y un indicador led. Cuando la alarma este
desactivada, deber ignorar todas las seales provenientes de los sensores.

.CDA@ECFB
1 MlcroconLrolador 16l84A
1 Luz de emergencla (LorreLa)
1 8oclna de alarma (8uzzer) (12v)
8 sensores para alarma.
ulsposlLlvos de poLencla (8elays, opLoacopladores, 18lAC's, LranslsLores de poLencla)
1 x1AL de 4MPz
1 8 de 10k!
1 LLu
2 C de 22pl
1 C de 100 pl
2 push buLLom
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores
1 sofLware MLA8




llgura 1) ulagrama a bloques de la alarma dlglLal.
RA0
RA1
RA2
RA3
RA4
S0
S1
S2
S3
ACT/DESAC
T
RB0
RB1
RB2
ALARMA DIGITAL
RA0
RA1
RA2
RA3
RA4
S0
S1
S2
S3
ACT/DESAC
T
RB0
RB1
RB2
ALARMA DIGITAL
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB Ceneracln de reLardos y secuenclas con el mlcroconLrolador lC 16l84A.

-?CADEF=B uesarrolle un programa para que enclenda 8 moLores de Cu en forma secuenclal con un
reLardo enLre secuenclas de medlo segundo.
&AGHA@E>EAID=JB
Ll slsLema deber Lener un boLn de K@@KIGHA para que lnlcle el encendldo secuenclal y un boLn de
LK@= secuenclal en orden lnverso a la secuencla de arranque. Adems consldere el uso de un boLn de
LK@= MA %>A@NAIOEK para apagar lnmedlaLamenLe (al mlsmo Llempo) Lodos los moLores. Consldere que
el boLn de arranque secuenclal esL conecLado en el pln 8A0 y el de aro secuenclal esL en el pln 8A1.
Ll paro de emergencla se encuenLra conecLado al pln 8A2. Los moLores debern conecLarse en el puerLo
8 por medlo de una eLapa de poLencla. Ll Llempo lnLer-secuencla es de 300 mS.

.KDA@EKPB
1 MlcroconLrolador 16l84
1 x1AL de 4MPz
1 8 de 10k!
10 8 de 470! o 330!
2 C de 22pl
1 C de 100 pl
2 push buLLom
8 Led's
1 dlp swLlch de 8 llneas
1 luenLe de volLa[e (poLencla) con capacldad para allmenLar a los 8 moLores de Cu
1 rogramador de mlcroconLroladores
1 sofLware MLA8
8 moLores de Cu de 12v o superlor
8 relays u 8 LranslsLores de poLencla

:&-1%(#.#%"+-B

ulsene y consLruya el clrculLo basado en mlcroconLrolador lC 16l84A, lnLerconecLe los boLones de
arranque y paro, dlsene la eLapa de poLencla para lnLerconecLar cada moLor de Cu al mlcroconLrolador,
elabore el programa en lengua[e ensamblador para generar los reLardos y la lglca de operacln de
arranque/paro secuenclal y paro de emergencla, slmule el proLoLlpo en MLA8 y 8C1LuS, lmplemenLe
flslcamenLe el clrculLo, reallce pruebas experlmenLales.
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB '%.C3-&- (#4#+)2
Objetivo: Desarrollar un sistema basado en un microcontrolador PIC 16F84A para controlar un semforo de
crucero de una calle principal con una avenida.

Requerimientos generales del sistema
Se requiere disear un semforo digital para controlar el trfico vehicular en la interseccin de una calle de trfico muy
denso con una calle de trfico moderado.
La calle principal deber tener una luz verde encendida durante un tiempo de 30 segundos. Antes de agotarse el tiempo de
30 segundos, la luz verde deber parpadear 3 veces y posteriormente apagarse. La calle lateral debe tener la luz verde
encendida durante 20 segundos, de igual manera antes de agotarse los 20 segundos la luz verde deber parpadear 3 veces.
La luz mbar de precaucin de ambos semforos tiene que durar 5 segundos y debe ser activada cuando se apaga la luz
verde de cada semforo. La luz roja de ambos semforos es encendida una vez agotado el tiempo de la luz mbar de cada
semforo. Considere el uso de un botn de cruce peatonal, cuando este sea activado el sistema deber esperar que se agote
el tiempo de la luz verde (de los carros calle lateral o principal), as como el de la luz mbar y posteriormente activar la
luz verde de cruce peatonal. La luz roja de cruce peatonal se mantiene encendida mientras estn activadas las luces verdes
y/o ambar del cruce de vehculos de la calle principal o lateral. Considere una entrada para activar al semforo en modo
nocturno, es decir, en este modo la luz mbar de la calle principal debe estar intermitente, mientras que la luz roja de la
avenida tambin estar estado intermitente.

Favor de construir una base para cada semforo.

.DEA@FDGB
1 MlcroconLrolador 16l84
1 8eelevadores u opLoacopladores con 18lAC's
3 focos verdes, 2 focos mbar y 3 focos rojos de 127 Vca @ 60Watts.
1 x1AL de 4MPz
1 8 de 10k!
6 8 de 470! o 330!
2 C de 22pl
1 C de 100 pl
2 push buLLom
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores
1 sofLware MLA8





llgura 1) ulagrama a bloques del semforo dlglLal.
Mlcrocon-
Lrolador
LLapa de
poLencla
Semforo
prlnclpal y
laLeral
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<

"=>?@AB +%&.,.%+&- (#4#+)2 /)')(- %" %2 1-"$%&+#(-& (% )C( (%2 .#1&-1-"+&-2)(-&
DE3FGHI
Objetivo: Configurar e implementar el convertidor analgico a digital que se encuentra internamente
en el microcontrolador PIC 16F87X para realizar la medicin de temperatura y su correspondiente
despliegue de la informacin en un display de cristal liquido (LCD) 16 X 2.

.JKA@LJMB
1 MlcroconLrolador 16l877
1 anLalla LCu 16 x 2
1 Sensor de LemperaLura LM 33
Ampllflcadores operaclonales
1 poLenclmeLro de preclsln de 3 kChms o 10 kChms.
1 x1AL de 4MPz
1 8 de 10k!
10 LLu's
10 8 de 330 Chms
2 C de 22pl
1 C de 100 pl
1 push buLLom
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores
1 sofLware MLA8

:&-1%(#.#%"+-
Requerimientos del sistema para la fase #1 de esta prctica (1ra semana).
El circuito tendr las siguientes caractersticas: entrada por el canal AN0, se utilizar como voltaje de referencia el
interno (Vdd), resolucin de 10 bits, frecuencia de muestreo fosc/32, los datos justificados a derecha para que
sean enviados a travs de los puertos B y C.

llgura 1) ulagrama a bloques del converLldor analglco a dlglLal basado en el mlcroconLrolador 16l877A.
Llabor: M.C. Lverardo lnzunza Conzlez

Requerimientos del sistema para la fase #2 de esta prctica (2da semana).
a) ConLlnue con el clrculLo de la pracLlca del AuC con mlcroconLrolador (fase #1), modlflque el cdlgo
fuenLe, para que el mlcroconLrolador reallce la conversln de cdlgo blnarlo (8 blLs MS8) a cdlgo
ASCll.
b) osLerlormenLe lmplemLenLe la subruLlna de despllegue para el LCu.
c) lnLerconecLe el sensor y el acondlclonamlenLo de senlal al mlcroconLrolador.
d) lnLerconecLe el LCu.
e) 8eallce las slmulaclones correspondlenLes en MLA8 y 8C1LuS.
f) 8eallce las pruebas experlmenLales y haga una callbracln del lnsLrumenL (LermmeLro) para que la
medlcln sea mas exacLa. ara hacer esLa callbraclon, se requlre hacer la comparaclon de la
LemperaLure medlda con algun LermmeLro dlglLal comerclal o de mercurlo.

1J@JNKA@OPKLNJP QARA@JMAP SAM KA@>T>AK=B
El termometro de deber medir la temperatura desde 0C hasta 150. Deber desplegar en un display de cristal
liquido (LCD) la siguiente informacion: UABC-INGENIERIA, La temp= xxx C.
Material:
1


llgura 2. Lsquema a bloques del LermomeLro dlglLal basado en mlcroconLrolador plc 16l87x.



















llgura 3. ClrculLo elecLrlco deLallado del LermmeLro dlglLal basado en mlcroconLrolador plc 16l87x. noLa: Ln
esLe caso se esLa empleando en modo de 8 blLs al LCu.




Llabor: M.C. Lverardo lnzunza Conzlez

:&-+-+#:- 3#")2




llgura 4. L[emplo de un proLoLlpo flnal de LermmeLro dlglLal basado en mlcroconLrolador. Cbserve que en la
pracLlca a reallzar, es dlsLlnLo el mensa[e de LexLo.



Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<=

">?@ABC CCn18CL uL unA 8AnuA 18AnSC81AuC8A

-@DBEFG>C uesarrollar un programa para el mlcroconLrolador 16l84A de Lal forma que conLrole una 8anda
1ransporLadora de reclplenLes, para que sean llenados auLomLlcamenLe con agua. Ll slsLema deber Lener un
boLn de arranque, para que enclenda al moLor y la banda comlence a glrar, cuando se deLecLe que llegue el
prlmer reclplenLe, la banda deber deLenerse y se encender una bomba hldrullca para que comlence a llenar
con agua el reclplenLe. una vez llenado esLe reclplenLe, se apaga la bomba y se enclende el moLor para que glre la
banda y acerque el slgulenLe reclplenLe a ser llenado. Ll slsLema deber llevar el conLeo de cuanLos reclplenLes se
han llenado en una [ornada de Lraba[o, el despllegue conslsLe en un LCu. Ln caso de algun accldenLe, conslderar
un boLn de paro de emergencla.
.HEBAFHIC
1 MlcroconLrolador 16l84
1 x1AL de 4MPz
1 8 de 10k!
2 C de 22pl
1 C de 100 pl
2 push buLLom
3 ulsplay's de 7 segmenLos (nodo comun o cLodo comun) o un LCu 2x16
1 moLor de Cu
1 8omba Pldraullca (puede ser de pecera wlper's)
2 relays
2 LranslsLores de poLencla
1 luenLe de volLa[e para el moLor y la bomba
1 Lser, LLu lnfrarro[o y un foLo deLecLor.
1 luenLe de volLa[e 3 volLs
1 rogramador de mlcroconLroladores
1 sofLware MLA8

(FHJAH?H H @I>KLBM

Arranque
Paro de
Emergencia
Sensor de
objetos
Microcontrolador
PIC 16F84
Bomba hidrulica
Etapa de
potencia
Etapa de
potencia
Motor de CD
Despliegue de datos

llgura 1) ulagrama a bloques del slsLema auLomLlco de llenado de reclplenLes.
Llabor: M.C. Lverardo lnzunza Conzlez

!"#$%&'#()( )!+,"-.) (% /)0) 1)2#3-&"#)
3)1!2+)( (% #"4%"#%&5)6 )&7!#+%1+!&) 8 (#'%9-
.#1&-1-"+&-2)(-&%'
:&)1+#1) ;<<

"=>?@AB 1-.!"#1)1#," '%&#)2 1-" %2 .#1&-1-"+&-2)(-&
Objetivo: Disene y construya un termmetro digital basado en microcontrolador de la familia 16F87
con comunicacin RS-232 hacia una computadora personal.

Requerimientos generales del sistema
El termometro de debera medir la temperatura desde 0C hasta 150. Debera desplegar en un display de cristal
liquido (LCD) la siguiente informacion: UABC-INGENIERIA, La temp= xxx C. El dato binario deber ser enviado a
una PC por medio del puerto USART del microcontrolador hacia una PC. La PC deber desplegar el contenido
del dato en cdigo binario, sistema decimal y en grafica de barra de la temperatura.
.CDA@ECFB
1 MlcroconLrolador 16l877
1 lC Max232.
1 x1AL de 4MPz
1 8 de 10k!
10 LLu's
10 8 de 330 Chms
2 C de 22pl
1 C de 100 pl
1 push buLLom
1 Cable serlal null modem con conecLor u8-9 (8S-232)
1 luenLe de volLa[e 3 volLs
1 Sensor de LemperaLura
1 op-amp
1 LCu de 2x16.
1 rogramador de mlcroconLroladores
1 sofLware MLA8


!"#$%&'((!)"*
Cuando se ha logrado lmplemenLar cualquler proLocolo de comunlcacln enLre una C y un
mlcroconLrolador se puede declr que una gran canLldad de apllcaclones esLn a la puerLa, enLre las cuales se
pueden nombrar monlLoreo, conLrol dlglLal, lmpresln de daLos en papel, lmpresln en panLalla de daLos
lnmedlaLos, eLc. Los proLocolos ms comunmenLe lmplemenLados en mlcroconLroladores y C son: 8S232, l,
aralelo, eLc.
Llabor: M.C. Lverardo lnzunza Conzlez

Ll mlcroconLrolador lC16l877A Llene lncluldo denLro de su esLrucLura lnLerna un modulo uSA81
(1ransmlsor recepLor unlversal slncrono aslncrono) que es la abrevlacln de unlversal synchronous
asynchronous recelver LransmlLLer" en lngles Lamblen es conocldo como SCl (serlal comunlcaLlons lnLerface")
y es uno de los mas comunmenLe usados para la lmplemenLacln de puerLos serlales, la conflguracln
aslncrona full duplex es una de las mas populares de la uSA81 pues es usada para lnLerfaces con el puerLo serle
de las compuLadoras personales o C usando el proLocolo 8S-232.
La funcln prlnclpal del modulo uSA81 es envlar y reclblr daLos de forma serlal, esLa operacln puede
ser dlvldlda en dos caLegorlas Lransmlsln slncrona y Lransmlsln aslncrona. La operacln slncrona usa una
llnea de daLos y una de relo[ mlenLras que la operacln aslncrona solo usa la llnea de daLos. LsLa es la prlnclpal
dlferencla enLre esLos dos modos de operacln.
,-.- /01234-2-*
La comunicacin asncrona es la que generalmente se utiliza para la comunicacin entre un
microcontrolador y una PC. Para la comunicacin serie con la PC se utiliza el estndar no retorno a
cero (NRZ) en la forma conocida como 8-N-1 que quiere decir 8 bits de datos, sin paridad y un bit de
parada tal como se muestra en la figura 1.

Figura 1. Cronograma del protocolo RS-232.
Lnea libre se define como un estado lgico alto o uno. El inicio de la transmisin de datos (Bit
de inicio) se define como un estado lgico bajo o cero. Los bits de datos son enviados enseguida del Bit
Llabor: M.C. Lverardo lnzunza Conzlez

de inicio, enviando en primer lugar el Bit menos significativo. Despus de los Bits de datos se enva el
Bit de parada que es un estado lgico alto o uno. El periodo T depende de la velocidad de transmisin y
es ajustado de acuerdo a las necesidades de transmisin. Para la velocidad de 9600 baudios, T es de 104
uS. En la figura 2 se muestra un conector RS-232 y en la tabla 1 muestra los nombres de cada pin.

Figura 2. Conector DB9 estndar.
Tabla 3. Nombres de las patas del conector DB9.
Pin Nombre Descripcin
1 CD Acarreo detectado
2 RXD Recepcin de datos
3 TXD Transmisin de datos
4 DTR Terminal de datos lista
5 GND Tierra
6 DSR Grupo de datos listo
7 RTS Peticin de envo
8 CTS Libre para enviar
9 RI Indicador de Ring

Los pasos para la configuracin del modulo USART como un puerto asncrono serie, con la
configuracin no retorno a cero en la forma 8-N-1 son los siguientes:
Para la transmisin de datos
Llabor: M.C. Lverardo lnzunza Conzlez

1. Inicializar el Registro generador de Baud Rate (SPBRG) con el valor apropiado si se piensa
usar una velocidad alta el Bit BGRH debe ser puesto a uno.
2. Se habilita el puerto serie asncrono limpiado o poniendo acero el Bit (SYNC ) y se pone a uno
el Bit SPEN (Serial port enable)
3. Cargar el dato en el registro TXREG (despus de esto se inicializa la transmisin)
4. Habilitar la transmisin poniendo a uno el Bit TXE

Para la recepcin de datos
1. Inicializar el Registro generador de Baud Rate (SPBRG) con el valor apropiado si se piensa
usar una velocidad alta el bit BGRH debe ser puesto a uno.
2. Se habilita el puerto asncrono serie limpiado o poniendo acero el Bit (SYNC) y se pone a uno
el bit SPEN (Serial port enable)
3. Habilitar la transmisin poniendo a uno el Bit CREN
4. Leer el registro RCREG para conocer los datos recibidos
Para conoce el valor que se requiere introducir en el registro SPBRG para una determinada
velocidad de transferencia asncrona se usan la siguiente formula:
1
_ * 64
_ _
! =
deseada Velocidad
entrada clock frec
SPBRG
El valor obtenido por esta formula se redondea al entero inferior ms cercano y se introduce
en el registro SPBRG para fijar la velocidad de transferencia deseada. En la tabla 4 se muestran algunos
valores para SPRBG para diferentes velocidades y un cristal externo de 4 MHz
Llabor: M.C. Lverardo lnzunza Conzlez

Tabla 2. Valores para fijar diferentes velocidades de transferencia.
Baud Rate (K) Kbaud %Error
Valor de SPBRG
(Decimal)
0.3 0.300 0 207
1.2 1.202 0.17 51
2.4 2.404 0.17 25
9.6 8.929 6.99 6
19.2 20.833 8.51 2
28.8 31.250 8.51 1
33.6 - - -
57.6 62.500 8.51 0

La interfase fsica que se utiliza comnmente para conectar un microcontrolador con la PC se
muestra en la figura 6. El circuito MAX232 realiza la tarea de generar de acuerdo a los valores lgicos
entregados por el microcontrolador los niveles necesarios de voltaje para la comunicacin RS-232.

Figura 3. Conexin fsica para la comunicacin RS-232.


Llabor: M.C. Lverardo lnzunza Conzlez

&56/$$%77% &5 7/ (%,'"!(/(!)" $689:9*
ara lmplemenLar la comunlcacln serle enLre una C y un mlcroconLrolador en la eLapa experlmenLal
se suele uLlllzar el programa Pyper1ermlnal flgura 4.


!"#$%& () *&+,&--& ./ "+"0"1 ./- *%1#%&2& 345/%6/%2"+&-.


!"#$%& 7) 81+9"#$%&0":+ 4 /-/00":+ ./- 5$/%,1 .";51+"<-/ & $,"-"=&%)
Llabor: M.C. Lverardo lnzunza Conzlez

una vez que se ha esLablecldo la comunlcacln enLre Pyper1ermlnal y el mlcroconLrolador se puede pasar a
programar la apllcacln que se desee en el paqueLe que se desee MA1LA8, LA8vlLW, vlSuAL 8ASlC, eLc. Ln la
presenLe prcLlca se opLo por LA8vlLW, del cual se presenLa panLalla prlnclpal en la flgura 6.


:&-1%(#.#%"+-
a) ConLlnue con el clrculLo de la pracLlca del AuC con mlcroconLrolador.
b) lmplemenLe la converslon de codlgo blnarlo a codlgo ASCll con el ensamblador y la subruLlna de
despllegue para el LCu.
c) lnLerconecLe el sensor y el acondlclonamlenLo de senlal al mlcroconLrolador.
d) lnLerconecLe el LCu.
e) Lscrlblr la subLurlna de codlgo para LransmlLlr los daLos por el puerLo uSA81 del mlcroconLrolador.
f) lnLeronecLar el clrculLo MAxlM 232 al mlcroconLrolador para converLlr los nlveles de volLa[e 11L a 8S-
232.
g) 8eallce el programa de la C para la capLura y graflcado de daLos en LA8vlLW.
h) 8eallce las pruebas y haga una callbraclon del lnsLrumenLo para que la medlclon sea mas exacLa.

Llabor: M.C. Lverardo lnzunza Conzlez

$5;5$5"(!/6*
[1]Annlmo, *>82"0%1 ?".@A&+#/ ?8B !&2"-4 A/9/%/+0/ ?&+$&-, Mlcrochlp rev/uS33023A, uecember
1997.
[2]. Annlmo, *>8CD!EFG H&,& ;I//, Mlcrochlp rev/30292C, 2001.
[3]. Annlmo, "?JGKLK H&,& ;I//,", 1exas lnsLrumenLs, 2003.

También podría gustarte