首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教个s12DG128的ATD的问题

请教个s12DG128的ATD的问题

做个ATD实验,用通道ATD0转化,并从PORTB输出,观察PORTB的亮灯结果,不过接2v左右的电压时灯一直暗,接地时灯一直亮,不知为什么?

程序如下:
#include /* common defines and macros */
#include /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"

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; // 禁止数字输入
}

byte AD_wValue;
void main(void) {
// word i;
AD_Init(); //AD初始化
DDRB = 0xFF;
PORTB = 0x00;
EnableInterrupts;
for(;;)
{
while(!ATD0STAT1_CCF0); //等待转换结束
AD_wValue=ATD0DR0L;//读取转换结果
PORTB = AD_wValue; //在B口显示转换值
}
}
VRL和VRH接了没有?如果用清华的板子,默认是没有接的
slaxh.com
哦,原来这样,谢谢
记得清华板子背面有两个跳线S8和S9,短接后VRL=0  VRH=5v
slaxh.com
返回列表