基于單片機(jī)的數(shù)字電壓表設(shè)計_第1頁
基于單片機(jī)的數(shù)字電壓表設(shè)計_第2頁
基于單片機(jī)的數(shù)字電壓表設(shè)計_第3頁
基于單片機(jī)的數(shù)字電壓表設(shè)計_第4頁
基于單片機(jī)的數(shù)字電壓表設(shè)計_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于單片機(jī)的數(shù)字電壓表設(shè)計基于單片機(jī)的數(shù)字電壓表的設(shè)計作者姓名:專業(yè)名稱:測控技術(shù)與儀器 指導(dǎo)教師: 講師48摘要在電路設(shè)計中我們時常會用到電壓表,過去大部分電壓表還是模擬的,雖然精度較高但模擬電壓表采用指針式,里面是磁電或電磁式結(jié)構(gòu),所以響應(yīng)較慢。為適應(yīng)許多高速信號領(lǐng)域目前廣泛使用數(shù)字電壓表。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)。而單片機(jī)是數(shù)字電壓表的核心與基礎(chǔ)。單片機(jī)是一種集成電路芯片,采用超大規(guī)模技術(shù)把具有數(shù)據(jù)處理能力(如算術(shù)運(yùn)算、邏輯運(yùn)算、數(shù)據(jù)傳送、中斷處理)的微處理器(cpu)。單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或數(shù)字電路構(gòu)成的控制系統(tǒng),可以軟件控制來實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化

2、。本設(shè)計是基于at89c51單片機(jī)的一種8路輸入電壓測量電路,該電路采用adc0809作為a/d轉(zhuǎn)換元件,測量范圍0至5伏,小數(shù)點(diǎn)后顯示一位。要求能夠依次顯示每路通道電壓,而且能夠通過撥碼開關(guān)選擇輸入通道。在4位的共陰led顯示器上顯示采集到的電壓(可保留小數(shù)點(diǎn)后三位)。本系統(tǒng)主要包括四大模塊:數(shù)據(jù)采集模塊、控制模塊、顯示模塊、a/d轉(zhuǎn)換模塊。繪制電路原理圖與工作流程圖,并進(jìn)行調(diào)試,最終設(shè)計完成了該系統(tǒng)的硬件電路。在軟件編程上,采用了匯編語言進(jìn)行編程,開發(fā)環(huán)境使用wave集成開發(fā)環(huán)境。開發(fā)了顯示模塊程序、通道切換程序、a/d轉(zhuǎn)換程序。關(guān)鍵詞:at89c51 adc0809 a/d轉(zhuǎn)換 led顯

3、示abstractin a circuit design we often use the voltmeter, past the voltmeter or simulation most, although high accuracy but simulation voltmeter using pointers type, it is inside magnetoelectricity or assolenoid style structure, so response slower. in order to adapt to the many highspeed signal digit

4、al voltmeter field is now widely used. digital voltmeter is the core of many digital instrument with the foundation. and mcu is the core and foundation digital voltmeter. scm is an integrated circuit chip, using vlsi technology integrates the data processing ability (such as arithmetic and logical o

5、perations, data transfer, interrupt handling) microprocessor (cpu). single-chip microcomputer control system can be replaced by complex electronic circuit or before digital circuit consists of control systems, to realize control software, and able to realize intelligent. this design is a kind of bas

6、ed on at89c51 8 road input voltage measurement circuit, this circuit uses adc0809 as a/d conversion components, measurement range 0 to 5 volts, that displays a decimal point. every road requirement can be ordinal display, and be able to channel voltage code switch choice by dial input. in four total

7、 of yin led monitors displayed the collected voltage (may retain decimal point three).this system mainly including four modules: data acquisition module, control module, display module, a/d conversion module. draw circuit principle diagram and work flowchart, and debugging, final design completed th

8、e system hardware circuit. in software programming, used assembler programming language, development environment, use the wave integrated development environment. developed display module procedures, channel switching procedures, a/d conversion program.keywords: at89c51,adc0809,a/d conversion,led di

9、splay目錄摘要.iabstract.iii目錄.v前言.11 方法論證.31.1 系統(tǒng)的設(shè)計任務(wù).31.2 技術(shù)要求.31.3 設(shè)計方案.32 芯片的選擇.52.1單片機(jī)芯片的選擇.5 2.2 adc0809芯片說明.82.2.1 adc0809中文資料.8 2.2.2 adc0809應(yīng)用說明.102.3 mcs-51單片機(jī)的時鐘及復(fù)位.102.3.1 時鐘電路.102.3.2 基本時序單位.122.3.3 復(fù)位電路.132.3.4 單片機(jī)復(fù)位后的狀態(tài).142.4 共陰極led數(shù)碼管顯示器介紹.152.4.1 led數(shù)碼管構(gòu)成.152.4.2 顯示方式.183數(shù)字電壓表硬件設(shè)計203.1

10、系統(tǒng)原理框圖203.2 電源電路213.3 時鐘電路213.4上電復(fù)位電路.223.5 adc0809模數(shù)轉(zhuǎn)換電路及采集原理.233.5.1 8路模擬通道選擇233.5.2 轉(zhuǎn)換數(shù)據(jù)的傳送.253.6系統(tǒng)原理圖.273.7 pcb版圖.283.8 protues軟件進(jìn)行仿真.294系統(tǒng)的軟件設(shè)計314.1 系統(tǒng)軟件介紹314.2 系統(tǒng)程序的流程圖314.2.1 系統(tǒng)原理框圖.314.2.2 程序的流程圖.324.3 模塊程序設(shè)計334.3.1 a/d轉(zhuǎn)換測量程序.334.3.2 顯示程序.345總結(jié)366設(shè)計體會387致謝42參考文獻(xiàn).41附錄.42數(shù)字電壓表程序.42前言數(shù)字電壓表(digi

11、tal voltmeter)簡稱dvm,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。數(shù)字電壓表(數(shù)字面板表)是當(dāng)前電子、電工、儀器、儀表和測量領(lǐng)域大量使用的一種基本測量工具有關(guān)數(shù)字電壓表的書籍和應(yīng)用已經(jīng)非常普及了。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),電壓表的數(shù)字化是將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示, 其精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與pc進(jìn)行實(shí)時通信。這有別于傳統(tǒng)的指針式加刻度盤進(jìn)行讀數(shù)的模擬電壓表,其功能單一、響應(yīng)速度慢、由于讀數(shù)的視差和視覺疲勞精度也較低,不能滿足數(shù)字化時代的需求。目

12、前,由各種單片a/d 轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領(lǐng)域,示出強(qiáng)大的生命力。與此同時,由dvm擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測量技術(shù)提高到嶄新水平。數(shù)字電壓表的內(nèi)部核心部件是a/d轉(zhuǎn)換器, 轉(zhuǎn)換器的精度很大程度上影響著數(shù)字電壓表的準(zhǔn)確度, 本文a/d轉(zhuǎn)換器采用adc0809對輸人模擬信號進(jìn)行轉(zhuǎn)換, 控制核心at89c51再對轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動輸出裝置顯示數(shù)字電壓信號。數(shù)字電壓表的設(shè)計和開發(fā),已經(jīng)有多種類型和款式。傳統(tǒng)的數(shù)字電壓表各有特點(diǎn),它們適合在現(xiàn)場做手工測量,要完成遠(yuǎn)程測量并要對測量數(shù)據(jù)做

13、進(jìn)一步處理,傳統(tǒng)數(shù)字電壓表是無法完成的。然而基于pc通信的數(shù)字電壓表,既可以完成測量數(shù)據(jù)的傳遞,又可借助pc,做測量數(shù)據(jù)的處理。所以這種類型的數(shù)字電壓表無論在功能和實(shí)際上,都具有傳統(tǒng)數(shù)字電壓表無法比擬的特點(diǎn),這使得它的開發(fā)和應(yīng)用具有良好的前景。 1 方法論證1.1 系統(tǒng)的設(shè)計任務(wù)設(shè)計單片機(jī)主電路、數(shù)據(jù)采集接口電路、led顯示電路、撥碼控制電路,能夠?qū)崿F(xiàn)對8路電壓值進(jìn)行測量,能夠顯示當(dāng)前測量通道號及電壓值,電壓精度小數(shù)點(diǎn)后2位,可以通過鍵盤選擇循環(huán)顯示8路的檢測電壓值和指定通道的檢測電壓值。1.2 技術(shù)要求1)測量05v的直流電壓;2)測量精度0.01v,誤差小于10%;3)測量結(jié)果顯示在4位共

14、陰極led數(shù)碼管顯示器上;4)由5v穩(wěn)壓電源供電。1.3 設(shè)計方案將數(shù)據(jù)采集接口電路輸入電壓傳入adc0809數(shù)模轉(zhuǎn)換元件,經(jīng)轉(zhuǎn)換后通過d0至d7與單片機(jī)p0至p7口連接,把轉(zhuǎn)換完的模擬信號以數(shù)字信號的信號的形式傳給單片機(jī),信號經(jīng)過單片機(jī)處理從led數(shù)碼顯示管顯示。撥碼開關(guān)連p3口,實(shí)現(xiàn)通道選擇。p2口接數(shù)碼管位選,p1接數(shù)碼管,實(shí)現(xiàn)數(shù)據(jù)的動態(tài)顯示,如下圖1.3所示。選擇mcs-51系列單片機(jī)芯片,選用8段共陰極led數(shù)碼管實(shí)現(xiàn)電壓顯示,選用獨(dú)立式按鍵作為程序的跳轉(zhuǎn)與選擇,利用adc0809作為數(shù)模轉(zhuǎn)換芯片,利用p0至p4的各個串口來進(jìn)行不同設(shè)備間的連接,計算機(jī)進(jìn)行匯編,仿真。圖1.3系統(tǒng)總體

