2 总体结构与工作原理
该监测仪以凌阳16位单片机SPCE061A为控制核心,通过温度传感器、水银开关、压电陶瓷片获得人体温度、跑步者的步数及脉搏跳动情况,再由CPU实时计算测量值并将结果送至液晶显示器显示,同时进行语音播报。系统设有键盘、人工复位和自动上电复位及硬件看门狗电路。SPCE061A内部带有硬件乘法器功能,可方便地实现测量数据的记录、计算和语音播报功能。系统总体结构框图如图1所示。
3 硬件电路设计
3.1 体温测量模块
温度传感器采用DALLAS的DS18820,该器件无需外部元件,通过数据线供电即可提供最高12位的温度读数,器件的温度信息经单线接口送人DS18820或从DS18820送出,从CPU到DS18820仅需连接1条线。读、写和完成温度变换所需的电源由数据线本身提供,测量范围为-55℃~+125℃,增量值为0.062 5(以12位数值方式读出温度),在1 s(典型值)内把温度变换为数字,具有用户可定义的非易失性温度告警设置。输出的温度数值由单片机的IOA15口读人,如图2所示。
经单线接口访问DS18820的协议如下:
(1)初始化单线总线上的所有处理均从初始化序列开始。初始化序列包括:总线主机发出一个复位脉冲,接着从属器件送出存在脉冲,程序清单见初始化DS18820子程序intInit_1820(void)。
(2)ROM操作命令一旦总线主机检测到从属器件便可发出,ROM操作命令,ROM操作命令均为8位长,程序见读DS18820子程序unsigned int Read_1820_Byte(void)和写DS18820子程序void Write_1820_Byte(unsigned int Data)。
(3)存储器操作命令 程序清单见读DS18820子程序un-signed int Read_1820_Byte(void)和写DS18820子程序voidWrite_1 820_Byte(unsigned int Data)。
(4)处理数据程序清单见温度转换子程序void Read_Temp(unsigned int*Data)。温度测量程序如下: