畢業論文直流數字電壓表的設計與實現_第1頁
畢業論文直流數字電壓表的設計與實現_第2頁
畢業論文直流數字電壓表的設計與實現_第3頁
畢業論文直流數字電壓表的設計與實現_第4頁
畢業論文直流數字電壓表的設計與實現_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、畢業設計(論文)題 目 直流數字電壓表的設計與實現 專 業 電子信息工程 班 級 電信0901 學 生 曹琳慧(20904102) 指導教師 湯曉方 高科學院 2013 年 摘 要在日常維修、教學和科研中,電壓表是不可缺少的。本課題目的就是以單片機為基礎設計出一種結構簡單、工作可靠、靈活性好的數字電壓表。本文首先介紹了數字電壓表的發展現狀及課題的目的和意義。然后,對基于單片機的數字電壓表的硬件系統、軟件系統的設計原理及具體實現方案作以詳細介紹,其中,在硬件部分,較為詳細的討論了硬件的選擇、設計原理、使用方法和功能,同時,對各部分接口電路作以介紹;在軟件部分,介紹了軟件所使用的編程語言和編程思路

2、。本文設計的數字電壓表,其硬件電路所用組件較少、成本低、調節簡單;軟件采用C語言編程,其靈活性高,可讀性強。該設計主要由三個模塊組成:A/D轉換模塊,數據處理模塊及顯示模塊。A/D轉換主要由芯片ADC0809來完成,它負責把采集到的模擬量轉換為相應的數字量在傳送到數據處理模塊。數據處理則由芯片AT89C51來完成,其負責把ADC0809傳送來的數字經過一定的數據處理,產生相應的顯示碼送到顯示模塊進行顯示;此外,它還控制著ADC0809芯片工作。經過理論研究、原理設計和整機調試,實驗結果表明,該方案可行。本次設計的電壓表所測量的直流電壓范圍為04v,要求測量電壓的誤差不超過0.1v。它以單片機A

3、T89C51為核心,主要由轉換電路將輸入的模擬量轉換為數字量的A/D轉換器ADC0809,1602液晶顯示器構成。單片機;電壓表;A/D轉換器;1602液晶顯示器ABSTRACTIn routine maintenance, teaching and research, voltage meter is indispensableFirstly,this paper introduced the development of the base on MCU digital voltage meter the purpose and significance of topic. Then in

4、details this paper described the design principle of hardware and software system some of the interface circuit have been introduced. The software part introduced the programming language and programming ideas used in codes.The digital voltage meter designed here, have less components in the hardwar

5、e part, lower cost and easier testing; software used C programming language which is high flexibility and strong readability. The circuit of the voltage meter is mainly consisted of three mould pieces: A/D converting mould piece, A/D converting is mainly completed by the ADC0809, it converts the col

6、lected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89C51 chip, it processes the data produced by the ADC0809 chip and generates the right manifestation codes, also transmits the codes to the ma

7、nifestation controlling mould piece. Also, the AT89C51 chip controls the ADC0809 chip to work. After theoretical research, principle design and debugging, the experimental results suppose it is feasible of choosing this program. This design and manufacture of digital voltmeter,th KEY WORDS: SCM; dig

8、ital voltmeter;A/D converter; 1602 liquid crystal display目 錄摘 要IABSTRACTII引 言V第1章 系統設計方案的選擇111設計方案的選擇1基于分立組件的電壓表1基于單片機系統及A/D轉換芯片的電壓表11.1.4 方案的選擇2第2章 總體設計22.1 硬件電路的設計2單片機簡介及本設計單片機的選擇2常用單片機的特點比較及本設計單片機的選擇3本設計使用的單片機的簡介32.2顯示器件的介紹和選擇6常用顯示器件簡介62.2.2 1602液晶的參數資料72.3模數(A/D)轉換芯片的選擇92.3.1 常用的A/D芯片簡介9模數(A/D)芯

9、片ADC0809的資料102.3.3 ADC0809工作過程132.3.4 ADC0809與單片機的接口14主要元器件介紹17第3章 電路設計203.1 技術要求203.2 設計方案203.3 硬件電路系統模塊的設計20單片機系統213.3.2 A/D轉換芯片與單片機的連接213.3.3 1602液晶與單片機連接213.4 按鍵控制電路的設計213.5系統電路的設計233.6 系統軟件的設計24主程序的設計253.6.2 初始化程序253.6.3 A/D轉換子程序253.6.4 顯示子程序26第4章 系統的調試274.1 軟件調試274.1.1 加入仿真輔助信號274.1.2 加載程序284.

