ADS7844在低功耗数据采集系统中的应用
用,在转换时稍加延时等待即可。控制AD7844进入低功耗状态有两种方式:一是直接控制SHDN端;二是将SHDN接在电源上,它们均可在控制字中设置。为了节省口线,可采用第二种方式。采样控制可以使用外部中断,如外部中断INT0、串行口中断和PB口电平变化引起的中断等,也可以使用内部定时中断。
3软件程序
下面给出该系统的主程序部分流程图和汇编程序。该设计假设用外部中断INT0唤醒CPU来进行数据采集,且A/D转换程序就是中断服务子程序。
ORG000H
GOTOMAIN
ORG004H
GOTOINTPRO
ORG010H
MAINMOVLW10H?关闭总中断控制位,
但开放INT0
MOVWFINTCON
BSFSTATUS?RP0?初始化A口
MOVLW0F8H
MOVWFTRISA?A口D0-D2为输
出,D3为输入
BCFSTATUS,RP0
BSFPORTA,1?使片选无效
...
BSFINTCON,GIE?开放总中断控制位
LOOPSLEEP?等待中断
NOP
...?数据采集完成后进行其他处理
GOTOLOOP
INT_PROBCFPORTA,0?时钟置低电平
BCFPORTA,2?数据输入置低
MOVLW08H?置送控制字所需时钟数
MOVWFNUM
MOVLW8CH?控制字,假设转换CH0,
单端输入,?自动进入低功耗状态
BCFPORTA,1?片选有效
...?送控制字
LCALLDELAY?调用延时子程序
MOVLW10H?置读转换结果所需
时钟数
MOVWFNUM
...?读转换结果
BSFPORTA,1?结束转换并返回
RETFIE
4结束语
由于PIC16C64和ADS7844都是低功耗器件,且都有低功耗状态,因而用其设计的数据采集系统功耗是很低的。经实测,当电源电压为3.3V、时钟为32.76kHz时,该电路的正常工作电流为2mA,而进入低功耗状态后的系统消耗电流最大为4μA,因而完全适合于电池供电。另外,PIC16C64和ADS7844都是宽电压器件,并且PIC16C64还有许多功能可以开发利用。如果在本系统基础上做必要的功能扩展,便可用于其它工业控制系统的现场控制等领域。
《ADS7844在低功耗数据采集系统中的应用(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/166810.html
3软件程序
下面给出该系统的主程序部分流程图和汇编程序。该设计假设用外部中断INT0唤醒CPU来进行数据采集,且A/D转换程序就是中断服务子程序。
ORG000H
GOTOMAIN
ORG004H
GOTOINTPRO
ORG010H
MAINMOVLW10H?关闭总中断控制位,
但开放INT0
MOVWFINTCON
BSFSTATUS?RP0?初始化A口
MOVLW0F8H
MOVWFTRISA?A口D0-D2为输
出,D3为输入
BCFSTATUS,RP0
BSFPORTA,1?使片选无效
...
BSFINTCON,GIE?开放总中断控制位
LOOPSLEEP?等待中断
NOP
...?数据采集完成后进行其他处理
GOTOLOOP
INT_PROBCFPORTA,0?时钟置低电平
BCFPORTA,2?数据输入置低
MOVLW08H?置送控制字所需时钟数
MOVWFNUM
MOVLW8CH?控制字,假设转换CH0,
单端输入,?自动进入低功耗状态
BCFPORTA,1?片选有效
...?送控制字
LCALLDELAY?调用延时子程序
MOVLW10H?置读转换结果所需
时钟数
MOVWFNUM
...?读转换结果
BSFPORTA,1?结束转换并返回
RETFIE
4结束语
由于PIC16C64和ADS7844都是低功耗器件,且都有低功耗状态,因而用其设计的数据采集系统功耗是很低的。经实测,当电源电压为3.3V、时钟为32.76kHz时,该电路的正常工作电流为2mA,而进入低功耗状态后的系统消耗电流最大为4μA,因而完全适合于电池供电。另外,PIC16C64和ADS7844都是宽电压器件,并且PIC16C64还有许多功能可以开发利用。如果在本系统基础上做必要的功能扩展,便可用于其它工业控制系统的现场控制等领域。
《ADS7844在低功耗数据采集系统中的应用(第2页)》