簡(jiǎn)易數(shù)字式直流電壓表的設(shè)計(jì) (的應(yīng)用)_第1頁(yè)
簡(jiǎn)易數(shù)字式直流電壓表的設(shè)計(jì) (的應(yīng)用)_第2頁(yè)
簡(jiǎn)易數(shù)字式直流電壓表的設(shè)計(jì) (的應(yīng)用)_第3頁(yè)
簡(jiǎn)易數(shù)字式直流電壓表的設(shè)計(jì) (的應(yīng)用)_第4頁(yè)
簡(jiǎn)易數(shù)字式直流電壓表的設(shè)計(jì) (的應(yīng)用)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、鍵入文字摘要數(shù)字電壓表是對(duì)電子電路進(jìn)行現(xiàn)場(chǎng)檢測(cè)的常用儀表,本文討論了一種基于單片機(jī)的設(shè)計(jì)方式,將檢測(cè)到的數(shù)據(jù)送入微計(jì)算機(jī)系統(tǒng),完成計(jì)算、存儲(chǔ)、控制和顯示等功能。本文中數(shù)字電壓表的控制系統(tǒng)采用at89c51單片機(jī),a/d轉(zhuǎn)換器采用adc0809為主要硬件,實(shí)現(xiàn)簡(jiǎn)易數(shù)字式直流電壓表的硬件電路與軟件設(shè)計(jì)。該系統(tǒng)的數(shù)字電壓表電路簡(jiǎn)單,所用的元件較少,成本低,且測(cè)量精度和可靠性較高。數(shù)字電壓表可以測(cè)量05v的1路模擬直流輸入電壓值,并通過(guò)一個(gè)四位一體的7段數(shù)碼管顯示出來(lái)。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、數(shù)字電壓表、a/d轉(zhuǎn)換、at89c51、adc0808- ii -abstractin modern measurin

2、g technology,it is ofen required to conduct site measuring with a digital voltmeter,the data measured will then be input into the micro-computer system to execute such functions like calculating,storing,controlling and displaying.the simple digital voltmeter control system described in this paper ma

3、kes use of at89c51 sc computer and adc0808 a/d converter to fulfill the designing of the software as well as the electrical circuit.the voitmeter features in simple electrical circuit,lower use of elements,low cost ,moreover,its measuring precision and reliability.the meter is capable of measuring v

4、oltage inputs from 1 routes ranging from 0 to 5 volt,and displaying the measurements though an digital code tube of 7 pieces of led.keywords: microcontroller unit、digital voltmeter、a/d converter、at89c51、adc0808目 錄目錄第一章 引言21.1 概述21.1.1 課題選擇的背景和意義21.1.2 課題研究的現(xiàn)狀和發(fā)展趨勢(shì)21.2 課題研究的重點(diǎn)3第二章 系統(tǒng)總體方案設(shè)計(jì)42.1 設(shè)計(jì)功能要求

5、42.2 設(shè)計(jì)思路42.3 總體設(shè)計(jì)方案4第3章 系統(tǒng)硬件設(shè)計(jì)53.1 單片機(jī)的選擇53.1.1 at89c51的結(jié)構(gòu)與性能53.1.2 at89c51功能性能63.1.3 at89c51功能特性概述63.1.4 at89c51的引腳功能說(shuō)明63.2 a/d轉(zhuǎn)換器adc080893.2.1 逐次逼近型a/d轉(zhuǎn)換器原理93.2.2 adc0808 主要特性103.2.3 adc0808的外部引腳特性103.2.4 adc0808的內(nèi)部結(jié)構(gòu)及工作流程123.3 時(shí)鐘與復(fù)位電路133.3.1 時(shí)鐘電路設(shè)計(jì)133.3.2 復(fù)位電路設(shè)計(jì)143.4 led顯示系統(tǒng)設(shè)計(jì)143.4.1 led工作原理及基本結(jié)

6、構(gòu)153.4.2 led顯示器的選擇163.4.3 led的顯示方式163.4.4 led顯示器與單片機(jī)接口設(shè)計(jì)173.4.5 led譯碼方式173.5 系統(tǒng)硬件電路設(shè)計(jì)18第4章 軟件設(shè)計(jì)214.1 軟件設(shè)計(jì)方案214.1.1 系統(tǒng)軟件設(shè)計(jì)方案框圖214.2 系統(tǒng)應(yīng)用程序設(shè)計(jì)224.2.1 初始化程序224.2.2 a/d轉(zhuǎn)換子程序224.2.3 led顯示子程序23第5章 系統(tǒng)的仿真實(shí)現(xiàn)255.1 軟件調(diào)試255.2 調(diào)試中的問(wèn)題及解決方法255.3 顯示結(jié)果分析25第6章 結(jié)論29參考文獻(xiàn)30致謝31附錄 基于單片機(jī)的數(shù)字式直流電壓表32附錄1 電路圖32附錄2 程序代碼33外文資料原文

7、36譯文37- iv -第1章 引言第一章 引言1.1 概述電壓表自從1952年問(wèn)世以來(lái),隨著電子技術(shù)的發(fā)展,提別是目前,作為測(cè)量?jī)x表、模擬指示儀表的數(shù)字化以及測(cè)量的系統(tǒng),而得到了很大的發(fā)展。1.1.1 課題選擇的背景和意義傳統(tǒng)的指針式刻度電壓表功能單一,精度低,容易引起視差和視覺(jué)疲勞,因而不能滿(mǎn)足數(shù)字化時(shí)代的需求。采用單片機(jī)的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)化成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與pc實(shí)時(shí)通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)。以數(shù)字電壓表為核心,可以擴(kuò)展成各種通用數(shù)字儀表、專(zhuān)用數(shù)字儀表及各種非電量的數(shù)字化儀表。

8、目前,由各種單片機(jī)和a/d轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域。顯示出強(qiáng)大的生命力。與此同時(shí),由dvm擴(kuò)展而成的各種通用及專(zhuān)用數(shù)字儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新的水平。因此對(duì)數(shù)字電壓表作全面深入的了解是很有必要的。1.1.2 課題研究的現(xiàn)狀和發(fā)展趨勢(shì) 最近的十幾年來(lái),隨著半導(dǎo)體技術(shù)、集成電路 (ic)和微處理器技術(shù)的發(fā)展,數(shù)字電路和數(shù)字化測(cè)量技術(shù)也有了巨大的進(jìn)步,從而促使了數(shù)字電壓表的日新月異,并不斷出現(xiàn)新的類(lèi)型。 數(shù)字電壓表從1952年問(wèn)世以來(lái),經(jīng)歷了不斷改進(jìn)的過(guò)程,從最早采用繼電器、電子管的型式發(fā)展到了現(xiàn)在的全固態(tài)化

9、、集成化(ic化,另一方面,精度也從0.1%提高到了現(xiàn)在的0.01%0.005%,而且從實(shí)驗(yàn)中空用的“高價(jià)樣品”開(kāi)始已發(fā)展到了現(xiàn)在為廠(chǎng)礦企業(yè)廣所使用的的“廉價(jià)型”,進(jìn)而出現(xiàn)了能夠用于安裝板上作指示儀表的“安裝型”。目前,數(shù)字電壓表的內(nèi)部核心部件是a/d轉(zhuǎn)換器,轉(zhuǎn)換的精度很大程度上影響著數(shù)字電壓表的準(zhǔn)確度,因而,以后數(shù)字電壓表的發(fā)展就著眼在高精度和低成本這兩個(gè)方面。1.2 課題研究的重點(diǎn)本文是以簡(jiǎn)易數(shù)字式直流電壓表的設(shè)計(jì)為研究?jī)?nèi)容。本系統(tǒng)主要包括三大模塊:控制模塊、控制模塊及顯示模塊。其中,a/d轉(zhuǎn)換采用adc0808對(duì)輸入的模擬信號(hào)進(jìn)行轉(zhuǎn)換,控制核心at89c51再對(duì)轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,

10、最后驅(qū)動(dòng)輸出裝置顯示數(shù)字電壓信號(hào)。- 43 -第二章 系統(tǒng)總體方案設(shè)計(jì)第二章 系統(tǒng)總體方案設(shè)計(jì)2.1 設(shè)計(jì)功能要求l 以mcs-51系列單片機(jī)為核心器件,組成一個(gè)簡(jiǎn)單的直流數(shù)字電壓表。l 采用1路模擬量輸入,能夠測(cè)量05v之間的直流電壓值。l 電壓顯示采用4位一體的led數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。l 盡量使用較少的元器件。2.2 設(shè)計(jì)思路l 根據(jù)設(shè)計(jì)要求,選擇at89c51單片機(jī)作為核心控制器件。l a/d轉(zhuǎn)換采用adc0808實(shí)現(xiàn)。與單片機(jī)的接口為p1口和p2端口的高四位引腳。l 電壓顯示采用4位一體的led數(shù)碼管。l led數(shù)碼管的段碼輸入,由并行端口p0產(chǎn)生;位碼輸入,由并行端口

11、p2低四位產(chǎn)生。2.3 總體設(shè)計(jì)方案由于adc0808是逐次逼近式、并行8位a/d轉(zhuǎn)換器,因而,此簡(jiǎn)易式數(shù)字電壓表成本低易實(shí)現(xiàn),測(cè)量速度較快,可測(cè)量電壓的最小分辨率為0.02v。硬件電路設(shè)計(jì)由6個(gè)部分組成:89c51單片機(jī)系統(tǒng),a/d轉(zhuǎn)換電路,led顯示系統(tǒng)、時(shí)鐘電路、復(fù)位電路以及測(cè)量電壓輸入電路。硬件電路設(shè)計(jì)框圖如圖2.1所示。單片機(jī)4位一體的led顯示系統(tǒng)時(shí)鐘電路測(cè)量電壓輸入復(fù)位電路a/d轉(zhuǎn)換圖2.1 系統(tǒng)硬件設(shè)計(jì)框圖第3章 系統(tǒng)硬件設(shè)計(jì)第3章 系統(tǒng)硬件設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)的硬件設(shè)計(jì)包括兩方面的內(nèi)容:一是功能模塊的設(shè)計(jì),如信號(hào)測(cè)量、控制、人-機(jī)交互接口、通信功能模塊等的設(shè)計(jì);二是根據(jù)功能的需

12、要,選擇合適的單片機(jī)型號(hào),并設(shè)計(jì)相應(yīng)的擴(kuò)展電路,包括存儲(chǔ)器擴(kuò)展和接口擴(kuò)展。本系統(tǒng)的硬件電路設(shè)計(jì)共由6個(gè)具有實(shí)現(xiàn)一定獨(dú)立功能的模塊組成,本章將詳細(xì)闡述各個(gè)模塊的設(shè)計(jì)過(guò)程,并且通過(guò)各模塊的設(shè)計(jì)來(lái)完成最終的系統(tǒng)硬件電路設(shè)計(jì)。3.1 單片機(jī)的選擇at89c51單片機(jī)是結(jié)合了mcs-51內(nèi)核和atmel公司flash閃存技術(shù)的at89系列單片機(jī),在國(guó)內(nèi)應(yīng)用非常廣泛。at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱(chēng)單片機(jī)。該器件采用atmel高密

13、度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51 指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。根據(jù)初步設(shè)計(jì)方案,選擇帶有eprom的單片機(jī),其應(yīng)用程序直接存儲(chǔ)在片內(nèi),不用在外部擴(kuò)展程序存儲(chǔ)器,這樣可以將電路簡(jiǎn)化。intel公司的8051和8751芯片均可以選用。at89c系列與mcs-51系列單片機(jī)相比有兩大優(yōu)勢(shì):第一,片內(nèi)程序存儲(chǔ)器采用閃速存儲(chǔ)器,使程序的寫(xiě)入更加方便;第二,提供了更小尺寸的芯片,使整個(gè)硬件電路的體積更小。它以較小的體積、良好的性能價(jià)格比倍受青

14、睞,在家電產(chǎn)品、工業(yè)控制、醫(yī)療器械、汽車(chē)工業(yè)等應(yīng)用方面成為用戶(hù)降低成本的首選器件。因此,選用at89c51單片機(jī)作為系統(tǒng)的主控制器。3.1.1 at89c51的結(jié)構(gòu)與性能at89c51是美國(guó)atmel公司生產(chǎn)的低電壓、高性能cmos8位單片機(jī),片內(nèi)含有4kb的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器和128字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),該器件采用atmel高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel的at89c51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。3.1.2 at8

15、9c51功能性能 與mcs-51產(chǎn)品指令系統(tǒng)完全兼容; 4kb可編程閃速存儲(chǔ)器; 壽命:1000次寫(xiě)/擦循環(huán); 數(shù)據(jù)保留時(shí)間:10年; 全靜態(tài)工作:024mhz; 三級(jí)程序存儲(chǔ)器鎖定; 1288b內(nèi)部ram; 32個(gè)可編程i/o口線(xiàn); 2個(gè)16位定時(shí)/計(jì)數(shù)器; 5個(gè)中斷源; 可編程串行uart通道; 片內(nèi)振蕩器和時(shí)鐘電路; 低功耗的閑置和掉電模式。3.1.3 at89c51功能特性概述at89c51提供以下標(biāo)準(zhǔn)功能:4kb的flash閃速存儲(chǔ)器,128b內(nèi)部ram,32個(gè)i/o口線(xiàn),兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí),at89c51

16、可降至0hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram、定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存ram中的內(nèi)容,但振蕩器停止工作并禁止其他所有不見(jiàn)工作直到下一個(gè)硬件復(fù)位。3.1.4 at89c51的引腳功能說(shuō)明at89c51芯片采用pdip封裝形式,引腳配置如圖3.1所示。圖3.1 at89c51的引腳圖at89c51芯片的各引腳功能為:(1)端口線(xiàn)(4*8=32條) p0.0p0.7 這組引腳共有8條,為p0口所專(zhuān)用,其中p0.7為最高位,p0.0為最低位。這8個(gè)引腳有兩種不同的功能,分別適用于兩種不同的情況。第一種情況是89c51

17、不帶外存儲(chǔ)器,p0口可以作為通用i/o口使用,p0.0p0.7用于傳送cpu的輸入/輸出數(shù)據(jù),這時(shí)輸出數(shù)據(jù)可以得到鎖存,不需要外接專(zhuān)用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89c51帶片外存儲(chǔ)器,p0.0p0.7在cpu 訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí)先傳送片外存儲(chǔ)器的低8位地址,然后傳送cpu對(duì)片外存儲(chǔ)器的讀/寫(xiě)數(shù)據(jù)。p0口為開(kāi)漏輸出,在作為通用i/o使用時(shí),需要在外部用電阻上拉。 p1.0p1.7這8個(gè)引腳和p0口的8個(gè)引腳類(lèi)似,p1.7為最高位,p1.0為最低位。當(dāng)p1口作為通用i/o口使用時(shí),p1.0p1.7的功能和p0口的第一功能相同,也用于傳送用戶(hù)的輸入和輸出數(shù)據(jù)。

18、p2.0p2.7這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用i/o口使用。它的第二功能和p0口引腳的第二功能相配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)器單元,但并不能像p0口那樣傳送存儲(chǔ)器的讀/寫(xiě)數(shù)據(jù)。 p3.0p3.7這組引腳的第一功能和其余三個(gè)端口的第一功能相同,第二功能為控制功能,每個(gè)引腳并不完全相同。如下表3.1所示。表3.1 p3口各位的第二功能p3口各位第二功能 p3.0rxt(串行口輸入) p3.1txd(串行口輸出)p3.2/int0(外部中斷0輸入)p3.3/int1(外部中斷1輸入)p3.4t0(定時(shí)器/計(jì)數(shù)器0的外部輸入)p3.5t1(定時(shí)

19、器/計(jì)數(shù)器1的外部輸入)p3.6/wr(片外數(shù)據(jù)存儲(chǔ)器寫(xiě)允許)p3.7/rd(片外數(shù)據(jù)存儲(chǔ)器讀允許)(2)電源線(xiàn)(2條)vcc為+5v電源線(xiàn),vss接地。(3)控制線(xiàn)(6條)ale:地址鎖存允許線(xiàn),配合p0口的第二功能使用。在訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),89c51的cpu在p0.0p0.7引腳線(xiàn)上輸出片外存儲(chǔ)器低8位地址的同時(shí),還在ale線(xiàn)上輸出一個(gè)高電平脈沖,用于把這個(gè)片外存儲(chǔ)器的低8位地址鎖存到外部專(zhuān)用地址鎖存器,以便空出p0.0p0.7引腳線(xiàn)去傳送隨后而來(lái)的片外存儲(chǔ)器讀/寫(xiě)數(shù)據(jù)。在不訪(fǎng)問(wèn)片外存儲(chǔ)器時(shí),89c51自動(dòng)在ale線(xiàn)上輸出頻率為1/6振蕩器頻率的脈沖序列。該脈沖序列可以作為外部時(shí)鐘源或定時(shí)

20、脈沖源使用。/ea:片外存儲(chǔ)器訪(fǎng)問(wèn)選擇線(xiàn),可以控制89c51使用片內(nèi)rom或使用片外rom。若/ea=1,則允許使用片內(nèi)rom, 若/ea=0,則只使用片外rom。/psen:片外rom的選通線(xiàn)。在訪(fǎng)問(wèn)片外rom時(shí),89c51自動(dòng)在/psen線(xiàn)上產(chǎn)生一個(gè)負(fù)脈沖,作為片外rom芯片的讀選通信號(hào)。rst:復(fù)位線(xiàn),可以使89c51處于復(fù)位(即初始化)工作狀態(tài)。通常89c51復(fù)位有自動(dòng)上電復(fù)位和人工按鍵復(fù)位兩種。xtal1和xtal2:片內(nèi)振蕩電路輸入線(xiàn)。這兩個(gè)端子用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接89c51片內(nèi)osc(振蕩器)的定時(shí)反饋回路。 3.2 a/d轉(zhuǎn)換器adc0808在工業(yè)生產(chǎn)和科學(xué)技

21、術(shù)研究的各行各業(yè)中,常常利用pc或工控機(jī)對(duì)各種數(shù)據(jù)進(jìn)行采集如液位、溫度、壓力、頻率等物理量?,F(xiàn)在常用的采集方式是通過(guò)數(shù)據(jù)采集板卡。采用板卡不僅安裝麻煩,易受機(jī)箱環(huán)境的干擾,而且由于受計(jì)算機(jī)插槽數(shù)量和地址、中斷資源的限制,不可能掛接很多設(shè)備。而單片機(jī)數(shù)據(jù)采集系統(tǒng)的出現(xiàn),很好的解決了以上這些沖突,很容易就能實(shí)現(xiàn)低成本、高可靠性、多點(diǎn)的數(shù)據(jù)采集,現(xiàn)實(shí)世界的物理量都是模擬量,能把模擬量轉(zhuǎn)化為數(shù)字量的器件稱(chēng)為模/數(shù)轉(zhuǎn)換器(a/d轉(zhuǎn)換器)。a/d轉(zhuǎn)換器是單片機(jī)數(shù)據(jù)采集系統(tǒng)的關(guān)鍵接口電路,按照各種a/d芯片的轉(zhuǎn)換原理可分為主次逼近型、雙重積分型等等。一個(gè)n位的逐次逼近型a/d轉(zhuǎn)換器只需要比較n次,轉(zhuǎn)換時(shí)間只