15、方案結(jié)構(gòu)圖2 芯片的選擇 2.1單片機(jī)芯片的選擇at89c51系列單片機(jī)是一種自帶4k字節(jié)閃存可編程可擦除只讀存儲器(fperomflash programmable and erasable read only memory)的低電壓、高性能cmos 8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。主要特

16、性:與mcs-51 兼容,4k字節(jié)可編程閃爍存儲器,壽命:1000寫/擦循環(huán),數(shù)據(jù)保留時間:10年,全靜態(tài)工作:0hz-24hz,三級程序存儲器鎖定,128*8位內(nèi)部ram32,可編程i/o線,兩個16位定時器/計數(shù)器,5個中斷源,可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時鐘電路。 at89s51是一個低功耗,高性能cmos 8位單片機(jī),片內(nèi)含4k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用

17、8位中央處理器和isp flash存儲單元,功能強(qiáng)大的微型計算機(jī)的at89s51可為許多嵌入式控制應(yīng)用系統(tǒng)供給高性價比的解決方案。主要特性:40個引腳,8k bytes flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時鐘振蕩器。at89s51相對于at89c51增加的新功能包括:新增加很多功能,性能有了較大提升,價格卻基本不變,甚至比at89c51低。isp在線編程功能,這個功能的優(yōu)勢在于改寫單片機(jī)存儲器內(nèi)的程序不需要把

18、芯片從工作環(huán)境中剝離。是一個強(qiáng)大易用的功能。 工作頻率為33mhz,大家都知道89c51的極限工作頻率只有24m,就是說at89s51具有更高工作頻率,從而具有了更快的計算速度。 具有雙工uart串行通道。內(nèi)部集成看門狗計時器,不再需要像89c51那樣外接看門狗計時器單元電路。 雙數(shù)據(jù)指示器。 電源關(guān)閉標(biāo)識。 全新的加密算法,這使得對于89s51的解密變?yōu)椴豢赡?,程序的保密性大大加?qiáng),這樣就可以有效的保護(hù)知識產(chǎn)權(quán)不被侵犯。兼容性方面:向下完全兼容51全部字系列產(chǎn)品。比如8051、89c51等等早期mcs-51兼容產(chǎn)品。也就是說所有教科書、網(wǎng)絡(luò)教程上的程序(不論教科書上采用的單片機(jī)是8051還是

19、89c51還是mcs-51等等),在89s51上一樣可以照常運(yùn)行,這就是所謂的向下兼容。 在本次課題設(shè)計中我們選擇了at89s51芯片,其具有功能強(qiáng)、體積小、成本低、功耗小等特點(diǎn),它可單獨(dú)地完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,能在軟件的控制下準(zhǔn)確、迅速、高效地完成程序設(shè)計者事先規(guī)定的任務(wù)。2.2 adc0809芯片說明2.2.1 adc0809中文資料adc0809是帶有8位a/d轉(zhuǎn)換器、8路多路開關(guān)以及微處理機(jī)兼容的控制邏輯的cmos組件。它是逐次逼近式a/d轉(zhuǎn)換器,可以和單片機(jī)直接接口。adc0809的內(nèi)部邏輯結(jié)構(gòu)adc0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個a/d轉(zhuǎn)換器

20、和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用a/d轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。adc0809內(nèi)部邏輯電路圖如下: 圖2.2.1(a)adc0809內(nèi)部邏輯電路adc0809引腳圖如下: adc0809各腳功能: d7-d0:8位數(shù)字量輸出引腳。 in0-in7:8位模擬量輸入引腳。 vcc:+5v工作電壓。 gnd:地。 ref(+):參考電壓正端。 ref(-):參考電壓負(fù)端。 start:a/d轉(zhuǎn)換啟動信號輸入端。 ale:地址鎖存允許信號輸入端。. eoc:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。 oe:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸

21、出鎖存器。 clk:時鐘信號輸入端(一般為500khz)。 a、b、c:地址輸入線。2.2.2 adc0809應(yīng)用說明 1)adc0809內(nèi)部帶有輸出鎖存器,可以與at89s51單片機(jī)直接相連。 2)初始化時,使st和oe信號全為低電平。 3)送要轉(zhuǎn)換的哪一通道的地址到a,b,c端口上。 4)在st端給出一個至少有100ns寬的正脈沖信號。 5)是否轉(zhuǎn)換完畢,我們根據(jù)eoc信號來判斷。 6)當(dāng)eoc變?yōu)楦唠娖綍r,這時給oe為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。2.3 mcs-51單片機(jī)的時鐘及復(fù)位2.3.1 時鐘電路 了cs-器onversion, 個機(jī)器周期。每個機(jī)器周期完成完成mcs-51

22、單片機(jī)各功能部件的運(yùn)行都是以時鐘控制信號為基礎(chǔ)的,有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。常用的時鐘電路設(shè)計有兩種方式,一種內(nèi)部時鐘方式,另一種方式為外部時鐘方式。 1)內(nèi)部時鐘方式 mcs-51單片機(jī)內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,該高增益反向放大器的輸入端為芯片引腳xtal1,輸出端為芯片引腳xtal2。這兩引腳跨接石英晶體振蕩器和微調(diào)電容,就夠成了一個穩(wěn)定的自激振蕩器,圖2.3.1是mcs-51單片機(jī)內(nèi)部時鐘方式的振蕩器電路。圖2.3.1時鐘電路 2)外部時鐘方式 外部時鐘方式是使用外部振蕩器產(chǎn)生的脈沖信號,常

23、用于多片單片機(jī)同時工作,以便于多片單片機(jī)之間同步。2.3.2 基本時序單位 單片機(jī)執(zhí)行的指令均是在cpu控制器的時序控制電路的控制下進(jìn)行的,各種時序均與時鐘周期有關(guān)。 時鐘周期是單片機(jī)的基本時間單位。若時鐘晶振的振蕩頻率fosc,則時鐘周期tosc=1/ fosc。 cpu完成一個基本操作所需時間稱為機(jī)器周期。單片機(jī)常把執(zhí)行一條指令的過程分為幾個機(jī)器周期。每個機(jī)器周期完成一個基本操作,如取指令、讀或?qū)憯?shù)據(jù)等等。mcs-51單片機(jī)沒12個時鐘周期為一個機(jī)器周期。即tcy=12/ fosc。 指令周期是單片機(jī)執(zhí)行一條指令所需時間。指令按字節(jié)可分為單字節(jié)、雙字節(jié)、三字節(jié)指令。因此執(zhí)行一條指令的時間也

24、不同。對于簡單的單字節(jié)指令,只需要一個機(jī)器周期時間。而有些復(fù)雜的指令,則需要2個或多個機(jī)器周期。 mcs-51單片機(jī)執(zhí)行任何一條指令時,都可以分為取指令階段和指令執(zhí)行階段。單片機(jī)在取指令階段,可以把程序計數(shù)器pc中的地址送到程序存儲器,并從中取出需要執(zhí)行的指令的操作碼和操作數(shù)。指令執(zhí)行階段可對指令操作碼進(jìn)行譯碼,以產(chǎn)生一系列的控制信號完成指令的執(zhí)行。2.3.3 復(fù)位電路復(fù)位是單片機(jī)的初始化操作,只需給mcs-51的復(fù)位引腳加上大于2個機(jī)器周期(即24個時鐘振蕩周期)的高電平就可使mcs-51復(fù)位。除了進(jìn)入系統(tǒng)初始化外,當(dāng)由于程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài),為擺脫死鎖狀態(tài),也需要按復(fù)位

25、鍵使rst引腳為高電平使mcs-51重新啟動。單片機(jī)系統(tǒng)常用的有兩種復(fù)位方式上電復(fù)位和操作復(fù)位。最簡單的上電復(fù)位電路如圖2.3.3(a)所示。上電復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。圖2.3.3(a)上電復(fù)位電路操作復(fù)位是指用戶按下“復(fù)位”按鈕使單片機(jī)進(jìn)入復(fù)位狀態(tài)。如圖2.3.3(b)所示。圖2.3.3(b) 操作復(fù)位電路2.3.4 單片機(jī)復(fù)位后的狀態(tài) 除pc之外,復(fù)位操作還對其它一些寄存器有影響,這些寄存器復(fù)位的狀態(tài)如表2.3.4所示。寄存器復(fù)位狀態(tài)寄存器復(fù)位狀態(tài)pcaccpswbspdptrp0p3ipie000h00h00h00h07h0000hffh00000b000000btm

