用單片機(jī)制作電壓表_第1頁(yè)
用單片機(jī)制作電壓表_第2頁(yè)
用單片機(jī)制作電壓表_第3頁(yè)
用單片機(jī)制作電壓表_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、用單片機(jī)制作電壓表作品概述電壓表是電子測(cè)量是不可缺少的一種工具,這是一款用單片機(jī)制作的電壓表,測(cè)量 精確,達(dá)到小數(shù)后兩位,外圍元器件很少,制作簡(jiǎn)單,用STC12C5A62單片機(jī),本次制作 放棄了 I/O準(zhǔn)雙向接口模式,采用的是推挽輸出模式,強(qiáng)上拉輸出,可達(dá)2mA,所以不需要 用三極管來(lái)放大電流,大大簡(jiǎn)化了電路。電壓測(cè)量范圍是05V,既有一定的實(shí)用性,還可 以加深對(duì)單片機(jī)的理解。元器件清單品名型號(hào)數(shù)量備注單片機(jī)STC12C5A60S21大約11元/片芯片座管孔式40PIN-DIP1可以用普通40PIN的芯片座替代電容30Pf2大約8元/包,瓷片電容晶體振蕩器12MHz1大約1元/個(gè),普通的直插式

2、晶體即可數(shù)碼管SR430563K14位共陽(yáng),數(shù)碼管中間帶冒號(hào)顯示5V穩(wěn)壓電源1為單片機(jī)提供工作電壓電阻10K 1/4W1電阻100 歐 1/4W3萬(wàn)能實(shí)驗(yàn)板2. 54mm間距1尺寸可按喜好選擇原理:主要運(yùn)用到了 A/D轉(zhuǎn)換原理,將連續(xù)變化的模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),STC12C5A60S2 自帶A/D轉(zhuǎn)換,省去了 A/D轉(zhuǎn)換芯片,A/D轉(zhuǎn)換接口在P1 口(P1.7-P1.0),有8位10路 A/D轉(zhuǎn)換器,速度可達(dá)250KHz,上電復(fù)位后P1 口為弱上拉I/O 口,可設(shè)置8路中任何一路 為A/D轉(zhuǎn)換,不需要作為A/D使用的可繼續(xù)作為I/O使用。本制作選用P1.1作為測(cè)量電壓的輸入口,因?yàn)檩斎氲氖悄?/p>

3、擬的信號(hào),而單片機(jī)只有0和1 兩種狀態(tài),所以要在軟件中將P1.1 口設(shè)置為高阻輸入模式.但高阻模式有個(gè)缺點(diǎn),就是很不 穩(wěn)定,稍有一點(diǎn)電流就會(huì)跳變,加一個(gè)10K的下拉阻就可以變得很穩(wěn)定了。由于電壓測(cè)量 不需要太高的精度,所以我取了 8位結(jié)果,數(shù)模轉(zhuǎn)換結(jié)果計(jì)算公式如下: ADC_RES7:0=256*Vi/Vcc. Vi為模擬輸入通道輸入電壓,Vcc為單片機(jī)實(shí)際工作電壓,用 單片機(jī)工作電壓作為模擬參考電壓。U1卜XTWJPD.D/ADOPD.I/AD1FD-iTAEdXTAL1PD.SrATdFD.WD+PD-STADfiU1卜XTWJPD.D/ADOPD.I/AD1FD-iTAEdXTAL1PD

4、.SrATdFD.WD+PD-STADfiRGTP0.7.WI?fJbTP2.0i*PLl性HEPT.4XAU頁(yè)P(yáng)2.5/A13P2.7/A15P1.DP3 0JRKDP1.1P3.liTxDP1.2閔為間ITFI.4P3.4HDFI.5p?.?rnFI.DR貞M詞FI.TP3.7/RD攔.-r-TT;-.:;.-一電路原理圖顯示部分:電壓值是用數(shù)碼管顯示出來(lái)的,非常直觀,本制作采用的是四位數(shù)碼管。采用動(dòng)態(tài)顯示, 相比靜態(tài)顯示。動(dòng)態(tài)顯示方式不論是多少位的數(shù)碼管,在同一時(shí)刻內(nèi)只有其中一位被點(diǎn)亮, 所以比較省電,要加上100歐的限流電阻來(lái)保護(hù)數(shù)碼管。注意事項(xiàng):1 .在使用ADC功能時(shí),應(yīng)將其輸入端

5、的I/O接口設(shè)置為高阻輸入工作方式。更改ADC通道時(shí)須同時(shí)將對(duì)應(yīng)的IO接口修改為高阻輸入。不要測(cè)量超過(guò)5V的電壓,否則可能損失單片機(jī)。實(shí)際效果單片機(jī)軟件實(shí)現(xiàn):編程方式與通用51單片機(jī)完全兼容。程序中用到了浮點(diǎn)運(yùn)算,必須在Keil中安裝 C51FPS.LIB庫(kù)文件,不然就會(huì)出現(xiàn)錯(cuò)誤.#include#include /51 基本運(yùn)算(包括_nop_空函數(shù))float dianya;電壓int dianya1;電壓 1char shuzu=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/0-9 八個(gè)數(shù)字/*延時(shí)函數(shù)*/voi

6、d DELAY_MS (unsigned int a)unsigned int i;while( -a != 0)for(i = 0; i 600; i+);/*AD初始化程序*/void ADC_init(unsigned char CHA)unsigned char AD_FIN=0;/unsigned char AD_FIN=0;/存儲(chǔ)A/D轉(zhuǎn)換標(biāo)志CHA&=0 x07;高5位)ADC_CONTR|=0 x40;_nop_();ADC_CONTR&=CHA;ADC_CONTR|=0 x80;CHA&=0 x07;高5位)ADC_CONTR|=0 x40;_nop_();ADC_CONTR

7、&=CHA;ADC_CONTR|=0 x80;DELAY_MS(1);/ADC轉(zhuǎn)換的速度(0XX0 0000其中XX控制速度)選擇A/D當(dāng)前通道啟動(dòng)A/D電源/使輸入電壓達(dá)到穩(wěn)定(1ms即可)/*AD轉(zhuǎn)化函數(shù)*/unsigned int ADC_Read(void) unsigned char AD_FIN;/存儲(chǔ) A/D 轉(zhuǎn)換標(biāo)志ADC_CONTR|=0 x80;啟動(dòng) A/D 轉(zhuǎn)換(0000 1000 令 ADCS = 1)_nop_(); _nop_(); _nop_(); _nop_(); while(AD_FIN=0) AD_FIN=ADC_CONTR&0 x10; /0001 0000 測(cè)試 A/D 轉(zhuǎn)換結(jié)束否 ADC_CONTR&=0 xe7;/1111 0111 清 ADC_FLAG 位,關(guān)閉 A/D 轉(zhuǎn)換,return(ADC_RES);/返回 A/D 轉(zhuǎn)換結(jié)果(ADC 數(shù)據(jù) 8 位在 ADC_RES 中)/*主函數(shù)*/main() ADC_init(0);P2M0=0 xff;設(shè)置P0 口為推挽輸出P1M1=0 xff;設(shè)置P1 口為高阻輸入while(1) dianya=ADC_Read()*(4.5/256.0);/取電壓dianya=dianya*100; dianya1=(int)dianya;P2=0 x01;P0=shu

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論