畢業(yè)論文(設(shè)計)_第1頁
畢業(yè)論文(設(shè)計)_第2頁
畢業(yè)論文(設(shè)計)_第3頁
畢業(yè)論文(設(shè)計)_第4頁
畢業(yè)論文(設(shè)計)_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

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

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

3、;A/D轉(zhuǎn)換;ADC0809Design of DC Digital 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 conv

4、erter ADC0809. It mainly included hardware 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

5、 for the selection of 8 analog channels. 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

6、digital quantity to certain data processing 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, whi

7、ch is used for displaying the selected 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、 8 ways by the choice of a key. It 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總體設(shè)計22.1系統(tǒng)設(shè)計任務(wù)22.2系統(tǒng)總體設(shè)計思路23硬件電路設(shè)計33.1A/D轉(zhuǎn)換模塊設(shè)計33.2數(shù)據(jù)處理模塊簡介53.3輸出顯示模塊83.4按鍵選擇電路94系統(tǒng)軟件程序設(shè)計104.1主

9、程序104.2初始化程序104.3A/D轉(zhuǎn)換子程序104.4LED顯示子程序114.5中斷按鍵查詢程序125仿真電路設(shè)計145.1仿真環(huán)境簡介145.2仿真設(shè)計結(jié)構(gòu)與思路145.3仿真電路測試與性能分析156系統(tǒng)設(shè)計的實現(xiàn)186.1開發(fā)環(huán)境簡介186.2原理圖設(shè)計186.3印刷電路板設(shè)計196.4系統(tǒng)的安裝與調(diào)試216.5實際電路測試與性能分析217結(jié)論23參考文獻24致謝25附錄26河北大學(xué)工商學(xué)院2012屆本科生畢業(yè)論文(設(shè)計)1前言在現(xiàn)代測量技術(shù)中電壓測量有著非常重要的意義。不論是在科學(xué)研究還是生產(chǎn)生活中,我們都離不開電壓測量。電壓、電流、功率是電氣測量的三個基本參數(shù),而電流和功率的測量

10、通常又需要借助電壓測量來轉(zhuǎn)換得到1。即使是很多非電測量,如質(zhì)量、壓力、溫度、速度等的測量,往往也需要轉(zhuǎn)換為電壓的測量。作為電測量和非電測量的基礎(chǔ),電壓測量技術(shù)一直備受關(guān)注。數(shù)字式電壓表(Digital Voltmeter)簡稱DVM,是指把被測電壓的數(shù)值通過數(shù)字技術(shù)變換成數(shù)字量,然后用數(shù)碼管以十進制數(shù)字顯示被測量電壓值。數(shù)字電壓表最早由美國NLS公司研制成功。高速數(shù)字信號處理的需求對電壓測量提出了更高的要求,傳統(tǒng)的模擬電壓表已經(jīng)不能滿足其要求?,F(xiàn)代數(shù)字電壓表具有更高的分辨率,更快的響應(yīng)速度,更精湛的制造工藝,這些往往是模擬電壓表所不能比擬的。在抗電磁干擾、可擴展性和可集成性上數(shù)字式電壓表也有很

11、大的優(yōu)越性,現(xiàn)代生產(chǎn)生活中,數(shù)字式電壓表正在不斷的取代模擬指針式電壓表。目前,數(shù)字式電壓表已經(jīng)廣泛應(yīng)用于電力電子測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,并顯示出強大的生命力。因此,對于數(shù)字電壓表的研究具有重要的現(xiàn)實意義。本設(shè)計主要研究以51系列單片機為核心的電壓測量系統(tǒng),通過對ADC0809進行控制將模擬量轉(zhuǎn)換為數(shù)字量,并加以顯示。通過按鍵的選擇可以實現(xiàn)一個電壓表測量多路電壓的目的,大大節(jié)省了資源,在多點巡回檢測和過程控制、運動控制中應(yīng)用十分廣泛。2總體設(shè)計2.1系統(tǒng)設(shè)計任務(wù)(1) 可以測量8路0-5V范圍的直流輸入電壓值;(2) 通過按鍵選擇模擬量輸入通道;(3) 測量結(jié)果顯示在

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

13、模擬電壓送入ADC0809,ADC0809將采集來的模擬信號轉(zhuǎn)換為數(shù)字信號,然后傳給單片機。單片機將轉(zhuǎn)換后的結(jié)果保存到片內(nèi)存儲區(qū),并對數(shù)據(jù)進行處理轉(zhuǎn)換為LED數(shù)碼管顯示所需要的數(shù)據(jù),最后將結(jié)果以十進制形式顯示在LED數(shù)碼管上??傮w系統(tǒng)框圖如圖2-1所示。模擬信號ADC0809單片機數(shù)碼管顯示通道選擇模塊圖2-1系統(tǒng)框圖硬件電路設(shè)計3.1A/D轉(zhuǎn)換模塊設(shè)計3.1.1ADC0809芯片簡介ADC0809是一種典型的8位逐次逼近型A/D轉(zhuǎn)換器,由一個8路模擬開關(guān)、一個地址鎖存譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成2。其內(nèi)部結(jié)構(gòu)如圖3-1所示。多路開關(guān)可以選通8路模擬量通道,允許8路模擬量分

14、時輸入。三態(tài)輸出鎖存器用來鎖A/D轉(zhuǎn)換完成的數(shù)字量,OE為高電平時才能取走轉(zhuǎn)換完的數(shù)據(jù)。ADC0809需要5V單電源供電,轉(zhuǎn)換時間為100us左右,由于其內(nèi)部沒有時鐘電路,需要在外部提供500kHz的時鐘信號。圖3-1ADC0809內(nèi)部結(jié)構(gòu)3.1.2ADC0809引腳結(jié)構(gòu)(1) VCC:+5V工作電壓。(2) GND:地。(3) IN0-IN7:8路模擬量輸入端,通過3根地址譯碼線A、B、C選通其中的一路。(4) D0-D7:8位數(shù)字量輸出端口,為三態(tài)可控輸出,可以直接和微處理器數(shù)據(jù)線連接。D7為高位,D0為低位。(5) REF(+)、REF(-):正、負參考電壓輸入端,為片內(nèi)ADC電阻網(wǎng)絡(luò)的

15、基準(zhǔn)電壓。(6) ALE:地址鎖存允許信號輸入端,高電平有效。(7) EOC:轉(zhuǎn)換結(jié)束信號輸出端,當(dāng)EOC為高電平時表明A/D轉(zhuǎn)換結(jié)束,否則,表明正在進行A/D轉(zhuǎn)換。(8) A、B、C:模擬通道選擇地址信號輸入端,A為低位,C為高位。地址信號與所選擇通道的對應(yīng)關(guān)系如表3-1所示。表3-1地址信號與選中通道的對應(yīng)關(guān)系地 址選中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN7(9) START:A/D轉(zhuǎn)換啟動信號輸入端,ST為上升沿時內(nèi)部寄存器清零,為下降沿時,進行A/D轉(zhuǎn)換,轉(zhuǎn)換時ST應(yīng)保持低電平。(10) OE:輸出允

16、許控制引腳,為高電平時輸出轉(zhuǎn)換得到的數(shù)據(jù),為低電平時輸出數(shù)據(jù)線呈現(xiàn)高阻狀態(tài)。(11) CLK:時鐘信號輸入端,通常使用頻率為500KHZ。ADC0809引腳結(jié)構(gòu)如圖3-2所示。圖3-2ADC0809引腳結(jié)構(gòu)3.1.3ADC0809的轉(zhuǎn)換原理ADC0809進行A/D轉(zhuǎn)換時,可以采用查詢或者中斷的方式判斷A/D轉(zhuǎn)換是否完成。本設(shè)計采用查詢EOC的標(biāo)志信號來檢測A/D轉(zhuǎn)換是否結(jié)束,如果轉(zhuǎn)換結(jié)束則把數(shù)據(jù)送給單片機,經(jīng)過數(shù)據(jù)處理現(xiàn)實在數(shù)碼管上。A/D轉(zhuǎn)換之前首先選擇通道數(shù),鎖定地址,令ST=0,ST=1,ST=0產(chǎn)生啟動轉(zhuǎn)換的正脈沖信號,開始轉(zhuǎn)換。EOC信號為低電平時表示轉(zhuǎn)換正在進行中,等到轉(zhuǎn)換結(jié)束后E

17、OC變?yōu)楦唠娖?。單片機檢測到EOC為高電平后,置位OE輸出允許,打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。其轉(zhuǎn)換時序圖如圖3-3所示。圖3-3ADC0809工作時序圖3.2數(shù)據(jù)處理模塊簡介3.2.1AT89C51單片機簡介AT89C51是美國ATMEL公司生產(chǎn),低電壓、高性能CMOS8位微處理器,片內(nèi)含有4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory),128字節(jié)隨機存儲器。該器件采用ATMEL高密度非易失存儲技術(shù)制造,與MCS-51指令集和輸出引腳相兼容3。作為本設(shè)計中的核心部件之一,AT89C51負責(zé)檢查通道選擇按鍵,

18、控制ADC0809芯片,以及對A/D轉(zhuǎn)換結(jié)果進行數(shù)據(jù)處理,使轉(zhuǎn)換結(jié)果和通道數(shù)顯示在四位七段LED數(shù)碼管上。下圖3-4為雙列直插型AT98C51單片機的實物圖圖3-4雙列直插型AT89C513.2.2AT89C51的引腳介紹本設(shè)計中采用ATMEL89C51單片機,采用40引腳雙列直插封裝(DIP)方式。(1) 電源引腳VCC(40引腳):接+5V電源。GND(20引腳):接地。(2) 時鐘電路XTAL1(19引腳)和XTAL2(20引腳):片內(nèi)振蕩器輸入線,應(yīng)用中常見的連接方式有內(nèi)部方式和外部方式,如圖3-5所示。本設(shè)計采用的是內(nèi)部方式,即這兩個引腳用來外接石英晶體和微調(diào)電容。圖3-5電源接入方