26、odtconth0tl0th1tl1sconsbufpcon00h00h00h00h00h00h00hb00000b表2.3.4 由于單片機(jī)內(nèi)部各個功能部件均受特殊功能寄存器控制,程序運(yùn)行直接受程序計數(shù)器pc的控制。表2.3.4中各寄存器復(fù)位時的狀態(tài)決定了單片機(jī)內(nèi)有關(guān)功能部件的初始狀態(tài)。另外,在復(fù)位有效期間,mcs-51的aley引腳和psen引腳均為高電平,且內(nèi)部ram的狀態(tài)不受復(fù)位的影響。2.4 共陰極led數(shù)碼管顯示器介紹2.4.1 led數(shù)碼管構(gòu)成 led數(shù)碼管顯示器是由發(fā)光二極管顯示字段的顯示器件,也稱為數(shù)碼管。其外形結(jié)構(gòu)如圖所示。它由8個發(fā)光二極管構(gòu)成,通過不同的組合可用來顯示0-

27、9、a-f及小數(shù)點(diǎn)“.”等字符。 數(shù)碼管有共陰極和共陽極兩種結(jié)構(gòu)規(guī)格,如圖2.4.1(a)所示共陰極數(shù)碼管的發(fā)光二極管陰極共地,當(dāng)某發(fā)光二極管的陽極為高電平時,二極管點(diǎn)亮;如圖2.4.1(b)所示共陽極數(shù)碼管的發(fā)光二極管是陽極共接高電平,對于需點(diǎn)亮的發(fā)光二極管將其陰極接低電平即可。對照圖2.4.1(c)中的字段:7段發(fā)光二極管,在加上1個小數(shù)點(diǎn)位,共計8段,因此提供給led顯示器的字碼正好一個字節(jié)。 圖2.4.1(a) 共陰極 圖2.4.1(b) 共陽極 圖2.4.1(c)發(fā)光二極管8段led的段碼如表2.4.1 顯示字符共陰極段顯示字符共陰極段03fhc39h106hd5eh25bhe79h

28、34fhf71h466hp73h56dhu3eh67dht31h707hy6eh87fhh76h96fhl38ha77h“滅”00hb7ch表2.4.12.4.2 顯示方式1)靜態(tài)顯示方式 直接利用并行口輸出。led顯示工作于靜態(tài)顯示方式時,各位的共陰極連接在一起接地;每位的段選線分別于一個8位的鎖存輸出相連。一般稱之為靜態(tài)顯示,是由于顯示器中的各位相互獨(dú)立。而且各位的顯示字符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個字符為止。 利用通信號串行輸出。在實(shí)際應(yīng)用中,多位led顯示時,為了簡化電路,在系統(tǒng)不需要通信功能時,經(jīng)常采用串行通信口工作方式0,外接移位寄存器74ls164、cd4

29、094來實(shí)現(xiàn)靜態(tài)顯示。2)動態(tài)顯示方式在多位led顯示時,通常將所有為的段碼相應(yīng)段并聯(lián)在一起,由1個8位i/o口控制,形成段碼顯的多位復(fù)用,而各位的共陽極或者共陰極分別有相應(yīng)的i/o線控制,形成分時選通。動態(tài)接口采用各數(shù)碼管循環(huán)輪流顯示的方法,循環(huán)顯示的頻率較高,雖然這些字符在不同時刻出現(xiàn)的,而在同一時刻,只有一位顯示,其他各位熄滅,但是由于led顯示器的余輝和人眼的視覺暫留作用,看不出閃爍顯示現(xiàn)象,可以造成多位同時亮的假象,達(dá)到同時顯示效果。這種顯示要一個接口完成字形碼的輸出,另一接口完成各數(shù)碼管的輪流點(diǎn)亮。其連接如圖2.4.2所示。 2.4.2 led顯示電路3數(shù)字電壓表硬件設(shè)計3.1 系

30、統(tǒng)原理框圖3.2 電源電路 電源電路如圖3.2所示。電源電路主要給數(shù)字電壓表各原件提供穩(wěn)定的電源電壓。led為指示燈。圖3.2 電源電路3.3 時鐘電路 at89s51的時鐘電路如圖3.3所示,在單片機(jī)的xtal1與xtal2兩個管腳接一個晶振及兩個電容構(gòu)成時鐘電路,電路中電容c1和c2對振蕩頻率有微調(diào)作用。在設(shè)計時取30uf。晶振為11.0592,故選擇12mhz即可。圖3.3 時鐘電路3.4上電復(fù)位電路at89c51的復(fù)位電路如圖3.4所示。單單片機(jī)一上電,立即復(fù)位;另外,如果在運(yùn)行中,外界干擾等因素使單片機(jī)的程序陷入死循環(huán)狀態(tài),就可以通過按鍵手動使其復(fù)位。復(fù)位也是使單片機(jī)退出低功耗工作方

31、式而進(jìn)入正常狀態(tài)的一種操作。電容c1和電阻r1實(shí)現(xiàn)上電復(fù)位,增加按鍵開關(guān)s1和電阻r2又可以實(shí)現(xiàn)按鍵復(fù)位手動功能。電阻r2的作用是在按鍵開關(guān)s1按下的時候,防止電容c1放大電流過大燒壞開關(guān)s1的觸點(diǎn)。圖3.4上電復(fù)位電路3.5 adc0809模數(shù)轉(zhuǎn)換電路及采集原理adc0809與mcs-51單片機(jī)的連接如圖3.5所示。 電路連接主要涉及兩個問題。一是8路模擬信號通道的選擇,二是a/d轉(zhuǎn)換完成后轉(zhuǎn)換數(shù)據(jù)的傳送。圖3.5 adc0809與mcs-51的連接3.5.1 8路模擬通道選擇如圖3.5.1(a)所示模擬通道選擇信號a、b、c分別接最低三位地址a0、a1、a2即 (p0.0、p0.1、p0.

32、2),而地址鎖存允許信號ale由p2.0控 制,則8路模擬通道的地址為0fef8h0feffh.此外,通道地址選擇以作寫選通信號,這一部分電路連接如圖3.5.1(b)所示。圖3.5.1(a)adc0809的部分信號連接 圖3.5.1(b)信號的時間配合 從圖3.5.1(b)中可以看到,把a(bǔ)le信號與start信號接在一起了,這樣連接使得在信號的前沿寫入(鎖存)通道地址,緊接著在其后啟動轉(zhuǎn)換。adc0809是帶有8:1多路模擬開關(guān)的8位a/d轉(zhuǎn)換芯片,所以它可有8個模擬量的輸入端,由芯片的a,b,c三個引腳來選擇模擬通道中的一個。a,b,c三端分別與89c51的p0.0p0.2相接。地址鎖存信號

33、(ale)和啟動轉(zhuǎn)換信號(start),由p2.6和/wr或非得到。輸出允許,由p2.6和/rd或非得到。時鐘信號,可有at89s51的ale輸出得到,不過當(dāng)采用12m晶振時,應(yīng)該先進(jìn)行二分頻,以滿足adc0809的時鐘信號必須小于640k啟動a/d轉(zhuǎn)換只需要一條movx指令。在此之前,要將p2.0清零并將最低三位與所選擇的通道好像對應(yīng)的口地址送入數(shù)據(jù)指針 dptr中。例如要選擇in0通道時,可采用如下兩條指令,即可啟動a/d轉(zhuǎn)換: mov dptr , #fe00h ;送入0809的口地址 movx dptr , a ;啟動a/d轉(zhuǎn)換(in0)注意:此處的a與a/d轉(zhuǎn)換無關(guān),可為任意值。3.

34、5.2 轉(zhuǎn)換數(shù)據(jù)的傳送a/d轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時傳送給單片機(jī)進(jìn)行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)a/d轉(zhuǎn)換的完成,因為只有確認(rèn)完成后,才能進(jìn)行傳送。為此可采用下述三種方式。1)定時傳送方式 對于一種a/d轉(zhuǎn)換其來說,轉(zhuǎn)換時間作為一項技術(shù)指標(biāo)是已知的和固定的。例如adc0809轉(zhuǎn)換時間為128s,相當(dāng)于6mhz的mcs-51單片機(jī)共 64個機(jī)器周期??蓳?jù)此設(shè)計一個延時子程序,a/d轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進(jìn)行數(shù)據(jù)傳送。2)查詢方式 a/d轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如adc0809的eoc端。因此可以用查詢方式,測試eoc的狀態(tài),即可卻只轉(zhuǎn)

35、換是否完成,并接著進(jìn)行數(shù)據(jù) 傳送。3)中斷方式 把表明轉(zhuǎn)換完成的狀態(tài)信號(eoc)作為中斷請求信號,以中斷方式進(jìn)行數(shù)據(jù)傳送。不管使用上述那種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。3.6 系統(tǒng)原理圖 數(shù)字電壓表原理圖如圖3.6所示。電路主要元件at89s51芯片、adc0809芯片、led、晶振、電容、電阻、滑動變阻器、行程開關(guān)、電源等。圖3.6 數(shù)字電壓表原理圖3.7 pcb版圖 根據(jù)圖3.6數(shù)字電壓表原理圖自動布線得到數(shù)字電壓表pcb版圖如圖3.7所示。圖3.7 數(shù)字電壓表pcb版圖3.8 protues軟件進(jìn)行仿真軟件調(diào)試的任務(wù)是利用開發(fā)工具進(jìn)行調(diào)試仿真,發(fā)現(xiàn)和糾正程序的錯

