版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要數(shù)字電壓表是采用數(shù)字化測(cè)量設(shè)計(jì)的電壓儀表。目前,其作為數(shù)字化儀表的基礎(chǔ)和核心,已被廣泛應(yīng)用于電子和電工測(cè)量、工業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等領(lǐng)域,顯示出強(qiáng)大的生命力。與此同時(shí),數(shù)字電壓表擴(kuò)展而成的各種通用及專用儀器儀表,也將電量及非電量測(cè)量技術(shù)提高到嶄新水平。本設(shè)計(jì)為直流數(shù)字電壓表。利用MCS-51單片機(jī)AT89C51借助軟件實(shí)現(xiàn)數(shù)字顯示功能、自動(dòng)校準(zhǔn)、LED顯示,A/D轉(zhuǎn)換器采用ADC0808構(gòu)成數(shù)模轉(zhuǎn)換電路。該電壓表測(cè)量范圍在05V。由于采用高性能的單片機(jī)芯片為核心,同時(shí)利用LED數(shù)碼管為顯示設(shè)備,這樣就使顯示清晰直觀、讀數(shù)準(zhǔn)確,減少了因?yàn)槿藶橐蛩厮斐傻臏y(cè)量誤差事件,同時(shí)提高了測(cè)量的
2、準(zhǔn)確度。關(guān)鍵詞:AT89C51;A/D轉(zhuǎn)換;LED目 錄 TOC o 1-3 u 摘 要 PAGEREF _Toc280644952 h I第1章 緒論 PAGEREF _Toc280644954 h 21.1 研究背景 PAGEREF _Toc280644955 h 21.2 數(shù)字電壓表的主要特點(diǎn) PAGEREF _Toc280644956 h 31.3 設(shè)計(jì)要求和指標(biāo) PAGEREF _Toc280644957 h 5第2章 方案的選擇和論證 PAGEREF _Toc280644958 h 62.1 方案選擇 PAGEREF _Toc280644959 h 62.2 方案論證 PAGERE
3、F _Toc280644960 h 7本章小結(jié) PAGEREF _Toc280644961 h 7第3章 硬件電路設(shè)計(jì) PAGEREF _Toc280644962 h 83.1 系統(tǒng)主控電路 PAGEREF _Toc280644963 h 83.1.1 單片機(jī)AT89C51 PAGEREF _Toc280644964 h 83.1.2 時(shí)鐘電路 PAGEREF _Toc280644965 h 103.1.3 復(fù)位電路 PAGEREF _Toc280644966 h 113.2 A/D轉(zhuǎn)換電路 PAGEREF _Toc280644967 h 123.2.1 ADC0808簡(jiǎn)介 PAGEREF _
4、Toc280644968 h 143.2.2 A/D轉(zhuǎn)換電路設(shè)計(jì) PAGEREF _Toc280644969 h 153.3 顯示電路 PAGEREF _Toc280644970 h 153.3.1 常用顯示器件 PAGEREF _Toc280644971 h 163.3.2 LED簡(jiǎn)介 PAGEREF _Toc280644972 h 16本章小結(jié) PAGEREF _Toc280644973 h 17第4章 系統(tǒng)軟件設(shè)計(jì) PAGEREF _Toc280644974 h 184.1 主程序設(shè)計(jì) PAGEREF _Toc280644975 h 184.2 A/D轉(zhuǎn)換程序 PAGEREF _Toc2
5、80644976 h 19本章小結(jié) PAGEREF _Toc280644977 h 19第5章 系統(tǒng)仿真與調(diào)試 PAGEREF _Toc280644978 h 205.1 系統(tǒng)仿真 PAGEREF _Toc280644979 h 205.1.1 Proteus簡(jiǎn)介 PAGEREF _Toc280644980 h 205.1.2功能及特點(diǎn) PAGEREF _Toc280644981 h 205.2 局部調(diào)試 PAGEREF _Toc280644982 h 205.2.1 硬件調(diào)試 PAGEREF _Toc280644983 h 215.2.2 軟件調(diào)試 PAGEREF _Toc280644984
6、 h 215.3 整機(jī)調(diào)試 PAGEREF _Toc280644985 h 22本章小結(jié) PAGEREF _Toc280644986 h 22結(jié) 論 PAGEREF _Toc280644987 h 23致 謝 PAGEREF _Toc280644988 h 24參考文獻(xiàn) PAGEREF _Toc280644989 h 25附錄1 系統(tǒng)源程序 PAGEREF _Toc280644990 h 26附錄2 仿真電路圖 PAGEREF _Toc280644991 h 30 HYPERLINK l _Toc280614063 附錄3 元件清單 PAGEREF _Toc280614063 h 31第1章
7、緒論1.1 研究背景智能儀器是儀器儀表的一種。近年來,計(jì)算機(jī)技術(shù)及微電子器件在工程技術(shù)中應(yīng)用十分廣泛。在此基礎(chǔ)上發(fā)展起來的智能儀表,無論是在測(cè)量的準(zhǔn)確性、靈敏度、可靠性、自動(dòng)化程度、運(yùn)用功能方面還是在解決測(cè)量技術(shù)與控制技術(shù)問題的深度及廣度方面都有了很大的發(fā)展,以一種嶄新的面貌展現(xiàn)在人們的面前。數(shù)字電壓表是在此基礎(chǔ)上發(fā)展起來,并被廣泛的應(yīng)用。數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱DVM,它是智能儀器中最常見的,是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。這種電子測(cè)量的儀表之所以出現(xiàn),一方面是由于電子計(jì)算機(jī)的應(yīng)用逐漸推廣到系統(tǒng)的自
8、動(dòng)控制實(shí)驗(yàn)研究的領(lǐng)域,提出了將各種被觀測(cè)量或被控制量轉(zhuǎn)換為數(shù)碼的要求,即為了實(shí)時(shí)控制及數(shù)據(jù)處理的需要;另一方面,也是電子計(jì)算機(jī)的發(fā)展,帶動(dòng)了脈沖數(shù)字電路技術(shù)的進(jìn)步,為數(shù)字化儀表的出現(xiàn)提供了條件。所以,數(shù)字化測(cè)量?jī)x表的產(chǎn)生與發(fā)展與電子計(jì)算機(jī)的發(fā)展是密切相關(guān)的;同時(shí),為革新電子測(cè)量中的繁瑣和陳舊方式也催促了它的飛速發(fā)展。如今,它又成為向智能化儀表發(fā)展的必要橋梁。如今,數(shù)字電壓表已絕大部分取代了傳統(tǒng)的模擬指針式電壓表。因?yàn)閭鹘y(tǒng)的指針式電壓表功能單一、精度低,不能滿足數(shù)字化時(shí)代的需求。數(shù)字電壓迄今已有40多年的發(fā)展史。目前,由各種單片機(jī)、A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已被廣泛應(yīng)用于電子及電子測(cè)量、工業(yè)
9、自動(dòng)化儀表、自動(dòng)測(cè)試的系統(tǒng)等領(lǐng)域,顯示出強(qiáng)大的生命力。由于電子技術(shù)、大規(guī)模集成電路及計(jì)算機(jī)的發(fā)展,人們不久就研制出微處理器數(shù)字電壓表,實(shí)現(xiàn)了DVM數(shù)據(jù)處理自動(dòng)化和可編程序。因?yàn)閹в写鎯?chǔ)器并使用軟件支持,所以可以進(jìn)行信息處理,可通過標(biāo)準(zhǔn)接口組成自動(dòng)測(cè)試系統(tǒng)。除了完成原有DVM的各種功能外,還能夠自校、自檢,保證了自動(dòng)測(cè)量的高標(biāo)準(zhǔn)確度,實(shí)現(xiàn)了儀器、儀表的智能化。當(dāng)前,智能化儀表法十分速度,而微處理式DVM在智能儀表中占的比重最大,智能化的DVM為實(shí)現(xiàn)各種物理量的動(dòng)態(tài)測(cè)量提供了可能。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專用數(shù)字儀器儀表,也把電量及非電量測(cè)量技術(shù)提高到嶄新水平數(shù)字電壓表的特點(diǎn):顯示清
10、晰直觀,讀書準(zhǔn)確。傳統(tǒng)的模擬式儀表必須借助于指針和刻度盤進(jìn)行讀數(shù),在讀數(shù)過程中不可避免地會(huì)引入認(rèn)為的測(cè)量誤差,并且容易造成視覺疲勞。數(shù)字電壓表則采用先進(jìn)的數(shù)顯技術(shù),使測(cè)量結(jié)果一目了然,只要儀表不發(fā)生跳數(shù)現(xiàn)象,測(cè)量結(jié)果就是唯一的。不僅保證讀數(shù)的客觀性與準(zhǔn)確性,還符合人們的讀數(shù)習(xí)慣,能縮短讀數(shù)和記錄的時(shí)間。在電量的測(cè)量中,電壓、電流和頻率是最基本的三個(gè)被測(cè)量。其中,電壓量的測(cè)量最為經(jīng)常。隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測(cè)量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測(cè)量?jī)x器。另外,由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、靈敏度高、分辨率高、測(cè)量速度快等特點(diǎn)而倍受用戶青睞。數(shù)字電壓表就是
11、基于這種需求而發(fā)展起來的,是一種必不可少的電子儀器儀表。1.2 數(shù)字電壓表的主要特點(diǎn)數(shù)字電壓表簡(jiǎn)稱DVM(Digital Voltmeter)。它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。智能數(shù)字電壓表則是大規(guī)模集成電路,顯示技術(shù),計(jì)算機(jī)技術(shù),自動(dòng)測(cè)試技術(shù)的產(chǎn)品。數(shù)字電壓表主要有以下特點(diǎn):1、顯示清晰,直觀,讀數(shù)清楚傳統(tǒng)的模擬式電壓表必須借助于指針和刻度盤進(jìn)行讀數(shù)。在讀數(shù)過程中,不可避免的會(huì)引入認(rèn)為的誤差,并且還容易造成視覺疲勞。數(shù)字電壓表則采用先進(jìn)的數(shù)字顯示技術(shù),使顯示結(jié)果一目了然。只要儀表不發(fā)生跳變現(xiàn)象,測(cè)量結(jié)果就是唯一的。不僅保證了
12、讀數(shù)的客觀性與準(zhǔn)確性,還符合人們的讀數(shù)習(xí)慣,能夠縮短讀數(shù)和記錄的時(shí)間。2、準(zhǔn)確度高數(shù)字電壓表的準(zhǔn)確度是測(cè)量結(jié)果中系統(tǒng)誤差與隨機(jī)誤差的結(jié)合。它表示測(cè)量結(jié)果與真值的一致程度,也反映測(cè)量誤差的大小。一般講,準(zhǔn)確度越高,測(cè)量誤差越小,反之則越大。根據(jù)準(zhǔn)確度的高低,可將數(shù)字電壓表分成若干等級(jí)。直流數(shù)字電壓表共分為11個(gè)等級(jí):0.0005,0.001,0.002,0.005,0.01,0.02,0.05,0.1,0.2,0.5,1.0。3、分辨率高數(shù)字電壓表在最低電壓量程上末位1個(gè)字所對(duì)應(yīng)的電壓值,稱作儀表的分辨力。它反映出儀表的靈敏度的高低。分辨力是指所能顯示的最小數(shù)字與最大數(shù)字之比,通常用百分?jǐn)?shù)來表示
13、。4、測(cè)量范圍寬多量程數(shù)字電壓表通常可測(cè)01000V的直流電壓,配上高壓探頭還可測(cè)量幾千伏的電壓。5、測(cè)量速度快數(shù)字電壓表在每秒鐘內(nèi)被測(cè)電壓的測(cè)量次數(shù),叫測(cè)量速率,單位是“次/s”。它主要取決于A/D轉(zhuǎn)換器的轉(zhuǎn)換速率。6、輸入阻抗高數(shù)字電壓表具有很高的輸入阻抗。這樣在測(cè)量時(shí)從被測(cè)電路上吸取的電流極小,不會(huì)影響被測(cè)信號(hào)源的工作狀態(tài),由此可減少小信號(hào)源內(nèi)帶來的附加誤差。7、集成度高,微功耗新型數(shù)字電壓表普通采用CMOS大規(guī)模集成電路,整機(jī)功耗很低。8、抗干擾能力強(qiáng)噪聲干擾大致分為兩類:一類是串模干擾,干擾電壓與被測(cè)量信號(hào)串連后加至儀表的輸入端,另一類是共模干擾,干擾電壓同時(shí)加于儀表的兩個(gè)輸入端。衡
14、量?jī)x表干擾能力的技術(shù)指標(biāo)也有兩個(gè):串模抑制比和共模抑制比。高檔數(shù)字電壓大多采用數(shù)字濾波和浮地保護(hù)等技術(shù),進(jìn)一步提高了抗干擾能力,其共模抑制比可達(dá)100-80dB,串模抑制比為100dB左右。目前數(shù)字電壓表正進(jìn)入一個(gè)蓬勃發(fā)展的新時(shí)期。一方面它開拓了電子測(cè)量領(lǐng)域的先河,另一方面它本身正朝著高準(zhǔn)確度,智能化,低成本的方向發(fā)展。1、采用新技術(shù),開發(fā)新產(chǎn)品數(shù)字電壓表的新產(chǎn)品總是依托新技術(shù)而問世的。近些年來,新技術(shù)的涌現(xiàn),不斷的被采用,迅速轉(zhuǎn)化成生產(chǎn)力。2、單片專用IC的廣泛應(yīng)用集成電路強(qiáng)大的生命力在于應(yīng)用。目前國(guó)內(nèi)外都在積極開發(fā)供數(shù)字儀表使用的單片專用IC,為研制高性價(jià)比數(shù)字電壓表以及智能儀器創(chuàng)造了條件
15、。3、多重顯示儀表多重顯示儀表能同時(shí)顯示同一被測(cè)信號(hào)的兩種不同參數(shù),例如交換電壓值與頻率值。4、廣泛采用新器件,新工藝近年來,電子模塊,電子模板,表面安裝元件,超小型集成電路等新器件正越來越廣泛的用于數(shù)字電壓表中。此外,數(shù)字電壓表在安裝工藝,外觀設(shè)計(jì),安全性,可靠性等方面也在不斷改進(jìn),日趨完善。1.3 設(shè)計(jì)要求和指標(biāo)1、電路要求數(shù)字電壓表可以顯示清晰、直觀、讀數(shù)準(zhǔn)確、準(zhǔn)確度高、分辨力高、測(cè)量速度快、輸入阻抗高、集成度高、微功耗和抗干擾能力強(qiáng)等特點(diǎn)。2、技術(shù)指標(biāo)(1)4位數(shù)碼管顯示,即精確到百分位;(2)電壓測(cè)量范圍:05V;(3)精確度達(dá)到0.5%第2章 方案的選擇和論證2.1 方案選擇設(shè)計(jì)數(shù)
16、字電壓表有很多種的設(shè)計(jì)方法,方案是多種多樣的。由于規(guī)模集成電路數(shù)字芯片的告訴發(fā)展,各種數(shù)字芯片品種多樣,導(dǎo)致對(duì)模擬數(shù)據(jù)的采集部分的不一致性,進(jìn)而又使對(duì)數(shù)據(jù)的處理及顯示的方式的多樣性。又由于在現(xiàn)實(shí)的工作生活中,電壓表的測(cè)量測(cè)程范圍是比較大的,所以必須要對(duì)輸入電壓作分壓處理,而各個(gè)數(shù)據(jù)處理芯片的處理電壓范圍不同,則各種方案的分段也不同。下面介紹兩種數(shù)字電壓表的設(shè)計(jì)方案。1.由數(shù)字電路及芯片構(gòu)建這種設(shè)計(jì)方案是由模擬電路與數(shù)字電路兩大部分組成,模擬部分包括輸入放大器、A/D轉(zhuǎn)換器和基準(zhǔn)電壓源;數(shù)字部分包括計(jì)數(shù)器、譯碼器、邏輯控制器、振蕩器和顯示器。其中,A/D轉(zhuǎn)換器是它的核心器件,它將輸入的模擬量轉(zhuǎn)換
17、成數(shù)字量。模擬電路和數(shù)字電路是相互聯(lián)系的,由邏輯控制電路產(chǎn)生控制信號(hào),按規(guī)定的時(shí)序?qū)/D轉(zhuǎn)換器逐個(gè)組模擬開關(guān)接通或斷開,保證A/D轉(zhuǎn)換正常進(jìn)行。A/D轉(zhuǎn)換結(jié)果由計(jì)數(shù)譯碼電路變成段碼,最后驅(qū)動(dòng)顯示器顯示出相應(yīng)的數(shù)值。此方案設(shè)計(jì)其優(yōu)點(diǎn)是:設(shè)計(jì)成本低,能夠滿足一般的電壓測(cè)量。但設(shè)計(jì)不靈活,都是采用純硬件電路,很難將其在原有的基礎(chǔ)上進(jìn)行擴(kuò)展。2由單片機(jī)系統(tǒng)及A/D轉(zhuǎn)換芯片構(gòu)成這種方案是利用單片機(jī)系統(tǒng)與模數(shù)轉(zhuǎn)換芯片、顯示模塊等的結(jié)合后,組成數(shù)字電壓表。由于單片機(jī)的發(fā)展已經(jīng)成熟,利用單片機(jī)系統(tǒng)的軟硬件結(jié)合,可以組裝出應(yīng)用電路來。此方案的原理是模數(shù)(A/D)轉(zhuǎn)換芯片的基準(zhǔn)電壓端,被測(cè)量電壓輸入端分別輸入基
18、準(zhǔn)電壓和被測(cè)電壓。模數(shù)(A/D)轉(zhuǎn)換芯片將被測(cè)量電壓輸入端所采集到的模擬電壓信號(hào)轉(zhuǎn)換成相應(yīng)的數(shù)字信號(hào),然后通過對(duì)單片機(jī)系統(tǒng)進(jìn)行軟件編程,使單片機(jī)系統(tǒng)能按規(guī)定的時(shí)序來采集這些數(shù)字信號(hào),通過一定的算法計(jì)算出被測(cè)量電壓的值,最后單片機(jī)系統(tǒng)將計(jì)算好了的被測(cè)電壓值按一定的時(shí)序送入顯示電路模塊加以顯示。此方案不僅能夠繼承上一種方案的各種優(yōu)點(diǎn),還能改進(jìn)上一種設(shè)計(jì)方案設(shè)計(jì)不靈活,難以在原基礎(chǔ)上進(jìn)行功能擴(kuò)展等不足。2.2 方案論證方案2不僅能夠繼承方案1的各種優(yōu)點(diǎn),還能改進(jìn)方案1設(shè)計(jì)方案設(shè)計(jì)不靈活,難于在原基礎(chǔ)上進(jìn)行功能擴(kuò)展等不足。經(jīng)過以上方案設(shè)計(jì),決定采用如圖2-1所示方案。單片單片機(jī)晶振電路復(fù)位電路4位顯示
19、A/D轉(zhuǎn)換輸入電路本章小結(jié)本章主要介紹了課題的設(shè)計(jì)方案,提出了兩種方案。此次畢業(yè)設(shè)計(jì)采用了方案二,本文是采用ADC0808芯片做A/D轉(zhuǎn)換器。第3章 硬件電路設(shè)計(jì)3.1 系統(tǒng)主控電路單片機(jī)控制模塊的作用是為控制各單元電路的運(yùn)行并完成數(shù)據(jù)的換算或處理,主要由單片機(jī)、時(shí)鐘電路、復(fù)位電路組成。3.1.1 單片機(jī)AT89C51單片機(jī)采用MCS-51系列單片機(jī)AT89C51。它是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫的只讀程序存儲(chǔ)器(PEROM)和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),
20、兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央微處理器(CPU)和Flash存儲(chǔ)單元,功能強(qiáng)大AT89C51單片機(jī)可提供多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。圖3-1 AT89C51引腳圖P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址、數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為高阻抗輸入端用。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳
21、被外部信號(hào)拉低時(shí),會(huì)輸出一個(gè)電流。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端時(shí),被外部拉低的P3口將用上拉電阻輸出電流。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使
22、單片機(jī)復(fù)位。ALE:當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的8位字節(jié)。即使不訪問外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的正脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。EA:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。主要性能參數(shù):1.與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;2.4k字節(jié)可重擦寫Flash閃速存儲(chǔ)器;3.1000次擦寫周期;4.全靜態(tài)操作:0Hz-24Hz;5.三級(jí)加密程序存儲(chǔ)
23、器;6.128*8字節(jié)內(nèi)部RAM;7.32個(gè)可編程I/O口;8.2個(gè)16位定時(shí)、計(jì)數(shù)器;9.6個(gè)中斷源;10.可編程串行UART通道;11.低功耗空閑和掉電模式。3.1.2 時(shí)鐘電路單片機(jī)內(nèi)部每個(gè)部件要想?yún)f(xié)調(diào)一致地工作,必須在統(tǒng)一口令時(shí)鐘信號(hào)的控制下工作。單片機(jī)工作所需要的時(shí)鐘信號(hào)有兩種產(chǎn)生方式,即內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。圖3-2是內(nèi)部時(shí)鐘方式:?jiǎn)纹瑱C(jī)內(nèi)部有一個(gè)構(gòu)成振蕩器的增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端,這個(gè)放大器與作為反饋元件的片外晶振一起構(gòu)成自激振蕩器。在該圖中,電容C2和C3取30pF,晶體的震蕩頻率取12Mhz,晶體震蕩頻率高,則系統(tǒng)的時(shí)鐘
24、頻率也高,單片機(jī)運(yùn)行速度也就快。實(shí)際連接如圖3-1所示。圖3-2 系統(tǒng)時(shí)鐘電路3.1.3 復(fù)位電路AT89C51的復(fù)位電路如圖3-3所示。當(dāng)單片機(jī)通電,立即復(fù)位。電容C和電阻R9實(shí)現(xiàn)上電自動(dòng)復(fù)位。復(fù)位也是使單片機(jī)退出低功耗工作方式而進(jìn)入正常狀態(tài)的一種操作。圖3-3 系統(tǒng)復(fù)位電路3.2 A/D轉(zhuǎn)換電路A/D轉(zhuǎn)換器是DVM的心臟,利用它可將模擬量轉(zhuǎn)換為數(shù)字量。在A/D轉(zhuǎn)換器中,因?yàn)檩斎氲哪M信號(hào)在時(shí)間上是連續(xù)量,而輸出的數(shù)字信號(hào)時(shí)離散量,所以進(jìn)行轉(zhuǎn)換時(shí)必須在一系列選定的瞬間對(duì)輸入的模擬洗好取樣,然后再把這些取樣值轉(zhuǎn)換為輸出的數(shù)字量。因此,一般的A/D轉(zhuǎn)換過程是通過取樣、保持、量化、編碼這四個(gè)步驟完
25、成的。目前,A/D轉(zhuǎn)換器的類型多達(dá)數(shù)十種,其中常見形式見表3-1。圖3-1 常見的A/D轉(zhuǎn)換器類型形式積分型雙積分式,多重積分式,電荷平衡式斜坡型斜坡(V/T)式,階梯斜坡式,多斜式比較型逐次比較式,跟隨比較式,余數(shù)再循環(huán)比較式脈寬型脈沖寬度調(diào)制式(PWM)復(fù)合型積分斜坡式,兩次取樣式,多次取樣式單片A/D轉(zhuǎn)換器是采用CMOS工藝,將模擬電路與數(shù)字電路集成在同一芯片上,并且能配數(shù)顯器件顯示A/D轉(zhuǎn)換結(jié)果的專用集成電路。80年代以來,隨著CMOS大規(guī)模集成電路和超大規(guī)模集成電路的發(fā)展,各種新型單片A/D轉(zhuǎn)換器競(jìng)相問世。這類芯片集成度高,功能完善,價(jià)格較低,能以最簡(jiǎn)方式構(gòu)成一塊數(shù)字儀表或測(cè)試,被廣
26、泛用于新型數(shù)字儀表、智能儀器中。其共同特點(diǎn)是測(cè)量準(zhǔn)確的高、分辨力強(qiáng)、外圍電路簡(jiǎn)單、耗電省、體積小、成本低、具有很高的性價(jià)比。逐次逼近式A/D轉(zhuǎn)換器屬于直接型A/D轉(zhuǎn)換器,它能把輸入的模擬電壓直接轉(zhuǎn)換為輸出的數(shù)字代碼,而不需要經(jīng)過中間變量,主要由比較器、環(huán)形分配器、控制門、寄存器與D/A轉(zhuǎn)換器組成。常用的A/D芯片有ADC0808、AD0832、TLC2543C等幾種。下面簡(jiǎn)單介紹一下這三個(gè)芯片。ADC0808是采樣分辨率為8位的、以逐次逼近原理進(jìn)行模/數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。ADC0808是ADC
27、0809的簡(jiǎn)化版本,功能基本相同。一般在硬件仿真時(shí)采用ADC0808進(jìn)行A/D仿真,實(shí)際使用時(shí)采用ADC0809進(jìn)行A/D轉(zhuǎn)換。AD0832是一個(gè)8位D/A轉(zhuǎn)換器芯片,單電源供電。CMOS工藝,低功耗。它由一個(gè)8位輸入寄存器、1個(gè)8位DAC寄存器和一個(gè)8位D/A轉(zhuǎn)換器組成??芍С謫味溯斎胪ǖ篮鸵粋€(gè)差分輸入通道。它易于和微處理器接口或獨(dú)立使用;可滿量程工作;可用地址邏輯多路器選擇各輸入通道TLC2543是TI公司的12位串行模數(shù)轉(zhuǎn)換器,使用開關(guān)電容逐次逼近技術(shù)完成A/D轉(zhuǎn)換過程。每個(gè)器件有三個(gè)控制輸入端,片選,輸入/輸出時(shí)鐘以及地址輸入端。它可以從主機(jī)告訴傳輸轉(zhuǎn)換數(shù)據(jù)。它有告訴的轉(zhuǎn)換,通用的控制
28、能力,具有簡(jiǎn)化比率轉(zhuǎn)換,刻度以及模擬電路與邏輯電路和電源噪聲隔離,耐高溫等特點(diǎn)。由于是串行輸入結(jié)構(gòu),能夠節(jié)省51系列單片機(jī)I/O資源;且分辨率較高,因此在儀器儀表中有較為廣泛的使用。3.2.1 ADC0808簡(jiǎn)介圖3-4 ADC0808引腳圖IN0IN7:8路模擬量輸入。A、B、C:3位地址輸入,2個(gè)地址輸入端的不同組合選擇8路模擬量輸入。ALE:地址鎖存啟動(dòng)信號(hào)。在ALE的上升沿,將A、B、C上的通道地址鎖存到內(nèi)部的地址鎖存器。D0D7:8位數(shù)據(jù)輸入端。A/D轉(zhuǎn)換結(jié)果由這8根線傳送給單片機(jī)。OE:允許輸出信號(hào)。當(dāng)OE=1時(shí),即為高電平,允許輸出鎖存器輸出數(shù)據(jù)。START:?jiǎn)?dòng)信號(hào)輸入端。ST
29、ART為正脈沖,其上升沿清楚ADC0808的內(nèi)部的各存儲(chǔ)器,其下降沿啟動(dòng)A/D開始轉(zhuǎn)換。EOC:轉(zhuǎn)換完成信號(hào)。當(dāng)EOC上升為高電平時(shí),表明內(nèi)部A/D轉(zhuǎn)換已完成。3.2.2 A/D轉(zhuǎn)換電路設(shè)計(jì)集成模數(shù)轉(zhuǎn)換芯片ADC0808實(shí)現(xiàn)的A/D轉(zhuǎn)換電路如圖3-5所示。被測(cè)信號(hào)由ADC0808模擬輸入端輸入,完成A/D轉(zhuǎn)換后送入單片機(jī),經(jīng)相應(yīng)處理后送出顯示。圖3-5 ADC0808與單片機(jī)的連接3.3 顯示電路現(xiàn)代化科研和生產(chǎn)體系是以自動(dòng)化為特征,面向自動(dòng)化的過程控制及結(jié)果的顯示,主要是借助于數(shù)字和符號(hào)的顯示器件。數(shù)字儀表顯示器件,是將信息讀數(shù)轉(zhuǎn)換為可視信息的期間,最終以數(shù)字形式顯示讀數(shù)的期間。顯示方式和顯
30、示器件的選擇不僅與讀數(shù)的清晰、美觀與否有直接關(guān)系,而且關(guān)系到儀表的整機(jī)結(jié)構(gòu)、電源功率、測(cè)量速度、顯示時(shí)間以及操作維護(hù)等技術(shù)性能。3.3.1 常用顯示器件本次設(shè)計(jì)中有顯示模塊,而常用的顯示器件比較多,有數(shù)碼管,LED點(diǎn)陣,1602液晶,12864液晶等。數(shù)碼管是最常用的一種顯示器件,它是由幾個(gè)發(fā)光二極管組成的8字段顯示器件,其特點(diǎn)是價(jià)格非常的便宜,使用也非常的方便,顯示效果非常的清楚。小電流下可以驅(qū)動(dòng),發(fā)光響應(yīng)時(shí)間極短,體積小,重量輕,抗沖擊性能好,壽命長(zhǎng),但數(shù)碼管只能顯示0-9的數(shù)據(jù),不能夠顯示字符。這也是數(shù)碼管的不足之處。LED點(diǎn)陣顯示器件是由好多個(gè)發(fā)光二極管組成的。具有高亮度,功耗低,視角
31、大,壽命長(zhǎng),耐濕、冷、熱等特點(diǎn),LED點(diǎn)陣顯示器件可以顯示數(shù)字,英文字符,中文字符等。1602液晶是工業(yè)字符型液晶,能夠同時(shí)顯示16*2即32個(gè)字符。1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)等,每一個(gè)字符都有一個(gè)固定的代碼。使用時(shí)直接編寫軟件程序按一定的時(shí)序驅(qū)動(dòng)即可。它的特點(diǎn)是顯示字跡清楚價(jià)格相對(duì)便宜。12864液晶也是一種工業(yè)字符型液晶。它不僅能夠顯示1602液晶所可以顯示的字符、數(shù)字等信息,而且還可以顯示8*4個(gè)中文漢字和一些簡(jiǎn)單的圖片,顯示信息也非常的清楚。使用時(shí)也直接編寫軟件程序按一定的時(shí)序驅(qū)動(dòng)即可。
32、不過它的價(jià)格比1602液晶貴很多。3.3.2 LED簡(jiǎn)介在本次設(shè)計(jì)中采用的是4段LED數(shù)碼管來顯示電壓值。LED具有耗電低、亮度高、視角大、線路簡(jiǎn)單、耐震及壽命長(zhǎng)等優(yōu)點(diǎn)。它由4個(gè)發(fā)光二極管組成,其中7個(gè)按8字型排列,另一個(gè)發(fā)光二極管為圓點(diǎn)形狀,位于右下角,常用于顯示小數(shù)點(diǎn),把8個(gè)發(fā)光二極管連在一起,公共端接高電平,叫共陽(yáng)極接法,相反,公共端接低電平叫共陰極接法。我們采用共陽(yáng)極接法,當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一段筆畫或點(diǎn)就發(fā)亮,從而形成不同的發(fā)光字符。根據(jù)設(shè)計(jì)要求,顯示電路需要至少4位LED數(shù)碼管顯示電壓值。如圖3-5。利用單片機(jī)的I/O口驅(qū)動(dòng)LED數(shù)碼管的亮滅。設(shè)計(jì)中由P0口驅(qū)動(dòng)LED的段碼顯
33、示,即顯示字符,由P2口選擇LED位碼,即選擇點(diǎn)亮哪位LED來顯示。圖3-5 4位一體LED數(shù)碼管本章小結(jié)本章主要介紹了各個(gè)電路的組成、設(shè)計(jì)思想。單片機(jī)是本電路的核心元件。單片機(jī)又稱微控制器或嵌入式控制器,而現(xiàn)在的智能家電無一例外是采用微控制器來實(shí)現(xiàn)的。在本章中,可以查到電路所需芯片的引腳排列及其對(duì)應(yīng)的功能。通過本章的介紹,我們可以了解各種芯片在電路中的作用。第4章 系統(tǒng)軟件設(shè)計(jì)4.1 主程序設(shè)計(jì)開始開始選擇ADC0808的轉(zhuǎn)換通道設(shè)置定時(shí)器,提供時(shí)鐘信號(hào)啟動(dòng)A/D轉(zhuǎn)換輸出轉(zhuǎn)換結(jié)果數(shù)值轉(zhuǎn)換轉(zhuǎn)換是否結(jié)束N顯示Y圖4-2 主程序流程圖主程序主要負(fù)責(zé)各個(gè)模塊的初始化工作:設(shè)置定時(shí)器、寄存器的初值,啟
34、動(dòng)A/D轉(zhuǎn)換,讀取轉(zhuǎn)換結(jié)果,控制數(shù)碼管顯示等,其流程圖如圖4-2所示。4.2 A/D轉(zhuǎn)換程序A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù)。在整個(gè)系統(tǒng)設(shè)計(jì)中占有很高的地位。當(dāng)系統(tǒng)設(shè)置好后,單片機(jī)掃描轉(zhuǎn)換結(jié)束管腳P2.6的輸入電平狀態(tài),當(dāng)輸入為高電平,則轉(zhuǎn)換完成,將轉(zhuǎn)換的數(shù)值轉(zhuǎn)換并顯示輸出。若輸入為低電平,則繼續(xù)掃描。程序流程圖如圖4-3所示。開始開始設(shè)置模擬輸入口啟動(dòng)轉(zhuǎn)換轉(zhuǎn)換完?輸出數(shù)值處理NY圖4-3 A/D轉(zhuǎn)換程序流程圖本章小結(jié)本章主要介紹了系統(tǒng)軟件的工作原理,把電路的各部分做了全面的總結(jié),使其更透徹的了解。第5章 系統(tǒng)仿真與調(diào)試5.1 系統(tǒng)仿真5.1.1 Proteus簡(jiǎn)介Proteus軟件是英國(guó)Lab
35、center eletronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上注明的EDA工具,從原理布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、AVR、ARM、8086等。在編譯方面,它也支持Keil等多種編譯器。5.1.2功能及特點(diǎn)1、功能(1)原理布圖(2)PCB自動(dòng)或人工布線(3)SPICE電路仿真2、特點(diǎn)
36、(1)互動(dòng)的電路仿真(2)仿真處理器及其外圍電路5.2 局部調(diào)試完成了系統(tǒng)的硬件設(shè)計(jì)、制作和軟件編程之后,要使系統(tǒng)能夠按設(shè)計(jì)意圖正常運(yùn)行,必須進(jìn)行調(diào)試。5.2.1 硬件調(diào)試硬件調(diào)試的主要任務(wù)是排除硬件故障,其中包括設(shè)計(jì)的錯(cuò)誤和工藝性故障等。1、通電前的檢查通電前的檢查,主要有三個(gè)方面的內(nèi)容。(1)檢查元器件安裝是否正確,尤其要注意晶體管的型號(hào),電容器的耐壓和極性,電阻的阻值和圖紙上是否一致。(2)檢查器件與電路板所用導(dǎo)線接觸是否良好。(3)檢查電路接線是否有誤。根據(jù)電路圖和導(dǎo)線圖,用萬用表逐根導(dǎo)通測(cè)試。經(jīng)過這三個(gè)方面的檢查后,方可進(jìn)行通電調(diào)試。2、通電后的檢查直觀觀察:在電路的連接檢查無誤后,
37、要先調(diào)好所需要的電源電壓,然后才能給電路通電。觀察電路是否有發(fā)熱等異?,F(xiàn)象。靜態(tài)測(cè)量:先不加信號(hào),用萬用表測(cè)量電路的Vcc與地之間的電壓,測(cè)量晶體管的靜態(tài)工作點(diǎn)是否符合要求。采用動(dòng)態(tài)逐級(jí)檢查。在輸入端加入一個(gè)有規(guī)律的信號(hào),按信號(hào)流程用示波器一次觀測(cè)各波形是否符合要求。采用替換法檢查,更換同型號(hào)元器件來發(fā)現(xiàn)器件故障。5.2.2 軟件調(diào)試軟件調(diào)試的任務(wù)是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,發(fā)現(xiàn)和糾正程序的錯(cuò)誤,同時(shí)也能發(fā)現(xiàn)硬件的故障。軟件調(diào)試是一個(gè)模塊一個(gè)模塊進(jìn)行的。首先單獨(dú)調(diào)試各子程序是否能夠按照預(yù)期的功能,接口電路的控制是否正常,最后調(diào)試整個(gè)程序,尤其注意的是各模塊間能否正常的傳遞參數(shù)。1.檢查L(zhǎng)E
38、D顯示模塊程序。觀察在LED上是否能夠顯示相應(yīng)的字符。2.檢查A/D轉(zhuǎn)換模塊程序??梢栽谟布娐返妮斎攵溯斎胍阎碾妷?,觀察LED上是否顯示相應(yīng)的電壓值。3.檢查數(shù)據(jù)的轉(zhuǎn)換模塊程序。5.3 整機(jī)調(diào)試該系統(tǒng)存在硬件和軟件的緊密聯(lián)系。軟硬件都調(diào)試通過后,整個(gè)系統(tǒng)連接扔會(huì)存在很多麻煩。首先檢查A/D部分,然后是單片機(jī),最后是數(shù)碼管,依次排除障礙。當(dāng)相應(yīng)的各模塊都正確后,將程序下載到單片機(jī)。接上電源運(yùn)行,再檢查所有功能。觀察是否跟預(yù)期的一樣,如果一樣。說明設(shè)計(jì)成功完成。本章小結(jié)本章對(duì)各部分單元電路的安裝及調(diào)試做了具體的介紹,從而使電路的安裝非常明了,并且對(duì)在調(diào)試過程中所遇到的問題進(jìn)行分析。結(jié) 論在本次
39、畢業(yè)設(shè)計(jì)中,又一次的重新溫習(xí)了以前學(xué)習(xí)的科學(xué)文化知識(shí),給即將走向工作崗位的我們又上了一堂精彩的課。通過這次畢業(yè)設(shè)計(jì),掌握了單片機(jī)、ADC0808、數(shù)碼管、三極管、電容等工作原理及其應(yīng)用;熟練使用相關(guān)的實(shí)驗(yàn)儀器和設(shè)備,能使用相關(guān)軟件設(shè)計(jì)電路圖并進(jìn)行仿真;讓我了解了設(shè)計(jì)電路的程序,使我對(duì)模擬電子技術(shù)在實(shí)踐中的應(yīng)用有了更深刻的理解;對(duì)protues有樂深入的了解,能獨(dú)立完成電路圖的繪制,。在設(shè)計(jì)電路過程中,充分了解各元器件的功能作用;把課本知識(shí)變得生動(dòng)有趣,讓我對(duì)電路都有了了解,激發(fā)了學(xué)習(xí)的積極性。由于本設(shè)計(jì)使用的是高效的51系列單片機(jī)作為核心的測(cè)量系統(tǒng),以及高精度、高速度、高抗干擾的A/D轉(zhuǎn)換器,
40、使得本直流電壓表具有精度高、靈敏度強(qiáng)、性能可靠、電路簡(jiǎn)單、成本低的特點(diǎn)。因?yàn)槠綍r(shí)所需要測(cè)量的被測(cè)量電壓值不是一個(gè)定值,多多少少都有一個(gè)微小的變化。通過此設(shè)計(jì)可知在單片機(jī)系統(tǒng)開發(fā)過程應(yīng)注意一下事項(xiàng):1.硬件的選擇。選擇適合設(shè)計(jì)目的的元器件是一個(gè)重要的設(shè)計(jì)環(huán)節(jié),不能以元器件是否是最高性能作為選擇元器件的標(biāo)準(zhǔn),往往高性能器件的價(jià)格也是較高的。應(yīng)根據(jù)項(xiàng)目設(shè)計(jì)的需要選擇元器件,能夠滿足設(shè)計(jì)需要作為標(biāo)準(zhǔn)選擇元器件。2.因?yàn)閱纹瑱C(jī)系統(tǒng)設(shè)計(jì)是硬件和軟件相結(jié)合的設(shè)計(jì),所以系統(tǒng)的硬件和軟件必須金幣配合,協(xié)調(diào)一致。應(yīng)不斷調(diào)整軟硬件設(shè)計(jì),以提高系統(tǒng)工作效率。單片機(jī)的應(yīng)用如今已經(jīng)是在工業(yè)、電子等方面展示出了它的優(yōu)越性。
41、利用單片機(jī)在設(shè)計(jì)電路逐漸成了趨勢(shì),它與外圍電路再加上軟件程序就可以構(gòu)建任意的產(chǎn)品,使得本設(shè)計(jì)成為現(xiàn)實(shí)。隨著單片機(jī)的日益發(fā)展,它必將在未來顯示出更大的活力。對(duì)于直流數(shù)字電壓表而言,功能將會(huì)越來越強(qiáng)大。致 謝通過這一階段的努力,我的畢業(yè)論文數(shù)字電壓表終于完成了,這意味著大學(xué)生活即將結(jié)束。在大學(xué)階段,我在學(xué)習(xí)上和思想上都受益匪淺,這除了自身的努力外,與各位老師、同學(xué)和朋友的關(guān)心、支持和鼓勵(lì)是分不開的。本人是在趙建新老師得精心指導(dǎo)下完成的。在此向他表示衷心的感謝。同時(shí)感謝同學(xué)的鼓勵(lì)和幫助,讓我順利完成本次設(shè)計(jì)任務(wù)。通過短暫的畢業(yè)設(shè)計(jì),提高了我的理論水平,真正做到學(xué)有所用。雖然在其過程中我也遇到了一些困
42、難,但是從中我也得到了很多的幫助,沒有半途而廢,沒有灰心喪氣,我都一一克服了,這些都是一種收獲,最讓我感到高興的是終于按質(zhì)按量的完成了畢業(yè)設(shè)計(jì)。感謝我的指導(dǎo)老師,趙老師嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我學(xué)習(xí)、工作中的榜樣;他循循善誘的教導(dǎo)和不拘一格的思想給予我無盡啟迪。本次畢業(yè)設(shè)計(jì)的每一個(gè)細(xì)節(jié)都離不開您的細(xì)心教導(dǎo)。寫作畢業(yè)論文是一次再系統(tǒng)學(xué)習(xí)的過程,畢業(yè)論文的完成,同樣也意味著新的學(xué)習(xí)生活的開始。參考文獻(xiàn)1 李朝清.單片機(jī)原理及接口技術(shù)M.北京:北京航空航天大學(xué)出版社,2005.2 石東海.單片機(jī)數(shù)據(jù)通信技術(shù)從入門到精通M.西安:西安電子科技大學(xué)出版社,2002.3 張毅剛、彭喜源.MCS-51
43、單片機(jī)應(yīng)用技術(shù)設(shè)計(jì)M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002.4 黑杰克.Protel Schematic 99SE電路設(shè)計(jì)M.上海:上海科技出版社,2001.1.5 何利民.單片機(jī)應(yīng)用技術(shù)選篇M.北京:北京航空航天大學(xué)出版社,2002.6 馬家辰、孫玉德、張穎.MCS-51單片機(jī)原理及接口技術(shù)M.哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2001.7 蘇文平.電子電路應(yīng)用實(shí)例精選M.北京:北京航空航天大學(xué)出版社,2001.3.8 沙占友.模擬與數(shù)字萬用表檢測(cè)及應(yīng)用技術(shù)M.北京:電子工業(yè)出版社,2000.5.9 趙建領(lǐng).51系列單片機(jī)開發(fā)寶典M.北京:電子工業(yè)出版社,2007.4.10 佟云峰.單片機(jī)原理
44、及其應(yīng)用M.重慶:重慶大學(xué)出版社,2004.11 姜文波,何立偉.常用雙積分A/D轉(zhuǎn)換器自動(dòng)量程轉(zhuǎn)換接口電路J.儀表技術(shù),2007.12 呂思忠.數(shù)字電路實(shí)驗(yàn)與課程設(shè)計(jì).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2002.13 康華光.電子技術(shù)基礎(chǔ).北京:高等教育出版社,2002.附錄1 系統(tǒng)源程序LED_0 EQU 30H ;存放三個(gè)數(shù)碼管的斷碼LED_1 EQU 31HLED_2 EQU 32HADC EQU 35H ;存放AD轉(zhuǎn)換后的數(shù)據(jù)ST BIT P3.2OE BIT P3.0EOC BIT P3.1ORG 0000HLJMP MAINORG 0030HMAIN:MOV LED_0,#00H ;
45、給顯示賦初值0 MOV LED_1,#00H MOV LED_2,#00H SETB P3.4 SETB P3.5 CLR P3.6 ;選擇通道3WAIT:CLR ST SETB ST CLR ST ;啟動(dòng)AD轉(zhuǎn)換 JNB EOC,$ ;等待轉(zhuǎn)換結(jié)束 SETB OE ;允許輸入 MOV ADC,P1 ;暫存轉(zhuǎn)換結(jié)束 CLR OE ;關(guān)閉輸入 LCALL CONVERT ;調(diào)用數(shù)據(jù)處理子程序 LCALL DISPLAY ;調(diào)用顯示子程序,顯示轉(zhuǎn)換的值 SJMP WAIT;*;將AD轉(zhuǎn)換輸出的數(shù)據(jù)轉(zhuǎn)換成相應(yīng)的電壓值;*CONVERT:MOV A,ADC ;將AD轉(zhuǎn)換結(jié)果轉(zhuǎn)換成BCD碼 MOV B,
46、#51 ;255/51=5.00V DIV AB MOV LED_2,A ;各位數(shù)字存入LED_2中 MOV A,B ;余數(shù)大于19H,F(xiàn)0為1乘法溢出,結(jié)果加5 CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,LOOP2 ADD A,#5LOOP2:MOV LED_1,A ;小數(shù)后的第一位存入LED_1中 MOV A,B CLR F0 SUBB A,#1AH MOV F0,C MOV A,#10 MUL AB MOV B,#51 DIV AB JB F0,LOOP3 ADD A,#5LOOP3:MOV L
47、ED_0,A ;小數(shù)后的第二位存入LED_0中 RET;*;顯示程序;*DISPLAY:MOV A,LED_0 ;數(shù)碼顯示子程序 MOV DPTR,#TABLE ;送段碼表首地址 MOVC A,A+DPTR SETB P2.3 ;允許百位輸出,該數(shù)碼管為共陽(yáng)極型 MOV P0,A ;將位段碼送給P0口 LCALL DELAY ;調(diào)用延時(shí)程序 CLR P2.3 ;關(guān)閉百位顯示 MOV A,LED_1 MOV DPTR,#TABLE ;送段碼表首地址 MOVC A,A+DPTR SETB P2.2 ;允許十位輸出,該數(shù)碼管為共陽(yáng)極型 MOV P0,A ;將位段碼送給P0口 LCALL DELAY
48、;調(diào)用延時(shí)程序 CLR P2.2 ;關(guān)閉十位顯示 MOV A,LED_2 MOV DPTR,#TABLE2 ;送段碼表首地址 MOVC A,A+DPTR SETB P2.1 ;允許個(gè)位輸出,該數(shù)碼管為共陽(yáng)極型 MOV P0,A ;將位段碼送給P0口 LCALL DELAY ;調(diào)用延時(shí)程序 CLR P2.1 ;關(guān)閉個(gè)位顯示 RET;*;延時(shí)程序;*DELAY:MOV R6,#10D1:MOV R7,#250 DJNZ R7,$ DJNZ R6,D1 RETTABLE:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H ;共陽(yáng)極09十個(gè)段碼TABL
49、E2:DB 40H,79H,24H,30H,19H,12H ;帶小數(shù)點(diǎn)的09十位段碼END附錄2 仿真電路圖附錄3 元件清單序號(hào)名稱代號(hào)單位數(shù)量備注1集成塊ADC0808片12單片機(jī)AT89C51片13電阻100個(gè)84電阻10k個(gè)15電阻2k個(gè)36電阻1k個(gè)17按鍵普通個(gè)18晶振12mhz個(gè)19電位器1k個(gè)110變阻器10k個(gè)114瓷片電容10u個(gè)115電容30p個(gè)2 16按鍵開關(guān)S1個(gè)1附錄資料:不需要的可以自行刪除 Linux-c常用文件操作函數(shù)clearerr(清除文件流的錯(cuò)誤旗標(biāo)) 相關(guān)函數(shù) feof表頭文件 #include定義函數(shù) void clearerr(FILE * stre
50、am);函數(shù)說明 clearerr()清除參數(shù)stream指定的文件流所使用的錯(cuò)誤旗標(biāo)。返回值 fclose(關(guān)閉文件) 相關(guān)函數(shù) close,fflush,fopen,setbuf表頭文件 #include定義函數(shù) int fclose(FILE * stream);函數(shù)說明 fclose()用來關(guān)閉先前fopen()打開的文件。此動(dòng)作會(huì)讓緩沖區(qū)內(nèi)的數(shù)據(jù)寫入文件中,并釋放系統(tǒng)所提供的文件資源。返回值 若關(guān)文件動(dòng)作成功則返回0,有錯(cuò)誤發(fā)生時(shí)則返回EOF并把錯(cuò)誤代碼存到errno。錯(cuò)誤代碼 EBADF表示參數(shù)stream非已打開的文件。范例 請(qǐng)參考fopen()。 fdopen(將文件描述詞轉(zhuǎn)為
51、文件指針) 相關(guān)函數(shù) fopen,open,fclose表頭文件 #include定義函數(shù) FILE * fdopen(int fildes,const char * mode);函數(shù)說明 fdopen()會(huì)將參數(shù)fildes 的文件描述詞,轉(zhuǎn)換為對(duì)應(yīng)的文件指針后返回。參數(shù)mode 字符串則代表著文件指針的流形態(tài),此形態(tài)必須和原先文件描述詞讀寫模式相同。關(guān)于mode 字符串格式請(qǐng)參考fopen()。返回值 轉(zhuǎn)換成功時(shí)返回指向該流的文件指針。失敗則返回NULL,并把錯(cuò)誤代碼存在errno中。范例 #includemain()FILE * fp =fdopen(0,”w+”);fprintf(fp
52、,”%sn”,”hello!”);fclose(fp);執(zhí)行 hello! feof(檢查文件流是否讀到了文件尾) 相關(guān)函數(shù) fopen,fgetc,fgets,fread表頭文件 #include定義函數(shù) int feof(FILE * stream);函數(shù)說明 feof()用來偵測(cè)是否讀取到了文件尾,尾數(shù)stream為fopen()所返回之文件指針。如果已到文件尾則返回非零值,其他情況返回0。返回值 返回非零值代表已到達(dá)文件尾。 fflush(更新緩沖區(qū)) 相關(guān)函數(shù) write,fopen,fclose,setbuf表頭文件 #include定義函數(shù) int fflush(FILE* st
53、ream);函數(shù)說明 fflush()會(huì)強(qiáng)迫將緩沖區(qū)內(nèi)的數(shù)據(jù)寫回參數(shù)stream指定的文件中。如果參數(shù)stream為NULL,fflush()會(huì)將所有打開的文件數(shù)據(jù)更新。返回值 成功返回0,失敗返回EOF,錯(cuò)誤代碼存于errno中。錯(cuò)誤代碼 EBADF 參數(shù)stream 指定的文件未被打開,或打開狀態(tài)為只讀。其它錯(cuò)誤代碼參考write()。 fgetc(由文件中讀取一個(gè)字符) 相關(guān)函數(shù) open,fread,fscanf,getc表頭文件 include定義函數(shù) nt fgetc(FILE * stream);函數(shù)說明 fgetc()從參數(shù)stream所指的文件中讀取一個(gè)字符。若讀到文件尾而無
54、數(shù)據(jù)時(shí)便返回EOF。返回值 getc()會(huì)返回讀取到的字符,若返回EOF則表示到了文件尾。范例 #includemain()FILE *fp;int c;fp=fopen(“exist”,”r”);while(c=fgetc(fp)!=EOF)printf(“%c”,c);fclose(fp); fgets(由文件中讀取一字符串) 相關(guān)函數(shù) open,fread,fscanf,getc表頭文件 include定義函數(shù) har * fgets(char * s,int size,FILE * stream);函數(shù)說明 fgets()用來從參數(shù)stream所指的文件內(nèi)讀入字符并存到參數(shù)s所指的內(nèi)存
55、空間,直到出現(xiàn)換行字符、讀到文件尾或是已讀了size-1個(gè)字符為止,最后會(huì)加上NULL作為字符串結(jié)束。返回值 gets()若成功則返回s指針,返回NULL則表示有錯(cuò)誤發(fā)生。范例 #includemain()char s80;fputs(fgets(s,80,stdin),stdout);執(zhí)行 this is a test /*輸入*/this is a test /*輸出*/ fileno(返回文件流所使用的文件描述詞) 相關(guān)函數(shù) open,fopen表頭文件 #include定義函數(shù) int fileno(FILE * stream);函數(shù)說明 fileno()用來取得參數(shù)stream指定的
56、文件流所使用的文件描述詞。返回值 返回文件描述詞。范例 #includemain()FILE * fp;int fd;fp=fopen(“/etc/passwd”,”r”);fd=fileno(fp);printf(“fd=%dn”,fd);fclose(fp);執(zhí)行 fd=3 fopen(打開文件) 相關(guān)函數(shù) open,fclose表頭文件 #include定義函數(shù) FILE * fopen(const char * path,const char * mode);函數(shù)說明 參數(shù)path字符串包含欲打開的文件路徑及文件名,參數(shù)mode字符串則代表著流形態(tài)。mode有下列幾種形態(tài)字符串:r 打
57、開只讀文件,該文件必須存在。r+ 打開可讀寫的文件,該文件必須存在。w 打開只寫文件,若文件存在則文件長(zhǎng)度清為0,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。w+ 打開可讀寫文件,若文件存在則文件長(zhǎng)度清為零,即該文件內(nèi)容會(huì)消失。若文件不存在則建立該文件。a 以附加的方式打開只寫文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾,即文件原先的內(nèi)容會(huì)被保留。a+ 以附加方式打開可讀寫的文件。若文件不存在,則會(huì)建立該文件,如果文件存在,寫入的數(shù)據(jù)會(huì)被加到文件尾后,即文件原先的內(nèi)容會(huì)被保留。上述的形態(tài)字符串都可以再加一個(gè)b字符,如rb、w+b或ab等組合,加入b 字符用來告訴
58、函數(shù)庫(kù)打開的文件為二進(jìn)制文件,而非純文字文件。不過在POSIX系統(tǒng),包含Linux都會(huì)忽略該字符。由fopen()所建立的新文件會(huì)具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)權(quán)限,此文件權(quán)限也會(huì)參考umask值。返回值 文件順利打開后,指向該流的文件指針就會(huì)被返回。若果文件打開失敗則返回NULL,并把錯(cuò)誤代碼存在errno 中。附加說明 一般而言,開文件后會(huì)作一些文件讀取或?qū)懭氲膭?dòng)作,若開文件失敗,接下來的讀寫動(dòng)作也無法順利進(jìn)行,所以在fopen()后請(qǐng)作錯(cuò)誤判斷及處理。范例 #includemain()FILE * fp;fp
59、=fopen(“noexist”,”a+”);if(fp= =NULL) return;fclose(fp); fputc(將一指定字符寫入文件流中) 相關(guān)函數(shù) fopen,fwrite,fscanf,putc表頭文件 #include定義函數(shù) int fputc(int c,FILE * stream);函數(shù)說明 fputc 會(huì)將參數(shù)c 轉(zhuǎn)為unsigned char 后寫入?yún)?shù)stream 指定的文件中。返回值 fputc()會(huì)返回寫入成功的字符,即參數(shù)c。若返回EOF則代表寫入失敗。范例 #includemain()FILE * fp;char a26=”abcdefghijklmnop
60、qrstuvwxyz”;int i;fp= fopen(“noexist”,”w”);for(i=0;i26;i+)fputc(ai,fp);fclose(fp); fputs(將一指定的字符串寫入文件內(nèi)) 相關(guān)函數(shù) fopen,fwrite,fscanf,fputc,putc表頭文件 #include定義函數(shù) int fputs(const char * s,FILE * stream);函數(shù)說明 fputs()用來將參數(shù)s所指的字符串寫入到參數(shù)stream所指的文件內(nèi)。返回值 若成功則返回寫出的字符個(gè)數(shù),返回EOF則表示有錯(cuò)誤發(fā)生。范例 請(qǐng)參考fgets()。 fread(從文件流讀取數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024建筑行業(yè)員工保密義務(wù)協(xié)議樣本
- 高等教育教材內(nèi)容更新與建設(shè)方案
- 房屋租賃協(xié)議模板(2024年度)
- 強(qiáng)化研究生教育數(shù)智化平臺(tái)的建設(shè)與應(yīng)用策略
- 2024年個(gè)人住房分期貸款協(xié)議
- 2024年香港股權(quán)轉(zhuǎn)讓協(xié)議模板
- 2024年理療服務(wù)合作協(xié)議書
- 2024設(shè)備進(jìn)口采購(gòu)協(xié)議中英文
- 2024香港公司個(gè)人貸款協(xié)議文本
- 2024年產(chǎn)奶牛專屬承包協(xié)議范本
- 2024屆東北師大附中重慶一中等六校化學(xué)高一第一學(xué)期期中檢測(cè)試題含解析
- 【幼兒園語(yǔ)言文字教學(xué)的規(guī)范化分析3000字(論文)】
- 瓶口分液器校準(zhǔn)規(guī)范
- (完整版)醫(yī)療器械網(wǎng)絡(luò)交易服務(wù)第三方平臺(tái)質(zhì)量管理文件
- 信息管理監(jiān)理實(shí)施細(xì)則水利水電工程
- (醫(yī)學(xué)課件)DIC患者的護(hù)理
- 跨境數(shù)據(jù)流動(dòng)的全球治理進(jìn)展、趨勢(shì)與中國(guó)路徑
- 【多旋翼無人機(jī)的組裝與調(diào)試5600字(論文)】
- 2023年遼陽(yáng)市宏偉區(qū)事業(yè)單位考試真題
- 環(huán)境工程專業(yè)英語(yǔ) 課件
- 繼電保護(hù)動(dòng)作分析報(bào)告課件
評(píng)論
0/150
提交評(píng)論