版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 前言- 2 -</b></p><p> 1.任務(wù)設(shè)計(jì)- 2 -</p><p> 1.1 任務(wù)要求- 2 -</p><p> 1.1.1 設(shè)計(jì)任務(wù)- 2 -</p><p> 1.1.
2、2 功能要求- 2 -</p><p> 1.2 方案與論證- 2 -</p><p> 1.2.1 A/D轉(zhuǎn)換- 2 -</p><p> 1.2.2顯示器的選擇- 3 -</p><p> 2.設(shè)計(jì)原理- 3 -</p><p> 2.1單片機(jī)AT89C51簡(jiǎn)介- 3 -</p>
3、<p> 2.2 ADC0808簡(jiǎn)介- 4 -</p><p> 2.3 LED數(shù)碼管的簡(jiǎn)介- 5 -</p><p> 3.系統(tǒng)硬件設(shè)計(jì)- 5 -</p><p> 3.1硬件系統(tǒng)總框圖- 5 -</p><p> 3.2原理圖設(shè)計(jì)- 6 -</p><p> 3.2.1 復(fù)位控制電
4、路- 6 -</p><p> 3.2.2 時(shí)鐘電路- 6 -</p><p> 3.2.3 單片機(jī)電路圖- 7 -</p><p> 4.系統(tǒng)軟件設(shè)計(jì)- 8 -</p><p> 4.1 程序框圖- 8 -</p><p> 4.2 主程序設(shè)計(jì)- 8 -</p><p>
5、 4.3 A/D轉(zhuǎn)換程序- 9 -</p><p> 4.4 中斷服務(wù)程序- 11 -</p><p> 5.總結(jié)與展望- 11 -</p><p> 5.1 Proteus仿真測(cè)試檢驗(yàn)- 11 -</p><p> 5.2 總結(jié)- 11 -</p><p> 5.3心得- 11 -</p
6、><p> 參考文獻(xiàn)- 12 -</p><p><b> 附錄- 13 -</b></p><p> 附錄1 系統(tǒng)設(shè)計(jì)原理圖- 13 -</p><p> 附錄2 Protues仿真圖- 14 -</p><p> 附錄3 源代碼- 14 -</p><p&g
7、t;<b> 前言</b></p><p> 數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱(chēng)DVM,它是采用數(shù)字化丈量技術(shù),把連續(xù)的模擬量(直流輸進(jìn)電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一、精度低,不能滿(mǎn)足數(shù)字化時(shí)代的需求,采用單片機(jī)的數(shù)字電壓表,由精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC進(jìn)行實(shí)時(shí)通訊。目前,由各種單片A/D 轉(zhuǎn)換
8、器構(gòu)成的數(shù)字電壓表,已被廣泛用于電子及電工丈量、產(chǎn)業(yè)自動(dòng)化儀表、自動(dòng)測(cè)試系統(tǒng)等智能化丈量領(lǐng)域,示出強(qiáng)大的生命力。與此同時(shí),由DVM擴(kuò)展而成的各種通用及專(zhuān)用數(shù)字儀器儀表,也把電量及非電量丈量技術(shù)進(jìn)步到嶄新水平。</p><p> 數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),電壓表的數(shù)字化是將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,這有別于傳統(tǒng)的以指針加刻度盤(pán)進(jìn)行讀數(shù)的方法,避免了讀數(shù)的視差和視覺(jué)
9、疲憊。目前數(shù)字電壓表的內(nèi)部核心部件是A/D轉(zhuǎn)換器, 轉(zhuǎn)換器的精度很大程度上影響著數(shù)字電壓表的正確度,本文A/D轉(zhuǎn)換器采用ADC0809對(duì)輸人模擬信號(hào)進(jìn)行轉(zhuǎn)換, 控制核心AT89C51再對(duì)轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動(dòng)輸出裝置顯示數(shù)字電壓信號(hào)。 </p><p> 數(shù)字式電壓表是由高阻抗電壓表頭與分壓電路組成的。數(shù)字式電壓表頭的等效輸進(jìn)電阻通常在200M歐以上,滿(mǎn)量程時(shí)所流經(jīng)的電流通常在1皮安左右。以上述表頭
10、制成的數(shù)字式電壓表,滿(mǎn)量程時(shí)所流經(jīng)的電流與量程有關(guān),通常在1皮安至100微安之間。數(shù)字電壓表(數(shù)字面板表)是當(dāng)前電子、電工、儀器、儀表和丈量領(lǐng)域大量使用的一種基本丈量工具有關(guān)數(shù)字電壓表的書(shū)籍和應(yīng)用已經(jīng)非常普及了。</p><p><b> 1.任務(wù)設(shè)計(jì)</b></p><p><b> 1.1 任務(wù)要求</b></p><
11、p> 1.1.1 設(shè)計(jì)任務(wù)</p><p> 采用AD轉(zhuǎn)換器對(duì)外部模擬信號(hào)進(jìn)行測(cè)量;</p><p> 使用4位共陽(yáng)LED對(duì)測(cè)量結(jié)果進(jìn)行顯示;</p><p> 畫(huà)出完整的電路原理圖(包含電源部分)和PCB板圖。</p><p> 1.1.2 功能要求</p><p> 電壓測(cè)量范圍:0~5V;<
12、;/p><p><b> 能顯示數(shù)字電壓值;</b></p><p> 測(cè)量精度:0.02V。</p><p><b> 1.2 方案與論證</b></p><p> 1.2.1 A/D轉(zhuǎn)換</p><p> 方案1:采用ADC0808</p><p
13、> 方案2:采用ADC0832</p><p> 方案3:采用PCF8591</p><p> 方案4:采用MAX1549</p><p> 綜上所述,最終采用了并行AD轉(zhuǎn)換器ADC0808對(duì)外部模擬信號(hào)進(jìn)行測(cè)量。</p><p> 1.2.2顯示器的選擇</p><p> 方案1:采用數(shù)碼管顯示器、
14、</p><p> 方案2:采用LCD顯示器</p><p><b> 方案3:采用CRT</b></p><p> 綜上所述,最終選擇了四位LED數(shù)碼管來(lái)顯示電壓值。</p><p><b> 2.設(shè)計(jì)原理</b></p><p> 2.1單片機(jī)AT89C51簡(jiǎn)介
15、</p><p> AT89C51的引腳如圖1所示,功能介紹如下:</p><p> VCC:電源端,接+5V。</p><p><b> GND:接地。</b></p><p> XTAL1:接外部晶體的一個(gè)引腳,CHMOS單片機(jī)采用外部時(shí)鐘信號(hào)時(shí),時(shí)鐘信號(hào)由此引腳引入。</p><p>
16、; XTAL2:接外部晶體的一個(gè)引腳,HMOS采用外部時(shí)鐘信號(hào)時(shí),外部時(shí)鐘信號(hào)由此引腳引入。</p><p> PSD/VPD:復(fù)位信號(hào)輸入,VCC掉電后,此引腳可接備用電源,低功耗條件下保持內(nèi)部RAM中的數(shù)據(jù)。</p><p> ALE/PROG:地址鎖存允許;對(duì)AT89C51單片機(jī)內(nèi)EPROM編程時(shí),編碼脈沖由該引腳引入。</p><p> EA/VPP
17、:EA=0時(shí),單片機(jī)只訪(fǎng)問(wèn)外部程序存儲(chǔ)器;當(dāng)EA=1時(shí),單片機(jī)訪(fǎng)問(wèn)內(nèi)部程序存儲(chǔ)器;在AT89C51單片機(jī)片內(nèi)EPROM編程期間,此引腳引入21V編程電源VCC。</p><p> P0口:為一個(gè)8位漏極開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。她的內(nèi)部缺少一個(gè)上拉電阻。</p><p> P1口:是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。<
18、/p><p> P2口:為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流。P3口:P3口為雙功能靜態(tài)端口。</p><p> 圖1 AT89C51引腳圖</p><p> 2.2 ADC0808簡(jiǎn)介</p><p> ADC0808芯片如圖2所示,由八路模擬開(kāi)關(guān)、地址鎖存與譯碼器、比較器、D/A轉(zhuǎn)換器、寄存
19、器、控制電路和三態(tài)輸出鎖存器等組成。</p><p> 圖2 ADC0808引腳圖</p><p> ADC0809的引腳功能介紹:</p><p> ALE:地址鎖存啟動(dòng)信號(hào),在ALE的上升沿,將A、B、C上的通道地址鎖存到內(nèi)部的地址鎖存器。</p><p> OE:允許輸出信號(hào)。當(dāng)OE=1時(shí),即為高電平,允許輸出鎖存器輸出數(shù)據(jù)
20、。</p><p> START:?jiǎn)?dòng)信號(hào)輸入端,START為正脈沖,其上升沿清除ADC0808的內(nèi)部各鎖存器,其下降沿啟動(dòng)A/D開(kāi)始轉(zhuǎn)換。</p><p> IN0~IN7:8路模擬量輸入。A、B、C:3位地址輸入,2個(gè)地址輸入端的不同組合選擇八路模擬量輸入。</p><p> D0~D7:八位數(shù)據(jù)輸出線(xiàn),A/D轉(zhuǎn)換結(jié)果由這8根線(xiàn)傳送給單片機(jī)。</p&
21、gt;<p> EOC:轉(zhuǎn)換完成信號(hào),當(dāng)EOC上升為高電平時(shí),表明內(nèi)部A/D轉(zhuǎn)換已完成。</p><p> 2.3 LED數(shù)碼管的簡(jiǎn)介</p><p> LED有著顯示亮度高、響應(yīng)速度快的特點(diǎn),最常用的是七段式LED顯示器,又稱(chēng)數(shù)碼管。七段LED顯示器內(nèi)部有7個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組成字符。LED數(shù)碼管的g~a,dp8個(gè)發(fā)光二級(jí)管因加
22、正電壓而發(fā)光,因加零電壓而不能發(fā)光,不同亮暗的組合就能形成不同的字形,這種組合稱(chēng)為字型碼。</p><p> 數(shù)碼管的接口有靜態(tài)接口和動(dòng)態(tài)接口兩種。靜態(tài)接口為固定顯示方式,無(wú)閃爍,其電路可采用一個(gè)并行口接一個(gè)數(shù)碼管,數(shù)碼管的公共端按共陰或共陽(yáng)分別接地和VCC。由于單片機(jī)輸出低電平較為容易,所以此實(shí)訓(xùn)采用的是4位共陽(yáng)極8段數(shù)碼管顯示器,所以公共端接VCC。</p><p> 動(dòng)態(tài)接口采用
23、各數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示的頻率較高時(shí),利用人眼的暫留特性,好像數(shù)碼管在同時(shí)顯示而看不出輪流顯示方法,這種顯示需要一個(gè)一個(gè)接口完成字型碼的輸出(字形選擇),另一個(gè)接口完成個(gè)數(shù)碼管的輪流點(diǎn)亮(數(shù)位選擇)。圖3為L(zhǎng)ED字形顯示代碼表:</p><p> 圖3 LED字形顯示代碼表</p><p><b> 3.系統(tǒng)硬件設(shè)計(jì)</b></p>
24、<p> 3.1硬件系統(tǒng)總框圖</p><p> 圖4 系統(tǒng)總框圖</p><p> 如圖4所示,數(shù)字電壓表的基本工作原理是利用A/D轉(zhuǎn)換電路將待測(cè)的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),再通過(guò)相應(yīng)換算后將測(cè)量結(jié)果以數(shù)字形式顯示出來(lái)的一種電壓表。所以數(shù)字電壓表的設(shè)計(jì)過(guò)程主要由三部分構(gòu)成,即A/D轉(zhuǎn)換器、單片機(jī)、顯示器三部分。</p><p><b>
25、; 3.2原理圖設(shè)計(jì)</b></p><p> 3.2.1 復(fù)位控制電路</p><p> 單片機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,復(fù)位使CPU和系統(tǒng)中的其他部件都處于一個(gè)確定的工作狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。在系統(tǒng)中,有時(shí)也會(huì)出現(xiàn)顯示不正常,也為了調(diào)試方便,需要設(shè)計(jì)一個(gè)復(fù)位電路,復(fù)位電路主要完成系統(tǒng)的上電復(fù)位和系統(tǒng)在運(yùn)行時(shí)用戶(hù)的按鍵復(fù)位功能。</p><p&g
26、t; 在此系統(tǒng)中單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn)的,AT89C51單片機(jī)有一個(gè)復(fù)位引腳RST,高電平有效。只要RST保持高電平,單片機(jī)便保持復(fù)位狀態(tài)。此時(shí),ALE/PSEN、P0、P1、P2、P3口都輸出高電平。RST變成低電平后,退出復(fù)位狀態(tài),CPU開(kāi)始正常工作。需要注意的是,復(fù)位操作不影響片內(nèi)RAM的內(nèi)容。</p><p> 復(fù)位電路的基本功能是系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷(xiāo)復(fù)位信號(hào)。圖5為基
27、本RC復(fù)位電路,其電路為高電平復(fù)位有效, SW1為手動(dòng)復(fù)位開(kāi)關(guān),可以實(shí)現(xiàn)上述基本功能。</p><p> 圖5基本RC復(fù)位電路</p><p> 3.2.2 時(shí)鐘電路</p><p> 單片機(jī)的工作是在統(tǒng)一的時(shí)鐘脈沖控制下進(jìn)行的,這個(gè)時(shí)鐘脈沖由單片機(jī)時(shí)鐘電路發(fā)出,單片機(jī)的時(shí)鐘產(chǎn)生有內(nèi)部時(shí)鐘和外部時(shí)鐘兩種,我們采用的是內(nèi)部時(shí)鐘方式。此方式是利用芯片內(nèi)部的振蕩器,
28、然后在引腳XTAL1和XTAL2兩端接晶體振蕩器,就構(gòu)成了自激的振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路。外接晶振時(shí),C4和C5的值通常選擇為15PF—33PF之間,電容對(duì)頻率有微調(diào)作用。時(shí)鐘控制電路圖如圖6所示:</p><p> 圖6 時(shí)鐘控制電路圖</p><p> 3.2.3 單片機(jī)電路圖</p><p> 圖7 單片機(jī)電路圖</p>&
29、lt;p> 如圖7為單片機(jī)、AD轉(zhuǎn)換器以及LED數(shù)碼管三個(gè)芯片的連接,通過(guò)滑動(dòng)變阻器的滑動(dòng),產(chǎn)生可變化的電壓,通過(guò)ADC0808將模擬信號(hào)轉(zhuǎn)化成數(shù)字信號(hào),輸入單片機(jī)的P1的8個(gè)端口,再通過(guò)單片機(jī)的處理,將電壓值通過(guò)LED顯示器顯示出來(lái)。</p><p> 3.2.4 USB接口</p><p> 下圖8為USB接口圖,通過(guò)USB接口,可方便制作出來(lái)的PCB板下載程序、數(shù)據(jù)通信。
30、</p><p><b> 4.系統(tǒng)軟件設(shè)計(jì)</b></p><p><b> 4.1 程序框圖</b></p><p> 根據(jù)需要可將系統(tǒng)軟件分為四個(gè)模塊,分別是主程序模塊、LED顯示器、A/D轉(zhuǎn)換器、中斷服務(wù)程序模塊。各模塊的功能如圖9。編寫(xiě)程序時(shí),可先寫(xiě)各模塊的底層驅(qū)動(dòng)程序,然后是系統(tǒng)聯(lián)機(jī)調(diào)試,編寫(xiě)上層主程序,
31、主函數(shù)通過(guò)調(diào)用其他的函數(shù),達(dá)到整個(gè)功能。</p><p> 圖9 系統(tǒng)主程序圖</p><p><b> 4.2 主程序設(shè)計(jì)</b></p><p> 主程序主要負(fù)責(zé)各個(gè)模塊的初始化工作:設(shè)置定時(shí)器、啟動(dòng)A/D轉(zhuǎn)換,讀取轉(zhuǎn)換結(jié)果,出理量程轉(zhuǎn)換響應(yīng)、控制LED數(shù)碼管顯示等。流程圖如圖10所示。</p><p>
32、 圖10 主程序流程圖</p><p> 4.3 A/D轉(zhuǎn)換程序</p><p> A/D轉(zhuǎn)換程序的功能是采集數(shù)據(jù),在整個(gè)系統(tǒng)設(shè)計(jì)中占有很高的地位。當(dāng)系統(tǒng)設(shè)置好后,單片機(jī)掃描結(jié)束管腳P3.0的輸入電平狀態(tài),當(dāng)OE=1時(shí),即輸入為高電平則轉(zhuǎn)換完成,允許輸出。若OE=0,即輸入為低電平,則繼續(xù)掃描。當(dāng)START=1時(shí),上升沿清除一次AD轉(zhuǎn)換結(jié)果。當(dāng)START=0時(shí),下降沿用以啟動(dòng)內(nèi)部
33、控制邏輯,使A/D轉(zhuǎn)換器開(kāi)始工作。程序流程圖如圖11所示。</p><p> 圖11 A/D轉(zhuǎn)換程序流程圖</p><p> 被測(cè)信號(hào)由ADC0808模擬輸入端輸入,完成A/D轉(zhuǎn)換后送入單片機(jī),經(jīng)相應(yīng)處理后送出顯示。集成模數(shù)轉(zhuǎn)換芯片ADC0808實(shí)現(xiàn)A/D轉(zhuǎn)換電路如圖12:</p><p> 圖12 集成模數(shù)轉(zhuǎn)換芯片ADC0808實(shí)現(xiàn)的A/D轉(zhuǎn)換電路<
34、;/p><p> 4.4 中斷服務(wù)程序</p><p> 中斷服務(wù)程序的功能是為ADC0808提供時(shí)鐘信號(hào),當(dāng)中斷發(fā)生時(shí)將AT89C51單片機(jī)的P3.1管腳將輸出信號(hào)取反,為ADC0808提供12KHZ時(shí)鐘信號(hào)。</p><p><b> 5.總結(jié)與展望</b></p><p> 5.1 Proteus仿真測(cè)試檢驗(yàn)&
35、lt;/p><p> 下面我們采用Keil編譯器及其仿真調(diào)試,調(diào)好程序后將目標(biāo)導(dǎo)入Proteus進(jìn)行軟硬件調(diào)試,基于單片機(jī)實(shí)現(xiàn)的數(shù)字電壓表測(cè)試值見(jiàn)圖13所示。</p><p> 圖13 測(cè)試值與與誤差</p><p> 從圖13中可以看出,電壓表測(cè)得值誤差均在0.02V以?xún)?nèi),這與采用8位A/D轉(zhuǎn)換器所能達(dá)到的理論誤差精度相比較接近,因此在一般應(yīng)用場(chǎng)合都可以滿(mǎn)足要
36、求。</p><p><b> 5.2 總結(jié)</b></p><p> 此次設(shè)計(jì)是基于單片機(jī)的簡(jiǎn)易數(shù)字電壓表設(shè)計(jì),控制系統(tǒng)采用AT89C51單片機(jī),A/D轉(zhuǎn)換器采用ADC0808為主要硬件,實(shí)現(xiàn)數(shù)字電壓表的硬件電路與軟件設(shè)計(jì)。數(shù)字電壓表可以測(cè)量0~5V的8路輸進(jìn)電壓值,并在四位LED數(shù)碼管上輪流顯示或單路選擇顯示。</p><p> 仿真
37、測(cè)試表明,該數(shù)字電壓表系統(tǒng)性能良好,測(cè)量讀書(shū)穩(wěn)定易讀,更新速度合理,通過(guò)改變滑動(dòng)變阻器的阻值來(lái)改變電壓表的讀數(shù),所以電壓表測(cè)量范圍沒(méi)有一定的局限性,精確度為0.02V。但是該系統(tǒng)也存在一定程度的不足,例如:</p><p> 輸出量可以通過(guò)利用平均值算法來(lái)改善,使測(cè)量準(zhǔn)確度更高。</p><p> 輸入電壓易發(fā)生干擾不穩(wěn)定,且驅(qū)動(dòng)能力可能存在不足,需要在被測(cè)信號(hào)的輸入端加上一部分驅(qū)動(dòng)電
38、路,比如將量程轉(zhuǎn)換電路改成帶放大能力的自動(dòng)量程轉(zhuǎn)換電路,將幅度較小的信號(hào)經(jīng)適當(dāng)放大后再測(cè)量,可提高精度。</p><p> ADC0808可實(shí)現(xiàn)對(duì)8個(gè)通道的信號(hào)輪流轉(zhuǎn)換,該設(shè)計(jì)僅僅使用了其中一個(gè)通道,造成了較大的資源浪費(fèi)。若能對(duì)電路稍加改進(jìn),實(shí)現(xiàn)對(duì)多路信號(hào)的輪流測(cè)量并自動(dòng)保存相應(yīng)結(jié)果,其應(yīng)用價(jià)值將會(huì)更高。</p><p><b> 5.3 心得</b></p
39、><p> 此次設(shè)計(jì)從理論到實(shí)踐,我學(xué)到很多的知識(shí),不僅鞏固以前學(xué)過(guò)的知識(shí),并且學(xué)會(huì)了把所學(xué)的理論知識(shí)運(yùn)用到實(shí)踐當(dāng)中。初步熟悉了Keil、Protues 、Altium designer 等軟件,熟悉了C51單片機(jī)的內(nèi)部結(jié)構(gòu)以及應(yīng)用。由于掌握的知識(shí)有限,在設(shè)計(jì)中遇到的很多的困難,如:在設(shè)計(jì)電路板時(shí),出現(xiàn)了很多的錯(cuò)誤;選用器件不是很合理;電器元件排版不是很整齊規(guī)范;最大的困難就是對(duì)元器件不熟悉,以及對(duì)軟件的使用熟悉度
40、不高。在設(shè)計(jì)期間,通過(guò)大量地收集資料,在組員的努力合作和老師的幫助下,我們解決了困難,完成了此次設(shè)計(jì)。在最終的檢驗(yàn)調(diào)試過(guò)程中,達(dá)到此次實(shí)驗(yàn)的效果。此次設(shè)計(jì)提高了我的動(dòng)手能力,加強(qiáng)了我對(duì)單片機(jī)理解,增加了我對(duì)單片機(jī)的興趣,覺(jué)得單片機(jī)功能強(qiáng)大并且神奇,在以后的學(xué)習(xí)當(dāng)中學(xué)會(huì)理論聯(lián)系實(shí)際,不斷加強(qiáng)自己的動(dòng)手能力。</p><p><b> 參考文獻(xiàn)</b></p><p>
41、 [1]李群芳,肖看.單片機(jī)原理接口與應(yīng)用(第2版)[M].北京:新華大學(xué)出版社,2010</p><p> [2]陳光東,趙性初.單片微型計(jì)算機(jī)原理與接口技術(shù)[M].武漢:華中科技大學(xué)出版社,1999</p><p> [3]林立等.單片機(jī)原理及應(yīng)用—基于Proteus和Keil[M].北京:電子工業(yè)出版社,2009</p><p> [4]馬忠梅等.單片
42、機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2005</p><p> [5]徐愛(ài)鈞等.單片機(jī)原理實(shí)用課程—基于Proteus模擬仿真(第2版)[M].北京:電子工業(yè)出版社,2009</p><p> [6]徐愛(ài)鈞,彭秀華.單片機(jī)高級(jí)語(yǔ)言C51應(yīng)用程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,1998</p><p> [7]謝維成.單片機(jī)原理與應(yīng)用及C
43、51程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2005.4.100-112.</p><p> [8]戴仙金.51單片機(jī)及其C語(yǔ)言程序開(kāi)發(fā)實(shí)例[M]. 北京:清華大學(xué)出版社,2008.2.189-193</p><p><b> 附錄</b></p><p> 附錄1 系統(tǒng)設(shè)計(jì)原理圖</p><p> 圖14為數(shù)字
44、電壓表原理圖,圖15為數(shù)字電壓表的PCB圖,該圖在軟件Altium Designer中完成,即封裝圖如下圖:</p><p> 圖14 電壓表原理圖</p><p> 圖15 電壓表的PCB圖</p><p> 附錄2:Protues仿真圖</p><p> 本設(shè)計(jì)采用的是改變滑動(dòng)變阻器的阻值來(lái)改變電壓表的值,所以該電路主要由LE
45、D數(shù)碼管顯示器、AT89C51、ADC0808、滑動(dòng)變阻器等這幾個(gè)部分來(lái)構(gòu)成數(shù)字電壓表的原理圖。該電路原理圖的制作在軟件Protues中完成。圖16為數(shù)字電壓表的在Protues軟件中的仿真圖:</p><p> 圖16 數(shù)字電壓表仿真圖</p><p><b> 附錄3:源代碼</b></p><p> 這里我們用C語(yǔ)言來(lái)編程,實(shí)現(xiàn)簡(jiǎn)
46、易數(shù)字電壓表的功能,要實(shí)現(xiàn)該數(shù)字電壓表的功能,源程序主要由主函數(shù)、延時(shí)函數(shù)、中斷程序、顯示函數(shù)完成。而A/D轉(zhuǎn)換功能在主函數(shù)中實(shí)現(xiàn)。</p><p><b> 1、延時(shí)函數(shù):</b></p><p> void Delay(unsigned int m) </p><p><b> {</b></p>
47、<p> unsigned int i,j; </p><p> for (i=0; i<m; i++) </p><p> for(j=0; j<125;j++) ; </p><p><b> }</b></p><p> 該延時(shí)函數(shù)被主函數(shù)調(diào)用。</p&g
48、t;<p><b> 2、中斷程序:</b></p><p> void t1(void) interrupt 3 using 1</p><p><b> {</b></p><p> TH1=(65536-200)/256;</p><p> TL1=(65536-200
49、)%256;</p><p><b> CLK=~CLK;</b></p><p><b> }</b></p><p><b> 3、顯示函數(shù):</b></p><p> void Display() </p><p><b> {
50、 </b></p><p> P1=dispbitcode[dispbuf[3]]; </p><p><b> P2=0x01;</b></p><p><b> Delay(5);</b></p><p> P1=0xff; //消隱</p><p&g
51、t; P1=dispbitcode[dispbuf[2]]&0X7F; //并開(kāi)小數(shù)點(diǎn) </p><p><b> P2=0x02;</b></p><p> Delay(5); </p><p> P1=0xff; //消隱 </p><p> P1=dispbitcode[dispbuf[
52、1]];</p><p> P2=0x04;</p><p><b> Delay(5);</b></p><p> P1=0xff; //消隱 </p><p> P1=dispbitcode[dispbuf[0]]; </p><p><b> P2=0
53、x08;</b></p><p><b> Delay(5);</b></p><p> P1=0xff; //消隱</p><p><b> } </b></p><p> 該函數(shù)通過(guò)用點(diǎn)燃LED數(shù)碼管來(lái)顯示電壓值。</p><p><b&g
54、t; 4主函數(shù):</b></p><p> void main()</p><p><b> {</b></p><p> unsigned char getdata;</p><p> unsigned int temp; </p><p> TMOD=0x10;<
55、/p><p> TH1=(65536-200)/256; //轉(zhuǎn)換時(shí)鐘頻率為765KHz</p><p> TL1=(65536-200)%256;</p><p><b> EA=1;</b></p><p><b> ET1=1;</b></p><p> TR
56、1=1;</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> START=0;</b></p><p><b> OE=0;</b></p><p&g
57、t; START=1;//上升沿清除1次AD轉(zhuǎn)換結(jié)果 </p><p> ADDA=0;//發(fā)送地址000,選擇通道0</p><p><b> ADDB=0;</b></p><p><b> ADDC=0;</b></p><p> START=0;//下降沿用以啟動(dòng)內(nèi)部控
58、制邏輯,使A/D轉(zhuǎn)換器開(kāi)始工作 </p><p> while(EOC==0);//等待轉(zhuǎn)換完畢</p><p> OE=1; //允許輸出 </p><p> getdata=P0;</p><p><b> OE=0;</b></p><p> temp=getda
59、ta*(1.0/255)*500;//電壓計(jì)算</p><p> dispbuf[3]=temp/1000; </p><p> dispbuf[2]=temp/100%10;</p><p> dispbuf[1]=temp/10%10;</p><p> dispbuf[0]=temp%10;</p><
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡(jiǎn)易數(shù)字電壓表課程設(shè)計(jì)
- 簡(jiǎn)易數(shù)字電壓表 課程設(shè)計(jì)
- 簡(jiǎn)易數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)--基于單片機(jī)的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)--基于單片機(jī)的簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易數(shù)字電壓表
- 課程設(shè)計(jì)----單片機(jī)簡(jiǎn)易數(shù)字電壓表
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 數(shù)字電壓表課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--簡(jiǎn)易數(shù)字電壓表的設(shè)計(jì)
- 數(shù)字電壓表設(shè)計(jì)-課程設(shè)計(jì)
- 課程設(shè)計(jì)---數(shù)字電壓表設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論