36、誤,同時也能發(fā)現(xiàn)硬件故障。軟件調(diào)試是一個模塊接著一個模塊進(jìn)行的。首先單獨(dú)調(diào)試各自程序是否能按照預(yù)期的功能運(yùn)行。接口電路控制是否正常。最后調(diào)試整個程序。尤其注意的是各模塊間能否正確的傳遞參數(shù)。1)檢查數(shù)碼管顯示模塊程序。觀察數(shù)碼管上是否能夠顯示相應(yīng)的字符。2)檢查a/d轉(zhuǎn)換模塊程序。3)檢查數(shù)據(jù)的轉(zhuǎn)換模塊程序。程序可分為數(shù)據(jù)采集系統(tǒng)、數(shù)據(jù)轉(zhuǎn)換系統(tǒng)、顯示系統(tǒng),這三部分先獨(dú)立測試,然后整體調(diào)試。如圖3.8(a)為數(shù)字電壓表基本仿真電路圖,由于軟件版本問題adc0809沒有仿真模型,電路缺陷等原因仿真沒能成功。圖3.8(a)數(shù)字電壓表基本仿真電路圖現(xiàn)在對電路進(jìn)行改進(jìn),改用adc0808仿真,仿真結(jié)果如

37、下。圖3.8(b)數(shù)字電壓表仿真結(jié)果4系統(tǒng)的軟件設(shè)計4.1 系統(tǒng)軟件介紹軟件開發(fā)環(huán)境: 用protel99se軟件畫電路圖 、用keil軟件進(jìn)行程序編寫、用proteus軟件進(jìn)行仿真。4.2 系統(tǒng)程序的流程圖4.2.1 系統(tǒng)原理框圖如圖4.2.1所示,模擬電壓經(jīng)過adc0809轉(zhuǎn)換器進(jìn)行a/d轉(zhuǎn)換,然后送到單片機(jī)中進(jìn)行數(shù)據(jù)處理,處理后的數(shù)據(jù)送到led顯示器中顯示出來,通過調(diào)節(jié)即可在led數(shù)碼管顯示器上看到不同的電壓值。圖4.2.1 系統(tǒng)基本方框圖4.2.2 程序的流程圖先撥動開關(guān)開始,通道程序初始化,轉(zhuǎn)向數(shù)據(jù)讀取程序,再到顯示程序,顯示出電壓值,轉(zhuǎn)向循環(huán)顯示程序,工作流程圖如圖4.2.2:圖4

38、.2.2 程序流程圖4.3 模塊程序設(shè)計4.3.1 a/d轉(zhuǎn)換測量程序a/d轉(zhuǎn)換的常用方法有:計數(shù)式a/d轉(zhuǎn)換,逐次逼近型a/d轉(zhuǎn)換,雙積分式a/d轉(zhuǎn)換, v/f變換型a/d轉(zhuǎn)換。在這些轉(zhuǎn)換方式中,記數(shù)式a/d轉(zhuǎn)換線路比較簡單,但轉(zhuǎn)換速度較慢,所以現(xiàn)在很少應(yīng)用。雙積分式a/d轉(zhuǎn)換精度高,多用于數(shù)據(jù)采集及精度要求比較高的場合,如5g14433(31/2位),ad7555(41/2位或51/2位)等,但速度更慢。逐次逼近型a/d轉(zhuǎn)換既照顧了轉(zhuǎn)換速度,有具有一定的精度,這里選用的是逐次逼近型的a/d轉(zhuǎn)換芯片adc0809。采用中斷控制的方式實(shí)現(xiàn),不浪費(fèi)時間,效率較高。其流程圖如圖4.3.1:圖4.3

39、.1 a/d轉(zhuǎn)換測量程序4.3.2 顯示程序?qū)Χ辔籰ed顯示器的動態(tài)顯示,通常都是采用動態(tài)掃描的方法進(jìn)行顯示,即逐個循環(huán)點(diǎn)亮各位顯示器。這樣雖然在任一時刻只有一位顯示器被點(diǎn)亮,但是由于間隔時間較短,且人眼具有視覺殘留效應(yīng),看起來與全部顯示器持續(xù)點(diǎn)亮一樣。為了實(shí)現(xiàn)led顯示器的動態(tài)掃描,除了要給顯示器提供的輸入之外,還要對顯示器加位選擇控制,這就是通常所說的段控和位控。因此多位led顯示器接口電路需要有兩個輸出口,其中一個用于輸出8位為控信號;另一個用于輸出段控信號。圖4.2.2 顯示子程序5總結(jié)本設(shè)計使用的是at89s51單片機(jī)作為核心的測量系統(tǒng),以及高精度,高靈敏,耐抗干擾的adc0809模