10、2 顯示結果及誤差分析284.2.1 顯示結果284.2.2 誤差分析294.3 系統調試中遇到的問題及解決的方法30第5章 結論31致 謝32附件一:參考文獻:33附件二:電路總圖:34附件三:源程序:35引 言 數字電壓表出現在50年代初,60年代末發起來的電壓測量儀表,簡稱DVM,它采用的是數字化測量技術,把連續的模擬量,也就是連續的電壓值轉變為不連續的數字量,加以數字處理然后再通過顯示器件顯示。這種電子測量的儀表之所以出現,一方面是由于電子計算機的應用逐漸推廣到系統的自動控制信實驗研究的領域,提出了將各種被觀察量或被控制量轉換成數碼的要求,即為了實時控制及數據處理的需要;另一方面,也是

11、電子計算機的發展,帶動了脈沖數字電路技術的進步,為數字化儀表的出現提供了條件。所以,數字化測量儀表的產生與發展與電子計算機的發展是密切相關的;同時,為革新電子測量中的煩鎖和陳舊方式也催促了它的飛速發展,如今,它又成為向智能化儀表發展的必要橋梁。如今,數字電壓表已絕大部分已取代了傳統的模擬指針式電壓表。因為傳統的模擬指針式電壓表功能單一,精度低,讀數的時候也非常不方便,很容易出錯。而采用單片機的數字電壓表由于測量精度高,速度快,讀數時也非常的方便,抗干擾能力強,可擴展性強等優點已被廣泛的應用于電子及電工的測量,工業自動化儀表,自動測試系統等智能化測量領域。顯示出強大的生命力。數字電壓表最初是伺服

12、步進電子管比較式,其優點是準確度比較高,但是采樣速度慢,重量達幾十公斤,體積大。繼之出現了諧波式電壓表,它的速度方面稍有提高,但是準確度低,穩定性差,再后來出現了比較式儀表改進逐次漸近式結構,它不僅保持了比較式準確度高的優點,而且速度也有了很大的提高,但它有一缺點是抗干擾能力差,很容易受到外界各種因素的影響。隨后,在諧波式的基礎上雙引伸出階梯波式,它的唯一的進步是成本降低了,可是準確寬,速以及抗干擾能力都未能提高。而現在,數字電壓表的發展已經是非常的成熟,就原理來講,它從原來的一,二種已發展到多種,在功能上講,則從測量一參數發展到能測多種參數;從制作組件來看,發展到了集成電路,準確度已經有了很

13、大的提高,精度高達1NV;讀數每秒幾萬次,而相對以前,它的價格也有了降低了很多。目前實現電壓數字化測量的方法仍然模-數(A/D)轉換的方法。轉換的精度很大程度上影響著數字電壓表的準確度,因而,以后數字電壓表的發展就著眼在高精度和低成本這兩個方面。而數字電壓表種類繁多,型號新異,目前國際仍未有統一的分類方法。而常用的分類方法有如下幾種:按用途來分:有直流數字電壓表,交、直流數字電壓表,交直流萬用表等。按顯示位數來分:有4位,5位,6位,7位,8位等。按測量速度來分:有低準確度,中準確度,高準確度等。按測量速度來分:有低速,中速,高速,超高速等。但在日常生活中,數字電壓表一般是按照原理不同進行分類

14、的,目前大致分為以下幾類:比較式,電壓時間變換式,積分式等。在電量的測量中,電壓、電流和頻率是最基本的三個被測量。其中,電壓量的測量最為經常。而且隨著電子技術的發展,更是經常需要測量高精度的電壓,所以數字電壓表就成為一種必不可少的測量儀器。另外,由于數字式儀器具有讀數準確方便、精度高、誤差小、靈敏度高和分辨率高、測量速度快等特點而倍受用戶青睞,數字式電壓表就是基于這種需求而發展起來的,是一種必不可少的電子測量儀表。本文是以簡易數字直流電壓表的設計為研究內容,本系統主要包括三大模塊:轉換模塊、數據處理模塊及顯示模塊。其中,A/D轉換采用ADC0809對輸入的模擬信號進行轉換,控制核心AT89C5

