第2节 DG128内部A/D转换模块
推荐给好友
打印
加入收藏
更新于2008-08-29 01:04:54

8.2.1 DG128内部A/D转换模块寄存器
A/D转换控制寄存器2
A/D转换控制寄存器3
A/D转换控制寄存器4
A/D转换控制寄存器5
A/D转换状态寄存器0
A/D转换测试寄存器1
A/D转换状态寄存器1
A/D转换输入使能寄存器
A/D转换端口数据寄存器
A/D转换结果寄存器

8.2.2 A/D转换模块的基本编程方法
1.A/D转换初始化
ATDCTL2 = 0b11000000;
//ATDCTL2.ADPU = 1为打开转换电源开关
//ATDCTL2.AFFC = 1为A/D转换CCF自动清0位
ATDCTL3 = 0b00001011;
//ATDCTL3.S1C = 1表示序列长度为1
//ATDCTL3.FIFO = 0为非FIFO模式
//ATDCTL3.FRZ0~FRZ1 = 11表示立刻进入冻结模式
ATDCTL4 =0b00000111;
//ATDCTL4.PRS4~PRS0 = 00111表示总线频率16分频
ATDCTL4 &=0b01111111;
//ATDCTL4.SRES8 = 0表示10位转换精度

2.启动A/D转换
ATDCTL5 = 0b00100000;
//ATDCTL5.DJM = 0,结果寄存器数据采用左调整方式
//ATDCTL5.SCAN = 1,连续转换序列
//ATDCTL5.CC~CA = 000,启动0通道转换

3.获A/D转换结果
while(1)
//判断ATDSTAT0的第7位是否为1
if((ATDSTAT0&(1<< SCFBit))!=0)
//从A/D数据寄存器0中读数据
{ temp = ATDDR0; //10-bit数据
//对数据调整,使低十位有效
temp = (temp >> 6);
break; }
return temp; //返回10-bit的转换结果

<<上一节 下一节>>

相关链接


 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.