找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于mega16单片机的RLC测量仪

[复制链接]
ID:82056 发表于 2015-6-4 20:36 | 显示全部楼层 |阅读模式
      我最近在用mega16做一个RLC测量仪,具体思路就是AD9850产生正弦信号,然后CD4051的I/O端接8个标准电阻,在他们的共同输出端接待测元件,TLC2543采集电压进行模数转化,送入单片机计算,LCD显示读数。但是无法达到测量的效果。
     简化一下原理就是 简述原理.png 这样,下面是我电阻测量显示的子代码
    void dianzu(void)           //1602显示电阻值;包含量程自动转换;
{
        uchar m;
        uint a,b,c,d,e;
        LCD_Write_str(0,0,u0);  
        LCD_Write_str(1,0,u1);  //显示'D W''Value';


        //R = U2 * sd[K] / (U1-U2); //待测电阻的计算公式,单位:欧姆;
        //R = U * sd[K-1] / (1.838478-U);           //注意:提供信号的有效值得精确测量;
        R = U * sd[K-1] / (1.76777-U);
        m=1;
        if(R>=1000)
        {
            R = R/1000.000;    //显示部分单位为K;
            m=2;
            if(R>=1000)
            {
                R = R/1000.000;//显示部分单位为M;
                m=3;
            }
        }
        a = (long)(R*100)/10000;
        b = (long)(R*100)%10000/1000;
        c = (long)(R*100)%1000/100;
        d = (long)(R*100)%100/10;
        e = (long)(R*100)%10;

        if(m == 1)                  /*****************************/
            LCD_Write_str(0,6,u2);
        if(m == 2)
            LCD_Write_str(0,6,u3);  /********量程自动转换;********/
        if(m == 3)
            LCD_Write_str(0,6,u4);  /*****************************/

        LCD_Write_char(1,8,a+48);   /*****************************/
        LCD_Write_char(1,9,b+48);
        LCD_Write_char(1,10,c+48);  /********显示待测元件大小*****/
        LCD_Write_char(1,11,'.');
        LCD_Write_char(1,12,d+48);
        LCD_Write_char(1,13,e+48);  /*****************************/
}
麻烦帮我看看是哪里有问题呢!!!
回复

使用道具 举报

ID:1 发表于 2015-6-7 01:09 | 显示全部楼层
目前TLC2543采集到的电压数据时什么样子的呢?
回复

使用道具 举报

ID:82284 发表于 2015-6-7 10:05 | 显示全部楼层
帮顶~~~~~~~~~~~~~~~~~~~~~~~~
回复

使用道具 举报

ID:82056 发表于 2015-6-8 19:04 | 显示全部楼层
admin 发表于 2015-6-7 01:09
目前TLC2543采集到的电压数据时什么样子的呢?

老师,感谢你的回复,问题已经解决了,谢谢
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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