1,关于STC12C5A60S2 AD测量的问题 都快疯了

分析:单片机P1.0口的高电平是依靠P1 “短路”到地来实现低电平的。结论:首先是R7、R8太大。其次,如果频率高的话,特别是低电平占空小的话,C3就太大也会这样。最后是358的“吸入”电流太小,原因是电路设计不良。

关于STC12C5A60S2 AD测量的问题 都快疯了

2,STC12C5A60S2单片机中AD转换有几个通道转换的二进制位数为

可转换的模拟通道为4通道是指AD转换器具备四个模拟量输入端口,四个端口可能是同步转换,也可能是分时转换,具体是哪种情况要看器件的资料。 转换位数可变的AD一般是转换位数与转换速率相关,转换速率越低,位数越多,反之越少。

STC12C5A60S2单片机中AD转换有几个通道转换的二进制位数为

3,大神请进STC12C5A60S2单片机内部ADC

STC12C5A60S2单片机内部ADC只有一个,虽然外部可以用P1口的8个脚,作8个通道的输入,但在采集数据时,只能开通一个通道,不允许8个通道都开的,所以,会互相影响的。如果是单独使用的话都可以正常工作,就应该是每个都要单独用的。所以,两个通道都用,也要按单独使用那样来转换。就算是8个通道都用,也不可能是同时转换的,也要切换每一个通道分时转换的。

大神请进STC12C5A60S2单片机内部ADC

4,STC12C5A60S2的AD转换怎样读取10位结果

我用的是stc12c5a08adP1M1=0x01;P1M0=0x00; // p1^0口为AD口void read() ADC_CONTR=0xea; //开始转换 while((ADC_CONTR&0x10)!=0x10)//dog(); //等待AD结果 ADC_CONTR=0xe2; //AD结束 jcdy=ADC_RES; //AD的结果. }
= ADC_RES*4+ADC_RESL;
定义一个int类型,如 int a;然后把adc_res的值给aa = adc_res;由于adc_res是高位,低2位在adc_resl上,所以a要左移两位a <<= 2;然后把adc_resl的两位合并上去。由于adc_resl是在低两位,所以截取低两位先。用一个变量来存放char b = adc_resl & 0x03;最后合并a += b;这时的a值就是转换的结果值,共10位。10位的最大值是1023,对应数模转换的参考电压的高电平,0就对应低电平。例如参考电压是5v,那么如果读到的 a = 1023,就是采样得到5v,按这个比例去换算就可得到采样电压的值。括号内的东西在stc的手册上很常见,是表示这个值有8位,序号从0到7。

文章TAG:12c5a60s2多少位ad多少  关于  测量  
下一篇