版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p> ?。?2010 屆 )</p><p> 題 目 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)</p><p> 學(xué) 院 專 業(yè) </p><p><b> 班 級(jí) </b></p><p&g
2、t;<b> 學(xué) 號(hào) </b></p><p><b> 學(xué)生姓名 </b></p><p><b> 指導(dǎo)教師 </b></p><p> 完成日期 2010年3月</p><p><b> 摘 要</b></p>
3、<p> 隨著單片機(jī)技術(shù)的發(fā)展,單片機(jī)廣泛的應(yīng)用與測(cè)量技術(shù)中。以往的測(cè)量技術(shù)與之相比,只能將被測(cè)量通過指針式指示儀表顯示測(cè)量數(shù)值,但是指針式儀表讀數(shù)不方便,且不易于實(shí)現(xiàn)計(jì)算機(jī)控制。本文中數(shù)字電壓表的控制系統(tǒng)采用AT89S52單片機(jī)實(shí)現(xiàn)模擬電壓信號(hào)的檢測(cè)與顯示,A/D轉(zhuǎn)換器采用ADC0809為主要硬件,實(shí)現(xiàn)數(shù)字電壓表的硬件電路與軟件設(shè)計(jì)。該系統(tǒng)的數(shù)字電壓表電路簡(jiǎn)單,所用的元件較少,成本低,調(diào)節(jié)工作可實(shí)現(xiàn)自動(dòng)化,還可以方便地進(jìn)行
4、8路A/D轉(zhuǎn)換的測(cè)量,遠(yuǎn)程測(cè)量結(jié)果傳送等功能。數(shù)字電壓表可以測(cè)量0~5V的8路輸入電壓值,并在四位LED數(shù)碼管上輪流顯示或單路顯示。設(shè)計(jì)結(jié)果能實(shí)現(xiàn)相應(yīng)的功能。</p><p><b> 關(guān)鍵詞</b></p><p> 轉(zhuǎn)換器; 單片機(jī); 數(shù)碼管; 數(shù)字電壓表 </p><p><b> Abstract</b>&l
5、t;/p><p> With SCM technology, a wide range of applications and measurement of micro-controller technology. Compared with the previous measurement techniques can only be measured through the instruction pointe
6、r instrument displays measured values, but the pointer meter readings inconvenient, and not easy to implement computer control. Digital voltage meter in this article uses the control system of AT89S52 microcontroller ana
7、log voltage signal detection and display, A / D converter ADC0809 as the main use</p><p><b> Key words</b></p><p> Conversion; SC Computer; Digital tube; Digital Voltmeter</p>
8、;<p><b> 目 錄</b></p><p><b> 1. 引言1</b></p><p> 1.1 設(shè)計(jì)背景1</p><p> 1.2 設(shè)計(jì)目的2</p><p> 1.3 作品要求及功能2</p><p> 2. 總體設(shè)
9、計(jì)2</p><p> 2.1 各模塊方案選擇與論證2</p><p> 2.2 總體設(shè)計(jì)框圖3</p><p> 3. 系統(tǒng)硬件電路設(shè)計(jì)4</p><p> 3.1 單片機(jī)芯片選擇AT89S52介紹4</p><p> 3.1.1 主要特性4</p><p> 3.1.
10、2 引腳說明5</p><p> 3.1.3 振蕩器特性7</p><p> 3.1.4 芯片擦除7</p><p> 3.2 A/D轉(zhuǎn)換模塊設(shè)計(jì)8</p><p> 3.2.1 ADC0809A/D功能描述8</p><p> 3.2.2 ADC0809A/D工作原理9</p>
11、<p> 3.2.3 ADC0809應(yīng)用說明9</p><p> 3.3 電壓顯示電路9</p><p> 3.4 時(shí)鐘電路設(shè)計(jì)10</p><p> 3.5 復(fù)位電路設(shè)計(jì)11</p><p> 4. 系統(tǒng)程序設(shè)計(jì)12</p><p> 4.1 軟件總體框架設(shè)計(jì)12</p&
12、gt;<p> 4.2 模/數(shù)轉(zhuǎn)換測(cè)量子程序12</p><p> 4.3 LED顯示子程序13</p><p> 5. 制作與調(diào)試14</p><p> 5.1 硬件電路的布線與焊接14</p><p><b> 5.2 調(diào)試15</b></p><p> 5
13、.2.1 系統(tǒng)硬件調(diào)試15</p><p> 5.2.2 系統(tǒng)軟件調(diào)試15</p><p> 5.2.3 調(diào)試心得16</p><p> 5.2.4 測(cè)試數(shù)據(jù)16</p><p><b> 6.結(jié)論16</b></p><p><b> 參考文獻(xiàn)18</b&
14、gt;</p><p><b> 謝 辭19</b></p><p><b> 附 件20</b></p><p> 附件1 實(shí)物圖20</p><p> 附件2 系統(tǒng)原理圖21</p><p> 附件3 系統(tǒng)PCB圖22</p>&l
15、t;p> 附件4 元器件清單表23</p><p> 附件5 簡(jiǎn)易數(shù)字電壓表的源程序24</p><p><b> 1. 引言</b></p><p> 數(shù)字電壓表(Digital Voltmeter )簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。數(shù)字電壓
16、表自從一九五二年問世以來,隨著電子技術(shù)的飛躍發(fā)展,特別是目前,作為測(cè)量?jī)x表、模擬指示儀表的數(shù)字化以及自動(dòng)測(cè)量的系統(tǒng),而得到了很大的發(fā)展。數(shù)字電壓表是從電位差計(jì)的自動(dòng)化這種想法研制出來的,因此即便是最初的數(shù)字電壓表,其精度也要比模擬式儀表高,而其成本比電位差計(jì)也高。以后,DVM的發(fā)展就著眼在高精度和低成本兩個(gè)方面。單片機(jī)可單獨(dú)的完成現(xiàn)代工業(yè)控制所要求的智能化控制功能,這是單片機(jī)最大的特征。單片機(jī)控制系統(tǒng)能夠取代以前利用復(fù)雜電子線路或數(shù)字電
17、路構(gòu)成的控制系統(tǒng),可以用軟件控制來實(shí)現(xiàn),并能夠?qū)崿F(xiàn)智能化[1]。</p><p><b> 1.1設(shè)計(jì)背景</b></p><p> 數(shù)字電壓表出現(xiàn)在50年代初,60年代末發(fā)起來的電壓測(cè)量?jī)x表,簡(jiǎn)稱DVM,它采用的是數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量,也就是連續(xù)的電壓值轉(zhuǎn)變?yōu)椴贿B續(xù)的數(shù)字量,加以數(shù)字處理,然后再通過顯示器件顯示。這種電子測(cè)量的儀表之所以出現(xiàn),一方面是由
18、于電子計(jì)算機(jī)的應(yīng)用逐漸推廣到系統(tǒng)的自動(dòng)控制信實(shí)驗(yàn)研究的領(lǐng)域,提出了將各種被觀察量或被控制量轉(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ā)展的必要橋梁。</p><p>
19、 如今,數(shù)字電壓表已絕大部分取代了傳統(tǒng)的模擬指針式電壓表。因?yàn)閭鹘y(tǒng)的模擬指針式電壓表功能單一,精度低,讀數(shù)的時(shí)候也非常不方便,很容易出錯(cuò)。而采用單片機(jī)的數(shù)字電壓表由于測(cè)量精度高,速度快,讀數(shù)時(shí)也非常的方便,抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)已被廣泛的應(yīng)用于電子及電工的測(cè)量,工業(yè)自動(dòng)化化儀表,自動(dòng)測(cè)試系統(tǒng)等智能化測(cè)量領(lǐng)域。顯示出強(qiáng)大的生命力[2]。</p><p><b> 1.2 設(shè)計(jì)目的</b&
20、gt;</p><p> 通過制作簡(jiǎn)易數(shù)字電壓表,加深對(duì)所學(xué)專業(yè)知識(shí)的認(rèn)識(shí),提高分析、解決工程實(shí)際問題的能力,提高對(duì)單片機(jī)的應(yīng)用能力,提高收集文獻(xiàn)、資料的能力,從而達(dá)到綜合運(yùn)用所學(xué)的專業(yè)知識(shí)進(jìn)行電子產(chǎn)品的設(shè)計(jì)、制作與調(diào)試的能力。</p><p> 1.3 作品要求及功能 </p><p> 設(shè)計(jì)的基本內(nèi)容是使基于單片機(jī)所設(shè)計(jì)出的數(shù)字電壓表可以測(cè)量0-5V的8路
21、輸入電壓值,并在四位LED數(shù)碼管上輪流顯示或單路顯示。測(cè)量最小分辨率為0.019V,測(cè)量誤差約為0.02V。系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以方便地進(jìn)行8路其他A/D轉(zhuǎn)換量的測(cè)量、遠(yuǎn)程測(cè)量結(jié)果傳送等功能。所要解決的主要問題是如何更有效地設(shè)計(jì)出符合設(shè)計(jì)要求的簡(jiǎn)易數(shù)字電壓表,特別是要注意其測(cè)量電壓的誤差,難點(diǎn)是數(shù)碼管需輪流顯示或單路顯示所測(cè)出的電壓值,并且能使軟硬件有效的結(jié)合起來[3]。</p><p><b
22、> 基本功能:</b></p><p> 電壓測(cè)量范圍0-5V</p><p> 能用數(shù)碼管顯示電壓值</p><p><b> 測(cè)量誤差0.02V</b></p><p><b> 系統(tǒng)具備復(fù)位功能</b></p><p> 系統(tǒng)具備選擇顯示功
23、能</p><p><b> 2. 總體設(shè)計(jì)</b></p><p> 2.1 各模塊方案選擇與論證 </p><p><b> A/D轉(zhuǎn)換模塊:</b></p><p><b> 方案一:</b></p><p> A/D轉(zhuǎn)換器采用ICL
24、7107型三位半顯示的芯片,輸入信號(hào),流經(jīng)取樣電路取樣后送到ICL7107型三位半A/D轉(zhuǎn)換器,只需要很少的簡(jiǎn)單外圍元件,就可組成數(shù)字電流表模塊,直接驅(qū)動(dòng)三位半LED顯示器顯示,最后輸入電流在顯示部分顯示。由于本人對(duì)此電路布熟悉,而且ICL7107做的LED數(shù)字表,最大的確定就是數(shù)字亂跳不穩(wěn)定,特別最后一位。所以不采用此方案。</p><p><b> 方案二:</b></p>
25、<p> 采用ADC0809轉(zhuǎn)換芯片,其中A/D轉(zhuǎn)換器用于實(shí)現(xiàn)模擬量向數(shù)字量的轉(zhuǎn)換,單電源供電。它是具有8路模擬量輸入、8位數(shù)字量輸出功能的A/D轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為100us,模擬輸入電壓范圍為0V~+5V,不需要零點(diǎn)和滿刻度校準(zhǔn),功耗低,約15mW。</p><p> 由于模擬轉(zhuǎn)換電路的種類很多,通過對(duì)轉(zhuǎn)換速度,精度和價(jià)格方面考慮,所以選擇方案二采用ADC0809為本次設(shè)計(jì)的轉(zhuǎn)換芯片[4]。&
26、lt;/p><p><b> 接口模塊:</b></p><p> 方案一:使用數(shù)字電路實(shí)現(xiàn),采用譯碼芯片CD4543作為接口芯片,這種方案能實(shí)現(xiàn)功能,但穩(wěn)定性不高,結(jié)構(gòu)復(fù)雜。</p><p> 方案二:采用AT89S52單片機(jī)作為系統(tǒng)的控制單元,通過A/D轉(zhuǎn)換將被測(cè)值轉(zhuǎn)換為數(shù)字量送入單片機(jī),再由單片機(jī)來送顯。此方案各功能易于實(shí)現(xiàn),成本低、功
27、耗低,顯示穩(wěn)定。</p><p> 通過比較,選擇方案二。</p><p> 2.2 總體設(shè)計(jì)框圖</p><p> 總體設(shè)計(jì)框圖如圖2-1所示,通過模數(shù)轉(zhuǎn)換器ADC0809采集模擬數(shù)據(jù)并轉(zhuǎn)換為數(shù)字信號(hào),在51單片機(jī)的控制與74LS74及三極管的驅(qū)動(dòng)下,將采集的數(shù)據(jù)顯示在LED數(shù)碼管上。兩個(gè)開關(guān)用作選擇測(cè)量電壓的路數(shù),一個(gè)控制單路顯示,另一個(gè)控制循環(huán)顯示,能夠
28、同時(shí)測(cè)量8路電壓值[5]。</p><p> 圖2-1 簡(jiǎn)易數(shù)字電壓表總體設(shè)計(jì)框圖</p><p> 3. 系統(tǒng)硬件電路設(shè)計(jì)</p><p> 3.1 單片機(jī)芯片選擇AT89S52介紹</p><p> 單片機(jī)采用MCS-51系列單片機(jī)。由ATMEL公司生產(chǎn)的AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編
29、程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。在單芯片上,擁有靈巧的8 位CPU 和在線系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片
30、內(nèi)晶振及時(shí)鐘電路。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。而且,它還具有一個(gè)看門狗(WDT)定時(shí)/計(jì)數(shù)器,如果程序沒有正常工作,就會(huì)強(qiáng)制整個(gè)系統(tǒng)復(fù)位,還可以在程序陷入死循環(huán)的時(shí)候,讓單片機(jī)復(fù)位而不用整個(gè)系統(tǒng)斷電,從而保護(hù)你的硬件電路[6]。</p><p> 3.1.1 主要特性
31、</p><p> AT89S52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本[7]。</p><p><b> 其功能如下所示:&l
32、t;/b></p><p> 與MCS-51單片機(jī)產(chǎn)品兼容</p><p> 8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器</p><p><b> 1000次擦寫周期</b></p><p> 全靜態(tài)操作:0HZ~33HZ</p><p><b> 三級(jí)加密程序存儲(chǔ)器</
33、b></p><p> 32個(gè)可編程I/O口線</p><p> 三個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> 八個(gè)中斷源</b></p><p> 全雙工UART串行通道</p><p> 低功耗空閑和掉電模式</p><p><b>
34、掉電后中斷可喚醒</b></p><p><b> 看門狗定時(shí)器</b></p><p><b> 雙數(shù)據(jù)指針</b></p><p><b> 掉電標(biāo)示符[8]</b></p><p> 3.1.2 引腳說明</p><p><
35、;b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門流。當(dāng)P1口的引腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行
36、校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口引腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向
37、I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其引腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的引腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和
38、控制信號(hào)。</p><p> P3口:P3口引腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89S52的一些特殊功能口,如表3.1所示。</p><p> 表3.1 A
39、T89S52特殊功能口表</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變
40、的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程
41、序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</
42、p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來自反向振蕩器的輸出[9]。</p><p> 圖3-1 AT89S52引腳圖</p><p> 3.1.3 振蕩器特性</p><p> XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配
43、置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度[10]。</p><p> 3.1.4 芯片擦除</p><p> 整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來完成。在芯片
44、擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。 此外,AT89S52設(shè)有穩(wěn)態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,能保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止[11]。</p><p> 3.2 A/D轉(zhuǎn)換模塊設(shè)計(jì)</p><
45、;p> 3.2.1 ADC0809A/D功能描述</p><p> ADC0809是采樣頻率為8位的、以逐次逼近原理進(jìn)行模—數(shù)轉(zhuǎn)換的器件。下面3-2是ADC0809管腳圖介紹,其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8個(gè)單斷模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換[12]。</p><p> 圖3-2 ADC0809引腳圖</p><
46、p> A/D轉(zhuǎn)換器是連接模擬世界與數(shù)字世界的橋梁,它擔(dān)負(fù)著將模擬信號(hào)變換成適合數(shù)字處理的二進(jìn)制代碼的任務(wù)。目前,8位A/D轉(zhuǎn)換器的轉(zhuǎn)換速度已經(jīng)達(dá)到1.5GHz;并且,有些A/D轉(zhuǎn)換器還可以工作在欠采樣狀態(tài)。對(duì)于高速A/D轉(zhuǎn)換器動(dòng)態(tài)性能的測(cè)試,目前常用的方法主要是相干采樣測(cè)試法和加窗測(cè)試法[13]。</p><p> ADC0809主要特性如下:</p><p> 8路8位A/D
47、轉(zhuǎn)換器,即分辨率8位;</p><p> 具有鎖存控制的8路模擬開關(guān);</p><p> 易與各種微控制器接口;</p><p> 可鎖存三態(tài)輸出,輸出與TTL兼容;</p><p> 轉(zhuǎn)換時(shí)間(f=500KHZ):128US</p><p> 轉(zhuǎn)換精度:0.2%;</p><p>
48、 單個(gè)+5V電源供電;</p><p> 模擬輸入電壓范圍0 ~ +5V,無需外部零點(diǎn)和滿度調(diào)整;</p><p> 低功耗,約15mW。</p><p> 3.2.2 ADC0809A/D工作原理</p><p> ADC0809的工作過程是:首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之
49、一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后EOC輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)OE輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上[14] 。 </p><p> 3.2.3 ADC0809應(yīng)用說明</p><p> ADC0
50、809內(nèi)部帶有輸出鎖存器,可以與AT89S52直接相連。</p><p> 初始化時(shí),使ST和OE信號(hào)全為低電平。</p><p> 送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。</p><p> 在ST端給出一個(gè)至少有100NS寬的正脈沖信號(hào)。</p><p> 是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號(hào)來判斷。</p><
51、;p> 當(dāng)EOC變?yōu)楦唠娖綍r(shí),這時(shí)給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機(jī)了。</p><p> 3.3 電壓顯示電路</p><p> 設(shè)計(jì)中采用的是8段LED數(shù)碼管來顯示電壓值。LED具有耗電低、亮度高、視角大、線路簡(jiǎn)單、耐震及壽命長(zhǎng)等優(yōu)點(diǎn),它由8個(gè)發(fā)光二極管組成,其中7個(gè)按‘8’字型排列,另一個(gè)發(fā)光二極管為圓點(diǎn)形狀,位于右下角,常用于顯示小數(shù)點(diǎn)。把8個(gè)發(fā)光二極管連在一起,
52、公共端接高電平,叫共陽極接法,相反,公共端接低電平的叫共陰極接法,我們采用共陽極接法。當(dāng)發(fā)光二極管導(dǎo)通時(shí),相應(yīng)的一段筆畫或點(diǎn)就發(fā)亮,從而形成不同的發(fā)光字符。其8段分別命名為dp g f e d c b a。例如,要顯示“0”,則dp g f e d c b a分別為:1100 0000B;要顯示“A”,則dp g f e d c b a分別為:0001 0001B(共陽極)。若要顯示多個(gè)數(shù)字,只要讓若干個(gè)數(shù)碼管的位碼循環(huán)為低電平就可以了
53、。</p><p> 根據(jù)設(shè)計(jì)要求,顯示電路需要4位LED數(shù)碼管來顯示電壓值,我們?cè)俣嗉右晃挥脕盹@示電壓?jiǎn)挝弧癡”,則有7位LED循環(huán)顯示。利用單片機(jī)的I/O口驅(qū)動(dòng)LED數(shù)碼管的亮滅,設(shè)計(jì)中由P0口驅(qū)動(dòng)LED的段碼顯示,即顯示字符,由P2口選擇LED位碼。</p><p> 圖3-3 電壓顯示電路</p><p> 另外,一般I/O接口芯片的驅(qū)動(dòng)能力是很有限的
54、,在LED顯示器接口電路中,輸出口所能提供的驅(qū)動(dòng)電流一般是不夠的尤其是設(shè)計(jì)中需要用到多位LED,此時(shí)就需要增加LED驅(qū)動(dòng)電路。驅(qū)動(dòng)電路有多種,常用的是TTL或MOS集成電路驅(qū)動(dòng)器,在本設(shè)計(jì)中采用了74LS245芯片驅(qū)動(dòng)電路,如上圖3-3所示[15]。</p><p> 3.4 時(shí)鐘電路設(shè)計(jì)</p><p> 單片機(jī)工作是在同一的時(shí)鐘脈沖下一拍一拍的進(jìn)行的,這個(gè)脈沖是單片機(jī)控制中的時(shí)序電
55、路發(fā)出的。單片機(jī)的時(shí)序就是CPU在執(zhí)行指令時(shí)所需控制信號(hào)的時(shí)間順序。為了保證各部件的同步工作,單片機(jī)內(nèi)部電路應(yīng)在唯一的時(shí)鐘信號(hào)下嚴(yán)格地按時(shí)序進(jìn)行工作。</p><p> 89S52內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成振蕩器,但要形成時(shí)鐘脈沖,外部還需要附加電路。89S52的時(shí)鐘產(chǎn)生方法有兩種:一種是內(nèi)部時(shí)鐘方式,一種是外部時(shí)鐘方式。本設(shè)計(jì)采用內(nèi)部時(shí)鐘方式,利用單片機(jī)內(nèi)部的高增益反相放大器,外部電路簡(jiǎn)單,只需要一
56、個(gè)晶振和2個(gè)電容即可,如圖3-4所示。</p><p><b> 圖3-4 時(shí)鐘電路</b></p><p><b> 3.5復(fù)位電路設(shè)計(jì)</b></p><p> 復(fù)位是單片機(jī)的初始化操作。單片機(jī)系統(tǒng)在上電啟動(dòng)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作,單片機(jī)
57、復(fù)位后(RST從高電平變?yōu)榈碗娖剑?,?000H地址開始執(zhí)行指令。</p><p> 單片機(jī)的RST引腳為主機(jī)提供一個(gè)外部復(fù)位信號(hào)輸入端口。復(fù)位信號(hào)是高電平有效,高電平有效的持續(xù)時(shí)間應(yīng)為2個(gè)機(jī)器周期以上。</p><p> 單片機(jī)的復(fù)位方式有上電復(fù)位和手工復(fù)位兩種,圖3-5是51系列單片機(jī)常用的上電復(fù)位和手動(dòng)復(fù)位組合電路,只要VCC上升時(shí)間不超過1MS,他們都能很好的工作[16]。&l
58、t;/p><p><b> 圖3-5 復(fù)位電路</b></p><p><b> 4. 系統(tǒng)程序設(shè)計(jì)</b></p><p> 4.1 軟件總體框架設(shè)計(jì)</p><p><b> 圖4-1 主流程圖</b></p><p> 如圖4-1,為主流程圖
59、,本軟件充分采用了模塊化設(shè)計(jì),包括主程序,顯示控制程序,顯示數(shù)據(jù)轉(zhuǎn)為三位BCD碼子程序,顯示子程序,延時(shí)程序,電壓測(cè)量子程序,按鍵檢測(cè)子程序等子程序。</p><p> 首先初始化程序,所謂初始化,是對(duì)將要用到的MCS-51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作設(shè)定。初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式、初值預(yù)置、開中斷和打開定時(shí)器等。系統(tǒng)上電時(shí),將70H~77H內(nèi)存單元清0,P2口置0。</p
60、><p> 在剛上電時(shí),因70H~77H內(nèi)存單元的數(shù)據(jù)位0,則每一通道的數(shù)碼管顯示值都為0。當(dāng)進(jìn)行一次測(cè)量后,將顯示每一條通道的A/D轉(zhuǎn)換值。每個(gè)通道的數(shù)據(jù)顯示時(shí)間在1us左右。主程序在調(diào)用顯示程序和測(cè)試程序之間循環(huán)[17]。</p><p> 4.2 模/數(shù)轉(zhuǎn)換測(cè)量子程序</p><p> 顯示子程序采用動(dòng)態(tài)掃描法實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示。測(cè)量所得的A/D轉(zhuǎn)換數(shù)
61、據(jù)放在70H~77H內(nèi)存單元中,測(cè)量數(shù)據(jù)在顯示時(shí)需轉(zhuǎn)換成10進(jìn)制BCD碼放在78H~7BH單元中,其中7BH存放通道標(biāo)志數(shù)。寄存器R3用作8路循環(huán)控制,R0用作顯示數(shù)據(jù)地址指針。其程序流程圖如圖4-2所示。</p><p> 圖4-2 A/D轉(zhuǎn)換測(cè)量程序流程圖</p><p> 4.3 LED顯示子程序</p><p> 顯示子程序采用動(dòng)態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管
62、的數(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。</p><p> 在單片機(jī)中,定時(shí)功能既可以由硬件(定時(shí)/計(jì)數(shù)器)實(shí)現(xiàn),也可以通過軟件定時(shí)程序?qū)崿F(xiàn)。軟件延時(shí)程序占用CPU的時(shí)間,因此,它降低了CPU的利用率;
63、硬件定時(shí)是利用單片機(jī)內(nèi)定時(shí)器定時(shí),啟動(dòng)以后定時(shí)器可與CPU并行工作,不占用CPU的時(shí)間,使CPU工作有較高的工作效率。由于本設(shè)計(jì)簡(jiǎn)單,可靠性較高,因而采用軟件實(shí)現(xiàn)的方式對(duì)CPU的影響不大。</p><p> 在本設(shè)計(jì)中,為了簡(jiǎn)化硬件設(shè)計(jì),主要采用軟件定時(shí)的方式,即用定時(shí)器0溢出中斷功能實(shí)現(xiàn)11US定時(shí),通過軟件延時(shí)程序來實(shí)現(xiàn)5MS的延時(shí)。</p><p> 1.T0定時(shí)器中斷服務(wù)程序的
64、功能:</p><p> 從顯示緩沖區(qū)分別取出4位LED顯示器顯示數(shù)據(jù)的位碼和段碼,送到P1口,依次顯示每一位,每一位的顯示時(shí)間為5MS,顯示4位需要20MS的時(shí)間。</p><p> 2.定時(shí)器T0的計(jì)數(shù)初值</p><p> 設(shè)時(shí)鐘頻率為12MHZ,1個(gè)機(jī)器周期時(shí)間為1US。T0定時(shí)器產(chǎn)生11US的定時(shí),可以計(jì)算出計(jì)數(shù)值和計(jì)數(shù)初值:</p>
65、<p> 計(jì)數(shù)值=定時(shí)時(shí)間/機(jī)器周期時(shí)間=11US/1US=11</p><p> 計(jì)數(shù)初值=256-11=245</p><p> 初值寄存器的初值為:TH0=245; TL0=00H</p><p> 工作方式寄存器TMOD=XXXX0010B=X2H,T0定時(shí)器,工作方式2.最大定時(shí)值為256US[18]。</p><p&
66、gt;<b> 5. 制作與調(diào)試</b></p><p> 5.1 硬件電路的布線與焊接</p><p> 根據(jù)原理圖生成PCB圖,在把完成的PCB圖打印到轉(zhuǎn)印紙上,然后用熱轉(zhuǎn)印制作線路板。做出線路板后再打孔,注意鉆頭尺寸。然后是元器件的焊接,焊接時(shí)要注意元器件的正負(fù)極,不要焊錯(cuò)。還要注意不要虛焊,虛焊是很難檢查的。因?yàn)槭请p面板,有銅線相連的焊盤正反面都要焊,以
67、確保線路連通,所以必須萬分仔細(xì),避免漏焊。</p><p><b> 5.2 調(diào)試 </b></p><p> 5.2.1系統(tǒng)硬件調(diào)試</p><p> 在系統(tǒng)上電開始測(cè)量前,要用萬用表的電壓檔對(duì)被測(cè)電壓進(jìn)行估測(cè),然后以此選擇適當(dāng)?shù)牧砍?,防止過大電壓燒壞A/D轉(zhuǎn)換器。首先用萬用表按照原理圖逐步檢查印刷板中各器件的電源及各引腳的連接是否正確
68、,有否斷路、短路或者虛焊,尤其是給電路供電的電源部分要重點(diǎn)檢查,用數(shù)字萬用表測(cè)量輸出端的電壓是否為+5V,是否穩(wěn)定,能輸出+5V,且穩(wěn)定即可說明電源電路的設(shè)計(jì)基本達(dá)到要求。如果電壓要求沒有達(dá)到,要及時(shí)排查給與解決,以免燒壞芯片和其他元器件。</p><p> 5.2.2 系統(tǒng)軟件調(diào)試 </p><p> 軟件調(diào)試的任務(wù)是利用開發(fā)工具進(jìn)行在線仿真調(diào)試,發(fā)現(xiàn)和糾正程序的錯(cuò)誤,同時(shí)也能發(fā)現(xiàn)硬
69、件的故障。軟件調(diào)試是一個(gè)模塊進(jìn)行的。首先單獨(dú)調(diào)試各子程序是否能夠按照預(yù)期的功能,接口電路的控制是否正常。最后調(diào)試整個(gè)程序。尤其注意的是各模塊間能否正確的傳遞參數(shù)。</p><p> 檢查L(zhǎng)ED顯示模塊程序。在主程序中調(diào)用DISPLAY()和DISLAY_ZIFU()函數(shù),觀察在LED上是否能夠顯示相應(yīng)的字符。如果不能,則在相關(guān)的子程序中設(shè)計(jì)斷點(diǎn),反復(fù)調(diào)試直到能夠顯示。</p><p>
70、 檢查按鍵模塊程序。本設(shè)計(jì)的按鍵模塊程序是用狀態(tài)機(jī)的方法,可以在KEY_STATEL狀態(tài)下加一個(gè)任務(wù),如顯示一個(gè)字符在LED上。觀察是否能正確顯示。</p><p> 檢查A/D轉(zhuǎn)換模塊程序??梢栽谟布娐返妮斎攵溯斎胍阎膸讉€(gè)電壓,分別觀察LED上是否能顯示相應(yīng)的電壓值。</p><p> 檢查數(shù)據(jù)的轉(zhuǎn)換模塊程序。可以輸入相應(yīng)電壓,觀察LED顯示的電壓值是否一致。如果一致。則數(shù)據(jù)轉(zhuǎn)換
71、的算法正確的。</p><p> 總調(diào)試。當(dāng)相應(yīng)的各模塊環(huán)節(jié)都正確后,可程序下載到單片機(jī)。接上電源運(yùn)行。再檢查所有功能,觀察是否能預(yù)期的一樣。如果一樣,說明設(shè)計(jì)成功完成。</p><p> 在一開始調(diào)試時(shí),數(shù)碼管的顯示較不穩(wěn)定,感覺較閃爍,數(shù)據(jù)變化不連貫,好像在跳變。經(jīng)過反復(fù)思考發(fā)現(xiàn),一開始程序是使用靜態(tài)顯示方法。查了很多資料發(fā)現(xiàn),一般數(shù)碼管顯示采用動(dòng)態(tài)掃描的方法,于是將程序的顯示部分
72、改成動(dòng)態(tài)掃描程序,經(jīng)再次調(diào)試可以顯示比較穩(wěn)定的數(shù)字串了。</p><p> 5.2.3 調(diào)試心得</p><p> 回顧起此次畢業(yè)設(shè)計(jì),我感慨頗多,從理論到實(shí)踐,在整整幾個(gè)月的日子里,我學(xué)到很多很多的東西,不僅鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的內(nèi)容。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合
73、起來,從理論中得出結(jié)論,才是真正的知識(shí),才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程遇到了各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,通過這次課程設(shè)計(jì),把以前所學(xué)過的知識(shí)重新溫故,鞏固了所學(xué)的知識(shí)。</p><p><b> 5.2.4測(cè)試數(shù)據(jù)</b></p><p> 調(diào)試完后,對(duì)電路進(jìn)行
74、精度、準(zhǔn)確度進(jìn)行測(cè)試,為了保證精確度,要多測(cè)幾個(gè)點(diǎn),除了零點(diǎn)和滿度值外,再選擇兩個(gè)中間值進(jìn)行比較,測(cè)試結(jié)果如表5.1所示。</p><p> 表5.1 測(cè)試數(shù)據(jù)表</p><p> 以上數(shù)據(jù)符合要求,測(cè)試成功。</p><p><b> 結(jié)論</b></p><p> 經(jīng)過接近兩個(gè)月的努力,終于完成了畢業(yè)設(shè)計(jì)—簡(jiǎn)
75、易數(shù)字電壓表的設(shè)計(jì)。無論是在硬件連接方面還是在軟件編程方面,都取得了新的收獲。本次實(shí)驗(yàn)采用了AT89S52單片機(jī)芯片,與以往我們所熟悉的C51芯片有許多不同之處,通過本次設(shè)計(jì),我對(duì)其之間區(qū)別有了一定的認(rèn)識(shí),S52在C51的基礎(chǔ)上增加了許多新的功能,使其功能更完善。</p><p> 經(jīng)過這個(gè)設(shè)計(jì),在大學(xué)多門專業(yè)課的知識(shí)都得到了鞏固的同時(shí),對(duì)自己的身心也有很好的幫助。由于第一次做這種設(shè)計(jì),對(duì)電路的理解,元器件的多
76、樣性等理解的不是很透徹,現(xiàn)在電子器件發(fā)展日新月異,新的器件如雨后春筍般出現(xiàn),也不可能一一嘗試,所以還肯定有很多值得改進(jìn)的地方。在以后的實(shí)踐中,我將繼續(xù)努力學(xué)習(xí)電子電路設(shè)計(jì),力爭(zhēng)取得更大的進(jìn)步。</p><p> 畢業(yè)設(shè)計(jì)培養(yǎng)了嚴(yán)肅認(rèn)真和實(shí)事求是的科學(xué)態(tài)度。而且培養(yǎng)了吃苦耐勞的精神以及相對(duì)應(yīng)的工程意識(shí),同學(xué)之間的友誼互助也充分的在畢業(yè)設(shè)計(jì)當(dāng)中體現(xiàn)出來了,特別是在之前的查找資料,身旁的同學(xué)都給予了不少的幫助與支持。
77、</p><p><b> 參考文獻(xiàn)</b></p><p> [1]沙占友.新型數(shù)字電壓表原理與應(yīng)用[M]. 北京:機(jī)械工業(yè)出版社,2006, 1-5.</p><p> [2] 余永權(quán),汪明慧,黃英.單片機(jī)在控制系統(tǒng)中的應(yīng)用[M].北京:電子工業(yè)出版社,2003, 34-56.</p><p> [3] 葉挺
78、秀.應(yīng)用電子學(xué)[M].浙江:浙江大學(xué)出版社,1994,34-56.</p><p> [4] 王寶香.數(shù)字電壓表自動(dòng)測(cè)試系統(tǒng)[J].宇航計(jì)測(cè)技術(shù),1998,(11),5-12.</p><p> [5] 朱承高.電工及電子技術(shù)手冊(cè)[M].北京:高等教育出版社,1990,60-65.</p><p> [6] 何立民.單片機(jī)高級(jí)教程應(yīng)用與設(shè)計(jì)[M].北京:北京
79、航空航天大學(xué)出版社,2000,53-60.</p><p> [7] 劉樂善,李紅,于林韜.單片機(jī)原理及應(yīng)用(第3版)[M].北京:電子工業(yè)出版社50-55.</p><p> [8] 胡漢才.單片機(jī)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2000,88-89.</p><p> [9] 劉文濤.單片機(jī)應(yīng)用開發(fā)實(shí)例[M].北京:清華大學(xué)出版社,2005,1
80、6-31. </p><p> [10] 李廣弟,朱月秀.單片機(jī)基礎(chǔ)(第3版)[M].北京:北京航空航天大學(xué)出版社,2007,212-214.</p><p> [11] 童詩白,華成英.模擬電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2005,21-33.</p><p> [12] 胡輝,李葉紫,胡力平.單片機(jī)應(yīng)用系統(tǒng)開發(fā)綜合實(shí)例[M].北京:清華大學(xué)出版社
81、,2007,211-217.</p><p> [13] 王毓銀.數(shù)字電路邏輯設(shè)計(jì)[M].北京:高等教育出版社,2003,111-115.</p><p> [14] 李朝青.單片機(jī)原理及接口技術(shù)[M].北京:北京航天航空出版社,1990,150-155.</p><p> [16]何立民.單片機(jī)高級(jí)教程應(yīng)用與設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2000
82、,53-60.</p><p> [17]王港元.電工電子實(shí)踐指導(dǎo)[M].江西:江西科學(xué)技術(shù)出版社,2005,30-32.</p><p> [18] J. Frank. Instrumentation for Process Measurement and Control[M].BEIJING: Science Publishing House,2000, 60-79.</p&
83、gt;<p><b> 謝 辭</b></p><p> 歲月荏苒,三年的大學(xué)時(shí)光竟然就這樣匆匆而過,我要開始寫畢業(yè)論文的謝辭了,心中真是感慨萬千。論文的完成標(biāo)志著我的大學(xué)生涯即將結(jié)束,也意味著,新的生活即將拉開序幕。最近的半年忙著實(shí)習(xí)和寫論文,其間的起起伏伏、悲喜得失,今天想來仍舊唏噓不已,所幸我在生活經(jīng)驗(yàn)中不斷成長(zhǎng),也為大學(xué)時(shí)光畫下了還算完滿的句點(diǎn)。</p>
84、<p> 論文得以順利完成,要感謝的人實(shí)在是太多了。首先要衷心地感謝我的導(dǎo)師楊廣映老師的細(xì)心指導(dǎo)。</p><p> 我還要感謝學(xué)校對(duì)我的栽培,三年來盡力為我提供良好的學(xué)習(xí)和生活環(huán)境,撰寫論文時(shí)為我提供免費(fèi)的數(shù)據(jù)庫以查詢資料。</p><p> 感謝所有在大學(xué)期間傳授我知識(shí)的老師,您們的悉心教導(dǎo)讓使我掌握了良好的專業(yè)課知識(shí),這也是論文完成的基礎(chǔ)。</p>
85、<p> 感謝07應(yīng)用電子的所有同學(xué),你們給我的生活增添了多少的光彩,如果沒有你們,我不敢想象我的大學(xué)生活會(huì)是什么樣子的。</p><p> 最后要深深地感謝我的父母親和家人,我永遠(yuǎn)都不會(huì)忘記你們的良苦用心和對(duì)我一如既往的支持與鼓勵(lì)??鞓返氖虑橐?yàn)橛心銈兊姆窒矶鞓?,失意的日子因?yàn)橛心銈冇H切的關(guān)懷也能夠忘卻傷痛,堅(jiān)強(qiáng)前行。希望你們能夠開心快樂,這是我最大的心愿。附 件</p><
86、;p><b> 附件1 實(shí)物圖</b></p><p> 附件2 系統(tǒng)原理圖</p><p> 附件3 系統(tǒng)PCB圖</p><p> 附件4 元器件清單表</p><p> 附件5 簡(jiǎn)易數(shù)字電壓表的源程序</p><p> #include<reg52.h>
87、;</p><p> #include<math.h></p><p> #include<absacc.h></p><p> number[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p> number1[10]={0x40,
88、0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};</p><p> sbit four=P2^0;</p><p> sbit three=P2^1;</p><p> sbit two=P2^2;</p><p> sbit one=P2^3;</p><p>
89、sbit ST=P3^0;</p><p> sbit OE=P3^1;</p><p> sbit EOC=P3^2;</p><p> unsigned int adcdata, adcdata3;</p><p> unsigned int i;</p><p> unsigned int adc0[8
90、];</p><p> unsigned int k;</p><p> unsigned int avedata();</p><p> void show();</p><p> void delay_2ms();</p><p> void main()</p><p><
91、b> {</b></p><p><b> P2=0xff;</b></p><p><b> P3=0xff;</b></p><p><b> OE=0;</b></p><p><b> ST=0;</b></p&g
92、t;<p><b> ST=1;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p><b> ST=0;</b></p><p> while(!EOC);</p
93、><p><b> OE=1;</b></p><p> adcdata=avedata();</p><p><b> show();</b></p><p><b> ST=1;</b></p><p><b> }</b>
94、;</p><p><b> }</b></p><p> //----------------------------------</p><p> void show()</p><p><b> {</b></p><p> unsigned int adcd
95、ata1;</p><p> adcdata1=adcdata*19;</p><p><b> four=0;</b></p><p> P1=number1[adcdata1/1000];</p><p> adcdata1%=1000;</p><p> delay_2ms();&
96、lt;/p><p><b> four=1;</b></p><p><b> three=0;</b></p><p> P1=number[adcdata1/100];</p><p> adcdata1%=100;</p><p> delay_2ms();<
97、;/p><p><b> three=1;</b></p><p><b> two=0;</b></p><p> P1=number[adcdata1/10];</p><p> delay_2ms();</p><p><b> two=1;</b
98、></p><p><b> one=0 ;</b></p><p> P1=number[adcdata1%10];</p><p> delay_2ms();</p><p><b> one=1;</b></p><p><b> }<
99、;/b></p><p> //------------------------------------------</p><p> void delay_2ms()</p><p> { unsigned int i;</p><p> for(i=0;i<111;i++);</p><p>&
100、lt;b> }</b></p><p> //------------------------------------------</p><p> unsigned int avedata() //求平均</p><p><b> {</b></p><p> uns
101、igned int i,j,max,min,sum=0,a,b,c,d,e,f,g,h;</p><p> for(i=0;i<8;i++)</p><p><b> { k=P0;</b></p><p> a=(k&0x01)*128;</p><p> b=(k&0x02)*32;&l
102、t;/p><p> c=(k&0x04)*8;</p><p> d=(k&0x08)*2;</p><p> e=(k&0x10)/2;</p><p> f=(k&0x20)/8;</p><p> g=(k&0x40)/32;</p><p>
103、 h=(k&0x80)/128;</p><p> adc0[i]=a+b+c+d+e+f+g+h;</p><p> //adc0[i]=(k&0x01)*128+(k&0x02)*32+(k&0x04)*8+(k&0x08)*2+(k&0x10)/2+(k&0x20)/8+(k&0x40)/32+(k&0x8
104、0)/128; //{ adc0[i]=P0; delay_2ms(); } ? //放數(shù)據(jù)</p><p><b> }</b></p><p> for(i=0;i<7;i++)</p><p><b> {</b></p><p> if(a
105、dc0[i+1]>adc0[i])</p><p> max=adc0[i+1];</p><p> else max=adc0[i];</p><p><b> }</b></p><p> for(j=0;j<7;j++)</p><p><b> {</
106、b></p><p> if(adc0[j+1]>adc0[j])</p><p> min=adc0[j];</p><p> else min=adc0[j+1];</p><p><b> }</b></p><p> for(i=0;i<8;i++)</p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)易電壓表畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---簡(jiǎn)易數(shù)字電壓表設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作
- 數(shù)字電壓表課程設(shè)計(jì)--簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作2.doc
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作3.doc
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作1.doc
- 簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文-簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)與制作【精校排版】
- 數(shù)字電壓表畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-數(shù)字電壓表
- 數(shù)字電壓表畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---數(shù)字電壓表
- 數(shù)字電壓表畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的簡(jiǎn)易數(shù)字電壓表設(shè)計(jì)
- 簡(jiǎn)易數(shù)字電壓表 畢業(yè)論文
- 數(shù)字電壓表設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 數(shù)字電壓表的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---數(shù)字電壓表的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論