云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于单片机的心率设计 - 图文

基于单片机的心率设计 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/6/8 12:13:31

附 录

参考程序

心率监控智能系统的信号采集、处理、显示的程序 #include #define uint8 unsigned char #define uint16 unsigned int

#define TIMER0_HIGHT 0xDC //设置定时器0工作方式1自动装载初值,定时10ms,Fosc=11.059200MHZ #define TIMER0_LOW 0x00 sbit keyin = P3^1;

//按键输入

bit starttest; //启动测心率标志 uint16 cnt10ms; //10ms计数器 uint8 cnt1s; //1秒计数器

uint8 Pulsecnt; //心跳次数,计数器 uint8 Pulsenum; //上次测试的心跳次数

uint8 codeDispCode[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共阳数码管段码表 void Init_Extint(void); void TimerInitProc(); void initvar(); void Init_System(void);

void Display(uint8 chose_dat, uint8 dat);

void ShowDisp(uint8 tPulsenum, uint8 tPulsecnt, uint8 tcnt1s); void DelayMs(uint8 Ms); void main() {

Init_System(); //初始化 while(1) {

28

}

}

ShowDisp(Pulsenum, Pulsecnt, cnt1s); //显示

/*******************************************************************************

* 函 数 名: Exti0_interrupt

* 函数功能: /INT0引脚下降沿进入中断 * 入口参数: 无 * 返 回: 无

*******************************************************************************/

void Ext0_interrupt(void) interrupt 0 { }

/******************************************************************** 函数功能:定时器/计数器0中断处理 入口参数:null 返 回:null 备 注:null

********************************************************************/ void Timer0IntProc() interrupt 1 {

TH0 = TIMER0_HIGHT; //设置定时器0高字节初值 TL0 = TIMER0_LOW; //设置定时器0低字节初值 if(++cnt10ms == 100) {

cnt10ms = 0; if(starttest == 1)

//处在测试状态

29

if(starttest == 1) { }

//处在测试状态

Pulsecnt++; //来一次中断心跳计数器加1

//1s计时到

}

}

{ }

//检测按键

if(++cnt1s == 60) { }

starttest = 0; //一次检测完毕,等待下一次检测 Pulsenum = Pulsecnt; //保存测得心跳值

//一分钟时间到

if(keyin == 0) { }

if(starttest == 1) //处在测试状态 { } else { }

starttest = 1; cnt10ms = 0;

//不在测试状态,开始新的一次测试

cnt10ms = 0; cnt1s = 0; Pulsecnt = 0;

//复位测试值,重新开始测试

/////////////////////////End of Timer0IntProc//////////////////////// void Init_Extint(void) {

IT0 = 1; //外部中断1设置为下降沿触发 IE0 = 0; //标志位清0 EX0 = 1; //允许外部中断1 }

/******************************************************************** 函数功能:定时器/计数器初始化

30

入口参数:null 返 回:null 备 注:null

********************************************************************/ void TimerInitProc() {

TMOD &= 0xF0; TMOD |= 0x01;

//设置定时器0,方式1:16位定时器

TH0 = TIMER0_HIGHT; //设置定时器0高字节初值 TL0 = TIMER0_LOW; //设置定时器0低字节初值 TR0 = 1;

//启动定时器0 //开定时器0中断

ET0 = 1; }

EA = 1; //开总中断

/////////////////////////End of TimerInitProc//////////////////////// void initvar() { }

void Init_System(void) {

Init_Extint(); TimerInitProc(); }

/******************************************************************************

* 函 数 名:Display(uchar chose_dat,uchar dat)

initvar(); starttest = 0; cnt10ms = 0; cnt1s = 0; Pulsecnt = 0; Pulsenum = 0;

31

搜索更多关于: 基于单片机的心率设计 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

附 录 参考程序 心率监控智能系统的信号采集、处理、显示的程序 #include #define uint8 unsigned char #define uint16 unsigned int #define TIMER0_HIGHT 0xDC //设置定时器0工作方式1自动装载初值,定时10ms,Fosc=11.059200MHZ #define TIMER0_LOW 0x00 sbit keyin = P3^1; //按键输入 bit starttest; //启动测心率标志 uint16 cnt10ms; //10ms计数器 uint8 cnt1s; //1秒计数器 uint8 Pulsecnt; //心跳次数,计数器 uint8 Pulsenum; /

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com