Práctica 5 Frecuencia Respiratoria Ingeniería biomédica
Enviado por abraham de haro • 17 de Mayo de 2017 • Trabajo • 1.736 Palabras (7 Páginas) • 355 Visitas
[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
...