當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 單片機(jī)學(xué)習(xí) > 單片機(jī)教程 > 基于單片機(jī)的數(shù)字電壓表的設(shè)計(jì)流程詳解
單片機(jī)有著簡(jiǎn)單實(shí)用、可靠性高、性能好、性?xún)r(jià)比及體積小等優(yōu)點(diǎn),在各大技術(shù)領(lǐng)域內(nèi)得到了快速發(fā)展。
數(shù)字電壓表,稱(chēng)為DVM,是一種使用數(shù)字測(cè)量技術(shù)將連續(xù)模擬(直流輸入電壓)轉(zhuǎn)換成不連續(xù)和離散的數(shù)字形式并顯示它們的儀器。傳統(tǒng)指針式電壓表功能單一,精度低。它不能滿(mǎn)足數(shù)字化時(shí)代的需要。采用單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表具有精度高、抗干擾能力強(qiáng)、擴(kuò)展性強(qiáng)、集成方便等特點(diǎn),并能與PC機(jī)實(shí)時(shí)通信。目前,由各種單片A/D轉(zhuǎn)換器組成的數(shù)字電壓表已廣泛應(yīng)用于電子電氣測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能測(cè)量領(lǐng)域,顯示出巨大的生命力。同時(shí),由DVM擴(kuò)展的各種通用、專(zhuān)用數(shù)字儀表也使電能測(cè)量技術(shù)和非電測(cè)量技術(shù)進(jìn)入了一個(gè)新的水平。本設(shè)計(jì)著重于單片機(jī)A/D轉(zhuǎn)換器的工作原理和基于單片機(jī)的數(shù)字電壓表。準(zhǔn)確可靠的電壓測(cè)量在大學(xué)物理教學(xué)中具有重要意義。在研究目前主流電壓表設(shè)計(jì)方案的基礎(chǔ)上,提出一種新型數(shù)字電壓表的設(shè)計(jì)方法,極大地增強(qiáng)了系統(tǒng)集成度和電路可靠性。以Altera 公司高性?xún)r(jià)比的AT89C51芯片為控制核心,以較高性能的模/ 數(shù)轉(zhuǎn)換器為信號(hào)采集芯片,完成電壓數(shù)據(jù)的采集、轉(zhuǎn)換、處理、顯示,并實(shí)現(xiàn)了檔位的自動(dòng)轉(zhuǎn)換和較寬的測(cè)量范圍。
本次設(shè)計(jì)系統(tǒng)是以AT89C51單片機(jī)為核心,輔以簡(jiǎn)單的控制電路,設(shè)計(jì)了一種切換量程的數(shù)字電壓表。系統(tǒng)中,模擬電壓信號(hào)由A/D轉(zhuǎn)換器TLC2543采集,以數(shù)字信號(hào)的方式傳給單片機(jī)進(jìn)行處理,并加以控制。控制系統(tǒng)包含硬件和軟件兩部分。硬件部分包括:?jiǎn)纹瑱C(jī)最小系統(tǒng)、電壓采集電路、量程控制電路、電壓顯示電路以及其他一些外圍接口電路。軟件部分包括:主程序的流程設(shè)計(jì),其涵蓋了電壓采集子程序、字符轉(zhuǎn)換子程序、LCD液晶顯示子程序等,這些子函數(shù)都體現(xiàn)出系統(tǒng)軟件設(shè)計(jì)模塊化的結(jié)構(gòu)特點(diǎn)。通過(guò)單片機(jī)對(duì)信號(hào)處理并加以適當(dāng)?shù)乃惴ǹ刂疲瑥亩?qū)動(dòng)相應(yīng)的硬件電路,實(shí)現(xiàn)電壓控制的目的。
系統(tǒng)硬件結(jié)構(gòu):
系統(tǒng)是以AT89C51單片機(jī)作為主控器,通過(guò)擴(kuò)展必要的外圍接口電路,包括電壓采集、輸入和輸出、電壓的量程控制、顯示等電路,實(shí)現(xiàn)數(shù)字電壓表的系統(tǒng)化設(shè)計(jì)。
系統(tǒng)主程序的設(shè)計(jì):
系統(tǒng)主程序的主要功能是負(fù)責(zé)電壓采集、處理、顯示三部分,本次設(shè)計(jì)主要包括以下方面:
1、按照硬件電路對(duì)單片機(jī)位定義。
2、編寫(xiě)延時(shí)模塊子程序。
3、編寫(xiě)液晶顯示器1602的初始化子程序。
4、編寫(xiě)驅(qū)動(dòng)1602液晶顯示模塊程序。
5、編寫(xiě)驅(qū)動(dòng)A/D轉(zhuǎn)換模塊程序。
6、編寫(xiě)A/D轉(zhuǎn)換后對(duì)電壓的處理函數(shù)子程序
7、編寫(xiě)鍵盤(pán)掃描模塊程序。
其程序設(shè)計(jì)流程圖2如下所示:
系統(tǒng)經(jīng)過(guò)復(fù)位后,先對(duì)單片機(jī)、模/數(shù)(A/D)轉(zhuǎn)換器、液晶顯示屏LCD1602等進(jìn)行初始化,初始化完成后通過(guò)輸入電路給數(shù)字電壓表輸入模擬電壓,在電壓測(cè)量過(guò)程中,先通過(guò)滑動(dòng)變阻器來(lái)控制輸入信號(hào)的衰減率、通過(guò)按鈕來(lái)選擇不同的檔位,然后調(diào)用A/D轉(zhuǎn)換子函數(shù),并對(duì)模/數(shù)轉(zhuǎn)換的結(jié)果進(jìn)行簡(jiǎn)單的處理,最后通過(guò)液晶屏LCD1602進(jìn)行顯示。
系統(tǒng)整體硬件電路圖3如下(proteus環(huán)境):
硬件設(shè)計(jì)注意事項(xiàng):
整個(gè)系統(tǒng)的模擬地和數(shù)字地不要交叉共地,模擬地和數(shù)字地要分別獨(dú)立開(kāi)來(lái),避免信號(hào)之間的干擾。同時(shí)液晶的讀寫(xiě)要注意它們之間的時(shí)序,最好要弄清它的型號(hào)和用戶(hù)手冊(cè)中的提到的地址問(wèn)題,再進(jìn)行它與單片機(jī)之間的數(shù)據(jù)讀寫(xiě)操作。不僅如此,器件之間的兼容性和工作最大電流和電壓?jiǎn)栴}也是本次硬件設(shè)計(jì)的重點(diǎn)。
一個(gè)單片機(jī)應(yīng)用系統(tǒng)的硬件電路設(shè)計(jì)包含有兩部分內(nèi)容:一是系統(tǒng)擴(kuò)展,即單片機(jī)內(nèi)部的功能單元,如ROM、RAM、I /O口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)等容量不能滿(mǎn)足應(yīng)用系統(tǒng)的要求時(shí),必須在片外進(jìn)行擴(kuò)展,選擇合適的芯片,設(shè)計(jì)相應(yīng)的電路。二是系統(tǒng)配置,即按照系統(tǒng)功能要求配置外圍設(shè)備,如鍵盤(pán)、顯示器、打印機(jī)、A/D、D/A轉(zhuǎn)換器等,要設(shè)計(jì)合適的接口電路。在本系統(tǒng)中,AT89C51單片機(jī)內(nèi)部的功能單元已經(jīng)能夠滿(mǎn)足系統(tǒng)設(shè)計(jì)需要,不需要系統(tǒng)擴(kuò)展。按系統(tǒng)功能需求,需要配置檔位轉(zhuǎn)換、LCD顯示等。系統(tǒng)的擴(kuò)展和配置設(shè)計(jì)遵循下列原則:
1、盡可能選擇典型電路,并符合單片機(jī)的常規(guī)用法;
2、系統(tǒng)的擴(kuò)展與外圍設(shè)備配置的水平應(yīng)充分滿(mǎn)足應(yīng)用系統(tǒng)的功能要求,并留有適當(dāng)?shù)挠嗟兀员愣伍_(kāi)發(fā);
3、硬件結(jié)構(gòu)應(yīng)結(jié)合應(yīng)用軟件方案一并考慮。硬件結(jié)構(gòu)與軟件方案會(huì)產(chǎn)上相互影響,考慮的原則是:軟件能實(shí)現(xiàn)的功能盡可能由軟件實(shí)現(xiàn),以簡(jiǎn)化硬件結(jié)構(gòu),但由軟件實(shí)現(xiàn)的硬件功能,其相應(yīng)時(shí)間要比直接用硬件實(shí)現(xiàn)來(lái)得長(zhǎng),而且占用CPU時(shí)間;
4、整個(gè)系統(tǒng)中的相關(guān)器件要盡可能做到性能匹配;
5、可靠性及抗干擾設(shè)計(jì)是硬件系統(tǒng)設(shè)計(jì)不可缺少的一部分,它包括芯片、器件選擇等;
6、該系統(tǒng)的所有元器件必須滿(mǎn)足5V的工作電壓。