22、取決于位數(shù)和時(shí)鐘周期。逐次逼近型a/d轉(zhuǎn)換器轉(zhuǎn)換速度快,因而在實(shí)際中廣泛使用。3.2.1 逐次逼近型a/d轉(zhuǎn)換器原理逐次逼近型a/d轉(zhuǎn)換器是由一個(gè)比較器、d/a轉(zhuǎn)換器、寄存器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開(kāi)始逐位試探比較。轉(zhuǎn)換過(guò)程如下:開(kāi)始時(shí),寄存器各位清零,轉(zhuǎn)換時(shí),先將最高位置1,把數(shù)據(jù)送入a/d轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復(fù)上述過(guò)程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對(duì)應(yīng)的二進(jìn)制數(shù)字量。其原理框圖如圖3.2所示。圖 3.2 逐次逼近式 a/d

23、轉(zhuǎn)換器原理框圖3.2.2 adc0808 主要特性adc0808是cmos單片型逐次逼近式ad轉(zhuǎn)換器,帶有使能控制端,可以與微機(jī)直接接口。片內(nèi)帶有鎖存功能的8路模擬多路開(kāi)關(guān),可以對(duì)8路05v輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換。由于adc0808設(shè)計(jì)時(shí)考慮到若干種模/數(shù)變換技術(shù)的長(zhǎng)處,所以該芯片非常適用于過(guò)程控制、微控制器輸入通道的接口電路、智能儀器和機(jī)床控制等領(lǐng)域。adc0808主要特性如下:l 8路8位a/d轉(zhuǎn)換器,即分辨率8位;l 具有鎖存控制的8路模擬開(kāi)關(guān);l 易與各種微控制器接口;l 可鎖存三態(tài)輸出,輸出與ttl兼容;l 轉(zhuǎn)換時(shí)間(f=500khz):128sl 轉(zhuǎn)換精度:0.2%l 單個(gè)5

24、v電源供電;l 模擬輸入電壓范圍05v,無(wú)需外部零點(diǎn)和滿(mǎn)度調(diào)整;l 低功耗,約15mw。3.2.3 adc0808的外部引腳特性adc0808芯片有28條引腳,采用雙列直插式封裝。其引腳圖如圖3.2所示。圖3.2 adc0808引腳圖下面說(shuō)明各引腳功能。(1)in0in7(8條):8路模擬量輸入線(xiàn),用于輸入和控制被轉(zhuǎn)換的模擬電壓。(2)地址輸入和控制(4條): ale:地址鎖存允許輸入線(xiàn),高電平有效。當(dāng)ale 為高電平時(shí),為地址輸入線(xiàn),用于選擇in0in7上那一路模擬電壓送給比較器進(jìn)行a/d轉(zhuǎn)換。 adda、addb、addc:3位地址輸入線(xiàn),用于選通8路模擬輸入中的一路。其對(duì)應(yīng)關(guān)系如表3.2

25、所示。表3.2 adc0808通道選擇表地址碼對(duì)應(yīng)的輸入通道cba000011110011001101010101in0in1in2in3in4in5in6in7(3)數(shù)字量輸出及控制線(xiàn)(11條) start:start 為 “啟動(dòng)脈沖”輸入端,該線(xiàn)上正脈沖由cpu送來(lái),寬度應(yīng)大于100ns,上升沿清零sar,下降沿啟動(dòng)adc工作。 eoc:eoc為轉(zhuǎn)換結(jié)束輸出線(xiàn),該線(xiàn)上高電平表示a/d轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入三態(tài)輸出鎖存器。 2-12-8:數(shù)字量輸出端,2-1為最高位。 oe :oe為輸出允許端,高電平時(shí)能使2-12-8引腳上輸出轉(zhuǎn)換后的數(shù)字量。(4)電源線(xiàn)及其他(5條) ref(+)、re

26、f(-):參考電壓輸入端,給電阻階梯網(wǎng)絡(luò)供給標(biāo)準(zhǔn)電壓。 vcc、gnd:vcc為主電源輸入端,gnd為接地端。一般ref(+)與vcc連接在一起,ref(-)與gnd連接在一起。 clk:時(shí)鐘輸入端。3.2.4 adc0808的內(nèi)部結(jié)構(gòu)及工作流程adc0808由8路模擬通道選擇開(kāi)關(guān)、地址鎖存與譯碼器、比較器、8位開(kāi)關(guān)樹(shù)型d/a轉(zhuǎn)換器、逐次逼近型寄存器、定時(shí)和控制電路和三態(tài)輸出鎖存器等組成。其內(nèi)部結(jié)構(gòu)如圖3.3所示。圖3.3 adc0808的內(nèi)部結(jié)構(gòu)其中: 8路模擬通道選擇開(kāi)關(guān)實(shí)現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進(jìn)行比較; 地址鎖存與譯碼器用于當(dāng)ale信號(hào)有效時(shí),鎖存從adda、add

27、b、addc 3根地址線(xiàn)上送來(lái)的3位地址,譯碼后產(chǎn)生通道選擇信號(hào),從8路模擬通道中選擇當(dāng)前模擬通道; 比較器、8位開(kāi)關(guān)樹(shù)型d/a轉(zhuǎn)換器、逐次逼近型寄存器、定時(shí)和控制電路組成8位a/d轉(zhuǎn)換器,當(dāng)start信號(hào)有效時(shí),就開(kāi)始對(duì)宿儒的當(dāng)前通道的模擬量進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時(shí)通過(guò)引腳送出轉(zhuǎn)換結(jié)束信號(hào); 三態(tài)輸出鎖存器保存當(dāng)前模擬通道轉(zhuǎn)換得到的數(shù)字量,當(dāng)oe信號(hào)有效時(shí),把轉(zhuǎn)換的結(jié)果送出。adc0808的工作流程為:(1)輸入3位地址,并使ale=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1路模擬量送到比較器。(2)送start一高脈沖,start

28、的上升沿使逐次逼近寄存器復(fù)位,下降沿啟動(dòng)a/d轉(zhuǎn)換,并使eoc信號(hào)為低電平。(3)當(dāng)轉(zhuǎn)換結(jié)束時(shí),轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使eoc信號(hào)回到高電平,通知cpu已轉(zhuǎn)換結(jié)束。(4)當(dāng)cpu執(zhí)行一讀數(shù)據(jù)指令時(shí),使oe為高電平,則從輸出端d0d7讀出數(shù)據(jù)。3.3 時(shí)鐘與復(fù)位電路3.3.1 時(shí)鐘電路設(shè)計(jì)單片機(jī)工作是在統(tǒng)一的時(shí)鐘脈沖下一拍一拍的進(jìn)行的,這個(gè)脈沖是單片機(jī)控制中的時(shí)序電路發(fā)出的。單片機(jī)的時(shí)序就是cpu在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序。為了保證各部件間的同步工作,單片機(jī)內(nèi)部電路應(yīng)在唯一的時(shí)鐘信號(hào)下嚴(yán)格地按時(shí)序進(jìn)行工作。89c51內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘脈

29、沖,外部還需要附加電路。89c51的時(shí)鐘產(chǎn)生方法有兩種:一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式。本設(shè)計(jì)系統(tǒng)采用內(nèi)部時(shí)鐘方式,利用單片機(jī)內(nèi)部的高增益反相反相放大器,外部電路簡(jiǎn)單,只需要一個(gè)晶振和2個(gè)電容即可。如圖3.5 所示。圖 3.4 時(shí)鐘電路電路中的器件選擇可以通過(guò)計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路的參數(shù)。電路中,電容器c1和c2對(duì)振蕩頻率由微調(diào)作用,通常的取值范圍是3010pf,在這個(gè)系統(tǒng)中選擇了33pf;石英晶體選擇范圍最高可選24mhz,它決定了單片機(jī)電路產(chǎn)生的時(shí)鐘信號(hào)的振蕩頻率,在本系統(tǒng)中選擇的是12mhz,因而時(shí)鐘信號(hào)的振蕩頻率為12 mhz。3.3.2 復(fù)位電路設(shè)計(jì)復(fù)位是單片

30、機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,其作用是使cpu和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,單片機(jī)復(fù)位后(rst從高電平變?yōu)榈碗娖剑?,?000h地址開(kāi)始執(zhí)行指令。單片機(jī)的rst引腳為主機(jī)提供一個(gè)外部復(fù)位信號(hào)輸入端口。復(fù)位信號(hào)是高電平有效,高電平有效的持續(xù)時(shí)間應(yīng)為2個(gè)機(jī)器周期以上。單片機(jī)的復(fù)位方式有上電自動(dòng)復(fù)位和手工復(fù)位兩種,圖3.6是51系列單片機(jī)常用的上電復(fù)位和手動(dòng)復(fù)位組合電路,只要vcc上升時(shí)間不超過(guò)1ms(在此設(shè)計(jì)系統(tǒng)中即為一個(gè)機(jī)器周期),它們都能很好的工作。圖 3.5 復(fù)位電路阻容器件的參考值如圖中所示,即r0=10k,c3=10uf。rs

31、t按鍵可以選擇專(zhuān)門(mén)的復(fù)位按鍵,也可以選擇輕觸開(kāi)關(guān)。3.4 led顯示系統(tǒng)設(shè)計(jì)單片機(jī)應(yīng)用系統(tǒng)中,通常都需要進(jìn)行人-機(jī)對(duì)話(huà)。這包括人對(duì)應(yīng)用系統(tǒng)的狀態(tài)干預(yù)與數(shù)據(jù)輸入,以及應(yīng)用系統(tǒng)向人們顯示運(yùn)行狀態(tài)與運(yùn)行結(jié)果等。顯示電路就是用來(lái)完成人-機(jī)對(duì)話(huà)活動(dòng)的人-機(jī)通道。3.4.1 led工作原理及基本結(jié)構(gòu)led顯示器是發(fā)光二極管顯示字段的顯示器件,也可稱(chēng)為數(shù)碼管。單片機(jī)系統(tǒng)中通常使用8段led數(shù)碼顯示器,其外形及引腳圖如圖3.6(a)所示,由圖可見(jiàn)8段led顯示器由8個(gè)發(fā)光二極管組成。其中7個(gè)長(zhǎng)條形的發(fā)光二極管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過(guò)不同的組合可用來(lái)顯示

32、各種數(shù)字。3.6(a) 引腳排列l(wèi)ed顯示器有兩種不同的形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起,稱(chēng)為共陽(yáng)極led顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起,稱(chēng)為共陰極led顯示器。如圖3.6(b)所示。3.6(b) 共陰極8段數(shù)碼顯示管(左圖)和共陽(yáng)極8段數(shù)碼顯示管(右圖) 共陰極和共陽(yáng)極結(jié)構(gòu)的led顯示器各筆畫(huà)段名和安排位置是相同的,當(dāng)二極管導(dǎo)通時(shí),相應(yīng)的筆畫(huà)段發(fā)亮,由發(fā)亮的筆畫(huà)段組合從而顯示各種字符。8個(gè)筆畫(huà)段dpgfedcba對(duì)應(yīng)于1b(8位)的d7、d6、d5、d4、d3、d2、d1、d0,于是用8位二進(jìn)制碼就可以表示要顯示字符的字形代碼。3.4.2 led顯示器的選擇在應(yīng)用系

33、統(tǒng)中,設(shè)計(jì)要求不同,使用的led顯示器的位數(shù)也不同,因此生產(chǎn)就生產(chǎn)了位數(shù)、尺寸、型號(hào)不同的led顯示器供選擇。在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型led顯示器,簡(jiǎn)稱(chēng)“4-led”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個(gè)位,后兩位顯示電壓的小數(shù)位。4-led顯示器引腳如圖3.7所示,是一個(gè)共陰極接法的4位led數(shù)碼顯示管。其中a、b、c、d、e、f、g為4位led各段的公共輸出端。1、2、3、4分別是每一位的位選端,dp是小數(shù)點(diǎn)引出端。4位一體led數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個(gè)單獨(dú)的led組成,每個(gè)led的段輸出引腳在內(nèi)部并聯(lián)后,引出到器件的外部。圖3.6 4位led引腳對(duì)于這種結(jié)構(gòu)的led顯示器,它

34、的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位led陰極的各段已經(jīng)在內(nèi)部接在一起,所以必須使用動(dòng)態(tài)掃描方式。3.4.3 led的顯示方式led顯示器的顯示控制方式分為靜態(tài)顯示和動(dòng)態(tài)顯示兩種。led靜態(tài)顯示時(shí),其公共端直接接地(共陰極)或接電源(共陽(yáng)極),各段選線(xiàn)分別與i/o接口相連。因而顯示結(jié)構(gòu)簡(jiǎn)單,顯示方便,直接在i/o線(xiàn)上發(fā)送相應(yīng)的字段碼,即可顯示相應(yīng)的字符。但當(dāng)數(shù)碼管較多時(shí),需要占用較多的i/o線(xiàn)。led動(dòng)態(tài)顯示是將所有數(shù)碼管的段選線(xiàn)并接在一起,用一個(gè)i/o接口控制,公共端不是直接接地(共陰極)或接電源(共陽(yáng)極),而是通過(guò)相應(yīng)的i/o接口線(xiàn)控制。因而,所占用的i/o接口信號(hào)線(xiàn)少,大大簡(jiǎn)化了硬件線(xiàn)路

35、。為了簡(jiǎn)化電路設(shè)計(jì),本系統(tǒng)采用動(dòng)態(tài)顯示方式來(lái)實(shí)現(xiàn)。因而在軟件設(shè)計(jì)當(dāng)中,每輸出一位數(shù)字,就需要周期性的對(duì)單片機(jī)控制led的位選端口進(jìn)行刷新。如: clr p2.3 ;對(duì)單片機(jī)的p2.3口進(jìn)行清零clr p2.2 ;對(duì)單片機(jī)的p2.2口進(jìn)行清零clr p2.1 ;對(duì)單片機(jī)的p2.1口進(jìn)行清零3.4.4 led顯示器與單片機(jī)接口設(shè)計(jì)由于單片機(jī)的并行口不能直接驅(qū)動(dòng)led顯示器,所以,在一般情況下,必須采用專(zhuān)用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作;如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動(dòng)電路長(zhǎng)期在超負(fù)荷下運(yùn)行容易損壞。因此,led顯示器的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重

36、要的問(wèn)題。為了簡(jiǎn)化數(shù)字式直流電壓表的電路設(shè)計(jì),在led驅(qū)動(dòng)電路的設(shè)計(jì)上,可以利用單片機(jī)p0口上外接的上拉電阻來(lái)實(shí)現(xiàn),即將led的ag(段顯示引腳)和dp(小數(shù)點(diǎn)顯示引腳)并聯(lián)到p0口與上拉電阻之間(上拉電阻阻值為1k),這樣,就可以加大p0口作為輸出口的驅(qū)動(dòng)能力,使得led能按照正常的亮度顯示出數(shù)字。如圖3.8所示。圖3.7 led與單片機(jī)接口間的設(shè)計(jì)3.4.5 led譯碼方式譯碼方式是指由顯示字符轉(zhuǎn)換得到對(duì)應(yīng)的字段碼的方式。對(duì)于led數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。硬件譯碼是指利用專(zhuān)門(mén)的硬件電路來(lái)實(shí)現(xiàn)顯示字符到字段碼的轉(zhuǎn)換。軟件譯碼就是編寫(xiě)軟件譯碼程序,通過(guò)譯碼程序

37、來(lái)得到要顯示的字符的字段碼。譯碼程序通常為查表程序。本設(shè)計(jì)系統(tǒng)中為了簡(jiǎn)化硬件線(xiàn)路設(shè)計(jì),lde譯碼采用軟件編程來(lái)實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極led,其對(duì)應(yīng)的字符和字段碼如下表3.3所示。表3.3共陰極字段碼表顯示字符共陰極字段碼03fh106h25bh34fh466h56dh67dh707h87fh96fh3.5 系統(tǒng)硬件電路設(shè)計(jì)通過(guò)前面幾節(jié)的設(shè)計(jì)過(guò)程,可設(shè)計(jì)出簡(jiǎn)易數(shù)字式直流電壓表硬件電路原理圖如圖3.9所示。圖3.8 簡(jiǎn)易數(shù)字式直流電壓表硬件原理圖該電路的工作原理是:+5v的模擬電壓信號(hào)通過(guò)變阻器vr1分壓后由adc0808的in0通道進(jìn)入(由于使用的in0通道,所以adda、addb、ad

38、dc均接低電平),經(jīng)過(guò)模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過(guò)其輸出通道d0d7傳送給at89c51芯片的p1口。at89c51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過(guò)數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位led。同時(shí)它還通過(guò)其四位i/o口p2.0、p2.1、p2.2、p2.3產(chǎn)生位選信號(hào),控制數(shù)碼管的亮滅。另外,at89c51還控制著adc0808的工作。其中,單片機(jī)at89c51通過(guò)定時(shí)器中斷從p2.4輸出方波,接到adc0808的clock,p2.6發(fā)正脈沖啟動(dòng)a/d轉(zhuǎn)換,p2.5檢測(cè)a/d轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后,p2.7置高從p1口讀取轉(zhuǎn)換結(jié)果送給led顯示出來(lái)。至此已經(jīng)設(shè)計(jì)完成了數(shù)字直流電壓

39、表的硬件電路的設(shè)計(jì)工作,就可以選取相應(yīng)的芯片和元器件,利用proteus軟件繪制出硬件的原理圖,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。但要使該電路真正實(shí)現(xiàn)對(duì)電壓的測(cè)量和顯示的功能,還需要有相應(yīng)的軟件配合,才能達(dá)到設(shè)計(jì)要求。第4章 軟件設(shè)計(jì)第4章 軟件設(shè)計(jì)在進(jìn)行系統(tǒng)的總體設(shè)計(jì)時(shí),軟件設(shè)計(jì)和硬件設(shè)計(jì)實(shí)際上需要統(tǒng)一考慮,并協(xié)同進(jìn)行開(kāi)發(fā),當(dāng)系統(tǒng)的硬件電路設(shè)計(jì)定型后,軟件設(shè)計(jì)的任務(wù)就明確了。由前面一章的硬件電路設(shè)計(jì)可知,系統(tǒng)的應(yīng)用軟件設(shè)計(jì)主要包括初始化程序、a/d轉(zhuǎn)換子程序、顯示子程序的3部分的設(shè)計(jì)。本章將詳細(xì)介紹各模塊的軟件設(shè)計(jì)。4.1 軟件設(shè)計(jì)方案進(jìn)行應(yīng)用軟件可采用模塊化程序設(shè)計(jì)方法,其優(yōu)點(diǎn)是

40、: 每個(gè)模塊的程序結(jié)構(gòu)簡(jiǎn)單、任務(wù)明確,易于編寫(xiě)、調(diào)試和修改; 程序可讀性好,對(duì)程序的修改可局部進(jìn)行,其他部分可以保持不變,便于功能擴(kuò)充和版本升級(jí); 對(duì)于使用頻繁的子程序可以建立子程序庫(kù),便于多個(gè)模塊調(diào)用; 便于分工合作,多個(gè)程序員同時(shí)進(jìn)行程序的編寫(xiě)和調(diào)試工作,加快軟件研制進(jìn)度。4.1.1 系統(tǒng)軟件設(shè)計(jì)方案框圖根據(jù)設(shè)計(jì)要求,首先要確定軟件設(shè)計(jì)方案,即確定該軟件應(yīng)該完成哪些功能;其次是規(guī)劃為了完成這些功能需要分成多少個(gè)功能模塊,以及每一個(gè)程序模塊的具體任務(wù)是什么。模塊的劃分有很大的靈活性,但也不能隨意劃分。劃分模塊時(shí)應(yīng)遵循下述原則: 每個(gè)模塊應(yīng)具有獨(dú)立的功能,能產(chǎn)生一個(gè)明確的結(jié)果。 模塊之間的控制

