[求助] ADC电压采集,输入悬空时有输出

YZW977   2017-12-30 14:41 楼主
#include "stc15fxxxx.h" #include "stdio.h" #include "intrins.h" #define FOSC 12000000 #define ADC_POWER 0x80 //ADC µçÔ´¿ØÖÆλ #define ADC_FLAG 0x10 // ADC Íê³É±êÖ¾ #define ADC_START 0x08 //ADCÆðʼ¿ØÖÆλ #define ADC_SPEEDLL 0x00 //540¸öʱÖÓ #define ADC_SPEEDL 0x20 //360¸öʱÖÓ #define ADC_SPEEDH 0x40 //180¸öʱÖÓ #define ADC_SPEEDHH 0x60 //90¸öʱÖÓ u8 Result; /*---------------------------- ÑÓʱº¯Êý ----------------------------*/ void Delay1000ms() [url=]//@12.000MHz[/url] { unsigned char i, j, k; _nop_(); _nop_(); i = 46; j = 153; k = 245; do { do { while (--k); } while (--j); } while (--i); } /*---------------------------- ´®¿Ú³õʼ»¯ ----------------------------*/ void Usart_Init(u16 Baud) { SCON |= 0x50; PCON &= 0x7f; AUXR |= 0x40; AUXR &= 0xFE; TMOD |= 0x21; TH1 = 256-FOSC/Baud/32;//²¨ÌØÂʲ»¼Ó±¶¡£(256-FOSC/16/12/BAUD) ¼Ó±¶ TL1 = TH1; TR1 = 1; ET1 = 0; ES = 1; EA = 1; } /*---------------------------- ADC³õʼ»¯¼°²É¼¯×ª»»10λ ----------------------------*/ u16 ADCResult(u8 ch) { u16 Result; P1ASF = 0x80; //ÉèÖÃP17ΪADÈë¿Ú ADC_RES = 0; //Çå³þ½á¹û¼Ä´æÆ÷ ADC_CONTR |= ADC_POWER | ADC_SPEEDLL | ADC_START | ch;//0x00|0x00|ch|0x08:Ñ¡ÔñADÊäÈëͨµÀ£¬¿ªÊ¼ADת»» _nop_(); _nop_(); _nop_(); _nop_(); while (!(ADC_CONTR & ADC_FLAG)); //µÈ´ýADCת»»Íê³É ADC_CONTR &= ~ADC_FLAG; //¹Ø±ÕADC £¬½«±ê־λÇåÁ㣬µÈ´ýÏÂÒ»´ÎÓ²¼þÖÃ1 Result = (u16)((ADC_RES<<2)+ADC_RESL); return (Result); //·µ»Ø½á¹û } void main() { u16 value; double dat; Usart_Init(9600); while (1) { Delay1000ms(); value = ADCResult(0x07); //ÉèÖÃP17ΪÊäÈë¿Ú TI = 1; dat = (double)value*0.0048828125; printf("电压值:\r\n"); printf("value = %.3f V\r\n",dat); while(!TI); TI= 0; Delay1000ms(); } } P17时AD输入口,在调试时单片机引脚上没接任何东西,串口上传是下面的情况 电压值 value =0.029v 本帖最后由 YZW977 于 2017-12-30 16:35 编辑

回复评论 (5)

悬空时测量数据不准确,正常这个值是会不断变化的
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2017-12-30 23:13
这种情况是电阻分压的接地电阻可能太大或AD口处于悬空状态,正常AD口的分压电阻不要太大或不处于悬空状态就不会出现
点赞  2018-11-15 11:07
正常的,可能被其它信号干扰了导致跳变,如果输入有高或低信号的时候,就不会出现这个问题,
作为一个水军,就是尽量的多回帖,因为懂的技术少,所以回帖水分大,见谅!
点赞  2018-12-14 17:01
求助
把0-12V变化的直流电压信号转换成数字信号。
价格面议。
联系电话18511138970
点赞  2018-12-22 05:11
最好不要让它悬空
为江山踏坏了乌骓马,为社稷拉断了宝雕弓。
点赞  2018-12-22 10:22
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复