19、式(3) RST(9引腳)復(fù)位信號引腳,當(dāng)此引腳上出現(xiàn)至少兩個機器周期的高電平脈沖時單片機復(fù)位。復(fù)位電路通常可以分為上電復(fù)位和按鍵復(fù)位兩種方式,為了方便調(diào)試,本設(shè)計中采用的是按鍵復(fù)位。(4) /(31引腳) 外部程序存儲器訪問允許控制端。EA=1時,先訪問內(nèi)部程序存儲器,超過容量再自動轉(zhuǎn)向外部程序存儲器。EA=0時,不管是否有內(nèi)部程序存儲器,都只訪問外部程序存儲器。(5) /(30引腳)地址鎖存允許信號端。當(dāng)訪問外部存儲器時,用于鎖存地址低位字節(jié)(P0口輸出)。在平時,ALE不斷的以振蕩器頻率1/6的頻率周期輸出固定的脈沖信號,可以用作對外輸出的脈沖。本設(shè)計中正式利用這一點,將ALE產(chǎn)生的脈沖

20、信號經(jīng)過7474進行四分頻得到ADC0809所需要的500KHZ脈沖。分頻電路將在下面介紹7474芯片時介紹。(6) (29引腳)片外程序存儲器選通信號。由外部程序存儲器取指令(或常數(shù))時,每個機器周期兩次低電平有效。由于本設(shè)計中并沒有應(yīng)用外部存儲器,所以該引腳做懸空處理。(7) P0.0-P0.7輸入輸出引腳,即P0口。P0是一個8位漏極開路型雙向I/O口。由于P0口內(nèi)部沒有上拉電阻,是開漏的,不管它的驅(qū)動能力多大,相當(dāng)于它是沒有電源的,需要外部電路提供,絕大多數(shù)情況下讀P0口時必須加上拉電阻。在訪問外部程序和外部數(shù)據(jù)存儲器時,P0口作為地址/數(shù)據(jù)復(fù)用,不需要外接上拉電阻。(8) P1.0-

21、P1.7輸入輸出引腳,即P1口,是一個普通8位雙向I/0口,內(nèi)部含有上拉電阻,用于傳送用戶數(shù)據(jù)和輸出數(shù)據(jù)。(9) P2.0-P2.7輸入輸出引腳,即P2口。P2口是一個帶內(nèi)部上拉電阻的8位雙向I/O口。擴展外部存儲器時,當(dāng)做地址總線使用,做一般I/O口時,內(nèi)部有上拉電阻。它的第一功能可以和P0口引腳的第二功能配合使用,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元。(10) P3.0-P3.7輸入輸出引腳,即P3口。P3口第一功能和上面介紹的三個端口的第一功能相同,除了第一功能這8個引腳還有專門的控制功能。各個引腳的第二功能如表3-2所示。表3-2P3口各引腳第二功能P3口各位第二功能

22、P3.0 RXT(串行口輸入)P3.1 TXD(串行口輸出)P3.2/INT0(外部中斷0輸入)P3.3/INT1(外部中斷1輸入)P3.4T0(定時器/計數(shù)器0的外部輸入)P3.5T1(定時器/計數(shù)器1的外部輸入)P3.6/WR(片外數(shù)據(jù)存儲器寫允許)P3.7/RD(片外數(shù)據(jù)存儲器讀允許)3.3輸出顯示模塊3.3.1LED數(shù)碼管的模型為了方便布線,本設(shè)計中采用4位一體共陰7段LED數(shù)碼管,型號為LG5641AH,模型如圖3-6所示。其中a、b、c、d、e、f分別為LED各段的公共輸出端,1、2、3、4分別為LED每一位的位選端,dp為小數(shù)點引出端。由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起

23、,所以必須采用動態(tài)掃描方式顯示。LG5641的第一位顯示所測量模擬量的通道數(shù),后三位顯示電壓值,其中前一位顯示電壓的整數(shù)位,后兩位顯示電壓的小數(shù)位。圖3-6LED數(shù)碼管模型3.3.2LED數(shù)碼管接口及驅(qū)動簡介由于AT89C51沒有足夠的驅(qū)動能力直接驅(qū)動LED數(shù)碼管,所以,通常需要采用專門的驅(qū)動芯片產(chǎn)生足夠的電流,使數(shù)碼管正常工作。本設(shè)計中LED數(shù)碼管段選端口A-G分別與AT89C51的P1.1-P1.7口連接,為了提供足夠的驅(qū)動,本設(shè)計中P1口加上拉電阻,位選端口分別通過驅(qū)動芯片7404連接至P2.0-P2.3口。如圖3-7所示。圖3-7LED與AT89C51接口及驅(qū)動電路3.4按鍵選擇電路由