41、參數(shù)應(yīng)盡量簡(jiǎn)單,數(shù)據(jù)參數(shù)應(yīng)盡量少。控制參數(shù)是指模塊進(jìn)入和退出的條件及方式;數(shù)據(jù)參數(shù)是指模塊間的信息交換(傳遞)方式、交換量的多少及交換的頻繁程度。 模塊長(zhǎng)度適中。模塊語(yǔ)句的長(zhǎng)度通常在20100條較合適。模塊長(zhǎng)度太長(zhǎng)時(shí),分析和調(diào)試比較困難,失去了模塊化程序結(jié)構(gòu)的優(yōu)越性;模塊太短則信息交換太頻繁,也不合適。根據(jù)模塊的劃分原則,將該程序劃分初始化模塊、a/d轉(zhuǎn)換子程序和顯示子程序,這三個(gè)程序模塊構(gòu)成了整個(gè)系統(tǒng)軟件的主程序。如圖4.1所示。開(kāi)始初始化調(diào)用a/d轉(zhuǎn)換子程序調(diào)用顯示子程序圖4.1 數(shù)字式直流電壓表主程序框圖4.2 系統(tǒng)應(yīng)用程序設(shè)計(jì)4.2.1 初始化程序所謂初始化,是對(duì)將要用到的mcs-51

42、系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定。初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式、初值預(yù)置、開(kāi)中斷和打開(kāi)定時(shí)器等。在本設(shè)計(jì)中,使用了1個(gè)中斷,即int_t0。int_t0中斷采用外部中斷工作方式,完成adc0808時(shí)鐘信號(hào)的輸入功能(由于adc0808的clock是接在at89c51單片機(jī)的p2.4端口上的,這就要求從p2.4輸出clcok信號(hào)供adc0808使用,因此clock信號(hào)就要用軟件來(lái)產(chǎn)生)。4.2.2 a/d轉(zhuǎn)換子程序a/d轉(zhuǎn)換子程序用來(lái)控制對(duì)輸入的模擬電壓信號(hào)的采集測(cè)量,并將對(duì)應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元。其轉(zhuǎn)換流程圖如圖4.2所示。開(kāi)始啟動(dòng)轉(zhuǎn)換a/d轉(zhuǎn)換結(jié)束?輸出轉(zhuǎn)

43、換結(jié)果數(shù)值轉(zhuǎn)換顯示圖4.2 a/d轉(zhuǎn)換流程圖4.2.3 led顯示子程序顯示子程序采用動(dòng)態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示。在采用動(dòng)態(tài)掃描顯示方式時(shí),要使得led顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率。當(dāng)掃描頻率在70hz左右時(shí),能夠產(chǎn)生足夠的圖形和較好的顯示效果。一般可以采用間隔10ms對(duì)led進(jìn)行動(dòng)態(tài)掃描一次,每一位led的顯示時(shí)間為1ms。在單片機(jī)中,定時(shí)功能既可以由硬件(定時(shí)/計(jì)數(shù)器)實(shí)現(xiàn),也可以通過(guò)軟件定時(shí)程序?qū)崿F(xiàn)。軟件延時(shí)程序占用cpu的時(shí)間,因此,它降低了cpu的利用率;硬件定時(shí)是利用單片機(jī)內(nèi)定時(shí)器定時(shí),啟動(dòng)以后定時(shí)器可與cpu并行工作,不占用cpu的時(shí)間,使cpu工

44、作有較高的工作效率。由于本設(shè)計(jì)簡(jiǎn)單,可靠性較高,因而采用軟件實(shí)現(xiàn)的方式對(duì)cpu的影響不大。在本設(shè)計(jì)中,為了簡(jiǎn)化硬件設(shè)計(jì),主要采用軟件定時(shí)的方式,即用定時(shí)器0溢出中斷功能實(shí)現(xiàn)11us定時(shí),通過(guò)軟件延時(shí)程序來(lái)實(shí)現(xiàn)5ms的延時(shí)。1. t0定時(shí)器中斷服務(wù)程序的功能:從顯示緩沖區(qū)分別取出4為led顯示器顯示數(shù)據(jù)的位碼和段碼,送到p1口,依次顯示每一位,每一位的顯示時(shí)間為5ms,顯示4位需要20ms的時(shí)間。2. 定時(shí)器t0的計(jì)數(shù)初值設(shè)時(shí)鐘頻率為12mhz,1個(gè)機(jī)器周期時(shí)間為1us 。t0定時(shí)器產(chǎn)生11us的定時(shí),可以計(jì)算出計(jì)數(shù)值和計(jì)數(shù)初值:計(jì)數(shù)值=定時(shí)時(shí)間/機(jī)器周期時(shí)間=11us/1us=11計(jì)數(shù)初值25

45、6-11 = 245初值寄存器的初值為:th0 = 245;tl0 = 00h工作方式寄存器tmod = 0010b = 2h,t0定時(shí)器,工作方式2,最大定時(shí)值為256 us。第5章 系統(tǒng)的仿真實(shí)現(xiàn)第5章 系統(tǒng)的仿真實(shí)現(xiàn)系統(tǒng)制作好了并非意味著到這里一切工作都結(jié)束了,實(shí)際上系統(tǒng)能一次性通過(guò)測(cè)試達(dá)到最終目標(biāo)的很少,都需要進(jìn)行多次的軟硬件調(diào)試修改才能實(shí)現(xiàn)各項(xiàng)功能要求的。5.1 軟件調(diào)試調(diào)試的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯錯(cuò)誤和功能錯(cuò)誤,這些錯(cuò)誤有些是顯性的,而有些是隱形的??梢酝ㄟ^(guò)仿真開(kāi)發(fā)系統(tǒng)來(lái)發(fā)現(xiàn)并逐步改正。proteus軟件是英國(guó)的labcenter electronics公司推出的,它

46、可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周?chē)娮悠骷黄鸱抡?,用?hù)甚至可以實(shí)時(shí)采用諸如led/lcd、鍵盤(pán)、rs232終端等動(dòng)態(tài)外設(shè)模型來(lái)對(duì)設(shè)計(jì)進(jìn)行交互仿真。proteus支持的微處理芯片(microprocessors ics)包括8051系列、avr系列、pic系列、hc11系列、arm7/lpc2000系列以及z80等等。proteus可以完成單片機(jī)系統(tǒng)原理圖電路繪制、pcb設(shè)計(jì),更為顯著的特點(diǎn)是可以與uvisions3 ide工具軟件結(jié)合進(jìn)行編程仿真調(diào)試。本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是proteus軟件,而程序方面,我采用的是匯編語(yǔ)言,用keil軟件實(shí)現(xiàn)。

