脉搏测试仪报告(2)

2019-05-18 15:37

}

}

Pulsecnt++; //来一次中断脉搏计数器加1

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

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

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

if(keyin == 0) {

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

//检测按键

cnt10ms = 0; if(starttest == 1) { }

if(++cnt1s == 60) { }

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

//一分钟时间到 //处在测试状态 //1s计时到

}

}

}

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

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

else { }

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

starttest = 1; cnt10ms = 0;

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

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

/******************************************************************** 函数功能:定时器/计数器初始化 入口参数: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) * 函数功能: 数码管显示

* 入口参数: chose_dat数码管显示字位,dat显示字型 * 返 回: 无

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

void Display(uint8 chose_dat, uint8 dat) {

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

P0 = dat; //送显示字型

P2 = ~(0x01<

DelayMs(1); //延时1MS }

void ShowDisp(uint8 tPulsenum, uint8 tPulsecnt, uint8 tcnt1s) { }

/******************************************************************** 函数功能:延时ms 入口参数:MS 返 回:null 备 注:null

********************************************************************/ void DelayMs(uint8 Ms) {

unsigned char i,j; do {

for(i=5;i>0;i--) for(j=98;j>0;j--);

Display(6, DispCode[tPulsenum]); //显示上次测量的脉搏 tPulsenum = tPulsenum/10;

Display(7, DispCode[tPulsenum]);

Display(3, DispCode[tPulsecnt]); //显示测试中的脉搏 tPulsecnt = tPulsecnt/10;

Display(4, DispCode[tPulsecnt]);

Display(0, DispCode[tcnt1s]); //显示测试中的时间 tcnt1s = tcnt1s/10;

Display(1, DispCode[tcnt1s]); P2 = 0xFF; //关闭显示

}while(--Ms); }

///////////////////////////End of DelayMs////////////////////////////

//Test for 12M


脉搏测试仪报告(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国报纸投稿邮箱

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: