基于单片机的人体脉搏检测系统设计 - 图文(6)

2019-05-18 17:18

图3.15 定时计数电路

3.6 显示电路的设计

脉搏信号经过单片机处理,得到脉搏波动频率之后,需要在显示电路中直观地显示出来。所以,需要选用合适的显示设备及显示电路,来实现对脉搏波动频率信息的显示。本设计中,采用1602[29]字符液晶屏动态显示方式来显示脉搏波动频率信息。显示电路如图3.16所示,1602字符液晶屏时序参数如表3-3所示,硬件端口定义及软件资源分配如表3-4所示。

表3-3 液晶驱动程序硬件端口资源分配表

硬件端口 RS RW E LCD POS_FLAG BLANK 分配资源 P0.0 P0.1 P0.2 P2 20H 30H 说 明 寄存器选择控制线 LCD读写控制线 启用控制线,高电平动作 双向数据总线 字符串显示位置标志,为0时显示在第一行,为1时显示在第二行 清行时填入的空格个数控制变量 第 22 页 共 40 页

LCD初始化

液晶显示模块1602的控制指令:1602的控制指令共11条,其中9条针对命令寄存器IR的,[30] [31]另外2条是针对数据寄存器DR的,具体指令如表3.4所示。

表3-4 1602指令表(注:×表示可以为0或1)

编号 1 2 3 4 5 6 7 8 9 10 11 指 令 清屏显示 光标返回 置输入模式 显示开/关控制 光标或字符移位 置功能 置字符发生存储器地址 置数据存储器地址 读忙标志或地址 写数到CGRAM或DDRAM 从CGRAM或DDRAM读数 RS 0 0 0 0 0 0 0 0 0 1 1 RW 0 0 0 0 0 0 0 0 1 0 1 D7 D 6 0 0 0 0 0 0 0 1 BF 0 0 0 0 0 0 1 D5 0 0 0 0 0 1 D4 0 0 0 0 1 DL D3 0 0 0 1 D2 0 0 1 D D1 0 1 I/D C × × D0 1 × S B × × S/C R/L N F 字符发生存储器地址(AGG) 显示数据存储器地址(ADD) 计数器地址(AC) 要写的数据 读出的数据 [32] [33]

表3-4的相关命令设置如表3-5所示:

表3-5 1602指令相关设置

命 令 I/D S D C B BF 设置 1—增量方式,0—减量方式 1—不移动,0—移动 1—显示,0—不显示 1—显示光标,0—不显示光标 1—光标闪烁,0—光标不闪烁 1—正在执行内部操作,0—可接收命令 命 令 S/C R/L DL N F 设置 1—显示器移位,0—光标移位 1—右移,0—左移 1—8BIT,0—6BIT 1—2 行,0—1 行 1—5*10 字型,0—5*7 字型

第 23 页 共 40 页

图3.16 液晶显示电路

第 24 页 共 40 页

4 系统软件设计

4.1 主程序流程的设计

本程序的主要思路是,利用单片机的两个定时器/计数器,得出一分钟的脉搏数,最后送LCD显示。流程如图4.1所示。

开始 初始化 设置T0、T1值为0 设计数器结束标志为0 开T0,T1中断 计数结束标志=1? N Y 算出脉搏频率 送显示 结束 图 4.1 主程序流程图

第 25 页 共 40 页

4.2 定时器/计数器中断程序流程的设计

T0是定时器,T1是计数器。T0,T1中断请求来自于输入单片机中频率为1Hz的脉冲信号。T0中断开始执行后,检测T1代表的时间是否大于60S,没有大于60S则继续检测,大于60S则关T1,T0中断,然后设计数结束的标志为1。T1中断采用边沿触发方式,当处于测量状态的时候来一个脉冲,脉搏次数就加一,由T0定时一分钟,累加得出一分钟的脉搏次数。T0,T1流程分别如图4.2,图4.3所示。

T0中断入口 T1代表的时N 间≥60S? Y 关T1、T0中断 设计数结束的标志为1 结束

图4.2 T0中断程序流程图

T1中断入口 LCD显示T1的值 结束

图4.3 T1中断程序流程图

第 26 页 共 40 页


基于单片机的人体脉搏检测系统设计 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:基于单片机的智能玩具车设计

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

马上注册会员

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