15、1再對轉換的結果進行運算處理,最后驅動輸出裝置LED顯示數字電壓信號。第1章 系統設計方案的選擇11設計方案的選擇 設計數字電壓表有多種的設計方法,方案是多種多樣的,由于大規模集成電路數字芯片的高速發展,各種數字芯片品種多樣,導致對模擬數據的采集部分的不一致性,進而又使對數據的處理及顯示的方式的多樣性。又由于在現實的工作生活中,電壓表的測量測程范圍是比較大的,所以必須要對輸入電壓作分壓處理,而各個數據處理芯片的處理電壓范圍不同,則各種方案的分段也不同。下面介紹兩種數字電壓表的設計方案。基于分立組件的電壓表 這種設計方案是由模擬電路與數字電路兩大部分組成,模擬部分包括輸入放大器、A/D轉換器和基

16、準電壓源;數字部分包括計數器、譯碼器、邏輯控制器、振蕩器和顯示器。其中,A/D轉換器是它的核心器件,它將輸入的模擬量轉換成數字量。模擬電路和數字電路是相互聯系的,由邏輯控制電路產生控制信號,按規定的時序將A/D轉換器中個組模擬開關接通或斷開,保證A/D轉換正常進行。A/D轉換結果通過計數譯碼電路變換成段碼,最后驅動顯示器顯示出相應的數值。此方案設計其優點是,設計成本低,能夠滿足一般的電壓測量。但設計不靈活,都是采用純硬件電路。很難將其在原有的基礎上進行擴展。1.1.3基于單片機系統及A/D轉換芯片的電壓表這種方案是利用單片機系統與模數轉換芯片、顯示模塊等的結合構建數字電壓表。由于單片機的發展已

17、經成熟,利用單片機系統的軟硬件結合,可以組裝出許多的應用電路來。此方案的原理是模數(A/D)轉換芯片的基準電壓端,被測量電壓輸入端分別輸入基準電壓和被測電壓。模數(A/D)轉換芯片將被測量電壓輸入端所采集到的模擬電壓信號轉換成相應的數字信號,然后通過對單片機系統進行軟件編程,使單片機系統能按規定的時序來采集這些數字信號,通過一定的算法計算出被測量電壓的值。最后單片機系統將計算好了的被測電壓值按一定的時序送入顯示電路模塊加以顯示。1.1.4 方案的選擇綜上所述,根據以上兩種設計方案各方面優點及其在所設計電壓表中的實用性,我們選擇第二種電壓表設計方案,即由單片機系統及數字芯片構建的方法來我們本次設

18、計。第二種方案不僅能夠繼承上一種方案的各種優點,還能改進上一種設計方案設計的不靈活和難于在原基礎上進行功能擴展等不足。第2章 總體設計2.1 硬件電路的設計設計思路:(1)根據設計要求,選擇AT89C51單片機為核心控制器件。(2)A/D轉換采用ADC0809實現。(3)電壓顯示采用1602液晶顯示器。2.1.1單片機簡介及本設計單片機的選擇目前,單片機的種類很繁多,主要有主流的8位單片機和高性能的32位單片機。結合本設計各方面因素,對于本設計8位單片機已經是綽綽有余了,但用哪一種類8的單片機呢?在這里,先簡單的介紹一下幾種常用的8位單片機。2.1.1.1常用單片機的特點比較及本設計單片機的選

19、擇單片機是指一個集成在一塊芯片上的完整計算機系統,具有一個完整計算機所需要的大部分部件:CPU,內存,總線系統等。而目前常用的單片機的8位有51系列單片機,AVR單片機,PIC單片機。應用最廣的8位單片機還是intel的51系列單片機。51系列單片機的特點是:硬件結構合理,指令系統規范,加之生產歷史悠久,世界有許多芯片公司都買了51的芯片核心專利技術,并在其基礎上擴充其性能,使得芯片的運行速度變得更快,性價比更高。AVR單片機是atmel公司推出較新的單片機,它的顯著特點是:高性能,低功能,高速度,指令單周期為主,但性格方面比51單片機要高。有專門的I/O方向寄存器。雖然有轉強的驅動電壓,但I

20、/O口使用沒51單片機方便。PIC單片機系列是美國微芯公司的產品,也是市面上增長最快的單片機之一,屬精簡指令集單片機,其特點是:高速度,高性能,但在性格方面比51單片機要高,也有專門的I/O方向寄存器,I/O口使用不比51單片機方便。綜合以上各種單片機的基本性能及本設計的滿足需要,我們將選擇51系列單片機。2.1.1.2本設計使用的單片機的簡介本設計中選用是51系列的AT89C51,它是低電壓、低功耗、高性能的CMOS8位單片機,片內含4KB的可反復擦寫的只讀程序存儲器和128B的隨機存取數據存儲器,32個I/O口線,片內振蕩器及時鐘電路,并與MCS-51系列單片機兼容。在設計中,單片機起著連