47、通過(guò)軟件調(diào)試能得到測(cè)量電壓值,而且在電壓變化時(shí)(如手動(dòng)調(diào)節(jié)變阻器的輸入值)顯示電壓能改變就基本完成。5.2 調(diào)試中的問(wèn)題及解決方法雖然proteus功能強(qiáng)大,人機(jī)界面友好,但在設(shè)計(jì)過(guò)程中往往遇到一些問(wèn)題。如在用proteus繪制電路圖時(shí),雖然一般型號(hào)的元器件在元件器庫(kù)中均能找到,但有些元件由于沒(méi)有預(yù)先定義,導(dǎo)致在電路仿真時(shí)系統(tǒng)會(huì)提示“no model specified for”,這表明該元器件在封裝時(shí)沒(méi)有定義其工作模式,不能完全調(diào)入。解決方法有:1. 重新定義或添加該元件;2. 選用具有相同引腳功能的其他等同元件。5.3 顯示結(jié)果分析1. 當(dāng)輸入變阻器的值為0,即直接輸入向ino口輸入5v電

48、壓時(shí),顯示結(jié)果如圖5.1所示。測(cè)量誤差為0v。圖5.1 輸入電壓為5v時(shí),led的顯示結(jié)果3. 當(dāng)輸入變阻器的值為 ,即將輸入端口in0直接接地時(shí),顯示結(jié)果如圖5.2所示。測(cè)量誤差為0v。圖5.2輸入電壓接近0v時(shí),led的顯示結(jié)果4. 當(dāng)輸入變阻器的輸入電壓為3.84v時(shí),顯示結(jié)果如圖5.3所示。測(cè)量誤差為0.01v。圖5.3輸入電壓為 v時(shí),led的顯示結(jié)果綜上測(cè)試顯示結(jié)果可知,本設(shè)計(jì)系統(tǒng)的測(cè)量結(jié)果符合設(shè)計(jì)要求,達(dá)到了預(yù)期設(shè)計(jì)的目標(biāo)。第6章 結(jié)論第6章 結(jié)論經(jīng)過(guò)近兩個(gè)個(gè)月的努力,我的畢業(yè)設(shè)計(jì)簡(jiǎn)易數(shù)字式直流電壓表(單片機(jī)的應(yīng)用)已經(jīng)基本完成。在設(shè)計(jì)過(guò)程中,力求系統(tǒng)的實(shí)現(xiàn)電路簡(jiǎn)單、成本低,系統(tǒng)

49、的功能快捷易用并且完善。但是由于一些條件的限制,所設(shè)計(jì)系統(tǒng)仍然存在一些不足,有待改進(jìn)。本測(cè)量系統(tǒng)實(shí)用性強(qiáng)、結(jié)構(gòu)簡(jiǎn)單、成本低、外接元件少。在實(shí)際應(yīng)用中工作性能穩(wěn)定,測(cè)量電壓準(zhǔn)確,精度較高。系統(tǒng)功能、指標(biāo)達(dá)到了課題的預(yù)期要求。系統(tǒng)在硬件設(shè)計(jì)上充分考慮到了可擴(kuò)展性,經(jīng)過(guò)一定的添加或改造,很容易增加功能,如在的模擬信號(hào)輸入前端加一個(gè)信號(hào)衰減,可以完成對(duì)更大的模擬信號(hào)的測(cè)控,那么其使用范圍將更加廣泛。本文介紹了基于單片機(jī)的簡(jiǎn)易數(shù)字式直流電壓表系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),詳細(xì)闡述了從原理圖的設(shè)計(jì)和繪制、電路圖仿真到軟件的調(diào)試。這是我第一次利用單片機(jī)來(lái)實(shí)現(xiàn)一個(gè)應(yīng)用系統(tǒng)的設(shè)計(jì),通過(guò)實(shí)踐,我對(duì)匯編語(yǔ)言和單片機(jī)有了新的認(rèn)識(shí)

50、和理解,并且學(xué)會(huì)了proteus和keil軟件的使用,掌握了從系統(tǒng)的需求、方案論證、功能模塊的劃分、原理圖的設(shè)計(jì)和繪制、電路圖仿真、程序設(shè)計(jì)到軟件仿真調(diào)試的設(shè)計(jì)流程,積累了硬件設(shè)計(jì)的經(jīng)驗(yàn)?;陔娐返脑O(shè)計(jì)方法有利于電子電路初學(xué)者加深對(duì)電路原理、器件資料、電路板設(shè)計(jì)和電路的硬件調(diào)試認(rèn)識(shí)和理解。由于初次接觸單片機(jī)類(lèi)的設(shè)計(jì)項(xiàng)目,在設(shè)計(jì)過(guò)程中也出現(xiàn)了一些問(wèn)題,以前學(xué)習(xí)的專(zhuān)業(yè)知識(shí)掌握的不夠好,對(duì)電路的理解不是很透徹,設(shè)計(jì)的電路布局布線(xiàn)不是很合理,理論聯(lián)系實(shí)際的能力還需要進(jìn)一步的加強(qiáng)。還由于元器件的多樣性和可選型號(hào)的廣泛性,在此系統(tǒng)中運(yùn)用的型號(hào)的芯片不一定是最佳的?,F(xiàn)在電子器件發(fā)展日新月異,新的器件如雨后春筍般出現(xiàn),也不可能一一嘗試,所以還肯定有很多值得改進(jìn)的地方。在以后的實(shí)踐中,我將繼續(xù)努力學(xué)習(xí)電子電路設(shè)計(jì),力爭(zhēng)取得更大的進(jìn)步。致謝參考文獻(xiàn)(1) 康光華.電子技術(shù)基礎(chǔ).數(shù)字部分(第四版).北京:高等教育出版社,2000年(2) 張齊、朱寧西. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)基于c51單片機(jī)的proteus仿真(第二版).北京:電子工業(yè)出版社,2009年(3) 于殿泓、王新年. 單片機(jī)原理與程序設(shè)計(jì)實(shí)驗(yàn)教程.西安:西安電子科技大學(xué)出版社, 2007年(4) 謝維成、楊加國(guó). 單片機(jī)原理與應(yīng)用及c51程序設(shè)計(jì)實(shí)例.北京: 清華大學(xué)出版社,2006年(5

溫馨提示

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

評(píng)論

0/150

提交評(píng)論