2 核心模块通用功能函数设计
核心模块设计了通用功能函数,便于编写应用程序时调用。通用功能函数在IAR Embedded Workbench环境下采用C语言设计开发。
2.1 Flash数据存储器函数设计
系统采用MSP430F449的P3口对Flash存储器AT45DB041B进行控制,它和MSP430F449的连接如图2所示。P3.6连接片选端,P3.5连接串行时钟端,P3.4连接串行数据输入端,P3.3连接串行数据输出端,配合P3.O和P3.1的操作实现对存储器的读写等操作。(编者注:部分核心函数见本刊网站。)
2.2 核心模块LCD显示函数设计
在系统内,单片机MSP430F449通过P5口与液晶模块LCMl28645ZK串行通信,P5.7接液晶的RS(CS)端,P5.6接液晶的R/W(STD)端,P5.5接液晶的SCLK端,如图3所示。P4.7通过1个三极管构成开关电路来控制液晶是否供电,达到系统最低功耗的目的。(编者注:部分关键函数的设计见本刊网站。)
2.3 核心模块A/D转换函数设计
在系统内,单片机MSP430F449与AD7705的接线原理如图4所示,P2.O连接SCLK端,P2.1连接CS选择端,P2.2连接DIN端,P2.3连接DOUT端,P2.4连接DRDY端,2路输入采用差分输入方式。通过访问AD7705的8个寄存器实现对AD7705的所有操作:
①通信寄存器。所有对器件的通信必须从写通信寄存器开始。上电或复位后,默认为等待指令,写入通信寄存器。由通信寄存器选择位RS2~RS0指定下次访问的寄存器。R/W位选择下次是读操作还是写操作,输入通道选择位CHl、CHO选择输入模拟通道。
②设置寄存器。可读/写的8位寄存器,用于设置工作模式、增益、极性、缓冲器控制和滤波器同步。
③时钟寄存器。可读/写的8位寄存器,用于设置有关AD7705运行频率参数和A/D转换输出更新速率。
④数据寄存器。16位只读寄存器,存放AD7705最新的转换结果。
⑤测试寄存器、零标度校准寄存器、满标度校准寄存器等。用于测试和存放校准数据,可用来分析噪声和转换误差。部分核心函数如下: