You are on page 1of 17

INTRODUCCION:

En el presente trabajo, se simulara un termmetro digital, utilizando herramientas


de computacionales como es el software PROTUS, el cual tiene la capacidad, de
emular algunos tipos de micro controladores como es el caso del P! "#$%&'
Para el dise(o de e)uipos de instrumentacin m*dica, se utilizan todas las
herramientas disponibles tanto de software como de hardware )ue se han sido
fabricadas para el dise(o de cual)uier e)uipo electrnico, siendo los e)uipos de
instrumentacin medica m+s e,igentes a la hora de hacer pruebas de
funcionamiento - control de calidad'
Este dise(o de termmetro digital, es posible implementarlo con elementos reales,
-a )ue en la simulacin, realizo las funciones )ue fueron programadas' Se debe
tener en cuenta, )ue para utilizar un termmetro con fines reales m*dicos, este
debe ser sometido a pruebas internacionales rigurosas )ue certifi)uen su
funcionamiento'
OBJETIVOS:
.plicar los conceptos b+sicos del funcionamiento de un termmetro digital'
Utilizar herramientas de programacin - simulacin de elementos
electrnicos'
/ar a conocer los pasos )ue se deben seguir para el dise(o, simulacin -
posterior implementacin de e)uipos de instrumentacin medica'
/espertar el inter*s por el dise(o de elementos de instrumentacin medica
)ue satisfagan alguna necesidad'
Realizar una unificacin de la recoleccin de datos obtenidos en una
pr+ctica indi0idual, correlacionadas en la presentacin de un documento
grupal'
1ostrar al estudiante )ue en el campo del auto aprendizaje como se
maneja el la U2./, la in0estigacin tambi*n tiene satisfacciones al 0er
realizados los c+lculos en una aplicacin,
DESARROLLO DEL TEMA
/esarrollar el software de programacin de un micro controlador en lenguaje
assembler, aplicado al mdulo de termometr3a cl3nica del cap3tulo 4, numeral 4'4,
figura #&, )ue cumpla con las siguientes condiciones5
"' Temperatura m3nima5 67 8!, 9o: ;t< = >9'
7' Temperatura m+,ima5 :7 8!, 9o: ;t< = 49'
6' Si la temperatura es ma-or a 6# 8! - menor a 6% 8!, en el displa- debe
aparecer ?2ormal@ - encenderse el Aed 9erde'
:' Si la temperatura es menor a 6# 8!, en el displa- debe aparecer ?Bipotermia@ -
encenderse - apagarse el Aed amarillo 7 0eces por segundo - acti0arse el
zumbador'
4' Si la temperatura es ma-or a 6% 8!, en el displa- debe aparecer ?Bipertermia@ -
encenderse - apagarse el Aed rojo 7 0eces por segundo - acti0arse el zumbador'
#' El micro controlador ser+ el P!"#$%&'
&' /ebe simularse con Proteos'
Para el desarrollo del termmetro digital, se deben realizar una serie de pasos
b+sicos de programacin en lenguaje assembler - tener conocimientos acerca del
software 1PA.C el cual sir0e para programar el P! "#$%& - adem+s la utilizacin
de PROTEUS para su posterior simulacin
ESTRUCTURA DE UN MICROCONTROLADOR
C+sicamente, un micro controlador est+ compuesto por los siguientes
componentes5
Procesador o !PU ;del ingl*s !entral ProssesingUnit o Unida !entral de
Proceso<'
1emoria para el programa tipo RO1'
1emoria R.1 para contener los datos'
A3neas de EDS para comunicarse con el e,terior'
/i0ersos mdulos para el control de perif*ricos ;temporizadores, Puertas
Serie - Paralelo, !./5 !on0ersores .nalgicoD/igital, !/.5 !on0ersores
/igitalD.nalgico, etc'<
LOS PUERTOS DEL PIC 16F87
Aos micros controladores de la familia "#$%& disponen de 6 a 4 puertos segEn el
modelo de micro controlador5
Puerto . = # pines ;4 pines .D/<
Puerto C = % pines
Puerto ! = % pines
Puerto / = % pines
Puerto E = 6 pines ;6 pines .D/<

LENGUAJES DE PROGRAMACION EN MICROCONTROLADORES


