基于單片機的直流數字電壓表畢業(yè)論文(設計_第1頁
基于單片機的直流數字電壓表畢業(yè)論文(設計_第2頁
基于單片機的直流數字電壓表畢業(yè)論文(設計_第3頁
基于單片機的直流數字電壓表畢業(yè)論文(設計_第4頁
基于單片機的直流數字電壓表畢業(yè)論文(設計_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河北大學工商學院裝訂線 本科生畢業(yè)論文(設計) 題目: 基于單片機的直流數字電壓表 學 部 信息科學與工程學部 學科門類 工學 專 業(yè) 電氣工程及其自動化 學 號 姓 名 牛傳貝 指導教師 李梅 2012年5月21日基于單片機的直流數字電壓表摘要本文介紹一種基于AT89C51單片機為主要控制器件,采用ADC0809高精度、逐次逼近式A/D轉換器的8路直流式數字電壓表。主要包括硬件電路設計和軟件設計兩部分。硬件電路主要由四個模塊組成:通路選擇模塊、A/D轉換模塊、數據處理模塊以及顯示模塊。通路選擇模塊主要由按鍵選擇電路組成,負責8路模擬通道的選擇。A/D轉換模塊采用ADC0809完成,負責把采集

2、到的模擬量轉換為相應的數字量再傳送到數據處理模塊。數據處理模塊則由AT89C51完成,其對ADC0809傳送來的數字量進行一定的數據處理,產生相應的顯示碼送到顯示模塊進行顯示,并負責控制ADC0809和讀取按鍵的工作。輸出顯示模塊采用4位一體的7段LED數碼管,負責將所選通道數以及該通道電壓值顯示在數碼管上。軟件設計部分主要包括主程序以及初始化程序,按鍵讀取程序,中斷程序,顯示程序等幾個子程序模塊。通過按鍵的選擇,該數字電壓表可以測量8路模擬電壓值,在多點巡回檢測和過程控制、運動控制中應用十分廣泛。關鍵詞:單片機;數字電壓表;A/D轉換;ADC0809Design of DC Digital

3、Voltmeter Based on Single-chip MicrocontrollerAbstractThis paper introduces a kind of new method about DC digital voltmeter which takes the Micro Controller Unit AT89C51 as the primary control component and uses the high-precision, successive approximation A/D converter ADC0809. It mainly included h

4、ardware circuit design and software design. The hardware circuit is mainly composed by four modules: path selection module, A/D conversion module, data processing module and display module. Channel selection module composed of a key selection circuit, which is used for the selection of 8 analog chan

5、nels. A/D conversion module uses ADC0809 to finish. It puts the analog conversion for the digital quantity, and then the result is transmitted to the data processing module. The data processing module is completed by the AT89C51. On one hand, the ADC0809 sends the digital quantity to certain data pr

6、ocessing to produce a corresponding display codes which are sent to the display module for the show of voltage. On the other hand the AT89C51 is responsible for the control of ADC0809 and reading the key. Output display module is composed of a LED digital tube, which is used for displaying the selec

7、ted channel and the voltage value of this channel. While the software system consists of main procedure, initialization procedure, key reading program, interrupt program, display program and subroutine module. This digital voltmeter can measure the voltage value of 8 ways by the choice of a key. It

8、is widely used in the multi-circuit detection and process control, motion control.Key words: Single-chip microcontroller; Digital voltmeter; A/D converter; ADC0809目錄1前言12總體設計22.1系統(tǒng)設計任務22.2系統(tǒng)總體設計思路23硬件電路設計33.1A/D轉換模塊設計33.2數據處理模塊簡介53.3輸出顯示模塊83.4按鍵選擇電路94系統(tǒng)軟件程序設計104.1主程序104.2初始化程序104.3A/D轉換子程序104.4LED顯示

9、子程序114.5中斷按鍵查詢程序125仿真電路設計145.1仿真環(huán)境簡介145.2仿真設計結構與思路145.3仿真電路測試與性能分析156系統(tǒng)設計的實現186.1開發(fā)環(huán)境簡介186.2原理圖設計186.3印刷電路板設計196.4系統(tǒng)的安裝與調試216.5實際電路測試與性能分析217結論23參考文獻24致謝25附錄261前言在現代測量技術中電壓測量有著非常重要的意義。不論是在科學研究還是生產生活中,我們都離不開電壓測量。電壓、電流、功率是電氣測量的三個基本參數,而電流和功率的測量通常又需要借助電壓測量來轉換得到1。即使是很多非電測量,如質量、壓力、溫度、速度等的測量,往往也需要轉換為電壓的測量。

10、作為電測量和非電測量的基礎,電壓測量技術一直備受關注。數字式電壓表(Digital Voltmeter)簡稱DVM,是指把被測電壓的數值通過數字技術變換成數字量,然后用數碼管以十進制數字顯示被測量電壓值。數字電壓表最早由美國NLS公司研制成功。高速數字信號處理的需求對電壓測量提出了更高的要求,傳統(tǒng)的模擬電壓表已經不能滿足其要求。現代數字電壓表具有更高的分辨率,更快的響應速度,更精湛的制造工藝,這些往往是模擬電壓表所不能比擬的。在抗電磁干擾、可擴展性和可集成性上數字式電壓表也有很大的優(yōu)越性,現代生產生活中,數字式電壓表正在不斷的取代模擬指針式電壓表。目前,數字式電壓表已經廣泛應用于電力電子測量、

11、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領域,并顯示出強大的生命力。因此,對于數字電壓表的研究具有重要的現實意義。本設計主要研究以51系列單片機為核心的電壓測量系統(tǒng),通過對ADC0809進行控制將模擬量轉換為數字量,并加以顯示。通過按鍵的選擇可以實現一個電壓表測量多路電壓的目的,大大節(jié)省了資源,在多點巡回檢測和過程控制、運動控制中應用十分廣泛。2總體設計2.1系統(tǒng)設計任務(1) 可以測量8路0-5V范圍的直流輸入電壓值;(2) 通過按鍵選擇模擬量輸入通道;(3) 測量結果顯示在4位7段LED數碼管上,測量結果包括通道數以及該通道測量的電壓值,其中1位LED數碼管顯示通道數,3位LED數碼管顯示

12、電壓值;2.2系統(tǒng)總體設計思路根據設計要求,選擇AT89C51單片機作為核心控制器。A/D轉換器采用ADC0809完成,ADC0809的數字量輸出端與單片機的接口為P0。為了方便布線,本設計采用4位一體7段LED數碼管進行顯示,高1位顯示通道數,低3位顯示該通道的電壓值。單片機在沒有外接存儲器的情況下,ALE產生振蕩頻率為1/6晶振頻率的方波。因此,本設計中ADC0809的CLK由單片機的ALE經過7474四分頻后得到500kHz的方波。首先通過按鍵選擇8路模擬通道中的一路,將模擬電壓送入ADC0809,ADC0809將采集來的模擬信號轉換為數字信號,然后傳給單片機。單片機將轉換后的結果保存到

13、片內存儲區(qū),并對數據進行處理轉換為LED數碼管顯示所需要的數據,最后將結果以十進制形式顯示在LED數碼管上??傮w系統(tǒng)框圖如圖2-1所示。模擬信號ADC0809單片機數碼管顯示通道選擇模塊圖2-1系統(tǒng)框圖硬件電路設計3.1A/D轉換模塊設計3.1.1ADC0809芯片簡介ADC0809是一種典型的8位逐次逼近型A/D轉換器,由一個8路模擬開關、一個地址鎖存譯碼器、一個A/D轉換器和一個三態(tài)輸出鎖存器組成2。其內部結構如圖3-1所示。多路開關可以選通8路模擬量通道,允許8路模擬量分時輸入。三態(tài)輸出鎖存器用來鎖A/D轉換完成的數字量,OE為高電平時才能取走轉換完的數據。ADC0809需要5V單電源供

14、電,轉換時間為100us左右,由于其內部沒有時鐘電路,需要在外部提供500kHz的時鐘信號。圖3-1ADC0809內部結構3.1.2ADC0809引腳結構(1) VCC:+5V工作電壓。(2) GND:地。(3) IN0-IN7:8路模擬量輸入端,通過3根地址譯碼線A、B、C選通其中的一路。(4) D0-D7:8位數字量輸出端口,為三態(tài)可控輸出,可以直接和微處理器數據線連接。D7為高位,D0為低位。(5) REF(+)、REF(-):正、負參考電壓輸入端,為片內ADC電阻網絡的基準電壓。(6) ALE:地址鎖存允許信號輸入端,高電平有效。(7) EOC:轉換結束信號輸出端,當EOC為高電平時表

15、明A/D轉換結束,否則,表明正在進行A/D轉換。(8) A、B、C:模擬通道選擇地址信號輸入端,A為低位,C為高位。地址信號與所選擇通道的對應關系如表3-1所示。表3-1地址信號與選中通道的對應關系地 址選中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7(9) START:A/D轉換啟動信號輸入端,ST為上升沿時內部寄存器清零,為下降沿時,進行A/D轉換,轉換時ST應保持低電平。(10) OE:輸出允許控制引腳,為高電平時輸出轉換得到的數據,為低電平時輸出數據線呈現高阻狀態(tài)。(11) CLK:時鐘信號輸入端,通常使用

16、頻率為500KHZ。ADC0809引腳結構如圖3-2所示。圖3-2ADC0809引腳結構3.1.3ADC0809的轉換原理ADC0809進行A/D轉換時,可以采用查詢或者中斷的方式判斷A/D轉換是否完成。本設計采用查詢EOC的標志信號來檢測A/D轉換是否結束,如果轉換結束則把數據送給單片機,經過數據處理現實在數碼管上。A/D轉換之前首先選擇通道數,鎖定地址,令ST=0,ST=1,ST=0產生啟動轉換的正脈沖信號,開始轉換。EOC信號為低電平時表示轉換正在進行中,等到轉換結束后EOC變?yōu)楦唠娖?。單片機檢測到EOC為高電平后,置位OE輸出允許,打開三態(tài)門,讀取轉換結果。其轉換時序圖如圖3-3所示。

17、圖3-3ADC0809工作時序圖3.2數據處理模塊簡介3.2.1AT89C51單片機簡介AT89C51是美國ATMEL公司生產,低電壓、高性能CMOS8位微處理器,片內含有4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory),128字節(jié)隨機存儲器。該器件采用ATMEL高密度非易失存儲技術制造,與MCS-51指令集和輸出引腳相兼容3。作為本設計中的核心部件之一,AT89C51負責檢查通道選擇按鍵,控制ADC0809芯片,以及對A/D轉換結果進行數據處理,使轉換結果和通道數顯示在四位七段LED數碼管上。下圖3-4為

18、雙列直插型AT98C51單片機的實物圖圖3-4雙列直插型AT89C513.2.2AT89C51的引腳介紹本設計中采用ATMEL89C51單片機,采用40引腳雙列直插封裝(DIP)方式。(1) 電源引腳VCC(40引腳):接+5V電源。GND(20引腳):接地。(2) 時鐘電路XTAL1(19引腳)和XTAL2(20引腳):片內振蕩器輸入線,應用中常見的連接方式有內部方式和外部方式,如圖3-5所示。本設計采用的是內部方式,即這兩個引腳用來外接石英晶體和微調電容。圖3-5電源接入方式(3) RST(9引腳)復位信號引腳,當此引腳上出現至少兩個機器周期的高電平脈沖時單片機復位。復位電路通常可以分為上

19、電復位和按鍵復位兩種方式,為了方便調試,本設計中采用的是按鍵復位。(4) /(31引腳) 外部程序存儲器訪問允許控制端。EA=1時,先訪問內部程序存儲器,超過容量再自動轉向外部程序存儲器。EA=0時,不管是否有內部程序存儲器,都只訪問外部程序存儲器。(5) /(30引腳)地址鎖存允許信號端。當訪問外部存儲器時,用于鎖存地址低位字節(jié)(P0口輸出)。在平時,ALE不斷的以振蕩器頻率1/6的頻率周期輸出固定的脈沖信號,可以用作對外輸出的脈沖。本設計中正式利用這一點,將ALE產生的脈沖信號經過7474進行四分頻得到ADC0809所需要的500KHZ脈沖。分頻電路將在下面介紹7474芯片時介紹。(6)

20、(29引腳)片外程序存儲器選通信號。由外部程序存儲器取指令(或常數)時,每個機器周期兩次低電平有效。由于本設計中并沒有應用外部存儲器,所以該引腳做懸空處理。(7) P0.0-P0.7輸入輸出引腳,即P0口。P0是一個8位漏極開路型雙向I/O口。由于P0口內部沒有上拉電阻,是開漏的,不管它的驅動能力多大,相當于它是沒有電源的,需要外部電路提供,絕大多數情況下讀P0口時必須加上拉電阻。在訪問外部程序和外部數據存儲器時,P0口作為地址/數據復用,不需要外接上拉電阻。(8) P1.0-P1.7輸入輸出引腳,即P1口,是一個普通8位雙向I/0口,內部含有上拉電阻,用于傳送用戶數據和輸出數據。(9) P2

21、.0-P2.7輸入輸出引腳,即P2口。P2口是一個帶內部上拉電阻的8位雙向I/O口。擴展外部存儲器時,當做地址總線使用,做一般I/O口時,內部有上拉電阻。它的第一功能可以和P0口引腳的第二功能配合使用,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元。(10) P3.0-P3.7輸入輸出引腳,即P3口。P3口第一功能和上面介紹的三個端口的第一功能相同,除了第一功能這8個引腳還有專門的控制功能。各個引腳的第二功能如表3-2所示。表3-2P3口各引腳第二功能P3口各位第二功能P3.0 RXT(串行口輸入)P3.1 TXD(串行口輸出)P3.2/INT0(外部中斷0輸入)P3.3/INT1(外

22、部中斷1輸入)P3.4T0(定時器/計數器0的外部輸入)P3.5T1(定時器/計數器1的外部輸入)P3.6/WR(片外數據存儲器寫允許)P3.7/RD(片外數據存儲器讀允許)3.3輸出顯示模塊3.3.1LED數碼管的模型為了方便布線,本設計中采用4位一體共陰7段LED數碼管,型號為LG5641AH,模型如圖3-6所示。其中a、b、c、d、e、f分別為LED各段的公共輸出端,1、2、3、4分別為LED每一位的位選端,dp為小數點引出端。由于4位LED陰極的各段已經在內部連接在一起,所以必須采用動態(tài)掃描方式顯示。LG5641的第一位顯示所測量模擬量的通道數,后三位顯示電壓值,其中前一位顯示電壓的整

23、數位,后兩位顯示電壓的小數位。圖3-6LED數碼管模型3.3.2LED數碼管接口及驅動簡介由于AT89C51沒有足夠的驅動能力直接驅動LED數碼管,所以,通常需要采用專門的驅動芯片產生足夠的電流,使數碼管正常工作。本設計中LED數碼管段選端口A-G分別與AT89C51的P1.1-P1.7口連接,為了提供足夠的驅動,本設計中P1口加上拉電阻,位選端口分別通過驅動芯片7404連接至P2.0-P2.3口。如圖3-7所示。圖3-7LED與AT89C51接口及驅動電路3.4按鍵選擇電路由于ADC0809提供一個8通道的模擬多路開關和通道尋址邏輯,本設計充分利用這一點,通過按鍵控制可以對8個端口的模擬信號

24、分時進行A/D轉換。該設計在多點巡回檢測和過程控制、運動控制中得到十分廣泛的應用。按鍵選擇電路如圖3-8所示。圖3-8按鍵選擇電路4系統(tǒng)軟件程序設計本設計中軟件程序設計采用C語言編寫,主要由主程序、A/D轉換子程序、LED顯示子程序、中斷按鍵查詢子程序、初始化子程序和延時子程序組成。系統(tǒng)軟件的代碼見附錄1所示。4.1主程序結束開始初始化A/D轉換子程序LED顯示子程序主程序包含初始化子程序、A/D轉換子程序、LED顯示子程序。主程序流程圖如圖4-1所示。圖4-1主程序流程圖4.2初始化程序初始化即對將要用到的AT89C51單片機內部部件進行初始工作狀態(tài)設定。初始化子程序主要的工作是設置定時器工

25、作方式,初始值設置,打開中斷,打開定時器等。4.3A/D轉換子程序A/D轉換子程序用來對ADC0809的8路通道模擬量進行A/D轉換,將轉換結果保存到含8元素的數組中,供顯示模塊使用。程序流程圖如圖4-2所示。開始結束設置轉換通道保存A/D轉換值輸出允許OE=1START下降沿啟動A/D轉換ALE 上升沿讀入通道地址,START 上升沿清內部寄存器輸出禁止OE=0A/D是否轉換結束否是圖4-2A/D轉換子程序流程圖4.4LED顯示子程序本設計采用動態(tài)顯示方式,LED顯示器每一位數碼管的8根段選線并聯(lián)在一起,由8位I/O口P1控制,位選線由P2的低四位分別控制。由于段選線并聯(lián),所以各位顯示器的位

26、選線分時輪流選通,否則,各位數碼管就會顯示相同的字符。為了穩(wěn)定,在某一個時刻只能選通顯示器的某一位,并送出相應的段碼,另一時刻選通另一位,再送出其相應的段碼,依次循環(huán)。由于人眼存在視覺暫留效應,每位數碼管顯示的時間間隔需要足夠短就可以給人以多為數碼管同時顯示的假象。但是,這個時間間隔也不能太短,太短就會使發(fā)光二極管導通時間不夠,從而顯示不清楚。由于51系列單片機不擅長于處理浮點運算,該模塊中進行了一定的數據處理。LED數碼管顯示子程序流程圖如圖4-3所示。開始數據處理點亮數碼管1點亮數碼管2點亮數碼管4點亮數碼管3結束向P1口送段碼向P2口送位選碼關數碼管,消重影延時圖4-3LED顯示程序流程

27、圖4.5中斷按鍵查詢程序本設計采用機械式彈性按鍵,因而存在機械觸點的彈性作用,使得按鍵在閉合和斷開的瞬間有一連串的抖動。抖動時間由按鍵的機械特性決定,一般為5ms至10ms。在抖動的過程中引起電平信號的波動,從而導致CPU誤判為多個按鍵操作,帶來不必要的麻煩。因此消除按鍵抖動的影響十分有必要。按鍵的消抖通常分為硬件消抖和軟件消抖,本設計采用采用軟件消抖的方式。當檢測到有按鍵按下時延時10ms,然后再確認電平是否仍然保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平,則確認為真正有按鍵按下。當按鍵釋放時,同樣也要延時10ms,然后再判斷按鍵是否是真正的釋放了按鍵。為了提高系統(tǒng)的實時性和效是是否否開始結束按鍵

28、是否按下開中斷關中斷通道數number=0通道數number+1通道數是否大于7設置波特率率本設計采用中斷方式判斷按鍵狀態(tài),程序流程圖如圖4-4所示。圖4-4中斷按鍵查詢程序流程圖5仿真電路設計5.1仿真環(huán)境簡介Proteus是由英國Labcenter electronics公司出版發(fā)行的EDA工具軟件,不僅具有其它EDA工具軟件所具有的一般仿真功能,還能仿真單片機及其外圍器件,是目前最好的單片機及外圍器件的仿真工具之一4。Proteus具有其它EDA工具軟件(如multisim),可以實現原理布圖、PCB自動或人工布線 、SPICE電路仿真 。此外,Proteus還具有其獨特的優(yōu)點。它可以實

29、現互動的電路仿真 ,用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件??梢苑抡?1系列、AVR、PIC、ARM、等常用主流單片機,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。而且能夠直接在虛擬原型上編程,配合顯示及輸出,可以觀察運行后輸入輸出的效果。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。由于其功能豐富且易于操作,受到廣大單片機愛好者以及從事單片機開發(fā)的科技工作者的青睞。作為一款世界著名的EDA工具,Proteus可以做到從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵

30、切換到PCB設計,真正實現了從概念到產品的完整設計。隨著科技的發(fā)展,“計算機仿真技術”已成為許多設計部門重要的前期設計手段。它不但設計靈活,結果和過程統(tǒng)一,而且大大縮短了設計時間,減少了開發(fā)耗資,同時還可以降低工程制造的風險。Proteus主要分為四大功能模塊,智能原理圖設計(ISIS),完善的電路仿真功能(Prospice),獨特的單片機協(xié)同仿真功能(VSM),實用的PCB設計平臺5。Proteus包含豐富的器件庫,有超過27000種元器件。擁有智能的器件搜索功能,可以通過模糊搜索實現快速定位所需器件。能夠智能化連線,使連接導線簡單快捷,大大縮短了繪圖時間。使用總線器件和總線布線可以使電路設

31、計簡明清晰。通過個性化設置,可以生成可供WORD、POWERPOINT等使用的BMP圖紙。包含多樣的激勵源,包括直流、正弦、脈沖、音頻、FM、數字時鐘等。具有豐富的模擬儀器,如示波器、邏輯分析儀、信號發(fā)生器、直流電壓/電流表、交流電壓/電流表、頻率計數器等。此外還包含高級圖形仿真功能,可以精確分析電路的多項指標,如頻率特性、噪聲、失真、傅里葉頻譜分析等。支持通用外設模型,如LCD模塊、LED七段數碼管、按鍵、電動機、電子溫度計等。支持單片機匯編語言的仿真,內帶8051、AVR、PIC的匯編編譯器,也可以與第三方編譯環(huán)境結合,進行高級語言的仿真調試。本設計采用第二種方式,結合Keil集成編譯環(huán)境

32、,采用C語言進行仿真調試。由于本設計的PCB設計部分在Protes99SE環(huán)境中設計完成,Proteus的PCB設計平臺不作詳細說明。5.2仿真設計結構與思路本數字電壓表應用系統(tǒng)硬件部分由單片機、分頻器、A/D轉換器、按鍵處理電路、數碼管顯示電路組成。由于ADC0809進行A/D轉換需要合適的CLK信號,為充分利用已有資源,本設計將單片機ALE產生的方波經7474四分頻得到500kHz的方波。本設計中ADC0809的參考電壓VREF為5V,轉換后的數據要由單片機進行處理,然后將結果顯示在數碼管上。顯示的電壓值應為D*5/255*Vin,ADC0809把模擬量轉換成16進制的D,Vin為模擬通道

33、的輸入電壓。由于單片機不擅長于處理浮點運算,本設計將Vin擴大100倍。本設計的數字電壓表可以測量0-5V的電壓值,ADC0809為8位模數轉換器,最大分辨率為0.0196V,若需要更高的精度,可以采用12位或者更高位的A/D轉換器。系統(tǒng)由A/D轉換模塊、數據處理模塊、通道選擇模塊以及顯示模塊組成,電路簡單,性能穩(wěn)定。為了方便演示,設計采用8個可調變阻器輸出8路可調模擬電壓作為A/D轉換模塊的輸入量,通過按鍵的選擇可以方便地對其中的任意一路進行A/D轉換,并將所選通道數與該通道電壓值顯示在數碼管上。電路圖如圖5-1所示由于Protues7.7中沒有ADC0809,用ADC0808代替。圖5-1

34、系統(tǒng)仿真圖5.3 仿真電路測試與性能分析 運行仿真電路,依次點擊按鍵8次,記錄實際電壓與測量電壓,驗證按鍵選擇通道的功能,并驗證電路對每一路通道的電壓測量功能。仿真電路中8路模擬電壓量的顯示結果如下圖5-2所示。圖5-2仿真測試結果通過對測試電壓與真實電壓的對比,對仿真電路進行誤差分析,驗證該仿真簡易直流數字電壓表的精確度。為了方便,本部分只列出其中第2通道電壓的誤差分析結果,仿真電路誤差分析見表5-1所示。表5-1仿真電路2通道誤差分析表標準電壓值/V簡易電壓表2通道測量值/V絕對誤差/V0.000.000.000.510.510.001.271.260.011.561.560.002.33

35、2.330.002.852.850.003.193.190.003.503.500.004.004.000.004.995.000.01由于單片機AT89C51為8位處理器,當輸入電壓為5.00V時,ADC0809的輸出數據值為255(FFH),因此其最高分辨率為0.0196V(5/255)。由此可知電壓表的最高分辨率只能到0.0196V,從上表可看到,仿真測試電壓一般都是以0.01V的幅度變化。該設計誤差范圍在合理范圍之內,符合預期設計要求。6系統(tǒng)設計的實現6.1開發(fā)環(huán)境簡介本設計采用Protel99SE進行單片機系統(tǒng)的硬件原理圖和PCB板的設計。Protel99SE是一款由Altium公司

36、推出應用于Windows操作系統(tǒng)的EDA(Electronic Design Automation)設計開發(fā)工具,采用設計庫管理模式,可以進行聯(lián)網設計,具有很強的數據交換能力和開放性。所有Protel99設計文件都被存儲在唯一的綜合設計數據庫中,并顯示在編輯窗口。按系統(tǒng)功能劃分,Protel99SE主要包含兩大部分,電路工程設計部分和電路仿真與PLD部分。其中電路工程設計部分包括電路原理設計部分(Advanced Schematic 99)、印刷電路板設計系統(tǒng)(Advanced PCB 99)、自動布線系統(tǒng)(Advanced Route 99),電路仿真與PLD部分包括電路模擬仿真系統(tǒng)(Adv

37、anced SIM 99)、可編程邏輯設計系統(tǒng)(Advanced PLD 99)、高級信號完整性分析系統(tǒng)(Advanced Integrity 99)6。電路原理設計部分主要負責繪制、編輯和修改電路原理圖,查看和編輯電路圖和零件庫的各種報表,更新和修改電路圖零件庫。印刷電路板設計系統(tǒng)主要負責繪制、編輯和修改電路板,更新和修改零件封裝,管理電路板組件7。自動布線系統(tǒng)主要用于印刷電路板的自動布線,以實現PCB設計的自動化。本設計中只用到了其中的電路工程設計部分,電路仿真在Protues中完成,因此不在詳細介紹Protel99SE的電路仿真與PLD部分。6.2原理圖設計在印刷電路板的設計過程中,電路

38、原理圖的設計是整個設計的基礎,因而必須保證原理圖設計的正確和合理,才能使后面的各項工作順利進行。原理圖的設計可以按下面的過程來完成。(1) 啟動原理圖編輯器:啟動Protel99SE設計系統(tǒng)后,新建一個原理圖文件,進入原理圖編輯器環(huán)境,開始原理圖的設計工作。(2) 設計圖紙尺寸和設置系統(tǒng)參數:打開Protel99SE后,首先要設計好圖紙尺寸,圖紙大小根據電路圖的規(guī)模和復雜程度而定。為了準確方便地繪圖,保證導線和元器件引腳之間的平滑連接,應該設置好系統(tǒng)參數。包括設置柵格大小和類型,光標類型等。本設計采用系統(tǒng)默認值。(3) 放置元器件:根據設計電路圖的需要,將元器件從元器件庫中取出放置在圖紙的適當

39、位置。對元器件的屬性進行修改,包括元器件的序號、封裝等。(4) 原理圖布局布線:電路連線是正確表示電路連接關系的重要環(huán)節(jié)。利用Protel99SE提供的布線工具,將圖紙上的元器件用具有電氣意義的導線、符號鏈接,構成一個完整的原理圖。合理地安排布局,使原理圖清晰明確,為以后生成PCB圖奠定基礎。布線時避免線路交叉和重復,并盡量保持布線簡潔美觀。(5) 檢查原理圖的電氣參數:電氣檢查在原理圖和PCB設計中有非常重要的作用,利用電氣檢查可以迅速找出原理圖中的電氣連接錯誤,以防影響后續(xù)PCB圖的設計。(6) 生成電路設計報表:通過Protel99SE提供報表文件生成工具可以生成各種報表,其中最重要的是

40、網絡報表。網絡報表以文本格式集成了電路原理圖的所有信息,不僅包括了各元器件引腳定義和連接信息,還包括了各元器件的封裝信息。它是電路原理圖與印制電路板設計之間的一座橋梁,是電路板設計的靈魂,為后續(xù)的電路板設計做準備。(7) 文件保存及輸出:最后的步驟是原理圖設計結果的保存及輸出。結束 設置圖紙尺寸 設置系統(tǒng)環(huán)境 放置元器件 原理圖布線 輸出報表 啟動原理圖編輯器 存盤打印原理圖的設計流程圖如下圖6-1所示。原理圖見附錄2。圖6-1原理圖設計流程圖6.3印刷電路板設計完成原理圖設計,以及生成網絡表格后開始印制電路板設計。電路系統(tǒng)設計最終目的是為了設計出電子產品,而電子產品的設計就是通過印刷電路板的

41、設計完成的,因此印刷電路板的設計在整個設計中最為重要。印刷電路板設計流程步驟如下。(1) 啟動Protel99SE的PCB編輯器:新建一個PCB文件啟動PCB編輯器,然后進行PCB設計。(2) 規(guī)劃印刷電路板和設置參數:在設計電路板之前,首先應根據電路系統(tǒng)的規(guī)模和復雜程度設置電路板的物理尺寸、電路板的層數(單面板、雙面板還是多層板)、接口形式等,然后設置電路板的參數,如布置參數、板層參數和布線參數等。(3) 元器件封裝庫的加載:原理圖中元器件所需要的所有封裝都需要載入,一些常用元件,如電阻、電容、二極管等元件的封裝裝入比較簡單,但對于一些不常用或尺寸不統(tǒng)一的器件,需要在元件封裝庫編輯器中自己繪

42、制元件的封裝。繪制時應注意,根據具體用到的元器件尺寸、引腳粗細、引腳間距等調整焊盤的尺寸、焊盤間距。(4) 裝入網絡報表:網絡報表是電路原理圖與印制電路板設計之間的一座橋梁,是電路板設計的靈魂。載入網絡報表后元件的封裝會自動放置在印刷電路板圖的電氣邊界之外。正確裝入網絡報表對應實現印刷電路板自動布線非常關鍵。(5) 元器件的布局:元件的布局分為自動布局和手動布局兩種方法,但是自動布局的效果比較差,往往會產生一些不符合設計要求的地方,因而可以直接采用手動布線的方式。對元件進行布局時應遵守一定的布局原則,以保證布局的合理性。(6) 布線:布線同樣可以分為兩種方式,即自動布線和手動布線。不管是哪一種

43、方式,布線之前首先要設置好布線參數和布線規(guī)則,如電源線和地線應該設置的寬一些,焊盤的尺寸應該合適等。(7) 文件的保持及輸出:保存并打印PCB圖。 規(guī)劃電路板和設置參數 元件封裝庫加載 裝入網絡報表及 元件封裝 元件的布局 布線 啟動PCB編輯器 DRC檢查文件保存及輸出印刷電路板的設計流程圖如下圖6-2所示。PCB電路圖見附錄3。圖6-2印刷電路板設計流程圖需要說明的是,本設計為了便于演示,采用3個變阻器產生可以調節(jié)的模擬電壓作為A/D轉換模塊的輸入信號。而為了節(jié)約電路板空間以及成本,本設計只添加了3個變阻器。其它模擬電壓均由外部提供,通過導線的連接將其送人A/D轉換模塊的各個通道。6.4系

44、統(tǒng)的安裝與調試設計好單片機系統(tǒng)的PCB圖后,即可開始電路板的制作。本設計采用雙面鋪銅板進行手工制板。首先將PCB圖打印在雙面鋪銅的印制板上,然后利用蝕刻液將電路板上沒用被油墨覆蓋的銅箔腐蝕掉,只保留所設計的電路部分,最后在焊盤上根據設計要求打孔,完成印制電路板制作。制作完成系統(tǒng)的印刷電路板后,把系統(tǒng)中所需的元器件依次焊接到電路板上。由于在進行系統(tǒng)仿真時,系統(tǒng)的軟件部分已經調試過,仿真結果也證實了系統(tǒng)軟件部分的可行性,因此本部分只介紹系統(tǒng)的硬件調試。首先用數字萬用表檢查電路板上的短路、斷路、線路粘連等現象。由于本設計中印板質量不好,短路和斷路的檢查尤為重要。在系統(tǒng)調試期間,遇到了不少問題。例如,

45、向板子上燒寫程序的過程中發(fā)現程序無法下載,經過對電路板上MAX232相關電路的認真檢查,并未發(fā)現短路或斷路等情況,始終未能找出問題。后來在指導老師的建議下更換了一片MAX232芯片,問題得到解決。給電路板燒寫程序完成后發(fā)現LED數碼管顯示非常模糊不亮,經過檢查斷定是P1口驅動能力太弱引起的。但是,這時電路板已經焊接完成,經老師的指導在電路板的背面P1口處焊接上了一個上拉排阻,從而使P1口的驅動加大,解決了數碼管不太亮的問題。經過細心調試,基于單片機的數字電壓表制作成功。安裝調試好的電路板下圖6-3 所示。圖6-3電路板圖6.5實際電路測試與性能分析為了更好的分析本設計的性能,對實際電路測試結果

46、和仿真電路測試結果進行比較。通過對該簡易數字電壓表與“標準”數字電壓表測試結果對比,對實際電路進行誤差分析。為了與前面仿真測試部分對應,本部分同樣只列出其中第2通道電壓的誤差分析結果。實際電路的誤差分析見表6-1所示。表6-1實際電路2通道誤差分析表標準電壓值/V簡易電壓表2通道測量值/V絕對誤差/V0.000.010.010.510.510.001.271.270.001.561.560.002.332.330.002.852.860.013.193.190.003.503.510.014.004.000.004.994.990.00結合仿真分析部分的表5-1,對比可知,不管是仿真電路還是實

47、際電路,它們的測試電壓一般都是以0.01V的幅度變化。但是實際電路中的測量值比實際值偏大0-0.01,這是因為本數字電壓表設計時直接采用5V供電電源作為ADC0809的基準電壓,存在一定的誤差。經實際測量,供電電源平均為5.02V,故而引起測量電壓比實際電壓偏大0-0.01V。這個問題可以通過校正ADC0809的基準電壓來解決。7結論經過一段時間的努力基于單片機的數字電壓表設計成功。根據實際測試,本設計誤差小,性價比高,可以用于實際應用中。本設計的一大亮點是可以通過按鍵的選擇測量8通道模擬電壓,在多點巡回檢測和過程控制、運動控制領域應用十分廣泛。在軟件設計的過程中,通過對本設計功能模塊的劃分,

48、將軟件編程劃分為主程序、A/D轉換子程序、LED顯示子程序、中斷按鍵查詢子程序、初始化子程序和延時子程序,充分體現了C語言編程自頂向下的模塊化設計理念,加深了我對結構化語言設計的認識。在系統(tǒng)調試期間,給電路板燒寫程序完成后發(fā)現LED數碼管顯示不太亮,經過檢查斷定是P1口驅動能力太弱引起的。經老師的指導,在P1口處焊接上了一個上拉排阻,問題得以解決。經過細心調試,基于單片機的數字電壓表制作成功。通過該畢業(yè)設計我對電子設計流程有了更深刻的理解。從軟件仿真、印制電路板制作到系統(tǒng)的安裝調試遇到了不少問題,對這些問題的解決不僅鍛煉了我獨立思考的能力,更是一次所學理論與實踐相結合的經歷,使我受益匪淺。參考

49、文獻1古天祥,王厚軍,習友寶等.電子測量原理M.北京:機械工業(yè)出版社,2006:1811832黃釗李.光強實時監(jiān)測系統(tǒng)的設計與實現J.東莞理工學院學報,2009,16(1):47503吳戈.案例學單片機C語言開發(fā)M.北京:人民郵電出版社,2008:66694周美娟.單片機技術及系統(tǒng)設計M.北京:清華大學出版社,2007:1901925徐愛鈞.智能化測量控制儀表原理與設計M.北京:北京航空航天大學出版社,2004:1181216鄧濤.Y41沖床安全保護裝置的研究設計D.武漢:華中科技大學,2009:1207吳金戌,沈慶陽,郭庭吉等.單片機實踐與應用M.北京:清華大學出版社,2002:59638

50、李光飛,樓然苗等單片機課程設計實例指導M.北京:北京航空航天大學出版社:2004:9129 余永權.ATMEL89系列單片機應用技術M.北京:北京航空航天大學出版社,2002:10711010楊文龍.單片機原理及應用M.西安:西安電子科技大學出版社,1998:7880致謝本論文是在我的指導教師李梅老師的悉心指導下完成的,本文的完成與李老師的辛勤勞動是分不開的,在畢業(yè)設計和論文的完成工作中無不傾注著李老師辛勤的汗水和心血。導師淵博的知識、豐富的實踐經驗、嚴謹的科研態(tài)度、無私奉獻的精神使我深受啟迪。從尊敬的導師身上,我不僅學到了扎實的專業(yè)知識、豐富的實踐經驗、嚴謹的科研態(tài)度,而且學到了做人的道理。在畢業(yè)設計的過程中,李老師對我的細致指導使我少走

溫馨提示

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

評論

0/150

提交評論