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 "