基于单片机的脉搏测量仪 下载本文

图 3.12 电路原理图

4 软件系统

4.1 主程序流程:

系统主程序控制单片机系统按预定的操作方式运行, 它是单片机系统程序的框架。系统上电后,对系统进行初始化。初始化程序主要完成对单片机内专用寄存器、定时器工作方式及各端口的工作状态的设定。系统初始化之后, 进行定时器中断、外部中断、显示等工作,不同的外部硬件控制不同的子程序。流程如

16

图4.1所示。

开始 初始化 外部中断计数 显示程序

图 4.1 主程序流程图

4.2 定时器中断程序流程:

定时器中断服务程序由十秒钟钟计时、按键检测、有无测试信号判断等部分组成。当定时器中断开始执行后,对十秒钟开始计时,50ms计时到之后继续检测下50ms,直到10s到了再停止并保存测得的脉搏次数。同时可以对按键进行检测,只要复位测试值就可以重新开始测试。主要完成一分钟的定时功能和保存测得的脉搏次数。流程如图4.2所示。

17

定时器0中断进入 定时器初始值设置 N到1S? Y 到10S? Y 处于检测? Y 保存脉搏数 继续计时 按键检测 返回

图 4.2 定时器中断程序流程图

4.3 INT中断程序流程:

外部中断服务程序完成对外部信号的测量和计算。外部中断采用边沿触发的

18

方式,当处于测量状态的时候,来一个脉冲脉搏次数就加一,由单片机内部定时器控制十秒钟,并通过计算得出一分钟内的脉搏次数。流程如图4.3所示。

外部中断0进入 处于检测? Y 脉搏数+1 等待按键按下 返回

图 4.3 INT中断程序流程图

4.4 显示程序流程:

显示程序包括显示上次的脉搏次数、本次测量中的时间和脉搏的次数。从中断程序中取得结果后,先显示上次的脉搏次数,经过10ms的延时后再显示测试中的脉搏次数,再经过10ms的延时显示测试中的时间。流程如图4.4所示。

19