ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Práctica 5 Frecuencia Respiratoria Ingeniería biomédica

abraham de haroTrabajo17 de Mayo de 2017

1.736 Palabras (7 Páginas)386 Visitas

Página 1 de 7

[pic 1]

Instrumentación Biomédica

Héctor Suarez Ávila

De Haro Gómez Abraham

Gómez Luna José Antonio

Práctica 5

Frecuencia Respiratoria

Ingeniería biomédica

Grupo 501

02/12/16

INTRODUCCIÓN.

Para esta práctica a realizar debemos realizar un circuito capaz de mostrar cuantas respiraciones tiene una persona normal por minuto. Lo cual fue realizado por medio de un circuito y programación con el microcontrolador MSP430F2274.

MARCO TEÓRICO.

La frecuencia respiratoria  es el número de respiraciones que efectúa un ser vivo en un lapso específico (suele expresarse en respiraciones por minuto). Movimiento rítmico entre inspiración y espiración.

FRECUENCIA RESPIRATORIA NORMAL POR EDAD

  • Recién nacidos: alrededor de 44 respiraciones por minuto
  • Niños (de 1 a 16 años): 18-30 respiraciones por minuto
  • Pre-adolescentes(10-15 años): 20-30 respiraciones por minuto
  • Adolescentes16-20 años): 18-26 respiraciones por minuto
  • Adultos: 12-20 respiraciones por minuto
  • Ancianos mayores de 65 años: 12-28 respiraciones por minuto
  • Ancianos mayores de 80 años: 10-30 respiraciones por minuto
  • Adultos a ejercicios moderados: 35-45 respiraciones por minuto
  • Atletas: 60-70 respiraciones por minuto (valor máximo)

Materiales.

  • Launchpad MSP430G2554
  • Kit ESCALINI (MSP430F2274)
  • Termistor 7 KOhm
  • Resistencias 10KOhm
  • Potenciometro 10KOhm
  • LM324
  • LED
  • Cables Dupones

Circuito

[pic 2]

DATASHEET 2274

[pic 3]

[pic 4]

Código.

Main.c

#include 

#include  "LCD.h"

#include 

                           /* P4.5   P4.4   P4.3   P4.2   P4.1    P4.0         */

//#define Ini_dirP4   0x3F  /*   1      1      1      1      1       1           */

                           /*  E     RS     DB7    DB6    DB5     DB4       LCD*/

#define PI  3.1416

//#define Ini_outP4   0x20  /*  1      0      0      0      0       0           */

                          /*  P1.7   P1.6   P1.5  P1.4   P1.3   P1.2   P1.1   P1.0 */

#define Toggle_P1  (0)

#define Entrada_P2 (0)

unsigned char pulsos=0;

unsigned char bandera=0;

unsigned int min;

unsigned char total_pulsos=0;

unsigned int prom=0;

unsigned int contador=0;

void Ini_IO(void){

  WDTCTL = WDT_MDLY_32;   // 32KHZ         // Stop watchdog timer

  IE1 |= WDTIE;

  P4OUT = 0x20;

  P4DIR = 0x3F;

  P2DIR = 0x00;     /* Asigna como entrada parte baja P2 */

  P2OUT = 0xFF;

  P2REN = 0xFF;

  P2IE  = 0x02;

  P2IES = 0x00;     /* configura transición negativa p2.0 */

  P2IFG = 0x00;

  _BIS_SR(GIE);

  __bis_SR_register(GIE);

 }

void main(void)

{

  Ini_IO();

  LCD_Init();

// Enter LPM0 w/ interrupt

  for(;;){

          if(bandera==0)

          {

                  bandera=1;

                  //Comando_LCD(0x80);

                    //Imprime_cadena("Pulsimetro");

                  Comando_LCD(0x80);

                    Imprime_cadena("Frecuencia Resp.");

                  Comando_LCD(0xC7);

                    Imprime_numero(total_pulsos);

                  Comando_LCD(0xC9);

                    Imprime_cadena("xMin");

          }

   }

 }

// Interrupcción por puerto 2

#pragma vector=WDT_VECTOR

__interrupt void watchdog_timer(void)

{

  if(min==1939)

  {

          prom=pulsos;

          bandera=0x00;

          //prom=prom*2

          total_pulsos=prom;

          pulsos=0x00;

          min=0x00;

  }

  else

  {

          if(bandera==1)

                  bandera=1;

          min++;

  }

}

#pragma vector=PORT2_VECTOR

__interrupt void PORT2(void)

{

        if(bandera==1)

                bandera=1;

        pulsos++;

        P2IFG=0x00;

}

LCD.c

#include 

#define BUSFREQ 275    /* para obtener 1 mS con 1.1 Mhz */ 

       

#define fintabla 0x096

#define ELCD_xor (5)  // ref

#define E_LCD  (5)           /*   Enable P3.5 */

#define RS_LCD (4)           /*   RS     P3.4 */ 

const unsigned char t[]={0x03,0x03,0x02,0x02,0x0C,0x00,0x0C,0x00,0x01,0x00,0x06,fintabla};

// const asigna la variable tipo arreglo en un segmento de flash  

extern unsigned  char bandera;

unsigned char band_exhopr;

void Wait1ms(void){

  unsigned int i;

  i = BUSFREQ ;      /* DCO=1.1mHZ / 4 ciclos / 275 = 1Khz = 1mSeg */

...

Descargar como (para miembros actualizados) txt (8 Kb) pdf (724 Kb) docx (1 Mb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com