2 软件程序设计
2.1 温度参数的采集
结合温度传感器和MSP430F149的结构特点,温度的采集需要先将与温度传感器连接的P1.6和P1.7设置成输出,对温度传感器进行参数配置,配置完毕后再改P1.6和P1.7设置成输入,读取温度传感器数据寄存器中的温度值,送入单片机的内存中用来进行舒适度评价,然后返回进行下一个模块程序的执行。
2.2 湿度参数的采集
湿度参数采集,应该在温度采集完成后才能进行。因为湿度传感器需要进行温度补偿。湿度传感器HIH3610是模拟电压输出,电压范围在0.8V~3.9V,通过电压调整,通过MSP430Fll49的ADC口(即P6口)的一个通道P6.0对模拟电压进行AD转换。再经过式(1)计算,就可以得出湿度值。
2.3 振动参数的采集
振动加速度参数的采集是利用MSP430F149的ADC端口(P6口)中的3个通道P6.3、P6.4、P6.5采集的,所以实现采集功能,应该先设置这三个通道为ADC模式,然后依次从三个通道中读取相应的电压量,再存入相应的地址,然后转入到主程序。
采用ADC通道进行参数采集,需要时间上的配合,因为ADC需要转换时间。时间配合可以采用软件延时方法,或者是采用定时器中断的方法,还有软件查询方法。
2.4 液晶显示的输出
液晶显示器在上电后应先初始化,首先延时40ms以上,进行功能设定(8位/4位、基本指令/扩充指令);再延时100 μs,同样是功能设定;然后延时37 μs,开关显示设定;延时10 μs,清屏(清除显示RAM);最后延时10ms,设置读取与写入时光标的移动方向等。
2.5 综合处理程序
综合处理程序也就是主程序,主程序负责单片机的启动,先后调用各个模块子程序,实现系统功能。综合处理程序流程图如图7所示。
3 结束语
本文设计了一个基于超低功耗单片机MSP430F149的汽车舒适度评价系统,此系统能实时采集汽车车厢的温度、湿度和振动加速度,将汽车舒适度分为5个等级,给出汽车车厢的舒适程度。