版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)設(shè)計(論文)</b></p><p> 題 目 直流數(shù)字電壓表的設(shè)計與實(shí)現(xiàn) </p><p> 專 業(yè) 電子信息工程 </p><p> 班 級 </p><p&g
2、t; 學(xué) 生 </p><p> 指導(dǎo)教師 </p><p><b> 摘 要</b></p><p> 在日常維修、教學(xué)和科研中,電壓表是不可缺少的。本課題目的就是以單片機(jī)為基礎(chǔ)設(shè)計出一種結(jié)構(gòu)簡單、工作可靠、靈活性好的數(shù)字電壓表。&
3、lt;/p><p> 本文首先介紹了數(shù)字電壓表的發(fā)展現(xiàn)狀及課題的目的和意義。然后,對基于單片機(jī)的數(shù)字電壓表的硬件系統(tǒng)、軟件系統(tǒng)的設(shè)計原理及具體實(shí)現(xiàn)方案作以詳細(xì)介紹,其中,在硬件部分,較為詳細(xì)的討論了硬件的選擇、設(shè)計原理、使用方法和功能,同時,對各部分接口電路作以介紹;在軟件部分,介紹了軟件所使用的編程語言和編程思路。本文設(shè)計的數(shù)字電壓表,其硬件電路所用組件較少、成本低、調(diào)節(jié)簡單;軟件采用C語言編程,其靈活性高,可讀
4、性強(qiáng)。該設(shè)計主要由三個模塊組成:A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理模塊及顯示模塊。A/D轉(zhuǎn)換主要由芯片ADC0809來完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量在傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89C51來完成,其負(fù)責(zé)把ADC0809傳送來的數(shù)字經(jīng)過一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示;此外,它還控制著ADC0809芯片工作。</p><p> 經(jīng)過理論研究、原理設(shè)計和整機(jī)調(diào)試,實(shí)驗(yàn)結(jié)果表明,
5、該方案可行。本次設(shè)計的電壓表所測量的直流電壓范圍為0~4v,要求測量電壓的誤差不超過0.1v。它以單片機(jī)AT89C51為核心,主要由轉(zhuǎn)換電路將輸入的模擬量轉(zhuǎn)換為數(shù)字量的A/D轉(zhuǎn)換器ADC0809,1602液晶顯示器構(gòu)成。</p><p> 關(guān)鍵詞:單片機(jī);電壓表;A/D轉(zhuǎn)換器;1602液晶顯示器</p><p><b> ABSTRACT</b></p>
6、;<p> In routine maintenance, teaching and research, voltage meter is indispensable. A direct current digital voltage meter has been designed, which is based on MCU, and has a simple structure, reliable, flexible
7、.</p><p> Firstly,this paper introduced the development of the base on MCU digital voltage meter and the purpose and significance of topic. Then in details this paper described the design principle of hardw
8、are and software systems. And in details the hardware part present a discussion in hardware selection, design principles, instructions and the function, further more, some of the interface circuit have been introduced. T
9、he software part introduced the programming language and programming ideas used in c</p><p> After theoretical research, principle design and debugging, the experimental results suppose it is feasible of ch
10、oosing this program. This design and manufacture of digital voltmeter,the measuring range DC voltage 0 ~ 4v, measurement precision is 0.08v. It is based on 8951 MCU core, mainly by the conversion circuit to convert an al
11、og input to digital volume A / D converter</p><p> ADC0809,the 1602 liquid crystal display from.</p><p> KEY WORDS: SCM; digital voltmeter;A/D converter; 1602 liquid crystal display</p>
12、<p><b> 目 錄</b></p><p><b> 摘 要I</b></p><p> ABSTRACTII</p><p><b> 引 言V</b></p><p> 第1章 系統(tǒng)設(shè)計方案的選擇1</p><p&
13、gt; 1.1設(shè)計方案的選擇1</p><p> 1.1.2基于分立組件的電壓表1</p><p> 1.1.3基于單片機(jī)系統(tǒng)及A/D轉(zhuǎn)換芯片的電壓表1</p><p> 1.1.4 方案的選擇2</p><p> 第2章 總體設(shè)計2</p><p> 2.1 硬件電路的設(shè)計2</p&
14、gt;<p> 2.1.1單片機(jī)簡介及本設(shè)計單片機(jī)的選擇2</p><p> 2.1.1.1常用單片機(jī)的特點(diǎn)比較及本設(shè)計單片機(jī)的選擇3</p><p> 2.1.1.2本設(shè)計使用的單片機(jī)的簡介3</p><p> 2.2顯示器件的介紹和選擇6</p><p> 2.2.1常用顯示器件簡介6</p>
15、<p> 2.2.2 1602液晶的參數(shù)資料7</p><p> 2.3模數(shù)(A/D)轉(zhuǎn)換芯片的選擇9</p><p> 2.3.1 常用的A/D芯片簡介9</p><p> 2.3.2模數(shù)(A/D)芯片ADC0809的資料10</p><p> 2.3.3 ADC0809工作過程13</p>
16、<p> 2.3.4 ADC0809與單片機(jī)的接口14</p><p> 2.3.5主要元器件介紹17</p><p> 第3章 電路設(shè)計20</p><p> 3.1 技術(shù)要求20</p><p> 3.2 設(shè)計方案20</p><p> 3.3 硬件電路系統(tǒng)模塊的設(shè)計20<
17、/p><p> 3.3.1單片機(jī)系統(tǒng)21</p><p> 3.3.2 A/D轉(zhuǎn)換芯片與單片機(jī)的連接21</p><p> 3.3.3 1602液晶與單片機(jī)連接21</p><p> 3.4 按鍵控制電路的設(shè)計21</p><p> 3.5系統(tǒng)電路的設(shè)計23</p><p>
18、3.6 系統(tǒng)軟件的設(shè)計24</p><p> 3.6.1主程序的設(shè)計25</p><p> 3.6.2 初始化程序25</p><p> 3.6.3 A/D轉(zhuǎn)換子程序25</p><p> 3.6.4 顯示子程序26</p><p> 第4章 系統(tǒng)的調(diào)試27</p><p&g
19、t; 4.1 軟件調(diào)試27</p><p> 4.1.1 加入仿真輔助信號27</p><p> 4.1.2 加載程序28</p><p> 4.2 顯示結(jié)果及誤差分析28</p><p> 4.2.1 顯示結(jié)果28</p><p> 4.2.2 誤差分析29</p><
20、p> 4.3 系統(tǒng)調(diào)試中遇到的問題及解決的方法30</p><p> 第5章 結(jié)論31</p><p><b> 致 謝32</b></p><p> 附件一:參考文獻(xiàn):33</p><p> 附件二:電路總圖:34</p><p> 附件三:源程序:35</
21、p><p><b> 引 言</b></p><p> 數(shù)字電壓表出現(xiàn)在50年代初,60年代末發(fā)起來的電壓測量儀表,簡稱DVM,它采用的是數(shù)字化測量技術(shù),把連續(xù)的模擬量,也就是連續(xù)的電壓值轉(zhuǎn)變?yōu)椴贿B續(xù)的數(shù)字量,加以數(shù)字處理然后再通過顯示器件顯示。這種電子測量的儀表之所以出現(xiàn),一方面是由于電子計算機(jī)的應(yīng)用逐漸推廣到系統(tǒng)的自動控制信實(shí)驗(yàn)研究的領(lǐng)域,提出了將各種被觀察量或被
22、控制量轉(zhuǎn)換成數(shù)碼的要求,即為了實(shí)時控制及數(shù)據(jù)處理的需要;另一方面,也是電子計算機(jī)的發(fā)展,帶動了脈沖數(shù)字電路技術(shù)的進(jìn)步,為數(shù)字化儀表的出現(xiàn)提供了條件。所以,數(shù)字化測量儀表的產(chǎn)生與發(fā)展與電子計算機(jī)的發(fā)展是密切相關(guān)的;同時,為革新電子測量中的煩鎖和陳舊方式也催促了它的飛速發(fā)展,如今,它又成為向智能化儀表發(fā)展的必要橋梁。</p><p> 如今,數(shù)字電壓表已絕大部分已取代了傳統(tǒng)的模擬指針式電壓表。因?yàn)閭鹘y(tǒng)的模擬指針式電
23、壓表功能單一,精度低,讀數(shù)的時候也非常不方便,很容易出錯。而采用單片機(jī)的數(shù)字電壓表由于測量精度高,速度快,讀數(shù)時也非常的方便,抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)已被廣泛的應(yīng)用于電子及電工的測量,工業(yè)自動化儀表,自動測試系統(tǒng)等智能化測量領(lǐng)域。顯示出強(qiáng)大的生命力。</p><p> 數(shù)字電壓表最初是伺服步進(jìn)電子管比較式,其優(yōu)點(diǎn)是準(zhǔn)確度比較高,但是采樣速度慢,重量達(dá)幾十公斤,體積大。繼之出現(xiàn)了諧波式電壓表,它的速度方面稍
24、有提高,但是準(zhǔn)確度低,穩(wěn)定性差,再后來出現(xiàn)了比較式儀表改進(jìn)逐次漸近式結(jié)構(gòu),它不僅保持了比較式準(zhǔn)確度高的優(yōu)點(diǎn),而且速度也有了很大的提高,但它有一缺點(diǎn)是抗干擾能力差,很容易受到外界各種因素的影響。隨后,在諧波式的基礎(chǔ)上雙引伸出階梯波式,它的唯一的進(jìn)步是成本降低了,可是準(zhǔn)確寬,速以及抗干擾能力都未能提高。而現(xiàn)在,數(shù)字電壓表的發(fā)展已經(jīng)是非常的成熟,就原理來講,它從原來的一,二種已發(fā)展到多種,在功能上講,則從測量一參數(shù)發(fā)展到能測多種參數(shù);從制作組
25、件來看,發(fā)展到了集成電路,準(zhǔn)確度已經(jīng)有了很大的提高,精度高達(dá)1NV;讀數(shù)每秒幾萬次,而相對以前,它的價格也有了降低了很多。</p><p> 目前實(shí)現(xiàn)電壓數(shù)字化測量的方法仍然模-數(shù)(A/D)轉(zhuǎn)換的方法。轉(zhuǎn)換的精度很大程度上影響著數(shù)字電壓表的準(zhǔn)確度,因而,以后數(shù)字電壓表的發(fā)展就著眼在高精度和低成本這兩個方面。而數(shù)字電壓表種類繁多,型號新異,目前國際仍未有統(tǒng)一的分類方法。而常用的分類方法有如下幾種:</p&g
26、t;<p> 按用途來分:有直流數(shù)字電壓表,交、直流數(shù)字電壓表,交直流萬用表等。</p><p> 按顯示位數(shù)來分:有4位,5位,6位,7位,8位等。</p><p> 按測量速度來分:有低準(zhǔn)確度,中準(zhǔn)確度,高準(zhǔn)確度等。</p><p> 按測量速度來分:有低速,中速,高速,超高速等。</p><p> 但在日常生活中
27、,數(shù)字電壓表一般是按照原理不同進(jìn)行分類的,目前大致分為以下幾類:比較式,電壓—時間變換式,積分式等。</p><p> 在電量的測量中,電壓、電流和頻率是最基本的三個被測量。其中,電壓量的測量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測量儀器。另外,由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、靈敏度高和分辨率高、測量速度快等特點(diǎn)而倍受用戶青睞,數(shù)字式電
28、壓表就是基于這種需求而發(fā)展起來的,是一種必不可少的電子測量儀表。</p><p> 本文是以簡易數(shù)字直流電壓表的設(shè)計為研究內(nèi)容,本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0809對輸入的模擬信號進(jìn)行轉(zhuǎn)換,控制核心AT89C51再對轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算處理,最后驅(qū)動輸出裝置LED顯示數(shù)字電壓信號。</p><p> 第1章 系統(tǒng)設(shè)計方案的選擇&l
29、t;/p><p> 1.1設(shè)計方案的選擇 </p><p> 設(shè)計數(shù)字電壓表有多種的設(shè)計方法,方案是多種多樣的,由于大規(guī)模集成電路數(shù)字芯片的高速發(fā)展,各種數(shù)字芯片品種多樣,導(dǎo)致對模擬數(shù)據(jù)的采集部分的不一致性,進(jìn)而又使對數(shù)據(jù)的處理及顯示的方式的多樣性。又由于在現(xiàn)實(shí)的工作生活中,電壓表的測量測程范圍是比較大的,所以必須要對輸入電壓作分壓處理,而各個數(shù)據(jù)處理芯片的處理電壓范圍不同,則各種方案的分
30、段也不同。下面介紹兩種數(shù)字電壓表的設(shè)計方案。</p><p> 1.1.2基于分立組件的電壓表 </p><p> 這種設(shè)計方案是由模擬電路與數(shù)字電路兩大部分組成,模擬部分包括輸入放大器、A/D轉(zhuǎn)換器和基準(zhǔn)電壓源;數(shù)字部分包括計數(shù)器、譯碼器、邏輯控制器、振蕩器和顯示器。其中,A/D轉(zhuǎn)換器是它的核心器件,它將輸入的模擬量轉(zhuǎn)換成數(shù)字量。模擬電路和數(shù)字電路是相互聯(lián)系的,由邏輯控制電路產(chǎn)生控制
31、信號,按規(guī)定的時序?qū)/D轉(zhuǎn)換器中個組模擬開關(guān)接通或斷開,保證A/D轉(zhuǎn)換正常進(jìn)行。A/D轉(zhuǎn)換結(jié)果通過計數(shù)譯碼電路變換成段碼,最后驅(qū)動顯示器顯示出相應(yīng)的數(shù)值。此方案設(shè)計其優(yōu)點(diǎn)是,設(shè)計成本低,能夠滿足一般的電壓測量。但設(shè)計不靈活,都是采用純硬件電路。很難將其在原有的基礎(chǔ)上進(jìn)行擴(kuò)展。</p><p> 1.1.3基于單片機(jī)系統(tǒng)及A/D轉(zhuǎn)換芯片的電壓表</p><p> 這種方案是利用單片機(jī)系
32、統(tǒng)與模數(shù)轉(zhuǎn)換芯片、顯示模塊等的結(jié)合構(gòu)建數(shù)字電壓表。由于單片機(jī)的發(fā)展已經(jīng)成熟,利用單片機(jī)系統(tǒng)的軟硬件結(jié)合,可以組裝出許多的應(yīng)用電路來。此方案的原理是模數(shù)(A/D)轉(zhuǎn)換芯片的基準(zhǔn)電壓端,被測量電壓輸入端分別輸入基準(zhǔn)電壓和被測電壓。模數(shù)(A/D)轉(zhuǎn)換芯片將被測量電壓輸入端所采集到的模擬電壓信號轉(zhuǎn)換成相應(yīng)的數(shù)字信號,然后通過對單片機(jī)系統(tǒng)進(jìn)行軟件編程,使單片機(jī)系統(tǒng)能按規(guī)定的時序來采集這些數(shù)字信號,通過一定的算法計算出被測量電壓的值。最后單片機(jī)系統(tǒng)
33、將計算好了的被測電壓值按一定的時序送入顯示電路模塊加以顯示。</p><p> 1.1.4 方案的選擇</p><p> 綜上所述,根據(jù)以上兩種設(shè)計方案各方面優(yōu)點(diǎn)及其在所設(shè)計電壓表中的實(shí)用性,我們選擇第二種電壓表設(shè)計方案,即由單片機(jī)系統(tǒng)及數(shù)字芯片構(gòu)建的方法來我們本次設(shè)計。</p><p> 第二種方案不僅能夠繼承上一種方案的各種優(yōu)點(diǎn),還能改進(jìn)上一種設(shè)計方案設(shè)計
34、的不靈活和難于在原基礎(chǔ)上進(jìn)行功能擴(kuò)展等不足。</p><p><b> 第2章 總體設(shè)計</b></p><p> 2.1 硬件電路的設(shè)計</p><p><b> 設(shè)計思路:</b></p><p> ?。?)根據(jù)設(shè)計要求,選擇AT89C51單片機(jī)為核心控制器件。</p>
35、<p> (2)A/D轉(zhuǎn)換采用ADC0809實(shí)現(xiàn)。</p><p> ?。?)電壓顯示采用1602液晶顯示器。</p><p> 2.1.1單片機(jī)簡介及本設(shè)計單片機(jī)的選擇</p><p> 目前,單片機(jī)的種類很繁多,主要有主流的8位單片機(jī)和高性能的32位單片機(jī)。結(jié)合本設(shè)計各方面因素,對于本設(shè)計8位單片機(jī)已經(jīng)是綽綽有余了,但用哪一種類8的單片機(jī)呢?在這
36、里,先簡單的介紹一下幾種常用的8位單片機(jī)。</p><p> 2.1.1.1常用單片機(jī)的特點(diǎn)比較及本設(shè)計單片機(jī)的選擇</p><p> 單片機(jī)是指一個集成在一塊芯片上的完整計算機(jī)系統(tǒng),具有一個完整計算機(jī)所需要的大部分部件:CPU,內(nèi)存,總線系統(tǒng)等。而目前常用的單片機(jī)的8位有51系列單片機(jī),AVR單片機(jī),PIC單片機(jī)。</p><p> 應(yīng)用最廣的8位單片機(jī)還是
37、intel的51系列單片機(jī)。51系列單片機(jī)的特點(diǎn)是:硬件結(jié)構(gòu)合理,指令系統(tǒng)規(guī)范,加之生產(chǎn)歷史悠久,世界有許多芯片公司都買了51的芯片核心專利技術(shù),并在其基礎(chǔ)上擴(kuò)充其性能,使得芯片的運(yùn)行速度變得更快,性價比更高。</p><p> AVR單片機(jī)是atmel公司推出較新的單片機(jī),它的顯著特點(diǎn)是:高性能,低功能,高速度,指令單周期為主,但性格方面比51單片機(jī)要高。有專門的I/O方向寄存器。雖然有轉(zhuǎn)強(qiáng)的驅(qū)動電壓,但I(xiàn)/
38、O口使用沒51單片機(jī)方便。</p><p> PIC單片機(jī)系列是美國微芯公司的產(chǎn)品,也是市面上增長最快的單片機(jī)之一,屬精簡指令集單片機(jī),其特點(diǎn)是:高速度,高性能,但在性格方面比51單片機(jī)要高,也有專門的I/O方向寄存器,I/O口使用不比51單片機(jī)方便。</p><p> 綜合以上各種單片機(jī)的基本性能及本設(shè)計的滿足需要,我們將選擇51系列單片機(jī)。</p><p>
39、 2.1.1.2本設(shè)計使用的單片機(jī)的簡介</p><p> 本設(shè)計中選用是51系列的AT89C51,它是低電壓、低功耗、高性能的CMOS8位單片機(jī),片內(nèi)含4KB的可反復(fù)擦寫的只讀程序存儲器和128B的隨機(jī)存取數(shù)據(jù)存儲器,32個I/O口線,片內(nèi)振蕩器及時鐘電路,并與MCS-51系列單片機(jī)兼容。在設(shè)計中,單片機(jī)起著連接硬件電路與程序運(yùn)行及存儲數(shù)據(jù)的任務(wù),一方面,它將A/D轉(zhuǎn)換器、顯示器等通過I/O口地址線和數(shù)據(jù)線
40、連接起來;另一方面,它將用戶下載的程序通過控制總線控制數(shù)據(jù)的輸入輸出,從而實(shí)現(xiàn)冊電壓的功能。</p><p> 下圖2.1為AT89C51 單片機(jī)內(nèi)部結(jié)構(gòu)框圖:</p><p> 圖 2.1 AT89C51單片機(jī)內(nèi)部結(jié)構(gòu)框圖</p><p> 從內(nèi)部結(jié)構(gòu)圖框圖上可以看出AT89C51單片機(jī)包括一下資源:</p><p><b&g
41、t; 一個8位的CPU;</b></p><p> 一個片內(nèi)振蕩器及時鐘電路;</p><p> 4KB的FlashROM;</p><p> 128的內(nèi)部RAM;</p><p> 可擴(kuò)展64KB外部ROM和外部RAM的控制電路;</p><p> 2個16位的定時/計數(shù)器;</p>
42、;<p> 26個特殊功能寄存器;</p><p><b> 4個8位的并行口;</b></p><p> 一個全雙工的串行口;</p><p> 5個中斷源,2個外部中斷,3內(nèi)部中斷;</p><p> 內(nèi)部硬件看門狗電路;</p><p> 一個SPI串行接口,用于芯
43、片的在系統(tǒng)編程。</p><p> AT89C51單片機(jī)有四十個引腳,引腳可分為四類:電源,地,時鐘,控制和I/O口。</p><p><b> 管腳說明:</b></p><p><b> Vcc:供電電壓。</b></p><p> GND:接地。
44、 P0口:P0口為一個8位雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,
45、被內(nèi)部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時,P1口作為第八位地址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于
46、外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由
47、于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻</p><p> 2.2顯示器件的介
48、紹和選擇</p><p> 本次設(shè)計中有顯示模塊,而常用的顯示器件比較多,有數(shù)碼管,LED點(diǎn)陣,1602液晶,12864液晶等。</p><p> 2.2.1常用顯示器件簡介</p><p> 數(shù)碼管是最常用的一種顯示器件,它是由幾個發(fā)光二極管組成的8字段顯示器件,其特點(diǎn)是價格非常的便宜,使用也非常的方便,顯示效果非常的清楚。小電流下可以驅(qū)動每光,發(fā)光響應(yīng)時間
49、極短,體積小,重量輕,抗沖擊性能好,壽命長。但數(shù)碼管只能是顯示0~9的數(shù)據(jù)。不能夠顯示字符。這也是數(shù)碼管的不足之處。</p><p> LED點(diǎn)陣顯示器件是由好多個發(fā)光二極管組成的。具有高亮度,功耗低,視角大,壽命長,耐濕,冷,熱等特點(diǎn),LED點(diǎn)陣顯示器件可以顯示數(shù)字,英文字符,中文字符等。但用LED點(diǎn)陣顯示的軟件程序設(shè)計比較麻煩。</p><p> 1602液晶是工業(yè)字符型液晶,能夠
50、同時顯示16*2即32個字符。1602液晶模塊內(nèi)部的字符發(fā)生存儲器已經(jīng)存儲了160個不同的點(diǎn)陣字符圖形,這些字這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。使用時直接編寫軟件程序按一定的時序驅(qū)動即可。它的特點(diǎn)是顯示字跡清楚,價格相對便宜。</p><p> 12864液晶也是一種工業(yè)字符型液晶,它不僅能夠顯示1602液晶所可以顯示的字符,數(shù)字等信息,而且還可以
51、顯示8*4個中文漢字和一些簡單的圖片,顯示信息也非常的清楚。使用時也直接編寫軟件程序按一定的時序驅(qū)動即可。不過它的價格比1602液晶貴了很多。</p><p> 在本設(shè)計中,我們只需要顯示最后電壓的數(shù)字值和電壓的單位,綜合上面各種顯示器件的特點(diǎn):數(shù)碼管只能顯示數(shù)字,不能顯示單位字符,不符合本設(shè)計的要求。而點(diǎn)陣顯示器件驅(qū)動顯示軟件程序編寫麻煩,占用的引腳相對也較多。也不是理解的顯示器件。所以在本設(shè)計中,我們考慮用
52、液晶顯示器件,雖然12864液晶比1602液晶的功能強(qiáng),不過在價格方面卻貴了好多。而1602液晶也足夠滿足本設(shè)計的需要。因此,在本設(shè)計實(shí)驗(yàn)我們選擇1602液晶顯示器件。</p><p> 2.2.2 1602液晶的參數(shù)資料</p><p> 我們選擇了1602液晶做為本設(shè)計的顯示模塊的顯示器件。以下是1602液晶的各方面參數(shù):</p><p> 表2. 1
53、接口信號說明</p><p> ?。?).基本操作時序:</p><p> 讀狀態(tài):輸入:RS=0,RW=1,E=1。輸出:D0-D7為狀態(tài)字</p><p> 寫狀態(tài):輸入:RS=0,RW=0,D0-D7為指令碼,E為高脈沖。輸出:無</p><p> 讀數(shù)據(jù):輸入:RS=1,RW=1,E=1。輸出:D0-D7為數(shù)據(jù)。</p&g
54、t;<p> 寫數(shù)據(jù):輸入:RS=1,RW=0,D0-D7為數(shù)據(jù),E為高脈沖。輸出:無</p><p> 表2. 2 狀態(tài)字說明</p><p> 表2.3 顯示開/關(guān)及光標(biāo)設(shè)置</p><p> 表2.4 指令的說明 </p><p> 表2.5 顯示開/關(guān)及光標(biāo)設(shè)置</p><p>
55、; 表2.6顯示模式設(shè)置</p><p> 表2.7 數(shù)據(jù)控制</p><p> 2.3模數(shù)(A/D)轉(zhuǎn)換芯片的選擇</p><p> 在本設(shè)計中,模數(shù)(A/D)轉(zhuǎn)換模塊是一個重要的模塊,它關(guān)系到最后數(shù)電壓表電壓值的精確度。所以,A/D芯片的選擇是設(shè)計過程中一個很重要的環(huán)節(jié)。</p><p> 2.3.1 常用的A/D芯片簡介&l
56、t;/p><p> 常用的A/D芯片有AD0809,AD0832,TLC2543C等幾種。下面簡單介紹一下這三種芯片。</p><p> AD0809是8位逐次逼近型A/D轉(zhuǎn)換器,它是由一個8路的模擬開關(guān)、一個地址鎖存譯碼器、一個A/D 轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8 路模擬量分時輸入,共享A/D 轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。些A/D轉(zhuǎn)換器是的特點(diǎn)是8位精度,屬于并
57、行口,如果輸入的模擬量變化大快,必須在輸入之前增加采樣電路。</p><p> AD0832也是8位逐次逼近型A/D轉(zhuǎn)換器,可支持致命傷個單端輸入通道和一個差分輸入通道。它易于和微處理器接口或獨(dú)立使用;可滿量程工作;可用地址邏輯多路器選通各輸入通道。</p><p> TLC2543C是12位開關(guān)電容逐次逼近A/D轉(zhuǎn)換,每個器件有三個控制輸入端,片選,輸入/輸出時鐘以及地址輸入端。它可
58、以從主機(jī)高速傳輸轉(zhuǎn)換數(shù)據(jù)。它有高速的轉(zhuǎn)換,通用的控制能力,具有簡化比率轉(zhuǎn)換,刻度以及模擬電路與邏輯電路和電源噪聲隔離,耐高溫等特點(diǎn)。</p><p> 綜合上述幾種A/D轉(zhuǎn)換芯片的特點(diǎn),在本設(shè)計中,我們設(shè)計的是簡易數(shù)字電壓表,因此在此,我們選擇精度為8位的ADC0809芯片。</p><p> 2.3.2模數(shù)(A/D)芯片ADC0809的資料</p><p>
59、 綜合本設(shè)計的各方面考慮,我們選了ADC0809模數(shù)轉(zhuǎn)換芯片。下面就介紹此芯片的各方面資料。</p><p> (1)結(jié)構(gòu)和轉(zhuǎn)換原理</p><p> 如圖(1.2)所示為ADC0809的內(nèi)部結(jié)構(gòu)框圖。ADC0809由3部分組成:8路模擬量選通開關(guān)、8位A/D轉(zhuǎn)換器和三態(tài)輸出數(shù)據(jù)鎖存器。 ADC0809允許8路模擬信號輸入,由8路模擬開關(guān)選通其中一路信號,模擬開關(guān)受信道地址鎖存和譯碼電
60、路的控制。當(dāng)?shù)刂锋i存信號ALE有效時,3位地址C、B、A進(jìn)入地址鎖存器,經(jīng)譯碼后使8路模擬開關(guān)選通某一路信號。 </p><p> 8位A/D轉(zhuǎn)換器為逐次逼近式,由256R電阻分壓器、樹狀模擬開關(guān)(這兩部分組成一個D/A變換器)、電壓比較器、逐次逼近寄存器、邏輯控制和定時電路組成。</p><p> 三態(tài)門輸出鎖存器用來保存A/D轉(zhuǎn)換結(jié)果,當(dāng)輸出允許信號OE有效時,打開三態(tài)門,輸出A/
61、D轉(zhuǎn)換結(jié)果。因輸出有三態(tài)門,便于與單片機(jī)總線連接。</p><p> 表2.8 ADC0809信道地址選擇表</p><p> 圖2.2 ADC0809的內(nèi)部結(jié)構(gòu)</p><p> 圖2.3 ADC0809的引腳</p><p><b> ?。?)引腳功能</b></p><p> 由引
62、腳圖(2.3) 所示,ADC0809共有28個引腳,</p><p> 采用雙列直插式封裝。ADC0809 雖然有8路模擬</p><p> 通道可以同時輸入8路模擬信號,但每個瞬間只能</p><p> 轉(zhuǎn)換一路,各路之間的切換由軟件變換信道地址來</p><p> 實(shí)現(xiàn)。其主要引腳功能如下所示。</p><p&
63、gt; IN0~I(xiàn)N7:8路模擬量輸入端。</p><p> D7~D0:8位數(shù)字量輸出端?! 、B、C:3位地址輸入線,用于選通8路模擬輸入中的一路。</p><p> ALE:地址鎖存允許信號,輸入,高電平有效。 START: A/D轉(zhuǎn)換啟動信號,輸入,高電平有效。 EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一 個高電平(轉(zhuǎn)換期間一直為低電
64、平)。 OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量?! LK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 REF(+)、REF(-):基準(zhǔn)電壓。 Vcc:電源,單一+5V。 GND:地。</p><p> 2.3.3 ADC0809工作過程</p><p> 圖2.4 ADC080
65、9的時序圖</p><p> ADC0809的工作過程分為如下幾步:</p><p> 第一步:首先確定A、B、C三位地址,決定選擇哪一路模擬信號。</p><p> 第二步:使ALE端接收一正脈沖信號,使該路模擬信號經(jīng)選擇開關(guān)達(dá)到比較器的輸入端。</p><p> 第三步:使START端接收一正脈沖信號,START的上升沿將逐次逼近
66、寄存器復(fù)位,下降沿啟動A/D轉(zhuǎn)換。</p><p> 第四步:EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。</p><p> 第五步:A/D轉(zhuǎn)換結(jié)束,EOC變?yōu)楦唠娖?,指示A∕D轉(zhuǎn)換結(jié)束。此時,數(shù)據(jù)已保存到8位鎖存器中。</p><p> 第六步:OE信號變?yōu)楦唠娖剑瑒t8位三態(tài)鎖存緩沖器的三態(tài)門被打開,轉(zhuǎn)換好的8位數(shù)字量數(shù)據(jù)被輸出到數(shù)據(jù)線上。</p>
67、<p> 如上所述,EOC信號變?yōu)楦唠娖奖硎続/D轉(zhuǎn)換完成,EOC可作為中斷申請信號,通知89C51取走數(shù)據(jù)。在查詢傳送方式中,EOC可以作為89C51查詢外設(shè)(ADC)的狀態(tài)信號。</p><p> 2.3.4 ADC0809與單片機(jī)的接口</p><p> ADC0809與單片機(jī)的連接主要考慮三方面:與單片機(jī)的數(shù)據(jù)總線、地址總線和控制總線的連接。</p>
68、<p> a.?dāng)?shù)據(jù)總線。由于ADC0809的輸出D7~D0具有三態(tài)輸出鎖存緩沖器,</p><p> ADC0809可以直接和單片機(jī)的數(shù)據(jù)總線P0.0~P0.7相連。</p><p> b.地址總線。地址總線的P0.0、P0.1和P0.2可以對應(yīng)連接ADC0809的A、 </p><p> B、C三位地址信號輸入線,用以控制8路模擬輸入中哪一路被選
69、中輸入。</p><p> c.控制總線。有啟動轉(zhuǎn)換信號START、輸出允許信號OE、轉(zhuǎn)換結(jié)束信號EOC以及ALE等信號線的連接。START要求是一個正脈沖信號,由單片機(jī)控制發(fā)出,輸出允許信號OE也需要單片機(jī)提供一個正脈沖信號。在A/D轉(zhuǎn)換結(jié)束時,ADC0809會發(fā)出轉(zhuǎn)換結(jié)束信號EOC,通知89C51可以讀取轉(zhuǎn)換數(shù)據(jù)。</p><p> A/D轉(zhuǎn)換后得到的是數(shù)據(jù),這些數(shù)據(jù)應(yīng)傳送給89C
70、51單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換完成,因?yàn)橹挥写_認(rèn)數(shù)據(jù)轉(zhuǎn)換完成后,才能進(jìn)行傳送。</p><p> 為此可采用下述兩種方式:</p><p> 對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一個主要技術(shù)指標(biāo)是已知的和固定的。例如,若ADC0809轉(zhuǎn)換時間為128μs,相當(dāng)于6MHz的89C51單片機(jī)的64個機(jī)器周期。可據(jù)此設(shè)計一個延時子程序,A/D轉(zhuǎn)換啟動后即調(diào)用這個
71、延時子程序,延遲時間一到,轉(zhuǎn)換肯定完成了,接著就可以進(jìn)行數(shù)據(jù)傳送。</p><p><b> a.查詢傳送方式</b></p><p> 由于ADC0809片內(nèi)無時鐘,利用AT89C51提供的地址鎖存信號ALE經(jīng)過分頻后可保證ADC0809可靠的工作。由于ADC0809的輸出D7~D0具有三態(tài)輸出鎖存緩沖器,因此ADC0809可以直接和單片機(jī)的數(shù)據(jù)總線相連。由于此
72、種方式下ALE和START連接在一起,因此0809在鎖存信道地址的同時也啟動轉(zhuǎn)換。在讀取轉(zhuǎn)換結(jié)果時,用單片機(jī)的讀信號和片選信號引腳經(jīng)或非門后產(chǎn)生的正脈沖信號作為OE信號,用以打開三態(tài)輸出鎖存器。</p><p><b> b.中斷傳送方式</b></p><p> 采用中斷方式可大大節(jié)省單片機(jī)的時間。當(dāng)轉(zhuǎn)換結(jié)束時,EOC向單片機(jī)發(fā)出中斷請求信號,由中斷服務(wù)子程序讀
73、取A/D轉(zhuǎn)換結(jié)果并存儲到RAM中,然后啟動ADC0809的下一次轉(zhuǎn)換。</p><p><b> 三種典型連接電路</b></p><p> 大體上說,ADC0809在整個51單片機(jī)系統(tǒng)中是作為外部RAM的一個單元定位的。但具體到某一個連接方式,ADC0809在整個51單片機(jī)系統(tǒng)中的定位又有一些差別。</p><p><b>
74、a.第一種典型連接</b></p><p> 這是一種數(shù)據(jù)線對數(shù)據(jù)線、地址線對地址線的標(biāo)準(zhǔn)連接方式,但是由于51單片機(jī)沒有現(xiàn)成的低8位地址總線,所以采用這種標(biāo)準(zhǔn)連接方式需要用74LS373或類似芯片產(chǎn)生低8位地址總線。</p><p> 早期的51系列單片機(jī)的應(yīng)用品種很多是沒有內(nèi)置程序存儲器的8031芯片,本身就需要外掛74LS373等芯片產(chǎn)生低8位地址總線來外接EPROM
75、等程序存儲器,連接ADC0809時不需要專門外掛74LS373。因此早期的51系列單片機(jī),如8031,采用這種連接ADC0809還是比較可行的。</p><p><b> 編程概要:</b></p><p> MOV DPTR,#7FF8H;DPTR指向0809通道0</p><p> MOVX @DPTR,A;鎖定通道0并啟動轉(zhuǎn)換&l
76、t;/p><p> ……………………………………………………</p><p> MOVX A,@DPTR;讀取轉(zhuǎn)換結(jié)果</p><p><b> b.第二種典型連接</b></p><p> 通常芯片的地址線只能進(jìn)不能出自不必說,ADC0809的數(shù)據(jù)線有一特點(diǎn):只能出不能進(jìn)。就是說,就像往SBUF寫入時寫到發(fā)送緩
77、沖寄存器,從SBUF讀出時實(shí)際是讀取接收緩沖寄存器的數(shù)據(jù)一樣,往ADC0809寫入時,把數(shù)據(jù)總線上的數(shù)據(jù)寫到地址寄存器,從ADC0809讀出時實(shí)際是讀取轉(zhuǎn)換結(jié)果數(shù)據(jù)。因此可以在把51單片機(jī)的8位數(shù)據(jù)線接到ADC0809的8位數(shù)據(jù)線的同時,又把其中的3位直接接到ADC0809的3根地址線以確定信道號。通常把51單片機(jī)的8位數(shù)據(jù)線中的低3位D2,D1,D0直接接到ADC0809的3根地址線A2,A1,A0以確定通道號。</p>
78、<p> 在這種連接方式中,ADC0809的轉(zhuǎn)換結(jié)果寄存器在概念上定位為單片機(jī)外部RAM單元的只讀寄存器,而通道號寄存器在概念上定位為單片機(jī)同一個外部RAM單元的只寫寄存器。同一個外部RAM單元的只讀寄存器與只寫寄存器使用同一個地址,就像51系列單片機(jī)的串行發(fā)送緩沖器與串行接受緩沖器使用同一個地址99H一樣,不會發(fā)生混亂。</p><p> 這種連接方式有一個特點(diǎn),那就是單片機(jī)要把最低3位二進(jìn)制數(shù)
79、據(jù)通過數(shù)據(jù)總線寫入ADC0809的地址鎖存器,然后作為信道地址使用。</p><p><b> 編程概要:</b></p><p> MOV A,#0F8H;ADC0809信道0地址送到A</p><p> MOV DPTR,#7FFFH;DPTR指向ADC0809</p><p> MOVX @DPT
80、R,A;鎖定通道0并啟動轉(zhuǎn)換</p><p> MOVX A,@DPTR; </p><p> 要求在程序第一條指令中把決定是否能選中整個ADC0809芯片的數(shù)據(jù)傳送到數(shù)據(jù)指針。在本電路中,只要送到DPTR的最高位數(shù)據(jù)為0,就能選中ADC0809,而信道地址由累加器A的最低3位數(shù)字決定。除了最高位以外,DPTR的其余15位數(shù)據(jù)對于ADC沒有任何意義。除了較低3位以外,累加器A的其余5
81、位數(shù)據(jù)對于ADC也沒有任何意義。這是本程序的一大特點(diǎn)。</p><p><b> c.第三種典型連接</b></p><p> 在很多應(yīng)用場合,AT89C51內(nèi)部的硬件資源,例如4KB閃存,128B內(nèi)部RAM,一個串行口和4個8位并行口等,已經(jīng)夠用。就是說,在很多應(yīng)用場合,不需要外擴(kuò)RAM或I/O口。當(dāng)51單片機(jī)沒有外擴(kuò)RAM和I/O口時,ADC0809就可以在概
82、念上作為一個特殊的唯一的外擴(kuò)RAM單元。因?yàn)樗俏ㄒ坏?,就沒有地址編號,也就不需要任何地址線或者地址譯碼線。只要單片機(jī)往外部RAM寫入,就是寫到ADC0809的地址寄存器中。只要單片機(jī)從外部RAN讀取數(shù)據(jù),就是讀取ADC0809的轉(zhuǎn)換結(jié)果。</p><p><b> 編程概要:</b></p><p> MOV A,#0F8H;ADC0809信道0地址送到
83、A</p><p> MOVX @R0,A;鎖定通道0并啟動轉(zhuǎn)換</p><p> ……………………………………………………</p><p> MOVX A,@R0 ;讀取轉(zhuǎn)換結(jié)果</p><p> 其中間寄存器R0中的數(shù)據(jù)無論在啟動ADC0809還是在讀取轉(zhuǎn)換結(jié)果時都沒有任何意義,因此事先不必考慮往R0中送入什么數(shù)據(jù)。這
84、是本程序的一大特點(diǎn)。</p><p> 三種連接方式的綜合比較:</p><p> 第一種和第二種連接方式允許多片ADC0809與單片機(jī)連接,第三種連接方式只能連接一片。通常1片8通道ADC0809就能滿足控制工程需要。因此在單片機(jī)沒有外擴(kuò)RAM和I/O接口時,第三種連接方式時一種優(yōu)選方案。需要2片或更多ADC0809時,第二種連接方式時一種優(yōu)選方案。</p><p
85、> 第一種連接方式需要一片74LS373做地址鎖存器。如果單片機(jī)系統(tǒng)已經(jīng)有一片73LS373地址鎖存器,那么第一種連接方式也不失為一種可以考慮的連接方式。</p><p> 2.3.5主要元器件介紹</p><p> 模數(shù)轉(zhuǎn)換芯片ADC0809:</p><p> ADC0809是典型的8位8通道逐次逼近式A/D轉(zhuǎn)換器,其實(shí)物如圖2.5所示。它可以和微
86、型計算機(jī)直接接口。</p><p> 圖2.5ADC0809實(shí)物圖</p><p> a. ADC0809內(nèi)部邏輯結(jié)構(gòu):</p><p> 圖2.6 ADC0809的內(nèi)部邏輯結(jié)構(gòu)及引腳圖 </p><p> ADC0809的內(nèi)部邏輯結(jié)構(gòu)如圖2.6示。圖中多路模擬開關(guān)可選通8路模擬通道,允許8路模擬量分時輸入,并
87、共享一個A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼電路完成對A、B、C三個地址位進(jìn)行鎖存與譯碼,如表2.9所示。</p><p> 表2.9 ADC0809通道選擇表</p><p> b. ADC0809的引腳</p><p> ADC0809芯片為28引腳雙列直插式封裝,其引腳排列如圖2.9所示。</p><p> (1)IN0~I(xiàn)N
88、7:8路模擬量輸入通道。</p><p> (2)A、B、C:模擬信道地址線。這3根地址線用于對8路模擬通道的選擇,其譯碼關(guān)系如表1-1所示。其中,A為低地址,C為高地址,引腳圖中為ADDA,ADDB和ADDC。</p><p> (3)ALE:地址鎖存允許信號。對應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。</p><p> (4)START:轉(zhuǎn)換啟
89、動信號。START上升沿時,復(fù)位ADC0809;START下降沿時啟動芯片,開始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。本信號有時簡寫為ST。</p><p> (5)D7~D0:數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。D0為最低位,D7為最高。 </p><p> (6)OE:輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE
90、=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。</p><p> (7)CLK:時鐘信號。ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號由外界提供,因此有時鐘信號引腳。通常使用頻率為500KHz的時鐘信號。</p><p> (8)EOC:轉(zhuǎn)換結(jié)束信號。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請求信號使用。</p
91、><p> (9)Vcc: +5V電源,GND:地。 </p><p> (10)Vref:參考電壓。參考電壓用來與輸入的模擬信號進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V, Vref(-)=0V)。</p><p> c. ADC0809的工作原理:</p><p> 首先輸入3位地址,并使ALE=1,將地址
92、存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。</p><p> ?。ㄗ⒁猓篈LE信號常與START信號連在一起,這樣連接可
93、以在信號的前沿寫入地址信號,在其后沿啟動A/D轉(zhuǎn)換,圖2.7為ADC0809信號的時序配合圖)。</p><p> 圖2.7 ADC0809信號的時序配合</p><p><b> 第3章 電路設(shè)計</b></p><p><b> 3.1 技術(shù)要求</b></p><p> ?。?)
94、以51系列單片機(jī)為核心器件,組成一個簡單的直流數(shù)字電壓表。</p><p> ?。?)最高量程為:4v。</p><p> ?。?)電壓顯示用1602液晶顯示器顯示,至少能夠顯示兩位小數(shù)。</p><p> ?。?)盡量使用較少的元器件。</p><p><b> 3.2 設(shè)計方案</b></p><
95、;p> 根據(jù)上述,我們選擇單片機(jī)與A/D轉(zhuǎn)換芯片結(jié)合的方法實(shí)現(xiàn)本設(shè)計。使用的基本元器件是:AT89C51單片機(jī),ADC0809模數(shù)轉(zhuǎn)換芯片,1602液晶顯示器,開關(guān),按鍵,電容,電阻,晶振,標(biāo)準(zhǔn)電源等等。設(shè)計的基本框圖如下:</p><p> 圖3.1 設(shè)計的基本框圖</p><p> 3.3 硬件電路系統(tǒng)模塊的設(shè)計</p><p> 系統(tǒng)電路圖的繪
96、制和仿真我用的是Proteus軟件。</p><p> 3.3.1單片機(jī)系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)包括晶振電路,復(fù)位電路,電源。其原理圖如下:</p><p> 圖3.2 復(fù)位電路</p><p> 此模塊中,單片機(jī)的晶振是12MHZ,C1和C2的電容是22pf,C3可選10UF。R1電阻為1K。</p>
97、<p> 3.3.2 A/D轉(zhuǎn)換芯片與單片機(jī)的連接</p><p> 此設(shè)計中選擇的是A/D轉(zhuǎn)換芯片的信道1、信道2、 信道3,數(shù)據(jù)輸出口連接單片機(jī)的P0口,脈沖端連接單片機(jī)的ale口。模塊連接如下圖3.3所示。</p><p> 3.3.3 1602液晶與單片機(jī)連接</p><p> 此模塊液晶的RS和E端分別連接單片機(jī)的P3.0和P3.1口;液
98、晶的數(shù)據(jù)各端口連接單片機(jī)的P1口。具體如下圖3.4所示。</p><p> 3.4 按鍵控制電路的設(shè)計</p><p> 三個通道鍵盤的三端分別與單片機(jī)的P3.4、P3.5、P3.6口連接,另一端接地。原理圖如圖3.5所示。</p><p> 鍵盤的功能:可根據(jù)所測的電壓范圍,通過按鍵來切換通道。</p><p> 圖3.3 A/D
99、轉(zhuǎn)換芯片與單片機(jī)的連接</p><p> 圖3.4 1602液晶與單片機(jī)連接</p><p> 圖3.5 按鍵控制電路</p><p> 3.5系統(tǒng)電路的設(shè)計</p><p> 此電路的工作原理是:+5V模擬電壓信號通過變阻器VR1分壓后由ADC0809的IN0通道進(jìn)入(由于使用的IN0通道,所以ADDA,ADDB,ADDC都接低電
100、平),經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)據(jù)經(jīng)過其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負(fù)責(zé)把接收到的數(shù)據(jù)經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的顯示段碼傳送給1602液晶顯示器,同時它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產(chǎn)生位選信號控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0809的工作。其中,單片機(jī)AT89C51通過定時器中斷從P2.4輸出方波,接到ADC0809的CLOCK,P2.6發(fā)正脈沖啟動
101、A/D轉(zhuǎn)換,P2.5檢測A/D轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后,P2.7置高從P1口讀取轉(zhuǎn)換結(jié)果送給LED顯示出來。</p><p> 簡易數(shù)字直流電壓表的硬件電路已經(jīng)設(shè)計完成,就可以選取相應(yīng)的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。但要真正實(shí)現(xiàn)電路對電壓的測量和顯示的功能,還需要有相應(yīng)的軟件配合,才能達(dá)到設(shè)計要求。</p><p>
102、圖3.6 總電路圖</p><p> 3.6 系統(tǒng)軟件的設(shè)計</p><p> 本設(shè)計是硬件電路和軟件編程相結(jié)合的設(shè)計方案,選擇合適的編程語言是一個重要的環(huán)節(jié)。在單片機(jī)的應(yīng)用系統(tǒng)程序設(shè)計時,常用的是匯編語言和C語言。匯編語言的特點(diǎn)是占用內(nèi)存單元少,執(zhí)行效率高。執(zhí)行速度快。但它依賴于計算機(jī)硬件,程序可讀性和可移植性比較差。而C語言雖然執(zhí)行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,
103、運(yùn)算豐富,表達(dá)化類型多樣化,數(shù)據(jù)結(jié)構(gòu)類型豐富,具有結(jié)構(gòu)化的控制語句,程序設(shè)計自由度大,有很好的可重用性,可移植性等特點(diǎn)。</p><p> 由于現(xiàn)在單片機(jī)的發(fā)展已經(jīng)達(dá)到了很高的水平,內(nèi)部的各種資源相當(dāng)?shù)呢S富,CPU的處理速度非常的快。用C語言來控制單片機(jī)無疑是一個理想的選擇。所以在本設(shè)計中采用C語言編寫軟件程序。</p><p> 3.6.1主程序的設(shè)計</p><
104、p> 根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個程序模塊構(gòu)成了整個系統(tǒng)軟件的主程序,如圖3.7所示:</p><p> 圖3.7 數(shù)字式直流電壓表主程序框圖</p><p> 3.6.2 初始化程序</p><p> 謂初始化,是對將要用到的51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要
105、工作是設(shè)置定時器的工作模式,初值預(yù)置,開中斷和打開定時器等。</p><p> 3.6.3 A/D轉(zhuǎn)換子程序</p><p> A/D轉(zhuǎn)換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖3.8所示:</p><p> 圖3.8 A/D轉(zhuǎn)換流程圖</p><p> 3.6.4 顯示子程序&
106、lt;/p><p> 顯示子程序采用動態(tài)掃描實(shí)現(xiàn)1602液晶顯示器的數(shù)值顯示,在采用動態(tài)掃描顯示方式時,要使得液晶顯示器顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率,當(dāng)掃描頻率在70HZ左右時,能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對液晶顯示器進(jìn)行動態(tài)掃描一次,每一位液晶顯示器的顯示時間為1ms。</p><p> 第4章 系統(tǒng)的調(diào)試</p><
107、p> 完成了系統(tǒng)的硬件設(shè)計,制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計意圖正常運(yùn)行,必須進(jìn)行系統(tǒng)調(diào)試。</p><p><b> 4.1 軟件調(diào)試</b></p><p> 軟件調(diào)試的任務(wù)是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,發(fā)現(xiàn)和糾正程序的錯誤,同時也能發(fā)現(xiàn)硬件的故障。首先單獨(dú)調(diào)試各子程序是否能夠按照預(yù)期的功能,接口電路的控制是否正常。最后調(diào)試整個程序。尤其注意
108、的是各模塊間能否正確的傳遞參數(shù)。</p><p> a.檢查液晶顯示模塊程序。在主程序中調(diào)用display()和dislay_zifu()函數(shù),觀察在1602液晶上是否能夠顯示相應(yīng)的字符。如果不能,則在相關(guān)的子程序中設(shè)計斷點(diǎn),反復(fù)調(diào)試直到能夠顯示。</p><p> b.檢查按鍵模塊程序。本設(shè)計的按鍵模塊程序是用狀態(tài)機(jī)的方法,可以在key_state1狀態(tài)下加一個任務(wù),如顯示一個字符在
109、液晶上。觀察是否正確顯示。</p><p> c.檢查A/D轉(zhuǎn)換模塊程序??梢栽谟布娐返妮斎攵溯斎胍阎膸讉€電壓,分別觀察液晶上是否顯示相應(yīng)的電壓值。</p><p> d.檢查數(shù)據(jù)的轉(zhuǎn)換模塊程序??梢园从布娐返陌存I開關(guān),輸入相應(yīng)的電壓,觀察液晶顯示的電壓值是否一致。如果一致。則數(shù)據(jù)轉(zhuǎn)換的算法正確的。</p><p> e.總調(diào)試。當(dāng)相應(yīng)的各模塊環(huán)節(jié)都正確
110、后,可程序下載到單片機(jī)。接上電源運(yùn)行。再檢查所有功能,觀察是否能預(yù)期的一樣。如果一樣,說明設(shè)計成功完成。</p><p> 本設(shè)計的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語言,用Keil軟件將程序?qū)懭雴纹瑱C(jī)。</p><p> 4.1.1 加入仿真輔助信號</p><p> 0~4v電壓測試儀的仿
111、真實(shí)現(xiàn)操作步驟如下:</p><p> 進(jìn)入Proteus ISIS集成環(huán)境。</p><p> 加入仿真輔助信號,單擊左鍵,單擊工具欄的圖標(biāo),選擇DCLOCK,在繪圖區(qū)單擊,然后輸入名稱“CLOCK”,設(shè)定時鐘頻率500KHZ,通常ADC0809的工作頻率為590KHZ。設(shè)置完成單擊“OK”.</p><p> 將設(shè)定的時鐘信號接在ADC0809的時鐘輸入端
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--直流數(shù)字電壓表的設(shè)計與實(shí)現(xiàn)
- 直流數(shù)字電壓表的設(shè)計與實(shí)現(xiàn)畢業(yè)論文開題報告
- 直流數(shù)字電壓表的設(shè)計畢業(yè)論文設(shè)計
- 直流數(shù)字電壓表的設(shè)計與實(shí)現(xiàn)畢業(yè)論文開題報告
- 畢業(yè)論文--- 智能直流數(shù)字電壓表的設(shè)計
- 智能直流數(shù)字電壓表的設(shè)計畢業(yè)論文
- 畢業(yè)論文---智能直流數(shù)字電壓表的設(shè)計
- 基于pic的直流數(shù)字電壓表設(shè)計【畢業(yè)論文】
- 基于pic的直流數(shù)字電壓表設(shè)計【畢業(yè)論文】
- 畢業(yè)論文數(shù)字電壓表設(shè)計
- 數(shù)字電壓表的設(shè)計 畢業(yè)論文
- 數(shù)字電壓表的設(shè)計【畢業(yè)論文】
- 數(shù)字電壓表畢業(yè)論文
- 直流數(shù)字電壓表畢業(yè)設(shè)計
- 簡易數(shù)字電壓表的設(shè)計畢業(yè)論文
- 數(shù)字電壓表畢業(yè)論文--基于51單片機(jī)的數(shù)字電壓表設(shè)計
- 簡易數(shù)字電壓表 畢業(yè)論文
- 基于at89s52的直流數(shù)字電壓表設(shè)計畢業(yè)論文
- 基于labview的數(shù)字電壓表設(shè)計--畢業(yè)論文
- ats直流數(shù)字電壓表設(shè)計
評論
0/150
提交評論