版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 編號 </p><p><b> 畢業(yè)論文</b></p><p><b> 二〇一二年十月</b></p><p> 題 目基于單片機(jī)的數(shù)字電壓表的設(shè)計</p><p><b> 摘要</b></p><p&
2、gt; 本文介紹了一種基于單片機(jī)的簡易數(shù)字電壓表的設(shè)計。該設(shè)計主要由三個模塊組成:A/D轉(zhuǎn)換模塊,數(shù)據(jù)處理模塊及顯示模塊。A/D轉(zhuǎn)換主要由芯片ADC0809來完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量在傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89C51來完成,其負(fù)責(zé)把ADC0809傳送來的數(shù)字量經(jīng)過一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示;此外,它還控制著ADC0809芯片工作。</p><p>
3、; 該系統(tǒng)的數(shù)字電壓表電路簡單,所用的元件較少,成本低,且測量精度和可靠性較高。此數(shù)字電壓表可以測量0-5V的1路模擬直流輸入電壓值,并通過一個四位一體的7段數(shù)碼管顯示出來。 </p><p> 關(guān)鍵詞:【單片機(jī)】 【數(shù)字電壓表】 【A/D轉(zhuǎn)換】 【AT89C51】 【ADC0809】</p>
4、;<p><b> 目 錄</b></p><p><b> 第一章 緒論3</b></p><p> 第二章 設(shè)計背景4</p><p><b> 2.1單片機(jī)4</b></p><p> 2.1.1單片機(jī)的簡介4</p>
5、<p> 2.1.2單片機(jī)的應(yīng)用領(lǐng)域4</p><p> 2.2數(shù)字電壓表6</p><p> 2.2.1數(shù)字電壓表的特點6</p><p> 第三章 設(shè)計目的與功能要求7</p><p><b> 3.1設(shè)計目的7</b></p><p><b> 3.
6、2功能要求7</b></p><p> 第四章 總體設(shè)計8</p><p><b> 4.1系統(tǒng)設(shè)計8</b></p><p><b> 4.2設(shè)計方案8</b></p><p> 4.3總體設(shè)計框圖9</p><p> 第五章 設(shè)計原理圖9
7、</p><p> 5.1設(shè)計原理圖10</p><p> 第六章 硬件電路設(shè)計11</p><p> 6.1 信號調(diào)理模塊11</p><p> 6.1.1電壓極性檢測電路11</p><p> 6.1.2電壓范圍粗測電路11</p><p> 6.1.3量程切換電路1
8、1</p><p> 6.2單片機(jī)模塊12</p><p> 6.2.1芯片的介紹和選擇12</p><p> 6.3 A/D轉(zhuǎn)換模塊16</p><p> 6.3.1芯片的介紹和選擇16</p><p> 6.3.2原理圖18</p><p> 6.4顯示模塊18<
9、;/p><p> 6.4.1 LED數(shù)碼管18</p><p> 6.4.2 LED數(shù)碼管與單片機(jī)接口設(shè)計20</p><p> 第七章 總體電路設(shè)計22</p><p> 7.1總體電路設(shè)計22</p><p> 第八章 軟件設(shè)計23</p><p> 8.1匯編流程圖23
10、</p><p> 8.2匯編程序24</p><p> 8.3程序說明26</p><p><b> 第九章 總結(jié)27</b></p><p><b> 參考文獻(xiàn)28</b></p><p><b> 第一章 緒論</b></p
11、><p> 電子電壓表主要用于測量各種高、低頻信號電壓,它是電子測量中使用最廣泛的儀器之一。根據(jù)測量結(jié)果的顯示方式及測量原理不同,電壓測量儀器可分為兩大類:模擬式電壓表(AVM)和數(shù)字式電壓表(DVM)。模擬式電壓表是指針式的,多用磁電式電流表作為指示器,并在表盤上刻以電壓刻度。數(shù)字式電壓表首先將模擬量經(jīng)模數(shù)(A/D)轉(zhuǎn)換器變成數(shù)字量,然后用電子計數(shù)器計數(shù),并以十進(jìn)制數(shù)字顯示被測電壓值。</p>&l
12、t;p> 眾所周知,模擬電壓表精度較高,曾經(jīng)有很廣闊的市場,現(xiàn)在依然有不少工程師依然在使用模擬電壓表。的確模擬電壓表在顯示測量值方面精度校準(zhǔn),然而卻也存在問題。模擬電壓表采用用指針式,里面是磁電或電磁式結(jié)構(gòu),所以其響應(yīng)速度較慢。</p><p> 然而在高速發(fā)展的當(dāng)今社會,高速信號處理的需求越來越多,由于模擬電壓表響應(yīng)速度較慢已經(jīng)不適用與高速信號領(lǐng)域,取而代之的將是數(shù)字電壓表。但數(shù)字電壓表由于存在采樣誤
13、差,精度不是很高。不過目前可以通過技術(shù)手段來縮小誤差。使其精度達(dá)到與模擬電壓表一樣精確甚至更高。可見將來數(shù)字電壓表必將取代模擬電壓表?,F(xiàn)在有越來越多的數(shù)字測量儀器的出現(xiàn)但原理皆與數(shù)字電壓表殊途同歸,因此研究數(shù)字電壓表有著很大現(xiàn)實意義。</p><p><b> 第二章 設(shè)計背景</b></p><p><b> 2.1單片機(jī)</b></
14、p><p> 2.1.1單片機(jī)的簡介</p><p> 單片微型計算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的縮寫MCU表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機(jī),和計算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、
15、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。它最早是被用在工業(yè)控制領(lǐng)域。</p><p> 由于單片機(jī)在工業(yè)控制領(lǐng)域的廣泛應(yīng)用,單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。</p><p> IN
16、TEL的Z80是最早按照這種思想設(shè)計出的處理器,當(dāng)時的單片機(jī)都是8位或4位的。其中最成功的是INTEL的8031,此后在8031上發(fā)展出了MCS51系列單片機(jī)系統(tǒng)。因為簡單可靠而性能不錯獲得了很大的好評。盡管2000年以后ARM已經(jīng)發(fā)展出了32位的主頻超過300M的高端單片機(jī),直到目前基于8031的單片機(jī)還在廣泛的使用。在很多方面單片機(jī)比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到了廣泛的應(yīng)用。事實上單片機(jī)是世界上數(shù)量最多處理器,隨著單
17、片機(jī)家族的發(fā)展壯大,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。</p><p> 現(xiàn)代人類生活中所用的幾乎每件電子和機(jī)械產(chǎn)品中都會集成有單片機(jī)。手機(jī)、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機(jī)。 汽車上一般配備40多部單片機(jī),復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機(jī)在同時工作!單片機(jī)的數(shù)量不僅遠(yuǎn)超過PC機(jī)和其他計算的總和,甚至比人類的數(shù)量還要多。</p><
18、;p> 2.1.2單片機(jī)的應(yīng)用領(lǐng)域</p><p> 目前單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說自動控制領(lǐng)域的機(jī)器人、智能儀表
19、、醫(yī)療器械以及各種智能機(jī)械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。</p><p> 單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇:</p><p><b> 智能儀器</b></p><p> 單片機(jī)具有體積小、功耗低、控制
20、功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點,廣泛應(yīng)用于儀器儀表中,結(jié)合不同類型的傳感器,可實現(xiàn)諸如電壓、電流、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。</p><p> 例如精密的測量設(shè)備(電壓表、功率計,示波器,各種分析儀)。</p><p><b&
21、gt; 工業(yè)控制</b></p><p> 單片機(jī)具有體積小、控制功能強(qiáng)、功耗低、環(huán)境適應(yīng)能力強(qiáng)、擴(kuò)展靈活和使用方便等優(yōu)點,用單片機(jī)可以構(gòu)成形式多樣的控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、通信系統(tǒng)、信號檢測系統(tǒng)、無線感知系統(tǒng)、測控系統(tǒng)、機(jī)器人等應(yīng)用控制系統(tǒng)。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統(tǒng),與計算機(jī)聯(lián)網(wǎng)構(gòu)成二級控制系統(tǒng)等。</p><p><b> 家
22、用電器</b></p><p> 現(xiàn)在的家用電器廣泛采用了單片機(jī)控制,從電飯煲、洗衣機(jī)、電冰箱、空調(diào)機(jī)、彩電、其他音響視頻器材、再到電子秤量設(shè)備和白色家電等。</p><p><b> 網(wǎng)絡(luò)和通信</b></p><p> 現(xiàn)代的單片機(jī)普遍具備通信接口,可以很方便地與計算機(jī)進(jìn)行數(shù)據(jù)通信,為在計算機(jī)網(wǎng)絡(luò)和通信設(shè)備間的應(yīng)用提供了極
23、好的物質(zhì)條件,現(xiàn)在的通信設(shè)備基本上都實現(xiàn)了單片機(jī)智能控制,從手機(jī),電話機(jī)、小型程控交換機(jī)、樓宇自動通信呼叫系統(tǒng)、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機(jī)等。</p><p><b> 醫(yī)用設(shè)備領(lǐng)域</b></p><p> 單片機(jī)在醫(yī)用設(shè)備中的用途亦相當(dāng)廣泛,例如醫(yī)用呼吸機(jī),各種分析儀,監(jiān)護(hù)儀,超聲診斷設(shè)備及病床呼叫系統(tǒng)等等。&l
24、t;/p><p><b> 模塊化系統(tǒng)</b></p><p> 某些專用單片機(jī)設(shè)計用于實現(xiàn)特定功能,從而在各種電路中進(jìn)行模塊化應(yīng)用,而不要求使用人員了解其內(nèi)部結(jié)構(gòu)。如音樂集成單片機(jī),看似簡單的功能,微縮在純電子芯片中(有別于磁帶機(jī)的原理),就需要復(fù)雜的類似于計算機(jī)的原理。如:音樂信號以數(shù)字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉(zhuǎn)化為模擬音樂電信號(類似
25、于聲卡)。</p><p> 在大型電路中,這種模塊化應(yīng)用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。</p><p><b> 汽車電子</b></p><p> 單片機(jī)在汽車電子中的應(yīng)用非常廣泛,例如汽車中的發(fā)動機(jī)控制器,基于CAN總線的汽車發(fā)動機(jī)智能電子控制器、GPS導(dǎo)航系統(tǒng)、abs防抱死系統(tǒng)、制動系統(tǒng)、胎壓檢測
26、等。</p><p> 此外,單片機(jī)在工商、金融、科研、教育、電力、通信、物流和國防航空航天等領(lǐng)域都有著十分廣泛的用途。</p><p><b> 2.2數(shù)字電壓表</b></p><p> 2.2.1數(shù)字電壓表的特點</p><p> 數(shù)字電壓表(DVM )是將被測的電壓模擬量自動轉(zhuǎn)換成開關(guān)量,然后進(jìn)行數(shù)字編碼
27、、譯碼,以數(shù)字形式顯示出來的一種電測儀表,它具有如下主要特點:</p><p> (1)準(zhǔn)確度高:目前可達(dá)到10^-6數(shù)量級,因此用它代替直讀儀表,可大大提高測量精度。</p><p> (2)靈敏度高:一般可做到10微伏至1微伏,目前已有10^-9伏數(shù)量級的儀表。</p><p> (3)輸入阻抗高:一般可達(dá)1000兆歐以上,而且工作時零電流很小,一般可達(dá)1
28、0^-10安。</p><p> (4)測量速度快:采樣速度一般每秒種為幾十次到上萬次,甚至可達(dá)百萬次。</p><p> (5)讀數(shù)準(zhǔn)確:因是數(shù)字顯示,所以讀數(shù)準(zhǔn)確,可以消除人為的讀數(shù)誤差。</p><p> (6)使用方便用途廣:開機(jī)預(yù)熱預(yù)調(diào)后即可使用,可配接打印機(jī)自動記數(shù).還可配接相應(yīng)的轉(zhuǎn)換器,用來測量交流電壓、直流電流、電阻和溫度等參量。</p&
29、gt;<p> 第三章 設(shè)計目的與功能要求</p><p><b> 3.1設(shè)計目的</b></p><p> 通過制作簡易的數(shù)字電壓表,加深對所學(xué)專業(yè)知識的認(rèn)識,提高分析,解決工程實際問題的能力,提高對單片機(jī)的應(yīng)用能力,提高收集文獻(xiàn),資料的能力,從而達(dá)到綜合運(yùn)用所學(xué)的專業(yè)知識進(jìn)行電子產(chǎn)品設(shè)計,制作與調(diào)試的能力。</p><p&
30、gt;<b> 3.2功能要求</b></p><p> ?、乓訫CS-51系列單片機(jī)為核心器件,組成一個簡單的直流數(shù)字電壓表。</p><p> ⑵采用1路模擬量輸入,能夠測量0-5V之間的直流電壓值。</p><p> ⑶電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 </p><p> ?、缺M量
31、使用較少的元器件。</p><p><b> 第四章 總體設(shè)計</b></p><p><b> 4.1系統(tǒng)設(shè)計</b></p><p> 主要分為兩部分:硬件電路及軟件程序。硬件電路包括:單片機(jī)及外圍電路,模擬信號采集電路,A/D轉(zhuǎn)換電路,數(shù)碼管顯示電路,各部分電路的銜接。軟件的程序可采用C語言或匯編,這里采用匯編
32、語言,詳細(xì)的設(shè)計思路在后面介紹。</p><p><b> 4.2設(shè)計方案</b></p><p> 數(shù)字電壓表的設(shè)計方案很多,但采用集成電路來設(shè)計較流行。其設(shè)計主要是由模擬電路和數(shù)字電路兩大部分組成,模擬部分包括A/D轉(zhuǎn)換器,基準(zhǔn)電源等;數(shù)字部分包括振蕩器,數(shù)碼顯示,計數(shù)器等。其中,A/D轉(zhuǎn)換器將輸入的模擬量轉(zhuǎn)換成數(shù)字量,它是數(shù)字電壓表的一個核心部件,對它的選擇
33、一般有兩種選擇方案:</p><p> 1.采用雙積分A/D轉(zhuǎn)換器MC14433,它有多路調(diào)制的BCD碼輸出端和超量程輸出端,采用動態(tài)掃描顯示,便于實現(xiàn)自動控制。但芯片只能完成A/D轉(zhuǎn)換功能,要實現(xiàn)顯示功能還需配合其它驅(qū)動芯片等,使得整部分硬件電路板布線復(fù)雜,加重了電路設(shè)計和實際焊接的工作。</p><p> 2. 逐次逼近式A/D轉(zhuǎn)換器。它的轉(zhuǎn)換速度更快,而且精度更高,比如ADC08
34、08、ADC0809等,它們通常具有8路模擬選通開關(guān)及地址譯碼、鎖存電路等,它們可以與單片機(jī)系統(tǒng)連接,將數(shù)字量送單片機(jī)進(jìn)行分析和顯示。這樣電路設(shè)計簡單,電路板布線不復(fù)雜,便于焊接、調(diào)試。這里采用這種方案。</p><p> 顯示部分可以采用各類數(shù)碼管或用LCD顯示器顯示。在此簡化采用4位八段共陰極數(shù)碼管對A/D轉(zhuǎn)換變換后的結(jié)果加以顯示。</p><p><b> 4.3總體設(shè)
35、計框圖</b></p><p> 圖4-31 總體設(shè)計框圖</p><p><b> 第五章 設(shè)計原理圖</b></p><p><b> 5.1設(shè)計原理圖</b></p><p> 圖5-11 設(shè)計原理圖</p><p> 第六章 硬件電路設(shè)計<
36、/p><p> 6.1 信號調(diào)理模塊</p><p> 該部分主要實現(xiàn)的功能是自動量程切換和電壓變換,模塊主要由電壓極性檢測電路、電壓范圍粗測電路、電壓變換電路三部分組成。6.1.1電壓極性檢測電路電壓極性檢測電路采用過零比較器檢測負(fù)電壓的方式實現(xiàn)的,運(yùn)算放大器LM324的反向端接地,同向端通過100K電阻接輸入信號。</p><p><b> 圖6
37、-11</b></p><p> 6.1.2電壓范圍粗測電路 為了粗略地得到被測量的電壓范圍我們采用多組比較器的方式,通過階梯式比較的方法確定輸入電壓的范圍。</p><p><b> 圖6-12</b></p><p> 6.1.3量程切換電路 電路由衰減電阻、切換繼電器和運(yùn)算放大器組成,對應(yīng)的是衰減1/2、1/3
38、、1/4和無零漂放大50倍,切換電路如圖所示。電壓變換到0-5V標(biāo)準(zhǔn)信號后,再由A/D轉(zhuǎn)換進(jìn)行采樣,最后由單片機(jī)算法還原。</p><p><b> 6.2單片機(jī)模塊</b></p><p> 6.2.1芯片的介紹和選擇</p><p> 單片機(jī)AT89C51介紹</p><p> AT89C51是一種帶4K字節(jié)
39、FLASH存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在
40、單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖6-21所示 </p><p> 圖6-21芯片引腳圖</p><p><b> (1)主要特性</b></p><p> ·與MCS-51
41、兼容 </p><p> ·4K字節(jié)可編程閃爍存儲器 </p><p> ·壽命:1000寫/擦循環(huán) </p><p> ·數(shù)據(jù)保留時間:10年 </p><p> ·全靜態(tài)工作:0Hz-24MHz </p><p> ·三級程序存儲器鎖定 </p>
42、;<p> ·128×8位內(nèi)部RAM </p><p> ·32可編程I/O線 </p><p> ·兩個16位定時器計數(shù)器 </p><p><b> ·5個中斷源 </b></p><p><b> ·可編程串行通道 <
43、;/b></p><p> ·低功耗的閑置和掉電模式 </p><p> ·片內(nèi)振蕩器和時鐘電路</p><p><b> (2)引腳描述</b></p><p> VCC:電源電壓 </p><p><b> GND:地</b>&l
44、t;/p><p> P0口:P0口是一組8位漏極開路雙向I/O口,即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口時,每一個管腳都能夠驅(qū)動8個TTL電路。當(dāng)“1”被寫入P0口時,每個管腳都能夠作為高阻抗輸入端。P0口還能夠在訪問外部數(shù)據(jù)存儲器或程序存儲器時,轉(zhuǎn)換地址和數(shù)據(jù)總線復(fù)用,并在這時激活內(nèi)部的上拉電阻。P0口在閃爍編程時,P0口接收指令,在程序校驗時,輸出指令,需要接電阻。</p><p> P1
45、口:P1口一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動4個TTL電路。對端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,此時可作為輸入口。因為內(nèi)部有電阻,某個引腳被外部信號拉低時輸出一個電流。閃爍編程時和程序校驗時,P1口接收低8位地址。</p><p> P2口:P2口是一個內(nèi)部帶有上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動4個TTL電路。對端口寫“1”,通過內(nèi)部的電阻把端口拉到高電平,
46、此時,可作為輸入口。因為內(nèi)部有電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容在整個運(yùn)行期間不變。閃爍編程或校驗時,P2口接收高位地址和其它控制信號。</p><p> P3口:P3口是一組帶有內(nèi)部電阻的8位雙向I/O口,P3口輸出緩沖故可驅(qū)動4個TTL電路。對P3口寫如“1”時,它們被
47、內(nèi)部電阻拉到高電平并可作為輸入端時,被外部拉低的P3口將用電阻輸出電流。</p><p> P3口除了作為一般的I/O口外,更重要的用途是它的第二功能,如下表所示:</p><p> P3口還接收一些用于閃爍存儲器編程和程序校驗的控制信號。</p><p> RST:復(fù)位輸入。當(dāng)震蕩器工作時,RET引腳出現(xiàn)兩個機(jī)器周期以上的高電平將使單片機(jī)復(fù)位。</p&
48、gt;<p> ALE/:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE以時鐘震蕩頻率的1/16輸出固定的正脈沖信號,因此它可對輸出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖時,閃爍存儲器編程時,這個引腳還用于輸入編程脈沖。如果必要,可對特殊寄存器區(qū)中的8EH單元的D0位置禁止ALE操作。這個位置后只有一條MOVX和MOVC指令A(yù)
49、LE才會被應(yīng)用。此外,這個引腳會微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE無效。</p><p> PSEN:程序儲存允許輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C51由外部程序存儲器讀取指令時,每個機(jī)器周期兩次PSEN 有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN 信號不出現(xiàn)。</p><p> EA/VPP:外部訪問允許。欲使中央處理器僅訪問外
50、部程序存儲器,EA端必須保持低電平。需要注意的是:如果加密位LBI被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平,CPU則執(zhí)行內(nèi)部程序存儲器中的指令。閃爍存儲器編程時,該引腳加上+12V的編程允許電壓VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。</p><p> XTAL1:震蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。</p><p> XTAL2:震蕩器反相放大器的輸出
51、端。</p><p> 時鐘震蕩器:AT89C51中有一個用于構(gòu)成內(nèi)部震蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自然震蕩器。 外接石英晶體及電容C1,C2接在放大器的反饋回路中構(gòu)成并聯(lián)震蕩電路。對外接電容C1,C2雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響震蕩頻率的高低、震蕩器工作的穩(wěn)定性、起振的難易程序
52、及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF±10PF,而如果使用陶瓷振蕩器建議選擇40PF±10PF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖示。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應(yīng)符合產(chǎn)品技術(shù)條件的要求。
53、</p><p> 電路內(nèi)部振蕩 外部振蕩電路</p><p><b> 圖6-22</b></p><p> 6.3 A/D轉(zhuǎn)換模塊</p><p> 6.3.1芯片的介紹和選擇</p><p><b> ADC0809芯片</b>&
54、lt;/p><p> ADC0809是美國國家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進(jìn)行A/D轉(zhuǎn)換。是目前國內(nèi)應(yīng)用最廣泛的8位通用A/D芯片。</p><p><b> 圖6-31引腳圖</b></p><p><b&
55、gt; (1)主要特性</b></p><p> 1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位。 </p><p> 2)具有轉(zhuǎn)換起??刂贫?。 </p><p> 3)轉(zhuǎn)換時間為100μs(時鐘為640kHz時),130μs(時鐘為500kHz) </p><p> 4)單個+5V電源供電 </p>
56、<p> 5)模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準(zhǔn)。 </p><p> 6)工作溫度范圍為-40~+85攝氏度 </p><p> 7)低功耗,約15mW。</p><p> (2)外部特性(引腳功能)</p><p> IN0~I(xiàn)N7:8路模擬量輸入端。 </p><p> DB
57、0-DB7:8位數(shù)字量輸出端。 </p><p> ADDA、ADDB、ADDC:3位地址輸入線,用于選通8路模擬輸入中的一路 </p><p> ALE:地址鎖存允許信號,輸入,高電平有效。 </p><p> START: A/D轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。 </p
58、><p> EOC: A/D轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 </p><p> OE:數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 </p><p> CLK:時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 </p><p&g
59、t; REF(+)、REF(-):基準(zhǔn)電壓。 </p><p> Vcc:電源,單一+5V。 </p><p><b> GND:接地。</b></p><p><b> 6.3.2原理圖</b></p><p><b> 圖6-32</b></p>&
60、lt;p><b> 6.4顯示模塊</b></p><p> 6.4.1 LED數(shù)碼管</p><p><b> ?、?LED基本結(jié)構(gòu)</b></p><p> LED是發(fā)光二極管顯示器的縮寫。LED由于結(jié)構(gòu)簡單、價格便宜、與單片機(jī)接口方便等優(yōu)點而得到廣泛應(yīng)用。LED顯示器是由若干個發(fā)光二極管組成顯示字段的顯示
61、器件[6]。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8個發(fā)光二極管組成顯示字段,其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點用,其通過不同的組合可用來顯示各種數(shù)字。LED引腳排列如下圖6-41所示:</p><p> 圖6-41 LED引腳排列</p><p> ?、?LED數(shù)碼管的選擇</p>&l
62、t;p> 在應(yīng)用系統(tǒng)中,設(shè)計要求不同,使用的LED顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號不同的LED顯示器供選擇,在本設(shè)計中,選擇4位一體的數(shù)碼型LED顯示器,簡稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個位,后兩位顯示電壓的小數(shù)位。</p><p> 4-LED顯示器引腳如圖所示,是一個共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2
63、、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個單獨的LED組成,每個LED的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。</p><p> 圖6-42 4位LED引腳</p><p> 對于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)
64、在一起,用一個I/O接口控制)顯示。</p><p><b> ?、?LED譯碼方式</b></p><p> 譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式,對于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。</p><p> 硬件譯碼是指利用專門的硬件電路來實現(xiàn)顯示字符碼的轉(zhuǎn)換。</p><p&g
65、t; 軟件譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序[3]。</p><p> 本設(shè)計系統(tǒng)中為了簡化硬件線路設(shè)計,LED譯碼采用軟件編程來實現(xiàn)。由于本設(shè)計采用的是共陰極LED,其對應(yīng)的字符和字段碼如下表所示。</p><p><b> 共陰極字段碼表</b></p><p> 6.4.2 L
66、ED數(shù)碼管與單片機(jī)接口設(shè)計</p><p> 由于單片機(jī)的并行口不能直接驅(qū)動LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作[7]。如果驅(qū)動電路能力差,即負(fù)載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動電路設(shè)計是一個非常重要的問題。</p><p> 為了簡化數(shù)字式直流電壓表的電路設(shè)計
67、,在LED驅(qū)動電路的設(shè)計上,可以利用單片機(jī)P0口上外接的上拉電阻來實現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動能力,使得LED能按照正常的亮度顯示出數(shù)字,如圖6-43所示。</p><p> 圖6-43 LED與單片機(jī)接口間的設(shè)計</p><p><b> 第七章 總體電路</b><
68、/p><p><b> 7.1總體電路</b></p><p> 經(jīng)過以上的設(shè)計過程,可設(shè)計出基于單片機(jī)的簡易數(shù)字直流電壓表硬件電路原理圖如圖7-11所示。</p><p> 圖7-11 簡易數(shù)字電壓表電路圖</p><p> 此電路的工作原理是:+5V模擬電壓信號通過變阻器VR1分壓后由ADC0809的IN0通道進(jìn)
69、入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位LED,同時它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產(chǎn)生位選信號控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0809的工作。其中,單片機(jī)AT89C51通過定時器中
70、斷從P2.4輸出方波,接到ADC0809的CLOCK,P2.6發(fā)正脈沖啟動A/D轉(zhuǎn)換,P2.5檢測A/D轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后,P2.7置高從P1口讀取轉(zhuǎn)換結(jié)果送給LED顯示出來[3]。</p><p> 簡易數(shù)字直流電壓表的硬件電路已經(jīng)設(shè)計完成,就可以選取相應(yīng)的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。但要真正實現(xiàn)電路對電壓的測量和顯示的功能,還需要有
71、相應(yīng)的軟件配合,才能達(dá)到設(shè)計要求。</p><p><b> 第八章 軟件設(shè)計</b></p><p><b> 8.1匯編流程圖</b></p><p><b> 8.2匯編程序</b></p><p><b> ;初始化定義</b></p
72、><p> LED1 EQU 30H</p><p> LED2 EQU 31H</p><p> LED3 EQU 32H;存放三個數(shù)碼管的段碼</p><p> ADC EQU 35H;存放轉(zhuǎn)換后的數(shù)據(jù)</p><p> ST BIT P3.2</p><p> OE BIT
73、 P3.0</p><p> EOC BIT P3.1;定義ADC0809的功能控制引腳</p><p><b> ORG 0000H</b></p><p> LJMP MAIN;跳轉(zhuǎn)到主程序執(zhí)行</p><p><b> ORG 0030H</b></p><p&g
74、t; ;主程序,各寄存器初始化,ADC0809采集數(shù)據(jù)和調(diào)用顯示主程序;</p><p> MAIN: MOV LED1,#00H </p><p> MOV LED2,#00H</p><p> MOV LED3,#00H;寄存器初始化</p><p><b> CLR P3.4</b></p&g
75、t;<p><b> SETB P3.5</b></p><p> CLR P3.6;選擇ADC0809的通道2</p><p> WAIT: CLR ST</p><p><b> SETB ST</b></p><p> CLR ST;在脈沖下降沿啟動轉(zhuǎn)換</p
76、><p> JNB EOC,$;等待轉(zhuǎn)換結(jié)束</p><p> SETB OE;允許輸出信號</p><p> MOV ADC,P1;暫存A/D轉(zhuǎn)換結(jié)果</p><p> CLR OE;關(guān)閉輸出</p><p> MOV A,ADC;將轉(zhuǎn)換結(jié)果放入A中,準(zhǔn)備個位數(shù)據(jù)轉(zhuǎn)換</p><p>
77、 MOV B,#50;變換個位調(diào)整值50送B</p><p><b> DIV AB</b></p><p> MOV LED1,A;將變換后的個位值送顯示緩沖區(qū)LED1</p><p> MOV A,B;將變換結(jié)果的余數(shù)放入A中,準(zhǔn)備十分位變換</p><p> MOV B,#5;變換十分位調(diào)整值5送B<
78、/p><p><b> DIV AB</b></p><p> MOV LED2,A;將變換后的十分位值送LED2</p><p> MOV LED3,B;最后的余數(shù)作百分位值送LED3</p><p> LCALL DISP;調(diào)用顯示程序</p><p><b> AJMP WA
79、IT</b></p><p><b> ;顯示子程序: </b></p><p> DISP: MOV R1,#LED1</p><p> CJNE @R1,#5,GO;@R1=5V?是往下執(zhí)行,否,則到GO</p><p> MOV LED2,#0H;是5V,即最高值,將小數(shù)的十分位清零<
80、;/p><p> MOV LED3,#0H;將小數(shù)的百分位清零</p><p> GO : MOV R2,#3;顯示位數(shù)賦初值,用到3位數(shù)碼管</p><p> MOV R3,#0FDH;掃描初值送R3</p><p> DISP1: MOV P2,#0FFH;關(guān)閉顯示,目的防止亂碼</p><p> M
81、OV A,@R1;顯示值送A</p><p> MOV DPTR,#TAB;送表首地址給DPTR</p><p> MOVC A,@A+DPTR;查表取段碼</p><p> CJNE R2,#3,GO1;判斷是否個位數(shù)碼管?否則跳到GO1</p><p> ORL A,#80H;將整數(shù)的數(shù)碼管顯示小數(shù)點</p><
82、;p> GO1: MOV P0,A;送段碼給P0口</p><p><b> MOV A,R3</b></p><p> MOV P2,A;送位碼給P2口</p><p> LCALL DELAY;調(diào)用延時</p><p><b> MOV R3,A</b></p>
83、<p><b> RL A;改變位碼</b></p><p><b> MOV R3,A</b></p><p> INC R1;改變段碼</p><p> DJNZ R2,DISP1;三位是否顯示完?否則調(diào)到DISP1</p><p><b> RET</b
84、></p><p><b> ;延時5S程序:</b></p><p> DELAY : MOV R6,#10</p><p> D1: MOV R7,#250</p><p><b> DJNZ R7,$</b></p><p> DJNZ R6,D
85、1</p><p><b> RET </b></p><p><b> ;顯示數(shù)據(jù)表:</b></p><p> TAB: DB 3FH, 06H,5BH,4FH,66H;共陰極數(shù)碼管顯示0-4</p><p> DB 6DH,7DH,07H,7FH,6FH;顯示5-9</p>
86、<p><b> END</b></p><p><b> 8.3程序說明</b></p><p> 程序先定義了ADC0809的控制線,對其控制端口要注意的是操作時序;要將A/D轉(zhuǎn)換來的數(shù)據(jù)變換成對應(yīng)的BCD碼,這是因為ADC0809是8位A/D轉(zhuǎn)換,對0~5V的模擬量轉(zhuǎn)換成00H~FFH的數(shù)字量,即0~255。這要變換成
87、對應(yīng)十進(jìn)制的BCD碼才能顯示。最高255/50=5.0(≈5V),BCD碼取0101B,只精確到十分位。例如A/D轉(zhuǎn)換來的數(shù)據(jù)為235,變換對應(yīng)的BCD碼為:235/50=4(是個位)余35/5=6(十分位)余5,余數(shù)5直接作百分位(此位不精確),即為4.65V,BCD碼為0100 0110 0101.然后查表,緩存,調(diào)顯示程序顯示。</p><p><b> 總 結(jié)</b></
88、p><p> 在A/D轉(zhuǎn)換部分軟件的設(shè)計中,首先要考慮到A、B、C分別接地址鎖存器提供的低三位地址,只要把三位地址寫入ADC0809中的地址鎖存器,就實現(xiàn)了模擬通道選擇IN0。在本次設(shè)計中只用到了一路輸入。</p><p> 單片機(jī)為8位處理器,當(dāng)輸入電壓為5.00時,輸出數(shù)據(jù)值為255(FFH),決定了該電壓表的最大分辨率(精度)只能達(dá)到0.0196V。測試時電壓數(shù)值的變化一般以0.02
89、的電壓幅度變化。在200MV檔中,電壓值的變化是由0-200MV變化,而模擬開關(guān)的變化為0-5V變化,所以在此檔位中電壓表的絕對精度是0.784MV(200/255);在2V檔中,電壓值的變化是由200-2000MV變化,模擬開關(guān)的變化為0-5V變化,所以在此檔位中電壓表的絕對精度是7.06MV(1800/255);在20V檔中,電壓值的變化是由2-2MV變化,模擬開關(guān)的變化也為0-5V變化,所以在此檔位中電壓表的絕對精度是70.58M
90、V(18/255)。</p><p> 本次設(shè)計成功的完成了基于AT89C51單片機(jī)的數(shù)字電壓表設(shè)計任務(wù),輸入0-20V直流電壓,單片機(jī)轉(zhuǎn)化為模擬量進(jìn)行初始判斷后,利用模擬開關(guān)實現(xiàn)了200MV、2V、20V自動換擋,能夠在LCD液晶屏上顯示相應(yīng)的數(shù)字量電壓值,20V檔精確到小數(shù)點后兩位;2V檔時作為2000MV的量程顯示4位有效數(shù)字;200MV檔時精確到小數(shù)點后一位。</p><p>
91、 基于本設(shè)計中的電路,還可以擴(kuò)展很多其它方面的功能如:</p><p> 1)本次設(shè)計在采集模擬電壓量時只用到了ADC0809的IN0通道,完全可以通過編程實現(xiàn)多通道輸入,并在LCD液晶顯示屏上顯示相對應(yīng)的通道值。</p><p> 2)可采用高精度的A/D轉(zhuǎn)換器,實現(xiàn)更大的量程和更高的精度。</p><p> 3) 可以利用單片機(jī)串口通信將電壓值傳送至電腦進(jìn)
92、行同步顯示和后期處理。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 鮑小南.《單片機(jī)微型計算機(jī)原理及應(yīng)用》浙江大學(xué)出版社 2009.2</p><p> [2] 樓然苗、李光飛.《單片機(jī)課程設(shè)計指導(dǎo)》 電子工業(yè)出版社,2007.12</p><p> [3] 吳經(jīng)國等.《單片機(jī)應(yīng)用技術(shù).
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)電一體化畢業(yè)設(shè)計(論文)-基于單片機(jī)的數(shù)字電壓表的設(shè)計
- 畢業(yè)設(shè)計---基于單片機(jī)的數(shù)字電壓表設(shè)計
- 畢業(yè)設(shè)計---基于單片機(jī)的數(shù)字電壓表
- 單片機(jī)的數(shù)字電壓表畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--單片機(jī)數(shù)字電壓表的設(shè)計
- 基于單片機(jī)的數(shù)字電壓表的畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--基于單片機(jī)的數(shù)字電壓表的設(shè)計
- 基于單片機(jī)的數(shù)字電壓表的設(shè)計-畢業(yè)設(shè)計
- 基于單片機(jī)的數(shù)字電壓表設(shè)計畢業(yè)設(shè)計論文
- 基于單片機(jī)的數(shù)字電壓表畢業(yè)設(shè)計論文
- 基于單片機(jī)的數(shù)字電壓表的設(shè)計畢業(yè)設(shè)計論文
- 基于單片機(jī)的數(shù)字電壓表設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機(jī)的簡易數(shù)字電壓表設(shè)計
- 數(shù)字電壓表畢業(yè)論文--基于51單片機(jī)的數(shù)字電壓表設(shè)計
- 基于單片機(jī)的數(shù)字電壓表設(shè)計設(shè)計
- 機(jī)電一體化畢業(yè)設(shè)計基于單片機(jī)的流量檢測系統(tǒng)的設(shè)計
- 數(shù)字電壓表單片機(jī)畢業(yè)設(shè)計
- 數(shù)字電壓表單片機(jī)畢業(yè)設(shè)計
- 數(shù)字電壓表單片機(jī)畢業(yè)設(shè)計
- 基于單片機(jī)的數(shù)字電壓表的設(shè)計
評論
0/150
提交評論