标题:
◎◎◎◎请教AD问题
[打印本页]
作者:
lovegam3000
时间:
2007-4-19 12:20
标题:
◎◎◎◎请教AD问题
void AD_Init(void) //初始化
{
ATD0CTL2=0xC0; //AD模块上电, 快速清零, 无等待模式, 禁止外部触发, 中断禁止
ATD0CTL3=0x20; // 每个序列4次转换, No FIFO, Freeze模式下继续转换
ATD0CTL4=0x83; // 8位精度, 2个时钟, ATDClock=[BusClock*0.5]/[PRS+1] ; PRS=3, divider=8
ATD0CTL5=0xA0; //右对齐无符号,单通道采样,通道0
ATD0DIEN=0x00; // 禁止数字输入
}
void AD_GetValue(word *AD_wValue) //读取AD转换结果
{
*AD_wValue = ATD0DR0; //Read out the Result Register
}
word AD_wValue;
void main(void) {
word i;
AD_Init(); //AD初始化
DDRB = 0xFF;
PORTB = 0x00;
EnableInterrupts;
for(;;)
{
while(!ATD0STAT1_CCF0); //等待转换结束
AD_GetValue(&AD_wValue); //读取转换结果
PORTB = (byte)AD_wValue; //在B口显示转换值
}
}
程序如上。mc9s12芯片,清华最小单片机系统。
欲对直流2.5v采样在portb口看输出:
1.是不是只要把电压接到AD相关的AN1口和地线,要加基准电压吗,接哪?
2.转换后是不是一个类似0~255的值,那应该portb口有的灯亮有的暗?
谢谢
作者:
strongchen
时间:
2007-4-19 13:44
ADC的电源是VDDA和VSSA,参考电压是VRH和VRL。你还是先看一下数据手册再动手吧。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0