我在AD中断里面让他往串口发送ADC_RES,每回都是错的,就算不发送ADC_RES,发送个变量,他发过去的也是错的,我用到了其他定时器的中断,我已经把定时器O中断优先级设为最高,不知道哪还有问题。请高手帮忙,不胜感激,回答有用的定追加。
我觉得你说的很有道理,我的设计也是你这个思路,我确实是让AD一直转换着,然后用了个定时器0每10ms中断,在中断中采集一下ADC_RES放入数组,在主函数中用查询的方式判断数组是否存满,存满后取平均值发送到串口,串口我也没有用中断,用的是查询的方式发数据。
追答另外,我想问下,STC现在什么价位?
追问这个便宜,六七块钱,串口我之前调试好了,在主函数和定时器中断中发送字符和字符串都正确,求平均数的模块也正确,我觉得我的AD是在工作,因为它进中断了,可是在中断中处理的怎么都是错的,像往串口发变量,这个很奇怪,每次采集的数据一样是不是跟着点有关系?你加我QQ吧?!我们讨论一下。
本回答被提问者采纳我用的STC12C5A60S2自带的A\/D转换,想把结果提取出来然后显示到四个八段...
5v单片机是0-5v,必须接到stc单片机的ad输入口,即标有ADC的io口。,8个通道都进行ad转换,并且,显示出来,通过串口发送通道和ad转换值
51单片机程序问题 stc12c5a60s2 的a\/d转换问题..
1.转换的引脚由ADC_CONTG的低3位CHS2、CHS1和CHS0控制,三位二进制能表示0~7八个数,与P1口一一对应。ADC的结构决定了它一次只能转换一个口,但是STC的转换速度达到10万次\/秒,依次转换P1.0和P1.1与同时转换差别不大。设置P1.0时,ch=0x00.设置P1.1时,ch=0x01.2.是按照一个字节读的...
我在写一个stc12c5a60s2的A\/D转换程序,其中高8位结果放在ADC_RES寄存器...
可以这样,首先定义一个16位无符号整型ADC_RESULT 如果AUXR1=0则 ADC_RESULT=ADC_RES;先将结果高字节放入ADC_RESULT=ADC_RESULT<<2;然后左移2位ADC_RESL=ADC_RESL&0x03;确保无用位为0ADC_RESULT=ADC_RESULT | ADC_RESL;最后组合起来称为16位二进制数如果AUXR1=1则 ADC_RESULT=ADC_RES;先将...
大神请进,STC12C5A60S2单片机内部ADC
STC12C5A60S2单片机内部ADC只有一个,虽然外部可以用P1口的8个脚,作8个通道的输入,但在采集数据时,只能开通一个通道,不允许8个通道都开的,所以,会互相影响的。如果是单独使用的话都可以正常工作,就应该是每个都要单独用的。所以,两个通道都用,也要按单独使用那样来转换。就算是8个通道都用...
stc12c5a60s2这款单片机的ad功能,测5v电压的话理论上十位ad可以达到1\/...
你先用float计算,然后最后结果取int型进行四舍五入会好些,不然误差太大,adc
STC12C5A60S2系列的单片机A\/D转换后,如何把自己想要的量用LED显示
AD转换后存在单片机中,肯定是用16进制表示的,而LED显示(是数码管吧),用的段码,根据共阴、共阳是不同的,所以,我想:1、可能是你的数码管是共阴的还是共阳的没看清楚,说不定段码用错了,那就乱码了;2、段码只是针对一位来说的,对于多位的数码管,是要先分离个十百千万...一个个分离...
关于STC12C5A60S2的ADC转换问题
ADC_CONTR、ADC_POWER 、ADC_SPEEDLL 等,是宏定义。你需要在你的.c文件中添加相关的头文件。
关于STC12C5A60S2 AD测量的问题 都快疯了!
分析:单片机P1.0口的高电平是依靠P1 “短路”到地来实现低电平的。结论:首先是R7、R8太大。其次,如果频率高的话,特别是低电平占空小的话,C3就太大也会这样。最后是358的“吸入”电流太小,原因是电路设计不良。
STC12C5A60S2 的AD转化问题。电压偏移。
STC单片机AD转换,检测AD的端口应该设置为模拟量输入(端口为高阻态),从状态数据看显然是设置有问题,如P1.1端口为AD输入端,应该设置 P1ASF = 0000 0010,如 sfr P1ASF = 0x02; \/\/ P1.1端口模拟量输入 可以检查一下程序是否有这一项,可以修改一下试试。
stc12c5a60s2的ad转换器使用问题
你的电路可能有些问题,这是我一个项目的实际AD电路你,参考一下。3接VCC,1接GND,2相当于你的Vin,AD2接到P1口。