加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

洞洞板簡易制作電壓、電容表(原理圖、程序及算法講解)

2017/01/04
30
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗、收獲成長和認同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論
放大
方塊圖(2)
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

先給大家講點電壓表、電容表程序中的稍微有點內(nèi)涵的部分,讓初學(xué)者明明白白,別搞成霧里看花就行

電壓表Main中有如下幾行
uiCH0_Value = ADConvert(0);
sprintf(ucResultString,"Ch0 = %drn",uiCH0_Value);
printf(ucResultString);
上面3行的功能就是將從AD轉(zhuǎn)換芯片讀取到的16進制送串口,通過電腦上的串口調(diào)試助手看十進值的電壓值,通過電腦的串口檢查十進值數(shù)據(jù)可以判斷單片機與AD是否通訊正常,轉(zhuǎn)換的結(jié)果是否正確,在沒有仿真環(huán)境的系統(tǒng)中,將看不到卻又非常想看的變量值發(fā)送到PC串口顯示是很實用的調(diào)試手段。sprintf這個函數(shù)通吃所有類型的變量值轉(zhuǎn)換成字符串,然后在電腦上看字符串就一目了然了。

ulCH0_Voltage = (uiCH0_Value * 5000l)/255; //求當(dāng)前電壓值,單位mV
uiCH0Integer = ulCH0_Voltage / 1000;
ulCH0Dim = ulCH0_Voltage % 1000;

sprintf(ucResultString,"V= %d.%ldV",uiCH0Integer,ulCH0Dim);
LCDLine1(ucResultString,0,0);

上面幾行的功能是將程序內(nèi)部的電壓值(0-255)變換成0-5V的顯示內(nèi)容,比如顯示出2.5V,1.8V,讓當(dāng)前電壓采樣值還原成大家習(xí)慣的明了的數(shù)據(jù)。因為uiCH0_Value的值為0-255,現(xiàn)在要將它變換0-5000之間的數(shù),就是一個比例變換的問題,先乘5000,再除255就OK了。注意要在5000后面加個”L“字符喲,因為結(jié)果是長整數(shù),不加時是兩個短整型相乘,會出錯的,加了字符”L“后,就變成1個短整形和1個長整形相乘了,就不會出現(xiàn)數(shù)據(jù)自動轉(zhuǎn)換出錯的現(xiàn)象了。

再來說說電容表吧,電容表是用1個555集成電路構(gòu)成的多諧振蕩器,充電和放電電容就是被測電容,電容越大,振蕩頻率就越低。設(shè)計時將電路分成了獨立的兩部分,555芯片完成電容測量轉(zhuǎn)頻率輸出的功能后,此輸出波形可以先供助專用的頻率計(高級萬用表有頻率測量功能)來驗證電路是否存在問題,然后再把這個已知頻率的信號接入到單片機的測量引腳,測試出1S有多少個脈沖,就能反推出電容容值了。
呵呵,有人會問這個555振蕩電路輸出信號頻率是是怎么算的?查查《數(shù)字電路基礎(chǔ)》的教課書吧,上面有介紹的。下面有個圖,經(jīng)常找不到書的電工就繼續(xù)往下看圖吧!

  • 電壓表電路+程序.zip
    描述:電路+程序
  • 電容測試儀電路+程序.zip
    描述:電路+程序

相關(guān)推薦

電子產(chǎn)業(yè)圖譜