智能车制作

标题: 将求助进行到底 [打印本页]

作者: ww12101230    时间: 2012-12-6 21:22
标题: 将求助进行到底
小弟我用的9s128片子,写了个AD,可是一打开AD什么也没加,AD脚就有1V多电压,这种情况是人品问题还是长相问题?
作者: ww12101230    时间: 2012-12-6 21:38
这到底是为什么呢?难道大家没有遇到吗?
作者: yukunlinykl    时间: 2012-12-6 21:56
写错了。
作者: Vlanes    时间: 2012-12-6 22:06
ad口要连个二极管接地
作者: ww12101230    时间: 2012-12-6 22:22
Vlanes 发表于 2012-12-6 22:06
ad口要连个二极管接地

真的吗?这是真的吗?没骗我吧。你不加有没有问题?

作者: ww12101230    时间: 2012-12-6 22:24
yukunlinykl 发表于 2012-12-6 21:56
写错了。

不会吧,我试了很多别人程序,我自己也写的。自己写的可以用,就是不加电压它也显示有电压值。你能把你的AD初始化给我拜读一下吗?

作者: yukunlinykl    时间: 2012-12-6 22:27
ww12101230 发表于 2012-12-6 22:24
不会吧,我试了很多别人程序,我自己也写的。自己写的可以用,就是不加电压它也显示有电压值。你能把你的 ...

那就是电路连错了。

作者: Vlanes    时间: 2012-12-6 22:29
void  ini_AD(void) {
       
        ATD0DIEN=0x00;     //关闭ANx引脚上的数字输入缓冲器
        ATD0CTL0=0x00;                 // AD转换通道预留
        //ATD0CTL1=0b00001111;
        ATD0CTL1=0b00111111;// 10位采样精度;放电,采样时间增加两个A/D时钟周期;选择AN15通道输入为外部触发源。
        ATD0CTL2=0b01000000;//  只要读结果寄存器,MCU自动把AD转换的完成目标位CCF[n]清零。禁止中断 下降沿触发 AD转换结束后不引发中断,禁用比较中断
        ATD0CTL3=0b10001000;  //DJM=1,右对齐。每个序列的AD转换个数为1.根据转换序列的先后顺序将转换结果放在结果寄存器中。
        ATD0CTL4=0x01;   //AD转换的分频因子为1即总线时钟除以4;
        ATD0CTL5=0b00100000; //AD转换序列持续转换,预设AD转换的模拟量通道为0通道
       
       
       
作者: ww12101230    时间: 2012-12-6 22:29
yukunlinykl 发表于 2012-12-6 22:27
那就是电路连错了。

void ADC_Init(void)
{   
     ATD0CTL1 = 0x10;
     ATD0CTL2 = 0xc0;
     ATD0CTL3 = 0x94;                                             
     ATD0CTL4 = 0x8e;
     ATD0CTL5 = 0xb0;  
     ATD0DIEN = 0x00;                                                      
}
01通道连续转换
拜托点解我。拜托拜托


作者: ww12101230    时间: 2012-12-6 22:31
Vlanes 发表于 2012-12-6 22:29
void  ini_AD(void) {
       
        ATD0DIEN=0x00;     //关闭ANx引脚上的数字输入缓冲器

谢谢,谢谢。

作者: Vlanes    时间: 2012-12-6 22:32
ww12101230 发表于 2012-12-6 22:22
真的吗?这是真的吗?没骗我吧。你不加有没有问题?

我记得是只要有持续的输入 采样都是准确的 你悬空了吧

作者: 恋May    时间: 2012-12-7 11:42
ww12101230 发表于 2012-12-6 22:22
真的吗?这是真的吗?没骗我吧。你不加有没有问题?

不加没有问题。

作者: 124694679    时间: 2012-12-7 12:42
学习学习!
作者: ww12101230    时间: 2012-12-7 14:33
Vlanes 发表于 2012-12-6 22:29
void  ini_AD(void) {
       
        ATD0DIEN=0x00;     //关闭ANx引脚上的数字输入缓冲器

我照着你的寄存器设置了一下,端口悬空也是有1.5v左右电压,这正常吗?





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2