Ensamblador ;.ssembler< cu-a principal caracter3stica es su alt3sima complejidad'
Aos lenguajes de programacin se clasifican segEn el ?2i0el@ de Programacin en5
Aenguaje de ?.lto 2i0el@5 permite )ue los algoritmos se e,presen en un ni0el -
estilo de escritura f+cilmente legible - comprensible por el hombre' En la
actualidad se trata de lenguajes de tipo 0isual'
Aenguaje de ?Cajo 2i0el@5 el usuario se acerca un poco m+s al lenguaje de
m+)uina' Permiten un acceso m+s amplio al control f3sico de la ma)uina
;hardware<'
Aenguaje Ensamblador5 Podr3amos considerarlo el lenguaje de m+s bajo
ni0el' El usuario escribe cdigo en el mismo ?idioma@ del procesador' Se tiene
control total del sistema' Es necesario un conocimiento de la ar)uitectura
mec+nica del procesador para realizar una programacin efecti0a' El lenguaje
de programacin es mu- espec3fico para cada modelo de procesador, incluso
puede 0ariar de un modelo a otro de procesador dentro de un mismo
fabricante'
Podemos decir )ue los lenguajes de alto 2i0el se asemejan m+s al lenguaje
humano - )ue los lenguajes de bajo 2i0el se asemejan m+s al lenguaje de
m+)uina - en el lenguaje ensamblador el usuario debe programar en el propio
?idioma del procesador@'
SOFTWARE MPLAB PARA PROGRAMAR EL PIC 16F87
El 1Plab es un software )ue junto con un emulador - un programador de los
mEltiples )ue e,isten en el mercado, forman un conjunto de herramientas de
desarrollo mu- completo para el trabajo -Do el dise(o e implementacin de
programas para la familia de procesadores P!
El 1Plab incorpora todas las utilidades necesarias para la realizacin de cual)uier
pro-ecto -, para los )ue no dispongan de un emulador, el programa permite editar
el archi0o fuente en lenguaje ensamblador de nuestro pro-ecto, adem+s de
ensamblarlo - simularlo en pantalla, pudiendo ejecutarlo posteriormente en modo
paso a paso - 0er como e0olucionar3an de forma real tanto sus registros internos,
la memoria R.1 -Do EEPRO1 de usuario como la memoria de programa, segEn
se fueran ejecutando las instrucciones' .dem+s el entorno )ue se utiliza es el
mismo )ue si se estu0iera utilizando un emulador'
.l compilar el cdigo en el 1Plab, *ste genera un archi0o en he,adecimal )ue
podemos 0olcar directamente en el programador !/ 7' .dem+s, el programa
PROTEUS es tambi*n compatible con el 1Plab as3 )ue usamos este programa
como intermediario ente el !!S - el PROTEUS
DIAGRAMA ELECTRICO DEL TERMOMETRO DIGITA 1
DIAGRAMA PROTEUS Temperatura36.1 normal
DIAGRAMA PROTEUS Temperatura35.4 Hipotermia
DIAGRAMA PROTEUS Temperatura3.5 Hipertermia
CODIGO FUENTE:
PIC 16F84:
;
; Pin 1 (RA2) --> OUTPUT ENABLE
; Pin 2 (RA3) --> START
; Pin 3 (RA4) --> Selei!n "e #C $ #F
; Pin 1% (RA&) --> RS "el LC'
; Pin 18 (RA1) --> ENABLE "el LC'
;
;
;
;((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
; 'e)inii*n "e Re+i,-.*,
;((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
PC E/U &0&2
STATUS E/U &0&3
TRISA E/U &081
TRISB E/U &086
PORTA E/U &0&1
PORTB E/U &0&6
'EL E/U &01&
NUE2O1 E/U &011
NUE2O2 E/U &012
NUE2O3 E/U &013
ANILLO E/U &014
CINCO E/U &011
ONCE E/U &016
ROT E/U &01%
3E'I E/U &018
2ER1 E/U &014
2ER2 E/U &01A
OPER E/U &01B
ASCII E/U &01C
RETT E/U &01'
RE52 E/U &01E
RE53 E/U &01F
;((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
; Inii* "el 6.*+.787
;((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
BSF STATUS91 ;PRO5RA3ACION 'E PUERTOS
3O2L: &0F& ;PORTA4 CO3O ENTRA'A
3O2:F TRISA ;LOS 'E3AS CO3O SALI'A
3O2L: &0&&
3O2:F TRISB
BCF STATUS91
CLRF PORTA
CLRF PORTB
3O2L: &038 ;INSTRUCCIONES:
CALL CONTROL ;'OS LINEAS9 8 BITS
3O2L: &0&E ;ACTI2A 'ISPLA;
CALL CONTROL
3O2L: &0&6 ;3ENSA<E FI<O
CALL CONTROL
5OTO INI
RETAR'O 3O2L: &0FF ;A<USTE 'E TIE3POS
3O2:F 'EL
'ECRE 'ECFS= 'EL91
5OTO 'ECRE
RETL: &0&&
CONTROL BCF PORTA9&
5OTO 'ATO2
'ATO BSF PORTA9& ;ESTA RUTINA 5ENERA
'ATO2 BSF PORTA91 ;LAS SE>ALES 'E CONTROL
3O2:F PORTB ;; EN2IA EL 'ATO AL
CALL RETAR'O ;3O'ULO CON INTERFACE
BCF PORTA91 ;A &C?& BITS
CALL RETAR'O
RETL: &0&&
TABLA A'':F PC91 ;3ENSA<E A SER 2ISUALI=A'O
RETL: @ @
RETL: @ @
RETL: @ @
RETL: @T@
RETL: @E@
RETL: @3@
RETL: @P@
RETL: @E@
RETL: @R@
RETL: @A@
RETL: @T@
RETL: @U@
RETL: @R@
RETL: @A@
RETL: @ @
RETL: @ @
RETL: @ @
RETL: @ @
RETL: @ @
RETL: @ @
RETL: @ @
RETL: &0&&
INI 3O2L: &0&1
CALL CONTROL
3UESTRA 3O2L: &0&& ;INICIA EN2IO 'E 'ATOS
3O2:F ASCII ;AL 3O'ULO
CICLO 3O2F ASCII9& ;?ACE BARRI'O 'E LA TABLA
CA3BIA CALL TABLA
CALL 'ATO
3O2L: &04F ;RETAR'O ENTRE CARACTERES
3O2:F RETT
RETA1 'ECFS= RETT91
5OTO RETA1
INCF ASCII91 ;SI5UE CON EL PROAI3O
3O2L: &0&F ;CARACTER 'EL 3ENSA<E
AOR:F ASCII9& ;PRE5UNTA SI ;A TER3INO
BTFSS STATUS92 ;EL 3ENSA<E PARA SE5UIR
5OTO CICLO ;CON LA OTRA PARTE 'EL
CLRF PORTA ;PRO5RA3A
PRINCIP CALL 'ELA;
BSF STATUS91
3O2L: &0FF ;PRO5RA3A EL PUERTO B CO3O
3O2:F TRISB ;ENTRA'A PARA 5UAR'AR EL
BCF STATUS91 ;EL 'ATO 'EL A'C
BSF PORTA93 ;'A EL FIT 'E START AL A'C
CALL 'ELA;
BSF PORTA92 ;?ABILITA LA SALI'A 'EL A'C
CALL RETAR'O
BCF PORTA93
3O2F PORTB9& ;LEE ; 5UAR'A EL 'ATO EN
3O2:F 3E'I ;EL A'C
BCF PORTA92
BSF STATUS91
3O2L: &0&& ;PRO5RA3A EL PUERTO B CO3O
3O2:F TRISB ;SALI'A PARA 3OSTRAR EL 'ATO
BCF STATUS91 ;EN EL LC'
BCF STATUS9&
BE5IN CLRF 2ER1 ;E3PIE=A CON2ERSION A #C ; #F
CLRF 2ER2
CLRF OPER
BSF OPER9&
SE51 3O2F 3E'I9& ;5RA'OS CELSIUS
RLF OPER91
BTFSC OPER96
5OTO PRE5
A'':F 2ER191
BTFSS STATUS9&
5OTO SE51
INCF 2ER291
5OTO SE51
PRE5 BTFSC PORTA94
5OTO BC'
CLRF OPER ;5RA'OS FA?REN?EIT
BSF OPER9&
SE52 3O2F 3E'I9&
RLF OPER91
BTFSC OPER91
5OTO SU3A32
A'':F 2ER191
BTFSS STATUS9&
5OTO SE52
INCF 2ER291
5OTO SE52
SU3A32 3O2L: &04&
A'':F 2ER191
BTFSC STATUS9&
INCF 2ER291
INCF 2ER291
BC' CLRF NUE2O1 ;E3PIE=A LA CON2ERSION
CLRF NUE2O2 ;A BC'
CLRF NUE2O3
CLRF ROT
3O2L: &0&%
3O2:F ANILLO
3O2L: &0&1
3O2:F CINCO
3O2L: &0&B
3O2:F ONCE
INICIO BTFSC 2ER291
5OTO UNO
CERO BCF STATUS9&
5OTO A'E
UNO BSF STATUS9&
A'E RLF 2ER191
RLF 2ER291
INCF ROT91
3O2L: &0&3
SUB:F ROT9&
BTFSS STATUS9&
5OTO INICIO
3O2L: &0&4
SUB:F ROT9&
BTFSC STATUS9&
5OTO EEE
3O2F 2ER19&
AN':F ANILLO9&
3O2:F NUE2O1
2ERIF; 3O2F CINCO9&
SUB:F NUE2O29&
BTFSC STATUS9&
5OTO ARRE5L2
RLF NUE2O391
ANTES 3O2F CINCO9&
SUB:F NUE2O19&
BTFSC STATUS9&
5OTO ARRE5L1
BTFSC NUE2O193
5OTO A;=
BCF STATUS9&
5OTO 3O2ER
A;= BSF STATUS9&
3O2ER RLF NUE2O291
RLF NUE2O191
5OTO INICIO
ARRE5L2 3O2F ONCE9&
A'':F NUE2O291
RLF NUE2O391
BSF NUE2O39&
BCF NUE2O293
BCF NUE2O294
5OTO ANTES
ARRE5L1 3O2F ONCE9&
A'':F NUE2O191
RLF NUE2O291
BSF NUE2O29&
RLF NUE2O191
BCF NUE2O194
BCF NUE2O191
5OTO INICIO
EEE BTFSC 2ER19&
5OTO ONE
=ERO BCF NUE2O19&
5OTO OOO
ONE BSF NUE2O19&
OOO 3O2L: &0&A
SUB:F ROT9&
BTFSS STATUS9&
5OTO 2ERIF; ;FIN 'E LA CON2ERSION A BC'
3O2L: &0C& ;PASAR A LA OTRA LINEA 'EL
CALL CONTROL ;LC'
3O2L: &02&
CALL 'ATO
3O2L: &02&
CALL 'ATO
3O2L: &02&
CALL 'ATO
3O2L: &02&
CALL 'ATO
3O2L: &03& ;ESCRIBE EL 'ATO EN B'C
A'':F NUE2O39& ;EN EL LC'
CALL 'ATO
3O2L: &03&
A'':F NUE2O29&
CALL 'ATO
3O2L: @B@
CALL 'ATO
3O2L: &03&
A'':F NUE2O19&
CALL 'ATO
3O2L: &03&
CALL 'ATO
3O2L: &02&
CALL 'ATO
3O2L: &F
CALL 'ATO
BTFSS PORTA94 ;PRE5UNTA POR EL BIT /UE
5OTO F ;IN'ICA SI ES #C O #F
3O2L: @C@
CALL 'ATO
5OTO PRINCIP ;E3PIE=A 'E NUE2O LA
F 3O2L: @F@ ;CON2ERSION
CALL 'ATO
5OTO PRINCIP
'ELA; 3O2L: &0FF ;RETAR'O ENTRE CA'A
3O2:F RE53 ;CON2ERSION
LB'OS 3O2L: &0FF
3O2:F RE52
LBUNO 'ECFS= RE52
5OTO LBUNO
'ECFS= RE53
5OTO LB'OS
RETURN
EN'
;*********************************************************
CONCLUSIONES
Fracias a las a-udas en computacin, las tareas de dise(o, simulacin -
depuracin de sistemas electrnicos aplicados a la medicina, se pueden realizar
de forma mucho mas practica )ue con los m*todos con0encionalesG mejorando los
tiempos de dise(o, puesta a punto e implementacin final'
.lgunos software, traen a-udas - ejemplos de circuitos )ue sir0en de base para el
dise(o de algEn otro instrumento, siendo necesario hacer los ajustes espec3ficos
para cada caso'
Para el dise(o de elementos de instrumentacin m*dica, aparte de los
conocimientos en electrnica, se debe estar asesorado de personal calificado en
la parte m*dicapara )ue trabajando en lla0e, puedan entregar un producto
confiable - seguro para el uso humano'
BIBLIOGRAFIA:
2STRU1E2T.!O2 1H/!.
U29ERS/./ 2.!O2.A .CERT. I . /ST.2!. J U2./
Korge Eduardo Luintero 1u(oz J jorge)uinteroMbioingenieros'com "

You might also like