標題: 基于mega16單片機的RLC測量儀 [打印本頁]

作者: 飛飛yu    時間: 2015-6-4 20:36
標題: 基于mega16單片機的RLC測量儀
      我最近在用mega16做一個RLC測量儀,具體思路就是AD9850產(chǎn)生正弦信號,然后CD4051的I/O端接8個標準電阻,在他們的共同輸出端接待測元件,TLC2543采集電壓進行模數(shù)轉(zhuǎn)化,送入單片機計算,LCD顯示讀數(shù)。但是無法達到測量的效果。
     簡化一下原理就是 這樣,下面是我電阻測量顯示的子代碼
    void dianzu(void)           //1602顯示電阻值;包含量程自動轉(zhuǎn)換;
{
        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);  /********量程自動轉(zhuǎn)換;********/
        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);  /*****************************/
}
麻煩幫我看看是哪里有問題呢。!

作者: admin    時間: 2015-6-7 01:09
目前TLC2543采集到的電壓數(shù)據(jù)時什么樣子的呢?
作者: silent_wyf    時間: 2015-6-7 10:05
幫頂~~~~~~~~~~~~~~~~~~~~~~~~
作者: 飛飛yu    時間: 2015-6-8 19:04
admin 發(fā)表于 2015-6-7 01:09
目前TLC2543采集到的電壓數(shù)據(jù)時什么樣子的呢?

老師,感謝你的回復(fù),問題已經(jīng)解決了,謝謝




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1