s=0 当写一个字符后,整屏显示不移动 数据指针设置:
数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H) 其他设置:
01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。
22
3.6.4 脉搏心率测量仪电路原理图
图 3.16 电路原理图
23
第4章 软件系统
4.1 主程序流程:
系统主程序控制单片机系统按预定的操作方式运行, 它是单片机系统程序的框架。系统上电后,对系统进行初始化。初始化程序主要完成对单片机内专用寄存器、定时器工作方式及各端口的工作状态的设定。系统初始化之后, 进行定时器中断、外部中断、显示等工作,不同的外部硬件控制不同的子程序[12]。流程如图4.1所示。
开始初始化开中断显示程序 图 4.1 主程序流程图
4.2 定时器中断程序流程:
定时器中断服务程序由一分钟计时、按键检测、有无测试信号判断等部分组成。当定时器中断开始执行后,对一分钟开始计时,1s计时到之后继续检测下1s,直到60s到了再停止并保存测得的脉搏心率次数。同时可以对按键进行检测,只要复位测试值就可以重新开始测试。主要完成一分钟的定时功能和保存测得的脉搏心率次数。流程如图4.2所示。
24
图 4.2 定时器中断程序流程图
4.3 INT中断程序流程:
外部中断服务程序完成对外部信号的测量和计算。外部中断采用边沿触发的方式,当处于测量状态的时候,来一个脉冲脉搏心率次数就加一,由单片机内部定时器控制一分钟,累加得出一分钟内的脉搏心率次数。流程如图4.3所示。
25
图 4.3 INT中断程序流程图
4.4 显示程序流程:
显示程序包括显示上次的脉搏心率次数、本次测量中的时间和脉搏心率的次数。从中断程序中取得结果后,先显示上次的脉搏心率次数,经过10ms的延时后再显示测试中的脉搏心率次数,再经过10ms的延时显示测试中的时间。流程如图4.4所示。
图 4.4 显示程序流程图
26