CS1237芯片是一枚国产24位A/D转换芯片,输出速率可选:10Hz、40Hz、640Hz、1.28kHz。内置时钟电路,不需外部晶振。带可编程PGA,PGA放大倍数可选:1、2、64、128。2 线 SPI通信接口,最快速率为 1.1MHz。供电电压:5V/3.3V。芯片应用场合:工业过程控制、电子秤、血压计、智能变换器、便携式设备等。
CS1237采用SOP8封装,Pin脚定义如下:
CS1237 SPI 串口通信
其基本时序如图所示:
CS1237读取数据时序图1:
CS1237读取数据时序图 2:
读取数据时序表:
功能配置:
SPI命令字:
CS1237有 2 个命令字,命令字的长度为 7bits,命令字描述如下:
CS1237命令字说明表:
CS1237 Config寄存器:
有了这些,就可以写CS1237的驱动库函数了。新建两个文件分别以cs1237.h,cs1237.c存入C51 Template文件夹下Library文件夹中。
完成后的源代码如下:
受一些因素影响,可能个别ADC数据不是很准确,需要消除或减小其影响,我们可以采用多值平均法,阀值剔除法等数字滤波手法,有了以上库函数就可以轻松实现。
上面串口接收区的值为寄存器读出值。
下面是AD转换结果。