40、數(shù)轉(zhuǎn)換器。使得本電壓表具有精度高,靈敏度強(qiáng),性能可靠,電路簡單,成本低的特點(diǎn)。可根據(jù)平時所需測量的被測電壓的電壓值,進(jìn)一步提高測量精度,可修改程序,把精確到小數(shù)點(diǎn)后兩位改為精確到后三位。大大提高了測量的準(zhǔn)確性。此設(shè)計是單片機(jī)應(yīng)用系統(tǒng)的開發(fā)性實(shí)驗。通過此次設(shè)計可知在單片機(jī)系統(tǒng)開發(fā)過程中應(yīng)注意以下事項。1)硬件的選擇。選擇合適設(shè)計目的的元器件是一個重要的設(shè)計環(huán)節(jié)。不能以原件是否是最高性能作為選擇元器件的標(biāo)準(zhǔn)。往往高性能元器件的價格也是較高的。應(yīng)根據(jù)項目設(shè)計的需要選擇元器件,能夠滿足設(shè)計需要作為標(biāo)準(zhǔn)選擇元器件。2)因為單片機(jī)系統(tǒng)設(shè)計是硬件和軟件想結(jié)合的設(shè)計,所以系統(tǒng)和軟件必須緊密配合,協(xié)調(diào)一致。應(yīng)不

41、斷調(diào)整硬軟件設(shè)計,以提高系統(tǒng)的工作效率。單片機(jī)的應(yīng)用如今已經(jīng)在工業(yè),電子等方面展示出了它的優(yōu)越性,利用單片機(jī)設(shè)計電路的趨勢逐漸形成,它與外圍電路在加上軟件程序就可以構(gòu)成你想象的產(chǎn)品,使得設(shè)計成為現(xiàn)實(shí)。隨著單片機(jī)的日益發(fā)展,它將在未來顯示出更大的活力,對于數(shù)字電壓表而言,功能將會越來越強(qiáng)大。6設(shè)計體會經(jīng)過近6個月的單片機(jī)的課程設(shè)計,終于完成了我的畢業(yè)論文基于單片機(jī)的數(shù)字電壓表設(shè)計,基本上達(dá)到了設(shè)計要求。此次課程設(shè)計,有許多感觸和體會,遇到的難題多,學(xué)習(xí)到得知識也就更多。1)解決程序設(shè)計問題,而程序設(shè)計是一個很靈活的東西,它反映了你解決問題的邏輯思維和創(chuàng)新能力,它才是一個設(shè)計的靈魂所在。因此在整個

42、設(shè)計過程中大部分時間是用在程序上面的。其中我遇到了很多問題,雖然以前也做過這樣的設(shè)計,但是以前的都是用c語言進(jìn)行編程。而此次運(yùn)用匯編語言編程,著實(shí)讓我當(dāng)頭一棒,因為除了微機(jī)原理實(shí)驗進(jìn)行過相關(guān)編程,匯編語言的編程能力還停留在理論階段。在此次編程中,我查找匯編語言相關(guān)資料,經(jīng)過不懈的努力與調(diào)試,終于用匯編語言編程成功。2)這一個課題中,要設(shè)計一個成功的電路,必須要有耐心,要有毅力。在整個電路設(shè)計過程中,重要的是各單元電路的連接及電路細(xì)節(jié)設(shè)計上,如在多種方案的選擇中,我們仔細(xì)比較分析其原理以及可行的原因。這就要求我們對系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對之靈活應(yīng)用。完成這次設(shè)計后,我在書本理論知識的基礎(chǔ)上又有了更深層次的理解。3)在本次設(shè)計過程中,我們結(jié)合所學(xué)過的課程,了解了簡易儀表的發(fā)展?fàn)顩r,掌握了目前自動化儀表的一般設(shè)計要求,工程設(shè)計方法,開發(fā)及設(shè)計工具使用方法,最重要的是通過這一設(shè)計實(shí)踐過程,鍛煉了我們的動手能力和分析解決問題的能力,培養(yǎng)一絲不茍的工作能力和對所學(xué)知識的綜合應(yīng)用能力,了解了很多課本上學(xué)不到的知識,我還學(xué)會了高效的查閱資料、運(yùn)用工具書、利用網(wǎng)絡(luò)查找資料。我發(fā)現(xiàn),在我們

溫馨提示

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

評論

0/150

提交評論