21、接硬件電路與程序運行及存儲數據的任務,一方面,它將A/D轉換器、顯示器等通過I/O口地址線和數據線連接起來;另一方面,它將用戶下載的程序通過控制總線控制數據的輸入輸出,從而實現冊電壓的功能。圖 2.1 AT89C51單片機內部結構框圖從內部結構圖框圖上可以看出AT89C51單片機包括一下資源:(1) 一個8位的CPU;(2) 一個片內振蕩器及時鐘電路;(3) 4KB的FlashROM;(4) 128的內部RAM;(5) 可擴展64KB外部ROM和外部RAM的控制電路;(6) 2個16位的定時/計數器;(7) 26個特殊功能寄存器;(8) 4個8位的并行口;(9) 一個全雙工的串行口;(10)

22、5個中斷源,2個外部中斷,3內部中斷;(11) 內部硬件看門狗電路;(12) 一個SPI串行接口,用于芯片的在系統編程。AT89C51單片機有四十個引腳,引腳可分為四類:電源,地,時鐘,控制和I/O口。管腳說明:  Vcc:供電電壓。 GND:接地。     P0口:P0口為一個8位雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。  &#

23、160;  P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高

24、八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。    P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。    RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允

25、許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。    PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取址期間,每個機器周期兩次/PSEN有效。但在訪問外部數據

26、存儲器時,這兩次有效的/PSEN信號將不出現。    /EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。    XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。    XTAL2:來自反向振蕩器的輸出。振蕩器特性:     XTAL1和XTAL2分

27、別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.2顯示器件的介紹和選擇本次設計中有顯示模塊,而常用的顯示器件比較多,有數碼管,LED點陣,1602液晶,12864液晶等。2.2.1常用顯示器件簡介數碼管是最常用的一種顯示器件,它是由幾個發光二極管組成的8字段顯示器件,其特點是價格非常的便宜,使用也非常的方便,顯示效果非常的清楚。小電流下可以驅動每光,發光響應時間極短,體積小,重量輕,抗沖擊

28、性能好,壽命長。但數碼管只能是顯示09的數據。不能夠顯示字符。這也是數碼管的不足之處。LED點陣顯示器件是由好多個發光二極管組成的。具有高亮度,功耗低,視角大,壽命長,耐濕,冷,熱等特點,LED點陣顯示器件可以顯示數字,英文字符,中文字符等。但用LED點陣顯示的軟件程序設計比較麻煩。1602液晶是工業字符型液晶,能夠同時顯示16*2即32個字符。1602液晶模塊內部的字符發生存儲器已經存儲了160個不同的點陣字符圖形,這些字這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼。使用時直接編寫軟件程序按一定的時序驅動即可。它的特點是顯示字跡清楚,價格相

29、對便宜。12864液晶也是一種工業字符型液晶,它不僅能夠顯示1602液晶所可以顯示的字符,數字等信息,而且還可以顯示8*4個中文漢字和一些簡單的圖片,顯示信息也非常的清楚。使用時也直接編寫軟件程序按一定的時序驅動即可。不過它的價格比1602液晶貴了很多。在本設計中,我們只需要顯示最后電壓的數字值和電壓的單位,綜合上面各種顯示器件的特點:數碼管只能顯示數字,不能顯示單位字符,不符合本設計的要求。而點陣顯示器件驅動顯示軟件程序編寫麻煩,占用的引腳相對也較多。也不是理解的顯示器件。所以在本設計中,我們考慮用液晶顯示器件,雖然12864液晶比1602液晶的功能強,不過在價格方面卻貴了好多。而1602液

30、晶也足夠滿足本設計的需要。因此,在本設計實驗我們選擇1602液晶顯示器件。2.2.2 1602液晶的參數資料我們選擇了1602液晶做為本設計的顯示模塊的顯示器件。以下是1602液晶的各方面參數:編號符號引腳說明1VSS電源地2VDD電源正極3VL液晶顯示偏壓信號4RS數據/命令選擇端5R/W讀/寫選擇端6E使能信號8-14D0-D7Data I/O15BLA背光源正極16BLK背光源負極表2. 1 接口信號說明(1)基本操作時序:讀狀態:輸入:RS=0,RW=1,E=1。輸出:D0-D7為狀態字寫狀態:輸入:RS=0,RW=0,D0-D7為指令碼,E為高脈沖。輸出:無讀數據:輸入:RS=1,R

