基于單片機的(de)數字電壓表的(de)設計(ji)流程詳解
時間:2018-07-19 來源(yuan):未知(zhi)
單片機(ji)有(you)著簡單實用、可靠性(xing)高、性(xing)能(neng)好、性(xing)價比及體積小等優點,在(zai)各大技(ji)術領域內得到了快速發(fa)展(zhan)。

數(shu)(shu)字電(dian)(dian)(dian)(dian)壓(ya)表(biao)(biao)(biao),稱為DVM,是(shi)一(yi)種(zhong)使(shi)用數(shu)(shu)字測(ce)(ce)量(liang)(liang)技術將連續(xu)模(mo)擬(直流輸(shu)入電(dian)(dian)(dian)(dian)壓(ya))轉(zhuan)(zhuan)(zhuan)換(huan)成(cheng)(cheng)不連續(xu)和(he)(he)離散的(de)(de)(de)數(shu)(shu)字形(xing)式并顯示它們(men)的(de)(de)(de)儀器(qi)。傳統指針式電(dian)(dian)(dian)(dian)壓(ya)表(biao)(biao)(biao)功能(neng)單(dan)(dan)(dan)一(yi),精度(du)(du)低。它不能(neng)滿足數(shu)(shu)字化時代的(de)(de)(de)需要。采用單(dan)(dan)(dan)片(pian)機實(shi)現的(de)(de)(de)數(shu)(shu)字電(dian)(dian)(dian)(dian)壓(ya)表(biao)(biao)(biao)具有(you)(you)精度(du)(du)高(gao)、抗(kang)干擾能(neng)力強(qiang)、擴展性(xing)(xing)強(qiang)、集成(cheng)(cheng)方(fang)便(bian)等(deng)特點,并能(neng)與PC機實(shi)時通信。目(mu)前(qian),由各種(zhong)單(dan)(dan)(dan)片(pian)A/D轉(zhuan)(zhuan)(zhuan)換(huan)器(qi)組(zu)成(cheng)(cheng)的(de)(de)(de)數(shu)(shu)字電(dian)(dian)(dian)(dian)壓(ya)表(biao)(biao)(biao)已廣泛應用于電(dian)(dian)(dian)(dian)子電(dian)(dian)(dian)(dian)氣測(ce)(ce)量(liang)(liang)、工(gong)業自(zi)動(dong)化儀表(biao)(biao)(biao)、自(zi)動(dong)測(ce)(ce)試系統等(deng)智能(neng)測(ce)(ce)量(liang)(liang)領域,顯示出巨大的(de)(de)(de)生命力。同(tong)時,由DVM擴展的(de)(de)(de)各種(zhong)通用、專用數(shu)(shu)字儀表(biao)(biao)(biao)也使(shi)電(dian)(dian)(dian)(dian)能(neng)測(ce)(ce)量(liang)(liang)技術和(he)(he)非(fei)電(dian)(dian)(dian)(dian)測(ce)(ce)量(liang)(liang)技術進入了(le)(le)一(yi)個(ge)新(xin)的(de)(de)(de)水平。本(ben)設計著重(zhong)于單(dan)(dan)(dan)片(pian)機A/D轉(zhuan)(zhuan)(zhuan)換(huan)器(qi)的(de)(de)(de)工(gong)作原(yuan)理和(he)(he)基于單(dan)(dan)(dan)片(pian)機的(de)(de)(de)數(shu)(shu)字電(dian)(dian)(dian)(dian)壓(ya)表(biao)(biao)(biao)。準確可(ke)靠(kao)(kao)的(de)(de)(de)電(dian)(dian)(dian)(dian)壓(ya)測(ce)(ce)量(liang)(liang)在大學物理教學中具有(you)(you)重(zhong)要意義。在研(yan)究目(mu)前(qian)主流電(dian)(dian)(dian)(dian)壓(ya)表(biao)(biao)(biao)設計方(fang)案的(de)(de)(de)基礎上,提出一(yi)種(zhong)新(xin)型(xing)數(shu)(shu)字電(dian)(dian)(dian)(dian)壓(ya)表(biao)(biao)(biao)的(de)(de)(de)設計方(fang)法,極大地增(zeng)強(qiang)了(le)(le)系統集成(cheng)(cheng)度(du)(du)和(he)(he)電(dian)(dian)(dian)(dian)路可(ke)靠(kao)(kao)性(xing)(xing)。以Altera 公司高(gao)性(xing)(xing)價比的(de)(de)(de)AT89C51芯(xin)片(pian)為控制核(he)心,以較(jiao)高(gao)性(xing)(xing)能(neng)的(de)(de)(de)模(mo)/ 數(shu)(shu)轉(zhuan)(zhuan)(zhuan)換(huan)器(qi)為信號采集芯(xin)片(pian),完成(cheng)(cheng)電(dian)(dian)(dian)(dian)壓(ya)數(shu)(shu)據的(de)(de)(de)采集、轉(zhuan)(zhuan)(zhuan)換(huan)、處(chu)理、顯示,并實(shi)現了(le)(le)檔(dang)位的(de)(de)(de)自(zi)動(dong)轉(zhuan)(zhuan)(zhuan)換(huan)和(he)(he)較(jiao)寬的(de)(de)(de)測(ce)(ce)量(liang)(liang)范(fan)圍。

本次設(she)(she)(she)計(ji)(ji)系(xi)(xi)統是以(yi)AT89C51單(dan)(dan)(dan)片(pian)機為核(he)心,輔(fu)以(yi)簡單(dan)(dan)(dan)的控制(zhi)(zhi)(zhi)電(dian)(dian)路(lu)(lu),設(she)(she)(she)計(ji)(ji)了一種切(qie)換(huan)(huan)量(liang)程(cheng)(cheng)(cheng)的數(shu)字電(dian)(dian)壓表。系(xi)(xi)統中,模(mo)擬電(dian)(dian)壓信號(hao)由A/D轉換(huan)(huan)器TLC2543采(cai)集(ji),以(yi)數(shu)字信號(hao)的方(fang)式傳給單(dan)(dan)(dan)片(pian)機進(jin)行處理,并(bing)加(jia)以(yi)控制(zhi)(zhi)(zhi)。控制(zhi)(zhi)(zhi)系(xi)(xi)統包含硬(ying)件(jian)(jian)(jian)和軟(ruan)件(jian)(jian)(jian)兩部(bu)分。硬(ying)件(jian)(jian)(jian)部(bu)分包括:單(dan)(dan)(dan)片(pian)機最(zui)小(xiao)系(xi)(xi)統、電(dian)(dian)壓采(cai)集(ji)電(dian)(dian)路(lu)(lu)、量(liang)程(cheng)(cheng)(cheng)控制(zhi)(zhi)(zhi)電(dian)(dian)路(lu)(lu)、電(dian)(dian)壓顯(xian)示電(dian)(dian)路(lu)(lu)以(yi)及其(qi)他(ta)一些外圍接(jie)口電(dian)(dian)路(lu)(lu)。軟(ruan)件(jian)(jian)(jian)部(bu)分包括:主程(cheng)(cheng)(cheng)序的流程(cheng)(cheng)(cheng)設(she)(she)(she)計(ji)(ji),其(qi)涵蓋了電(dian)(dian)壓采(cai)集(ji)子(zi)程(cheng)(cheng)(cheng)序、字符轉換(huan)(huan)子(zi)程(cheng)(cheng)(cheng)序、LCD液晶顯(xian)示子(zi)程(cheng)(cheng)(cheng)序等,這些子(zi)函數(shu)都體現出系(xi)(xi)統軟(ruan)件(jian)(jian)(jian)設(she)(she)(she)計(ji)(ji)模(mo)塊化的結構特點。通(tong)過單(dan)(dan)(dan)片(pian)機對信號(hao)處理并(bing)加(jia)以(yi)適當的算法(fa)控制(zhi)(zhi)(zhi),從而(er)驅(qu)動相應(ying)的硬(ying)件(jian)(jian)(jian)電(dian)(dian)路(lu)(lu),實現電(dian)(dian)壓控制(zhi)(zhi)(zhi)的目的。
系統硬件結(jie)構:
系統(tong)是以AT89C51單片(pian)機(ji)作為主控器,通(tong)過擴展必(bi)要的外(wai)圍接口電路,包括電壓(ya)采(cai)集、輸入和(he)輸出、電壓(ya)的量(liang)程控制、顯示等電路,實(shi)現數(shu)字(zi)電壓(ya)表的系統(tong)化(hua)設(she)計。
系統主程序的(de)設計:
系統主(zhu)(zhu)程(cheng)序的主(zhu)(zhu)要(yao)功能是負責電(dian)壓采集、處理、顯示三部分,本次設計主(zhu)(zhu)要(yao)包括(kuo)以下方面(mian):
1、按(an)照硬件電(dian)路對單片機位(wei)定義。
2、編寫延時模塊子程序。
3、編寫液晶顯示器1602的初始化子程序。
4、編寫驅動1602液晶顯(xian)示模(mo)塊程序。
5、編寫(xie)驅動A/D轉換模塊程序。
6、編寫A/D轉換后對(dui)電壓的處理函數(shu)子(zi)程序(xu)
7、編(bian)寫鍵盤掃描(miao)模塊程序。
其程序設(she)計流程圖2如(ru)下所示:
系統經過(guo)(guo)(guo)復位(wei)后(hou),先對單(dan)片機、模(mo)(mo)/數(shu)(A/D)轉換器(qi)、液晶顯(xian)示屏LCD1602等進行(xing)(xing)初始化,初始化完成(cheng)后(hou)通過(guo)(guo)(guo)輸入電路給數(shu)字電壓表輸入模(mo)(mo)擬電壓,在(zai)電壓測量(liang)過(guo)(guo)(guo)程中,先通過(guo)(guo)(guo)滑(hua)動變阻器(qi)來控制輸入信號(hao)的(de)衰(shuai)減率、通過(guo)(guo)(guo)按鈕來選擇不(bu)同(tong)的(de)檔位(wei),然后(hou)調(diao)用(yong)A/D轉換子函數(shu),并對模(mo)(mo)/數(shu)轉換的(de)結果進行(xing)(xing)簡(jian)單(dan)的(de)處理(li),最后(hou)通過(guo)(guo)(guo)液晶屏LCD1602進行(xing)(xing)顯(xian)示。
系統整體硬(ying)件電(dian)路圖3如下(proteus環境):
硬件設計注意事項:
整個系(xi)統的(de)(de)模擬地(di)和(he)數字(zi)地(di)不要(yao)(yao)交叉(cha)共地(di),模擬地(di)和(he)數字(zi)地(di)要(yao)(yao)分別獨立開(kai)來(lai),避免信號(hao)之間的(de)(de)干擾。同時液晶的(de)(de)讀寫要(yao)(yao)注(zhu)意它們之間的(de)(de)時序(xu),最好要(yao)(yao)弄清(qing)它的(de)(de)型號(hao)和(he)用戶手冊中的(de)(de)提到的(de)(de)地(di)址問題,再進行它與單片(pian)機(ji)之間的(de)(de)數據讀寫操作(zuo)。不僅如此,器件(jian)之間的(de)(de)兼(jian)容性和(he)工作(zuo)最大(da)電流和(he)電壓問題也(ye)是本次硬(ying)件(jian)設計的(de)(de)重點。
一(yi)(yi)個單片(pian)(pian)機應(ying)用系(xi)統(tong)(tong)(tong)(tong)的(de)(de)硬件電路(lu)設(she)(she)計(ji)(ji)(ji)包(bao)含有兩部分(fen)內容:一(yi)(yi)是系(xi)統(tong)(tong)(tong)(tong)擴展(zhan),即單片(pian)(pian)機內部的(de)(de)功(gong)(gong)(gong)能(neng)單元,如(ru)(ru)ROM、RAM、I /O口、定時/計(ji)(ji)(ji)數器、中斷系(xi)統(tong)(tong)(tong)(tong)等容量不(bu)能(neng)滿足應(ying)用系(xi)統(tong)(tong)(tong)(tong)的(de)(de)要(yao)(yao)求時,必須在片(pian)(pian)外進行擴展(zhan),選擇合適的(de)(de)芯片(pian)(pian),設(she)(she)計(ji)(ji)(ji)相(xiang)應(ying)的(de)(de)電路(lu)。二是系(xi)統(tong)(tong)(tong)(tong)配置(zhi)(zhi),即按照系(xi)統(tong)(tong)(tong)(tong)功(gong)(gong)(gong)能(neng)要(yao)(yao)求配置(zhi)(zhi)外圍(wei)設(she)(she)備,如(ru)(ru)鍵盤、顯示器、打印機、A/D、D/A轉(zhuan)換器等,要(yao)(yao)設(she)(she)計(ji)(ji)(ji)合適的(de)(de)接口電路(lu)。在本系(xi)統(tong)(tong)(tong)(tong)中,AT89C51單片(pian)(pian)機內部的(de)(de)功(gong)(gong)(gong)能(neng)單元已經能(neng)夠滿足系(xi)統(tong)(tong)(tong)(tong)設(she)(she)計(ji)(ji)(ji)需要(yao)(yao),不(bu)需要(yao)(yao)系(xi)統(tong)(tong)(tong)(tong)擴展(zhan)。按系(xi)統(tong)(tong)(tong)(tong)功(gong)(gong)(gong)能(neng)需求,需要(yao)(yao)配置(zhi)(zhi)檔位轉(zhuan)換、LCD顯示等。系(xi)統(tong)(tong)(tong)(tong)的(de)(de)擴展(zhan)和配置(zhi)(zhi)設(she)(she)計(ji)(ji)(ji)遵循下列原(yuan)則:
1、盡可能選擇典型電路,并符合(he)單(dan)片機的常規用法;
2、系(xi)統(tong)的擴展與外圍設備配置(zhi)的水平應充(chong)分滿足(zu)應用系(xi)統(tong)的功(gong)能要求,并留(liu)有適當的余地,以便二次開發;
3、硬(ying)件(jian)(jian)(jian)結(jie)(jie)構應結(jie)(jie)合應用(yong)軟(ruan)件(jian)(jian)(jian)方(fang)案一并考(kao)(kao)慮。硬(ying)件(jian)(jian)(jian)結(jie)(jie)構與(yu)軟(ruan)件(jian)(jian)(jian)方(fang)案會產(chan)上相互影(ying)響(xiang),考(kao)(kao)慮的原則是:軟(ruan)件(jian)(jian)(jian)能(neng)(neng)實現(xian)(xian)的功能(neng)(neng)盡(jin)可能(neng)(neng)由軟(ruan)件(jian)(jian)(jian)實現(xian)(xian),以簡化硬(ying)件(jian)(jian)(jian)結(jie)(jie)構,但由軟(ruan)件(jian)(jian)(jian)實現(xian)(xian)的硬(ying)件(jian)(jian)(jian)功能(neng)(neng),其相應時(shi)間要比直接用(yong)硬(ying)件(jian)(jian)(jian)實現(xian)(xian)來得長,而且(qie)占用(yong)CPU時(shi)間;
4、整個系統中(zhong)的(de)相關器件(jian)要盡可能(neng)做到性(xing)能(neng)匹配(pei);
5、可靠性及抗干擾設計是硬(ying)件(jian)系(xi)統設計不可缺少的一部分,它包括(kuo)芯片、器(qi)件(jian)選擇等;
6、該系(xi)統的所有元器(qi)件必(bi)須滿足5V的工作電壓。

