找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2278|回复: 3
收起左侧

STC如何使用AD端口检测目前温度?

[复制链接]
ID:323998 发表于 2018-5-28 09:16 | 显示全部楼层 |阅读模式
20黑币
本帖最后由 wauuvs 于 2019-6-26 16:30 编辑

已解决,谢谢

回复

使用道具 举报

ID:323998 发表于 2018-6-15 11:23 | 显示全部楼层
问题已解决
回复

使用道具 举报

ID:323998 发表于 2018-5-28 14:49 | 显示全部楼层
zhanghyg 发表于 2018-5-28 13:04
1、你datas的值被不停的覆盖,导致你datas/5的值永远不可能跟AD_biao[shu]相等,你应该再加一个变量求和 ...

   你好,中午的时候,我稍微重新更改一下程序,您提到的第一个问题,我也发现了之后进行了,修改加多个求和变量并调整了一下位置如下: 但是也是查询不到,不知道是不是表的计算出现问题,我是按1024的来算,有些人说是按1023的来算
1.

void main()//把转换结显示在数码管上
{
uint datas=0,datas_num=0;
int shu=0;
InitADC();
while(1)
  {
     for(mo=20;mo>0;mo--)//连取20次求平均值
     {
      datas = ADC(2);
      datas_num = datas_num+datas;   
     }
     datas= datas/20;
     for(shu=0;shu<100;shu++)
      {
       if(datas == AD_biao[shu])
        while(1)
         {
          display(shu%10,shu/10,10);
         }
      }
   }
}


第二个问题,您上面所说到的,我也想到,但是我这个程序主要要实现的是要查询到当前的温度并显示在数码管上面,这个应该只能按照查表的方式来实现吧
回复

使用道具 举报

ID:330198 发表于 2018-5-28 13:04 | 显示全部楼层
360截图20180528125051259.jpg
1、你datas的值被不停的覆盖,导致你datas/5的值永远不可能跟AD_biao[shu]相等,你应该再加一个变量求和。2、与其查表不如把datas带入公式直接算出来?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表