舌体湿分含量测量仪的设计与研究 第10页
为了节省能量并提高速度,OTP在每次测量前都要重新下载校准系数,从
而使每一次测量节省8.2ms的时间。
(4)测量分辨率设定
将测量分辨率从14位(温度)和12位(湿度)分别减到12位和8位可应
用于高速或低功耗场合。
开始
送08H到R0
置P1.1为1,送1到数据线
置P1.0为1,上升沿送数
延时5us
置P1.0为0
R0-1后是否为0?
返回
Y
A带进位左循环一位
C中存放的是否为1?
置P1.1为0
置P1.1为0,送0到数据线
置P1.0为1,上升沿送数
延时5us
置P1.0为0
N
Y
图4-9发送命令子程序流程图
4.4串行通讯
4.4.1通讯协议
通讯协议的确定直接关系到数据传送的可靠性、准确性和效率,要实现上位
机与下位机之间的通讯,制定一套完整的通讯协议是非常必要的[35]。在设计通
讯程序时,我们将数据通讯协议格式统一定义如下:
-31-天津大学硕士学位论文第四章[软件程序设计]
55H AAH控制码数据个数数据块校验和16H
其中:55H和AAH为帧头;控制码确定要所要发送内容的用途;资料个数
表示要发送数据块共有多个资料;数据块就是所要发送的数据内容;校验和是控
制码、数据个数、数据块的累加和;16H为结束码。
4.4.1.1发送单个最新测量数据分时日月校验
和
结束码
具体内容定义如下:
(1)舌体湿度
舌体湿度字节的具体内容如下:
D7 D6 D0
舌面温度标志位舌体湿度
舌面温度标志位:1:20+
0:30+
舌体湿度:00H~64H
(2)舌面温度
舌面温度字节的具体内容如下:
D7 D4 D0
Ttemp 0.1 TTemp
TTemp:舌面温度个位
0.1 TTemp:舌面温度小数点位
取值范围:00~99
(3)环境湿度
环境湿度字节的具体内容如下:
D7 D6 D0
环境温度标志位环境湿度
环境温度标志位:1:环境温度为正值
0:环境温度为负值
环境湿度:00H~64H
(4)环境温度
-32-天津大学硕士学位论文第四章[软件程序设计]
环境温度字节的具体内容如下:
D7 D4 D0
10 Temp Temp
10 Temp:环境温度十位
Temp:环境温度个位
取值范围:00~99
(5)分钟信息
分钟字节的具体内容如下:
D7 D4 D0
NU 10MN MIN
10 MIN:分钟十位
MIN:分钟个位
取值范围:00~59
(6)小时信息
小时字节的具体内容如下:
D7 D4 D0
显示制式NU AP 10HR HR
显示制式:1:12小时制
0:24小时制
A P:1:上午(12小时制)
0:下午(12小时制)
10 HR:小时十位
HR:小时个位
取值范围:01~12或00~23
(7)日信息
日字节的具体内容如下:
D7 D4 D0
NU NU 10DATE DATE
10 DATE:日十位
DATE:日个位
取值范围:01~28/29/30/31
(8)月信息
月字节的具体内容如下:
D7 D4 D0
NU NU NU 10M MONTH
10 M:月十位
MONTH:月个位
取值范围:01~12
4.4.1.2发送群体测量数据序号字节的具体内容如下:
D7 D6 D0
最后数据标志位序号
最后数据标志位:1:最后一个历史数据
0:非最后一个历史数据
序号:00~20
4.4.2串行通讯程序设计
4.4.2.1上位机端串行通讯程序设计
Visual Basic6.0中有一个专门用来串行通信的控件――MSComm控件,我们
正是利用这个控件对上位机端串行通讯程序进行设计的[36]。
Visual Basic6.0串行通信初始化程序如下:
MSComml.CommPort=1’选择COM为通信端口
MSComml.Setting=”9600,e,8,1”’设置波特率为9600,偶校验,8个
数据位,1个停止位
MSComml.Outbuffersize=20’设置输出缓冲区大小为20个字节
MSComml.Rthreshold=1’输入缓冲区里有1个字符时,解发OnComm事
件
-34-天津大学硕士学位论文第四章[软件程序设计]
If MSComml.PortOpen=False Then MSComml.PortOpen=true’打开串行口,
并防止打开同一个串行口的错误
其中,MSComml是系统默认的MSComm控件的名字。在初始化完成后,
通过MSComml.Output=Outputstring发送数据,Outputstring是自定义的字符型
变量。MSComm控件可以直接把字符串转化成二进制数据形势传送,不需要在
程序中用算法来转换。每次发送完毕关闭串口。在MSComm_OnComm事件中
接受采集板输入的数据。由于Rthreshold的属性值为1,所以每次输入缓冲区接
受一个字符时,就触发MSComm_OnComm事件,通过对接受字符的判断,上
位机可以决定该进行何种操作。
4.4.2.2下位机串行通讯程序设计
串行发送中断处理程序分为发送最新测量数据和发送历史数据两种。两者都
需要将测量得到的舌体湿度、舌面温度、环境湿度、环境温度和测量时间等信息
上传到上位机。除了以上信息外,传送历史数据时还需要传送数据序号和结束标
志位信息,当接收到历史数据结束标志信息后将结束传送。
4.5按键控制和LCD显示
在程序设计中,准备了以下按键功能:
UP:游标上移
DOWN:游标下移
MODE:模式切换/返回
RIGHT:游标右移
CONFIRM:测量/确定
在主界面按CONFIRM键启动测量程序,按MODE键进行模式切换,配合
游标移动键可以完成测量资料的查看,上传数据,删除历史数据,时间调整设定
等功能。
RT12864-10的控制器T6963C具有丰富的控制指令,可以显示文本、图形,
静态、动态等多种状态[31]。
T6963C的初始化设置一般都由管脚设置完成,因此其指令系统将集中于显
示功能的设置上。T6963C的指令可带一个或两个参数,或无参数。每条指令的
执行都是先送入参数,再送入指令代码,T6963C的指令写入流程图如图4-10所示。
程序设计用到的T6963C主要指令见表4-1。
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
舌体湿分含量测量仪的设计与研究 第10页下载如图片无法显示或论文不完整,请联系qq752018766