31、W=1,E=1。輸出:D0-D7為數據。寫數據:輸入:RS=1,RW=0,D0-D7為數據,E為高脈沖。輸出:無STA7STA6STA5STA4STA3STA2STA1STA0STA0-6當前數據地址指針的數值STA7讀寫操作使能1:禁止 0:允許表2. 2 狀態字說明指令碼功能00111000設置16*2顯示,5*7點陣,8位數據口表2.3 顯示開/關及光標設置 指令碼 功能00001DCBD=1開顯示;D=0關顯示C=1顯示光標;C=0不顯示關標B=1光標閃爍;B=0光標不顯閃爍000001NSN=1當讀寫一個字條款后地址指針加一,且光標加一。N=0當讀或寫一個字符后地址指針減一,且光標減

32、一。S=1當寫一個安條款,整屏顯示左移(N=1)或右移(N=0),以得到光標不移動而屏幕移動的效果。S=0當寫一個字符,整屏顯示不移動。表2.4 指令的說明 指令碼功能00111000設置16*2顯示,5*7點陣,8位數據口表2.5 顯示開/關及光標設置 指令碼 功能00001DCBD=1開顯示;D=0關顯示C=1顯示光標;C=0不顯示關標B=1光標閃爍;B=0光標不顯閃爍000001NSN=1當讀寫一個字條款后地址指針加一,且光標加一。N=0當讀或寫一個字符后地址指針減一,且光標減一。S=1當寫一個安條款,整屏顯示左移(N=1)或右移(N=0),以得到光標不移動而屏幕移動的效果。S=0當寫一

33、個字符,整屏顯示不移動。表2.6顯示模式設置 指令碼 功能80H+地址碼(0-27H,40H-67H)設置數據地址指針01H顯示清屏:1,數據指針清0 2,所有顯示清002H顯示回車:數據指針清0表2.7 數據控制2.3模數(A/D)轉換芯片的選擇在本設計中,模數(A/D)轉換模塊是一個重要的模塊,它關系到最后數電壓表電壓值的精確度。所以,A/D芯片的選擇是設計過程中一個很重要的環節。2.3.1 常用的A/D芯片簡介常用的A/D芯片有AD0809,AD0832,TLC2543C等幾種。下面簡單介紹一下這三種芯片。AD0809是8位逐次逼近型A/D轉換器,它是由一個8路的模擬開關、一個地址鎖存譯

34、碼器、一個A/D 轉換器和一個三態輸出鎖存器組成。多路開關可選通8個模擬通道,允許8 路模擬量分時輸入,共享A/D 轉換器進行轉換。些A/D轉換器是的特點是8位精度,屬于并行口,如果輸入的模擬量變化大快,必須在輸入之前增加采樣電路。AD0832也是8位逐次逼近型A/D轉換器,可支持致命傷個單端輸入通道和一個差分輸入通道。它易于和微處理器接口或獨立使用;可滿量程工作;可用地址邏輯多路器選通各輸入通道。TLC2543C是12位開關電容逐次逼近A/D轉換,每個器件有三個控制輸入端,片選,輸入/輸出時鐘以及地址輸入端。它可以從主機高速傳輸轉換數據。它有高速的轉換,通用的控制能力,具有簡化比率轉換,刻度

35、以及模擬電路與邏輯電路和電源噪聲隔離,耐高溫等特點。綜合上述幾種A/D轉換芯片的特點,在本設計中,我們設計的是簡易數字電壓表,因此在此,我們選擇精度為8位的ADC0809芯片。2.3.2模數(A/D)芯片ADC0809的資料綜合本設計的各方面考慮,我們選了ADC0809模數轉換芯片。下面就介紹此芯片的各方面資料。(1)圖2.2 (2)IN0IN7:8路模擬量輸入端。D7D0:8位數字量輸出端。A、B、C:3位地址輸入線,用于選通8路模擬輸入中的一路。ALE:地址鎖存允許信號,輸入,高電平有效。 START: A/D轉換啟動信號,輸入,高電平有效。 EOC: A/D轉換結束信號,輸出,當A/D轉

36、換結束時,此端輸出一 個高電平(轉換期間一直為低電平)。 OE:數據輸出允許信號,輸入,高電平有效。當A/D轉換結束時,此端輸入一個高電平,才能打開輸出三態門,輸出數字量。CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 REF(+)、REF(-):基準電壓。 Vcc:電源,單一5V。 GND:地。2.3.3 ADC0809工作過程圖2.4 ADC0809的時序圖2.3.4 ADC0809與單片機的接口通常芯片的地址線只能進不能出自不必說,ADC0809的數據線有一特點:只能出不能進。就是說,就像往SBUF寫入時寫到發送緩沖寄存器,從SBUF當51單片機沒有外擴RAM和I/O口時,AD