24、于ADC0809提供一個8通道的模擬多路開關(guān)和通道尋址邏輯,本設(shè)計充分利用這一點,通過按鍵控制可以對8個端口的模擬信號分時進行A/D轉(zhuǎn)換。該設(shè)計在多點巡回檢測和過程控制、運動控制中得到十分廣泛的應(yīng)用。按鍵選擇電路如圖3-8所示。圖3-8按鍵選擇電路4系統(tǒng)軟件程序設(shè)計本設(shè)計中軟件程序設(shè)計采用C語言編寫,主要由主程序、A/D轉(zhuǎn)換子程序、LED顯示子程序、中斷按鍵查詢子程序、初始化子程序和延時子程序組成。系統(tǒng)軟件的代碼見附錄1所示。4.1主程序結(jié)束開始初始化A/D轉(zhuǎn)換子程序LED顯示子程序主程序包含初始化子程序、A/D轉(zhuǎn)換子程序、LED顯示子程序。主程序流程圖如圖4-1所示。圖4-1主程序流程圖4.

25、2初始化程序初始化即對將要用到的AT89C51單片機內(nèi)部部件進行初始工作狀態(tài)設(shè)定。初始化子程序主要的工作是設(shè)置定時器工作方式,初始值設(shè)置,打開中斷,打開定時器等。4.3A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用來對ADC0809的8路通道模擬量進行A/D轉(zhuǎn)換,將轉(zhuǎn)換結(jié)果保存到含8元素的數(shù)組中,供顯示模塊使用。程序流程圖如圖4-2所示。開始結(jié)束設(shè)置轉(zhuǎn)換通道保存A/D轉(zhuǎn)換值輸出允許OE=1START下降沿啟動A/D轉(zhuǎn)換ALE 上升沿讀入通道地址,START 上升沿清內(nèi)部寄存器輸出禁止OE=0A/D是否轉(zhuǎn)換結(jié)束否是圖4-2A/D轉(zhuǎn)換子程序流程圖4.4LED顯示子程序本設(shè)計采用動態(tài)顯示方式,LED顯示器每一位

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

27、1點亮數(shù)碼管2點亮數(shù)碼管4點亮數(shù)碼管3結(jié)束向P1口送段碼向P2口送位選碼關(guān)數(shù)碼管,消重影延時圖4-3LED顯示程序流程圖4.5中斷按鍵查詢程序本設(shè)計采用機械式彈性按鍵,因而存在機械觸點的彈性作用,使得按鍵在閉合和斷開的瞬間有一連串的抖動。抖動時間由按鍵的機械特性決定,一般為5ms至10ms。在抖動的過程中引起電平信號的波動,從而導(dǎo)致CPU誤判為多個按鍵操作,帶來不必要的麻煩。因此消除按鍵抖動的影響十分有必要。按鍵的消抖通常分為硬件消抖和軟件消抖,本設(shè)計采用采用軟件消抖的方式。當(dāng)檢測到有按鍵按下時延時10ms,然后再確認電平是否仍然保持閉合狀態(tài)電平,如果保持閉合狀態(tài)電平,則確認為真正有按鍵按下。

28、當(dāng)按鍵釋放時,同樣也要延時10ms,然后再判斷按鍵是否是真正的釋放了按鍵。為了提高系統(tǒng)的實時性和效是是否否開始結(jié)束按鍵是否按下開中斷關(guān)中斷通道數(shù)number=0通道數(shù)number+1通道數(shù)是否大于7設(shè)置波特率率本設(shè)計采用中斷方式判斷按鍵狀態(tài),程序流程圖如圖4-4所示。圖4-4中斷按鍵查詢程序流程圖5仿真電路設(shè)計5.1仿真環(huán)境簡介Proteus是由英國Labcenter electronics公司出版發(fā)行的EDA工具軟件,不僅具有其它EDA工具軟件所具有的一般仿真功能,還能仿真單片機及其外圍器件,是目前最好的單片機及外圍器件的仿真工具之一4。Proteus具有其它EDA工具軟件(如multisi

29、m),可以實現(xiàn)原理布圖、PCB自動或人工布線 、SPICE電路仿真 。此外,Proteus還具有其獨特的優(yōu)點。它可以實現(xiàn)互動的電路仿真 ,用戶甚至可以實時采用諸如RAM,ROM,鍵盤,馬達,LED,LCD,AD/DA,部分SPI器件,部分IIC器件??梢苑抡?1系列、AVR、PIC、ARM、等常用主流單片機,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。而且能夠直接在虛擬原型上編程,配合顯示及輸出,可以觀察運行后輸入輸出的效果。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。由于其功能豐富且易于操作,受到廣大單片機愛好者以及從事單片機開發(fā)的科技工

