本论文要求有pH值信号和温度信号两路模拟信号进行A/D转换,为了减少误差,可采用多次取值然后取平均值的方法,故采用序列通道多次转换模式。
在应用ADC转换模块时MSP430系列的微处理器都可以使用中断函数,只要用一条命令就可以进入到A/D转换中断,在低功耗模式下进行转换,转换完成后叫醒CPU就可以回到主程序继续执行其他命令,简单、方便。
由于直接进入微处理器的是传感器电极输出的模拟电信号,而模拟信号在转换成数字信号以后才可以被单片机接受和处理,MSP430F149内部集成的12位精度的A/D转换模块内置参考电平发生器和采样保持电路,具有较强的抗干扰能力,能够满足控制器对八路外部信号进行采样,流程图中的A0和A1为用于pH信号和温度信号转换的两个通道,将最后的均值用于数据处理,分别为MSP430F149端口P1.0和P1.1.
3,4 按键工作方式设计
按键的工作方式决定这相应的子程序如何获得按键的键值以确定程序的流程。在单片机系统中,按键工作方式有两种,即查询扫描方式和中断方式。
查询扫描方式是指承训一旦进入按键扫描方式,就反复不停或利用单片机内部定时器产生的中断每隔一定时间对按键进行扫描,如有键按下则转去执行相应子程序,如没有键按下则继续扫描按键状态。
中断方式是指CPU不主动对按键扫描,当有键按下时,按键闭合,键盘板产生一个信号,通过可屏蔽中断告知CPU,若此时CPU允许中断则进入中断处理子程序。
在智能pH计设计中,由于仪器的控制板上除开关机按键外只有一个按键用于进入校正子程序,如选用查询扫描方式,无异会造成CPU的浪费,故本实验中按键工作方式采用中断方式,可有效提高软件的执行效率。
程序相对来说比较简单,一个按键对应着一个端口的一位,将需要使用的端口设置为读入状态,在确定键被按下前,要经过一段时间的延时,起到去抖和防止误按的作用。如经软件判断确有键按下,则进入校正子程序,否则直接进入检测状态。
3.5FLASH存储的读写
FLASH技术结合了OTP存储器的成本优势和EEPROM的可再编程性能,可以使用尽可能小的开销来发挥EEPROM的最大灵活性。MSP430F149的嵌入式FLASH存储器同EEPROM一样是可电擦除并且可编程存储器,主要特点如下:
- 编程可以使用位、字节和字操作
- 可以通过JTAG、BSL和ISP进行编程。
- 1.8V-3.6V工作电压,2.7V-3.6V编程电压。
- 擦除/编程次数可达100000次。
- 数据保持时间从10年到100年不等。
- 60KB空间编程时间<5秒
- 保密熔丝烧断后不可恢复,不能再对JTAG进行任何访问。
-
FLASH编程/擦除时间由内部硬件控制,无需软件干预。
FLASH存储器具有如下优点:调电后数据不丢失、数据存储速度快、电可擦除、容量大、在线可编程、足够多的擦写次数、价格低廉、高可靠性。FLASH基本可以取代EEPROM,只是擦除操作不能一个字节一个字节擦除,只能一段一段进行。
MSP430F149的FLASH存储器模块是由128段主存储器与2段信息存储器组成。信息存储器为每段128字节,地址为1000H-10FFH,分别为信息存储器A和B。主存储器每段为512字节,其地址范围为1100H-FFFFH。
对FLSAH模块有3种操作:读、写及擦除。读很简单,可使用各种寻址方式,借助指令就可以轻松完成。擦除与写入需要按其固有的操作过程,通过控制FLASH模块的3个控制字中的相应位来完成,只有控制位的唯一组合才能实现相应的功能。
MSP430F149的Flash模块的读写程序,在编写程序时可以将读和写分别用一个函数来完成,当需要使用时直接调用函数即可,如果写入的数据是在一段时间里不被擦除的,可以在写入后锁定,当然改写时要先解锁。本实验中主要使用它来存储电极传感器经过校正后的一些数据,这些数据在进行pH值计算和温度补偿时要被调用出来,保证输出的数值在此温度下,电极此时老化情况下正确。