37、C0809就可以在概念上作為一個特殊的唯一的外擴RAM單元。因為它是唯一的,就沒有地址編號,也就不需要任何地址線或者地址譯碼線。只要單片機往外部RAM寫入,就是寫到ADC0809的地址寄存器中。只要單片機從外部RAN讀取數據,就是讀取ADC0809的轉換結果。 編程概要:MOV A,#0F8H;ADC0809信道0地址送到A MOVX R0,A;鎖定通道0并啟動轉換 MOVX A,R0 ;其中間寄存器R0中的數據無論在啟動ADC0809還是在讀取轉換結果時都沒有任何意義,因此事先不必考慮往R0中送入什么數據。這是本程序的一大特點。三種連接方式的綜合比較:第一種和第二種連接方式允許多片ADC08

38、09與單片機連接,第三種連接方式只能連接一片。通常1片8通道ADC0809就能滿足控制工程需要。因此在單片機沒有外擴RAM和I/O接口時,第三種連接方式時一種優選方案。需要2片或更多ADC0809時,第二種連接方式時一種優選方案。第一種連接方式需要一片74LS373做地址鎖存器。如果單片機系統已經有一片73LS373地址鎖存器,那么第一種連接方式也不失為一種可以考慮的連接方式。2.3.5主要元器件介紹圖2.5ADC0809實物圖圖2.6 ADC0809的內部邏輯結構及引腳圖  C(ADDC)B(ADDB)A(ADDA)選擇的通道(注意:ALE信號常與START信號連在一起,

39、這樣連接可以在信號的前沿寫入地址信號,在其后沿啟動A/D轉換,圖2.7為ADC0809信號的時序配合圖)。 ADC0809信號的時序配合第3章 電路設計3.1 技術要求(1)以51系列單片機為核心器件,組成一個簡單的直流數字電壓表。(2)最高量程為:4v。電壓顯示用1602液晶顯示器顯示,至少能夠顯示兩位小數。盡量使用較少的元器件。3.2 設計方案根據上述,我們選擇單片機與A/D轉換芯片結合的方法實現本設計。使用的基本元器件是:AT89C51單片機,ADC0809模數轉換芯片,1602液晶顯示器,開關,按鍵,電容,電阻,晶振,標準電源等等。設計的基本框圖如下:圖3.1 設計的基本框圖3.3 硬

40、件電路系統模塊的設計系統電路圖的繪制和仿真我用的是Proteus軟件。單片機系統單片機最小系統包括晶振電路,復位電路,電源。其原理圖如下: 圖3.2 復位電路此模塊中,單片機的晶振是12MHZ,C1和C2的電容是22pf,C3可選10UF。R1電阻為1K。3.3.2 A/D轉換芯片與單片機的連接此設計中選擇的是A/D轉換芯片的信道1、信道2、 信道3,數據輸出口連接單片機的P0口,脈沖端連接單片機的ale口。模塊連接如下圖3.3所示。3.3.3 1602液晶與單片機連接此模塊液晶的RS和E端分別連接單片機的P3.0和P3.1口;液晶的數據各端口連接單片機的P1口。具體如下圖3.4所示。3.4

41、按鍵控制電路的設計三個通道鍵盤的三端分別與單片機的P3.4、P3.5、P3.6口連接,另一端接地。原理圖如圖3.5所示。鍵盤的功能:可根據所測的電壓范圍,通過按鍵來切換通道。 圖3.3 A/D轉換芯片與單片機的連接圖3.4 1602液晶與單片機連接圖3.5 按鍵控制電路3.5系統電路的設計此電路的工作原理是:+5V模擬電壓信號通過變阻器VR1分壓后由ADC0809的IN0通道進入(由于使用的IN0通道,所以ADDA,ADDB,ADDC都接低電平),經過模/數轉換后,產生相應的數據經過其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負責把接收到的數據經過數據處理,產生正確的顯

42、示段碼傳送給1602液晶顯示器,同時它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產生位選信號控制數碼管的亮滅。此外,AT89C51還控制ADC0809的工作。其中,單片機AT89C51通過定時器中斷從P2.4輸出方波,接到ADC0809的CLOCK,P2.6發正脈沖啟動A/D轉換,P2.5檢測A/D轉換是否完成,轉換完成后,P2.7置高從P1口讀取轉換結果送給LED顯示出來。簡易數字直流電壓表的硬件電路已經設計完成,就可以選取相應的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細地檢查修改,直至形成完善的硬件原理圖。但要真正實現電路對電壓的測量和顯示的功能,還需要有