30、作者的青睞。作為一款世界著名的EDA工具,Proteus可以做到從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。隨著科技的發(fā)展,“計算機仿真技術(shù)”已成為許多設(shè)計部門重要的前期設(shè)計手段。它不但設(shè)計靈活,結(jié)果和過程統(tǒng)一,而且大大縮短了設(shè)計時間,減少了開發(fā)耗資,同時還可以降低工程制造的風(fēng)險。Proteus主要分為四大功能模塊,智能原理圖設(shè)計(ISIS),完善的電路仿真功能(Prospice),獨特的單片機協(xié)同仿真功能(VSM),實用的PCB設(shè)計平臺5。Proteus包含豐富的器件庫,有超過27000種元器件。擁有智能的器件搜索功能,可以通過模

31、糊搜索實現(xiàn)快速定位所需器件。能夠智能化連線,使連接導(dǎo)線簡單快捷,大大縮短了繪圖時間。使用總線器件和總線布線可以使電路設(shè)計簡明清晰。通過個性化設(shè)置,可以生成可供WORD、POWERPOINT等使用的BMP圖紙。包含多樣的激勵源,包括直流、正弦、脈沖、音頻、FM、數(shù)字時鐘等。具有豐富的模擬儀器,如示波器、邏輯分析儀、信號發(fā)生器、直流電壓/電流表、交流電壓/電流表、頻率計數(shù)器等。此外還包含高級圖形仿真功能,可以精確分析電路的多項指標(biāo),如頻率特性、噪聲、失真、傅里葉頻譜分析等。支持通用外設(shè)模型,如LCD模塊、LED七段數(shù)碼管、按鍵、電動機、電子溫度計等。支持單片機匯編語言的仿真,內(nèi)帶8051、AVR、

32、PIC的匯編編譯器,也可以與第三方編譯環(huán)境結(jié)合,進行高級語言的仿真調(diào)試。本設(shè)計采用第二種方式,結(jié)合Keil集成編譯環(huán)境,采用C語言進行仿真調(diào)試。由于本設(shè)計的PCB設(shè)計部分在Protes99SE環(huán)境中設(shè)計完成,Proteus的PCB設(shè)計平臺不作詳細說明。5.2仿真設(shè)計結(jié)構(gòu)與思路本數(shù)字電壓表應(yīng)用系統(tǒng)硬件部分由單片機、分頻器、A/D轉(zhuǎn)換器、按鍵處理電路、數(shù)碼管顯示電路組成。由于ADC0809進行A/D轉(zhuǎn)換需要合適的CLK信號,為充分利用已有資源,本設(shè)計將單片機ALE產(chǎn)生的方波經(jīng)7474四分頻得到500kHz的方波。本設(shè)計中ADC0809的參考電壓VREF為5V,轉(zhuǎn)換后的數(shù)據(jù)要由單片機進行處理,然后將

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

34、電壓值顯示在數(shù)碼管上。電路圖如圖5-1所示由于Protues7.7中沒有ADC0809,用ADC0808代替。圖5-1系統(tǒng)仿真圖5.3 仿真電路測試與性能分析 運行仿真電路,依次點擊按鍵8次,記錄實際電壓與測量電壓,驗證按鍵選擇通道的功能,并驗證電路對每一路通道的電壓測量功能。仿真電路中8路模擬電壓量的顯示結(jié)果如下圖5-2所示。圖5-2仿真測試結(jié)果通過對測試電壓與真實電壓的對比,對仿真電路進行誤差分析,驗證該仿真簡易直流數(shù)字電壓表的精確度。為了方便,本部分只列出其中第2通道電壓的誤差分析結(jié)果,仿真電路誤差分析見表5-1所示。表5-1仿真電路2通道誤差分析表標(biāo)準(zhǔn)電壓值/V簡易電壓表2通道測量值/

35、V絕對誤差/V0.000.000.000.510.510.001.271.260.011.561.560.002.332.330.002.852.850.003.193.190.003.503.500.004.004.000.004.995.000.01由于單片機AT89C51為8位處理器,當(dāng)輸入電壓為5.00V時,ADC0809的輸出數(shù)據(jù)值為255(FFH),因此其最高分辨率為0.0196V(5/255)。由此可知電壓表的最高分辨率只能到0.0196V,從上表可看到,仿真測試電壓一般都是以0.01V的幅度變化。該設(shè)計誤差范圍在合理范圍之內(nèi),符合預(yù)期設(shè)計要求。6系統(tǒng)設(shè)計的實現(xiàn)6.1開發(fā)環(huán)境簡介

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

