ad转换的程序,谁能帮我看下这一小段的意思啊,我不懂它是怎么转换的

2019-07-18 12:01发布


复制代码
/*AD控制程序*/
                start=0;
                start=1;
                start=0;
                while(!eoc);        
                oe=1;
                temp=P2;
                oe=0;
                temp=(temp*2*1*98.039216/100);这是转换公式吗?//AD采样转换
/*****·蜂鸣器报警程序*******/
/**瓦斯爆炸浓度:5%-16%,本例中是5%-15%**/
                if(temp>=200) 200是怎么得的?
                {
//                        for(count=200;count>0;count--)
//                        {
//                                P0_7=~P0_7;
//                                dely500();
//                        }
                        for(count=200;count>0;count--)
                        {
                                P0_7=~P0_7;
                                dely500();
                                dely500();
                                led1=0;
                        }
                }
                else
                {
                        led1=1;
                }
}
气体浓度显示的是00.03 气体浓度显示的是00.03
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
626361893
1楼-- · 2019-07-18 15:39
有没有人啊,看一下吧
武力戡乱
2楼-- · 2019-07-18 16:42
1、启动AD转换
2、等待AD转换
3、将转换值读出
4、temp=(temp*2*1*98.039216/100);
这个有问题哈,这是要干啥?必须结合具体你要实现的功能。
5、if(temp>=200)
这个肯定是一个报警
626361893
3楼-- · 2019-07-18 22:30
武力戡乱 发表于 2015-6-3 22:12
1、启动AD转换
2、等待AD转换
3、将转换值读出

就是我的电压探针是1。25V,气体浓度显示是00.03.。。。。上面的temp=(temp*2*1*98.039216/100);这个公式该怎么代呢,,,也得不出这结果,,,就是结果怎么转换的不懂,
626361893
4楼-- · 2019-07-19 01:49
武力戡乱 发表于 2015-6-3 22:12
1、启动AD转换
2、等待AD转换
3、将转换值读出

void voltage(uchar ge,uchar shi,uchar bai1)
{
                shi=temp/1000;
                ge=temp%1000/100;
                shi1=temp%100/10;
                bai1=temp%10;
这一块是显示函数的一部分,,不知道这个temp的值是多少,,初值temp是0,不过后来肯定不是0了
junou168
5楼-- · 2019-07-19 06:01
 精彩回答 2  元偷偷看……
武力戡乱
6楼-- · 2019-07-19 06:55
626361893 发表于 2015-6-3 22:19
void voltage(uchar ge,uchar shi,uchar bai1)
{
                shi=temp/1000;

temp是什么类型的数据?

一周热门 更多>