43、相應的軟件配合,才能達到設計要求。圖3.6 總電路圖3.6 系統軟件的設計本設計是硬件電路和軟件編程相結合的設計方案,選擇合適的編程語言是一個重要的環節。在單片機的應用系統程序設計時,常用的是匯編語言和C語言。匯編語言的特點是占用內存單元少,執行效率高。執行速度快。但它依賴于計算機硬件,程序可讀性和可移植性比較差。而C語言雖然執行效率沒有匯編語言高,但語言簡潔,使用方便,靈活,運算豐富,表達化類型多樣化,數據結構類型豐富,具有結構化的控制語句,程序設計自由度大,有很好的可重用性,可移植性等特點。由于現在單片機的發展已經達到了很高的水平,內部的各種資源相當的豐富,CPU的處理速度非常的快。用C語

44、言來控制單片機無疑是一個理想的選擇。所以在本設計中采用C語言編寫軟件程序。3.6.1主程序的設計根據模塊的劃分原則,將該程序劃分初始化模塊,A/D轉換子程序和顯示子程序,這三個程序模塊構成了整個系統軟件的主程序,如圖3.7所示: 開始初始化調用A/D轉換子程序調用顯示子程序結束圖3.7 數字式直流電壓表主程序框圖3.6.2 初始化程序謂初始化,是對將要用到的51系列單片機內部部件或擴展芯片進行初始工作狀態設定,初始化子程序的主要工作是設置定時器的工作模式,初值預置,開中斷和打開定時器等。3.6.3 A/D轉換子程序A/D轉換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數值存入相應的

45、內存單元,其轉換流程圖如圖3.8所示:開始啟動轉換A/D轉換輸出轉換結果數值轉換顯示結束圖3.8 A/D轉換流程圖3.6.4 顯示子程序顯示子程序采用動態掃描實現1602液晶顯示器的數值顯示,在采用動態掃描顯示方式時,要使得液晶顯示器顯示的比較均勻,又有足夠的亮度,需要設置適當的掃描頻率,當掃描頻率在70HZ左右時,能夠產生比較好的顯示效果,一般可以采用間隔10ms對液晶顯示器進行動態掃描一次,每一位液晶顯示器的顯示時間為1ms。第4章 系統的調試完成了系統的硬件設計,制作和軟件編程之后,要使系統能夠按設計意圖正常運行,必須進行系統調試。 4.1 軟件調試軟件調試的任務是利用開發工具進行在線仿

46、真調試,發現和糾正程序的錯誤,同時也能發現硬件的故障。首先單獨調試各子程序是否能夠按照預期的功能,接口電路的控制是否正常。最后調試整個程序。尤其注意的是各模塊間能否正確的傳遞參數。a.檢查液晶顯示模塊程序。在主程序中調用display()和dislay_zifu()函數,觀察在1602液晶上是否能夠顯示相應的字符。如果不能,則在相關的子程序中設計斷點,反復調試直到能夠顯示。b.檢查按鍵模塊程序。本設計的按鍵模塊程序是用狀態機的方法,可以在key_state1狀態下加一個任務,如顯示一個字符在液晶上。觀察是否正確顯示。c.檢查A/D轉換模塊程序。可以在硬件電路的輸入端輸入已知的幾個電壓,分別觀察

47、液晶上是否顯示相應的電壓值。d.檢查數據的轉換模塊程序。可以按硬件電路的按鍵開關,輸入相應的電壓,觀察液晶顯示的電壓值是否一致。如果一致。則數據轉換的算法正確的。e.總調試。當相應的各模塊環節都正確后,可程序下載到單片機。接上電源運行。再檢查所有功能,觀察是否能預期的一樣。如果一樣,說明設計成功完成。本設計的調試主要以軟件為主,其中,系統電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語言,用Keil軟件將程序寫入單片機。4.1.1 加入仿真輔助信號04v電壓測試儀的仿真實現操作步驟如下:進入Proteus ISIS集成環境。加入仿真輔助信號,單擊左鍵,單擊工具欄的圖標