37、 PCB 99)、自動布線系統(tǒng)(Advanced Route 99),電路仿真與PLD部分包括電路模擬仿真系統(tǒng)(Advanced SIM 99)、可編程邏輯設(shè)計系統(tǒng)(Advanced PLD 99)、高級信號完整性分析系統(tǒng)(Advanced Integrity 99)6。電路原理設(shè)計部分主要負責(zé)繪制、編輯和修改電路原理圖,查看和編輯電路圖和零件庫的各種報表,更新和修改電路圖零件庫。印刷電路板設(shè)計系統(tǒng)主要負責(zé)繪制、編輯和修改電路板,更新和修改零件封裝,管理電路板組件7。自動布線系統(tǒng)主要用于印刷電路板的自動布線,以實現(xiàn)PCB設(shè)計的自動化。本設(shè)計中只用到了其中的電路工程設(shè)計部分,電路仿真在Protu

38、es中完成,因此不在詳細介紹Protel99SE的電路仿真與PLD部分。6.2原理圖設(shè)計在印刷電路板的設(shè)計過程中,電路原理圖的設(shè)計是整個設(shè)計的基礎(chǔ),因而必須保證原理圖設(shè)計的正確和合理,才能使后面的各項工作順利進行。原理圖的設(shè)計可以按下面的過程來完成。(1) 啟動原理圖編輯器:啟動Protel99SE設(shè)計系統(tǒng)后,新建一個原理圖文件,進入原理圖編輯器環(huán)境,開始原理圖的設(shè)計工作。(2) 設(shè)計圖紙尺寸和設(shè)置系統(tǒng)參數(shù):打開Protel99SE后,首先要設(shè)計好圖紙尺寸,圖紙大小根據(jù)電路圖的規(guī)模和復(fù)雜程度而定。為了準(zhǔn)確方便地繪圖,保證導(dǎo)線和元器件引腳之間的平滑連接,應(yīng)該設(shè)置好系統(tǒng)參數(shù)。包括設(shè)置柵格大小和類型

39、,光標(biāo)類型等。本設(shè)計采用系統(tǒng)默認值。(3) 放置元器件:根據(jù)設(shè)計電路圖的需要,將元器件從元器件庫中取出放置在圖紙的適當(dāng)位置。對元器件的屬性進行修改,包括元器件的序號、封裝等。(4) 原理圖布局布線:電路連線是正確表示電路連接關(guān)系的重要環(huán)節(jié)。利用Protel99SE提供的布線工具,將圖紙上的元器件用具有電氣意義的導(dǎo)線、符號鏈接,構(gòu)成一個完整的原理圖。合理地安排布局,使原理圖清晰明確,為以后生成PCB圖奠定基礎(chǔ)。布線時避免線路交叉和重復(fù),并盡量保持布線簡潔美觀。(5) 檢查原理圖的電氣參數(shù):電氣檢查在原理圖和PCB設(shè)計中有非常重要的作用,利用電氣檢查可以迅速找出原理圖中的電氣連接錯誤,以防影響后續(xù)

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

41、,以及生成網(wǎng)絡(luò)表格后開始印制電路板設(shè)計。電路系統(tǒng)設(shè)計最終目的是為了設(shè)計出電子產(chǎn)品,而電子產(chǎn)品的設(shè)計就是通過印刷電路板的設(shè)計完成的,因此印刷電路板的設(shè)計在整個設(shè)計中最為重要。印刷電路板設(shè)計流程步驟如下。(1) 啟動Protel99SE的PCB編輯器:新建一個PCB文件啟動PCB編輯器,然后進行PCB設(shè)計。(2) 規(guī)劃印刷電路板和設(shè)置參數(shù):在設(shè)計電路板之前,首先應(yīng)根據(jù)電路系統(tǒng)的規(guī)模和復(fù)雜程度設(shè)置電路板的物理尺寸、電路板的層數(shù)(單面板、雙面板還是多層板)、接口形式等,然后設(shè)置電路板的參數(shù),如布置參數(shù)、板層參數(shù)和布線參數(shù)等。(3) 元器件封裝庫的加載:原理圖中元器件所需要的所有封裝都需要載入,一些常用

42、元件,如電阻、電容、二極管等元件的封裝裝入比較簡單,但對于一些不常用或尺寸不統(tǒng)一的器件,需要在元件封裝庫編輯器中自己繪制元件的封裝。繪制時應(yīng)注意,根據(jù)具體用到的元器件尺寸、引腳粗細、引腳間距等調(diào)整焊盤的尺寸、焊盤間距。(4) 裝入網(wǎng)絡(luò)報表:網(wǎng)絡(luò)報表是電路原理圖與印制電路板設(shè)計之間的一座橋梁,是電路板設(shè)計的靈魂。載入網(wǎng)絡(luò)報表后元件的封裝會自動放置在印刷電路板圖的電氣邊界之外。正確裝入網(wǎng)絡(luò)報表對應(yīng)實現(xiàn)印刷電路板自動布線非常關(guān)鍵。(5) 元器件的布局:元件的布局分為自動布局和手動布局兩種方法,但是自動布局的效果比較差,往往會產(chǎn)生一些不符合設(shè)計要求的地方,因而可以直接采用手動布線的方式。對元件進行布局

