找回密碼
 註冊

DIY-仿koso電壓表

来源: KUAS1099 2011-8-26 14:02 只看這個作者 |閱讀模式
11 8885
DIY-仿koso電壓表8611
硬體82G516內建ADC
掃描式共陽7段顯示器
74LS48,BCD-轉7段驅動

PORT0的-0-1-2-3當作掃描使用
P2當作數字值輸出給7448
P3.7當作小數顯示

工作方法:測量電瓶類比電壓--類比轉數位--輸出BCD碼--驅動7段顯示器
1:設定晶片輸出腳為推挽式
2:允許ACD啟動&ADC中斷,選擇通道,並且將轉換後的數位資料
   ADCH的低6位元存在ADCL的高6位元
   (因ACD資料10BIT,放在ADCH跟ADCL兩個暫存器
    若不指定:資料前(高)8位元存於ADCH)
3:運算(ADC資料轉成電壓值)
4:顯示現在電壓值
5:GJ哥說!從新開始.....(囧)
----------------------------------------------------------------------------------
#include <mpc82.h></mpc82.h>
#define        ch        0x00
//
void dellay(int);         //        時間延遲
int volnumber;
int v10000,v1000,v100,v10,v1;
char code second[]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09};
char code scan[]={0x01,0x02,0x04,0x08};
unsigned char led,i;
int gj;
main()
{        P1M0=0xffDIY-仿koso電壓表46831M1=0x00;        //輸入MODE
P3M0=P0M0=P2M0=0x00; P3M1=P0M1=P2M1=0xff;//P2P0 scan
EA=1;AUXIE=EADC; //開啟adc中斷.
ADCTL=ADCON + ADCS + CH; //時脈.啟動.通道
AUXR=ADRJ;         //ADCH>>6
//START//
gj=80;
while(gj)
{        for(i=0;i
{         switch(i)
{        case(0x00):{led=v1;break;}
        case(0x01):{led=v10;break;}
case(0x02):{led=v100; P3=0xff;break;}          
case(0x03):{led=v1000; break;}
}
P2=second[led] ;
P0=scan         ;
dellay(2);
P0=0x00;          P3=0x00;


}
gj=gj-1;
}         
}
//
void ADC_Interrupt() interrupt 9
{        ADCTL=0;
volnumber=        (((ADCH
v1000=         (volnumber/10000)          ;         //1
v100=         (volnumber%10000)/1000          ;         //0.1
v10=         (volnumber%1000)/100          ;         //0.01
v1=         (volnumber%100)/10          ;         //0.001          
}
//
void dellay        (int x)         //時間延遲
{ int ii,jj;
for(ii=0;ii<x></x>
{for(jj=0;jj
}
}
--------------------------------------------------------------------------------------
問題來了.....
比較正確的ADC10BIT
DATA*1000*5/1023(正確)
DATA*1000*5/1000(錯誤)
但是當我除1023顯示就會錯誤........囧
還是有誤差存在(很小),之後再看看能不能用KEIL除錯

本來是想說電壓範圍在8~16V,但是ADC-0~5V
為了保有較好的靈敏度,電壓輸入改0~4
輸入先拑位(-8)並且除2

顯示電路為上次紅綠燈剩下(省了一堆時間)
因此將電壓取至小數第2位,也似乎沒什麼意義...佔空間
之後會把電壓多次取樣再輸出,並且取至小數第一位就好
避免出現一些突波

總共花費250以內,7段顯示器可以依照喜好更改顏色.大小

--------------------------------------------------------------------

先測試一下是否顯示電路正確因此
我讓它顯示.........8057......我有錢啦....喔~哈哈哈
打完收工....
DIY-仿koso電壓表6128

[ 本文章最後由 KUAS1099 於 2011-8-26 14:04 編輯 ]
參與人數 3經驗值 +17 收起 理由
笨雞 + 10 感謝分享
gy30645978 + 2 感謝分享
ablue1579 + 5 作品很棒 但怎麼裝上車子呢?

瀏覽全部評分總評分 :  經驗值 +17

收藏
收藏0

網友回覆11

跳到指定樓層
樓主太厲害了084.gif
連C都出來了 實在威猛

自己做還要寫程式 真的很專業
太專業了啦!!!完全看不懂...DIY-仿koso電壓表7672
恩!熟悉的麵包版DIY-仿koso電壓表1863
我……看到那堆密密麻麻線路……

只能說專業
※其實是看不懂……
厲害....
麵包版 我只知道可以插原件量波長...
DIY-仿koso電壓表393 DIY-仿koso電壓表6676 DIY-仿koso電壓表5397
8#
GMAX貘 2011-8-26 15:12 只看這個作者
這樣您有辦法將實體做的和KOSO一樣小嗎?
為什麼在台灣,機車等個紅燈想要一個待停區,都是一個奢侈行為...
看起來都DIY-仿koso電壓表722 這太專業了程式都寫出來了DIY-仿koso電壓表8784
回覆 2# kone1233 的文章
您客氣了....

回覆 3# hks30363 的文章
暑假無聊,剛好借到這顆開發工具
謝謝

回覆 4# shiuan0212 的文章
程式有點亂....有興趣可以來討論一下^^
還有一些地方要修改....

回覆 5# newbalance424 的文章
您也電子科的吧@@互相分享一下心得

回覆 6# bossray7 的文章
因為想說做出來就好,線都是自己剪
弄得很亂

回覆 7# a5857740 的文章
謝謝支持

回覆 8# GMAX貘 的文章
比KOSO小,對我來說會比較困難
當初這樣做是因為KOSO售價較高之外
似乎不容易放入儀表板內
他把晶片跟顯示7段做在一起,因此需要挖洞
我打算把晶片跟顯示分開,單獨讓7段顯示器放置於儀表中
7段顯示器目前看來很大,但是可以隨意更換
(顏色,大小,位元)

回覆 9# billy60407 的文章
有點亂,感謝支持

[ 本文章最後由 KUAS1099 於 2011-8-26 16:01 編輯 ]