48、,選擇DCLOCK,在繪圖區單擊,然后輸入名稱“CLOCK”,設定時鐘頻率500KHZ,通常ADC0809的工作頻率為590KHZ。設置完成單擊“OK”. 將設定的時鐘信號接在ADC0809的時鐘輸入端CLOCK上,為ADC0809仿真時提供工作時鐘。 為了能夠更好地觀察模擬的電壓量與數字量之間的關系,選擇數字直流電壓表放在電阻的兩端,觀察7號通道的輸入量的值。選擇工具欄中的某圖標,選擇“DC VOLTMETER”(數字電壓表),加入到繪圖區。連線并加上需要的說明,完成A/D轉換仿真電路。 仔細觀察會發現,仿真所畫的電路原理圖與前面描述的04v電壓測試儀的項目電路有區別,原項目中描述的電路原理

49、圖采用I/O端口控制的方式,其相應程序在實際應用中調試通過。 ADC0809的仿真器件要求嚴格的控制信號,即ALE的上升沿,讀入要轉換的通道號,在STSRT的上升沿ADC0809內部清零,在STSRT的下降沿啟動A/D轉換,OE為高電平時輸出轉換好數字信號。 這時采用總線方式控制,利用MOVX指令產生/RD,/WR信號產生信號的上升沿和下降沿。據此源程序也有所修改。4.1.2 加載程序加載程序。首先要校對零點,將A/D轉換器的模擬輸入端口接地,讓電壓為0V,此時可以調整RV1的值,直至,直至顯示電壓為0V時為止,校準零點之后,就可以進行調試了。單擊仿真鍵,觀察仿真結果,調節可調用電阻RV1,觀

50、察電壓表及顯示值。4.2 顯示結果及誤差分析 顯示結果1. 當IN0口輸入電壓值為0V時,顯示結果如圖4.1所示,測量誤差為0V。圖4.1 輸入電壓為0v時的顯示結果2.當IN0輸入電壓值為1.50V時,顯示結果如圖4.2所示。測量誤差為0.01V。圖4.2 輸入電壓為1.50V時的顯示結果3. 當IN0口輸入電壓值為3.50V時,顯示結果如圖4.3。測量誤差為0.01V。圖4.3 輸入電壓為3.50V時的顯示結果 誤差分析通過以上仿真測量結果可得到簡易數字電壓表與“標準”數字電壓表對比測試表,如下表4.1所示:表4.1 簡易數字電壓表與“標準”數字電壓表對比測試表標準電壓值/V簡易電壓表測量

51、值/V絕對誤差/V0.000.000.000.500.510.011.001.010.011.501.510.012.002.010.012.502.500.003.003.010.013.503.500.004.004.010.01從上表可看到,測試電壓一般以0.01v的幅度變化。 從上表可以看出,簡易數字電壓表測得的值基本上比標準電壓值偏大0-0.01v,這可以通過校正ADC0809的基準電壓來解決。因為該電壓表設計時直接用4v的供電電源作為電壓,所以電壓可能有偏差。當要測量大于4v的電壓時,可在輸入口使用分壓電阻,而程序中只要將計算程序的除數進行調整就可以了。4.3 系統調試中遇到的問題

52、及解決的方法a.實驗初期,我們選用的是三極管作為數碼管的驅動組件,但是在測試過程中發現數碼管顯示不穩定,發生頻閃現象,而且亮度不夠。換用了74HC245芯片作為驅動組件,解決了上述問題。 b.在應用濾波電容的過程中,一開始是把電容串聯在電路中,導致電路無法導通,而后我們短路電容,解決了問題。 c.電源指示燈上,一開始發現接上電源,指示燈不亮,發現正負極接反,后重新接,問題解決。 d.由于源程序的多處錯誤,使得仿真無法通過,后經過單步調試,把存在的錯誤一一排除,通過了軟件仿真。第5章 結論通過本次課題設計,我對單片機這門課程有了更進一步的了解。無論是在其硬件連接方面還是在軟件編程方面,都取得了新

53、的收獲。本次實驗采用了AT89C51單片機芯片,通過本次實驗及查閱相關資料,我對其有了一定的認識,在本課題設計報告的硬件介紹部分也對其作了詳細的論述。在對單片機編程方面,我掌握了一些新的編程思想,使得程序更為簡練、易懂,而且更為嚴謹,程序執行的穩定性得到了提高。 實驗中我還用到了模/數轉換芯片ADC0809,以前在學單片機這門課程時只是對其理論知識有了初步的了解。通過本次實驗,我對它的工作原理進一步的理解了,對其啟動設置、轉換結束判斷以及輸出控制等都基本掌握。在仿真方面有了更為直觀的認識,通過實驗的摸索以及必要的理論知識,我準確的調試成功。 通過本次設計,對我的動手能力有很大的幫助,今后要多多練習,以提高自

溫馨提示

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

評論

0/150

提交評論