43、時應(yīng)遵守一定的布局原則,以保證布局的合理性。(6) 布線:布線同樣可以分為兩種方式,即自動布線和手動布線。不管是哪一種方式,布線之前首先要設(shè)置好布線參數(shù)和布線規(guī)則,如電源線和地線應(yīng)該設(shè)置的寬一些,焊盤的尺寸應(yīng)該合適等。(7) 文件的保持及輸出:保存并打印PCB圖。 規(guī)劃電路板和設(shè)置參數(shù) 元件封裝庫加載 裝入網(wǎng)絡(luò)報表及 元件封裝 元件的布局 布線 啟動PCB編輯器 DRC檢查文件保存及輸出印刷電路板的設(shè)計流程圖如下圖6-2所示。PCB電路圖見附錄3。圖6-2印刷電路板設(shè)計流程圖需要說明的是,本設(shè)計為了便于演示,采用3個變阻器產(chǎn)生可以調(diào)節(jié)的模擬電壓作為A/D轉(zhuǎn)換模塊的輸入信號。而為了節(jié)約電路板空間

44、以及成本,本設(shè)計只添加了3個變阻器。其它模擬電壓均由外部提供,通過導(dǎo)線的連接將其送人A/D轉(zhuǎn)換模塊的各個通道。6.4系統(tǒng)的安裝與調(diào)試設(shè)計好單片機系統(tǒng)的PCB圖后,即可開始電路板的制作。本設(shè)計采用雙面鋪銅板進行手工制板。首先將PCB圖打印在雙面鋪銅的印制板上,然后利用蝕刻液將電路板上沒用被油墨覆蓋的銅箔腐蝕掉,只保留所設(shè)計的電路部分,最后在焊盤上根據(jù)設(shè)計要求打孔,完成印制電路板制作。制作完成系統(tǒng)的印刷電路板后,把系統(tǒng)中所需的元器件依次焊接到電路板上。由于在進行系統(tǒng)仿真時,系統(tǒng)的軟件部分已經(jīng)調(diào)試過,仿真結(jié)果也證實了系統(tǒng)軟件部分的可行性,因此本部分只介紹系統(tǒng)的硬件調(diào)試。首先用數(shù)字萬用表檢查電路板上的

45、短路、斷路、線路粘連等現(xiàn)象。由于本設(shè)計中印板質(zhì)量不好,短路和斷路的檢查尤為重要。在系統(tǒng)調(diào)試期間,遇到了不少問題。例如,向板子上燒寫程序的過程中發(fā)現(xiàn)程序無法下載,經(jīng)過對電路板上MAX232相關(guān)電路的認真檢查,并未發(fā)現(xiàn)短路或斷路等情況,始終未能找出問題。后來在指導(dǎo)老師的建議下更換了一片MAX232芯片,問題得到解決。給電路板燒寫程序完成后發(fā)現(xiàn)LED數(shù)碼管顯示非常模糊不亮,經(jīng)過檢查斷定是P1口驅(qū)動能力太弱引起的。但是,這時電路板已經(jīng)焊接完成,經(jīng)老師的指導(dǎo)在電路板的背面P1口處焊接上了一個上拉排阻,從而使P1口的驅(qū)動加大,解決了數(shù)碼管不太亮的問題。經(jīng)過細心調(diào)試,基于單片機的數(shù)字電壓表制作成功。安裝調(diào)試

46、好的電路板下圖6-3 所示。圖6-3電路板圖6.5實際電路測試與性能分析為了更好的分析本設(shè)計的性能,對實際電路測試結(jié)果和仿真電路測試結(jié)果進行比較。通過對該簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表測試結(jié)果對比,對實際電路進行誤差分析。為了與前面仿真測試部分對應(yīng),本部分同樣只列出其中第2通道電壓的誤差分析結(jié)果。實際電路的誤差分析見表6-1所示。表6-1實際電路2通道誤差分析表標(biāo)準(zhǔn)電壓值/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.

47、510.014.004.000.004.994.990.00結(jié)合仿真分析部分的表5-1,對比可知,不管是仿真電路還是實際電路,它們的測試電壓一般都是以0.01V的幅度變化。但是實際電路中的測量值比實際值偏大0-0.01,這是因為本數(shù)字電壓表設(shè)計時直接采用5V供電電源作為ADC0809的基準(zhǔn)電壓,存在一定的誤差。經(jīng)實際測量,供電電源平均為5.02V,故而引起測量電壓比實際電壓偏大0-0.01V。這個問題可以通過校正ADC0809的基準(zhǔn)電壓來解決。7結(jié)論經(jīng)過一段時間的努力基于單片機的數(shù)字電壓表設(shè)計成功。根據(jù)實際測試,本設(shè)計誤差小,性價比高,可以用于實際應(yīng)用中。本設(shè)計的一大亮點是可以通過按鍵的選擇測

48、量8通道模擬電壓,在多點巡回檢測和過程控制、運動控制領(lǐng)域應(yīng)用十分廣泛。在軟件設(shè)計的過程中,通過對本設(shè)計功能模塊的劃分,將軟件編程劃分為主程序、A/D轉(zhuǎn)換子程序、LED顯示子程序、中斷按鍵查詢子程序、初始化子程序和延時子程序,充分體現(xiàn)了C語言編程自頂向下的模塊化設(shè)計理念,加深了我對結(jié)構(gòu)化語言設(shè)計的認識。在系統(tǒng)調(diào)試期間,給電路板燒寫程序完成后發(fā)現(xiàn)LED數(shù)碼管顯示不太亮,經(jīng)過檢查斷定是P1口驅(qū)動能力太弱引起的。經(jīng)老師的指導(dǎo),在P1口處焊接上了一個上拉排阻,問題得以解決。經(jīng)過細心調(diào)試,基于單片機的數(shù)字電壓表制作成功。通過該畢業(yè)設(shè)計我對電子設(shè)計流程有了更深刻的理解。從軟件仿真、印制電路板制作到系統(tǒng)的安裝

49、調(diào)試遇到了不少問題,對這些問題的解決不僅鍛煉了我獨立思考的能力,更是一次所學(xué)理論與實踐相結(jié)合的經(jīng)歷,使我受益匪淺。參考文獻1古天祥,王厚軍,習(xí)友寶等.電子測量原理M.北京:機械工業(yè)出版社,2006:1811832黃釗李.光強實時監(jiān)測系統(tǒng)的設(shè)計與實現(xiàn)J.東莞理工學(xué)院學(xué)報,2009,16(1):47503吳戈.案例學(xué)單片機C語言開發(fā)M.北京:人民郵電出版社,2008:66694周美娟.單片機技術(shù)及系統(tǒng)設(shè)計M.北京:清華大學(xué)出版社,2007:1901925徐愛鈞.智能化測量控制儀表原理與設(shè)計M.北京:北京航空航天大學(xué)出版社,2004:1181216鄧濤.Y41沖床安全保護裝置的研究設(shè)計D.武漢:華中

50、科技大學(xué),2009:1207吳金戌,沈慶陽,郭庭吉等.單片機實踐與應(yīng)用M.北京:清華大學(xué)出版社,2002:59638 李光飛,樓然苗等單片機課程設(shè)計實例指導(dǎo)M.北京:北京航空航天大學(xué)出版社:2004:9129 余永權(quán).ATMEL89系列單片機應(yīng)用技術(shù)M.北京:北京航空航天大學(xué)出版社,2002:10711010楊文龍.單片機原理及應(yīng)用M.西安:西安電子科技大學(xué)出版社,1998:7880致謝本論文是在我的指導(dǎo)教師李梅老師的悉心指導(dǎo)下完成的,本文的完成與李老師的辛勤勞動是分不開的,在畢業(yè)設(shè)計和論文的完成工作中無不傾注著李老師辛勤的汗水和心血。導(dǎo)師淵博的知識、豐富的實踐經(jīng)驗、嚴(yán)謹(jǐn)?shù)目蒲袘B(tài)度、無私奉獻的

51、精神使我深受啟迪。從尊敬的導(dǎo)師身上,我不僅學(xué)到了扎實的專業(yè)知識、豐富的實踐經(jīng)驗、嚴(yán)謹(jǐn)?shù)目蒲袘B(tài)度,而且學(xué)到了做人的道理。在畢業(yè)設(shè)計的過程中,李老師對我的細致指導(dǎo)使我少走了很多彎路,為我今后的工作和學(xué)習(xí)積累了很多寶貴的經(jīng)驗。值此論文完成之際,謹(jǐn)向李老師致以衷心的感謝和崇高的敬意!在我的畢業(yè)設(shè)計期間,還得到了很多同學(xué)的幫助,在與他們的交流和探討中我學(xué)到了很多知識,受到很多啟發(fā)。在畢業(yè)設(shè)計的過程中,他們對我提出了很多寶貴的建議和意見,無法一一提及,在此一并向他們表示感謝!對在我多年的學(xué)習(xí)生涯中給予我關(guān)心、理解和支持的父母表示深深的感謝!正是他們無私的付出,才使我得以完成學(xué)業(yè),他們的關(guān)心和支持給了我極大的信心。最后,我要感謝所有參加論文評審和答辯的各位專家,謝謝你們提出的寶貴意見!附錄附錄1:系統(tǒng)軟件程序代碼#include <REGX52.H>/由于當(dāng)時實驗室有現(xiàn)成的STC89C52芯片,所以本設(shè)計采用

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論