版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘要</b></p><p> 當前現(xiàn)代化電子市場正朝著快速及便利同時大容量的方向發(fā)展,現(xiàn)代電子產品幾乎能運用到社會的各個領域當中,有力的推動了社會現(xiàn)代化的發(fā)展。同時,電子產品也被要求以更快速度的升級和更快速的處理。</p><p> 本設計以STC89C52單片機和555振蕩器作為主要元件,來實現(xiàn)對電容容量的基本測量。本設計基于55
2、5振蕩器構成多諧振蕩器來產生輸入脈沖信號,然后再通過STC89C52單片機對方波脈沖進行中斷計數(shù)而測量電容的。在多諧振蕩器輸出端加入一個74HC08使輸出波型毛刺減少,從而使單片機測量結果變精確。555振蕩器所產生的信號會根據所選的電阻的阻值不同,從而調節(jié)電容的參數(shù)值,這樣就可以確定被測電容的容值范圍,最后通過LCD1602顯示器顯示被測電容容值。在軟件設計中,該設計使用C語言來編寫程序。該儀器具有方便快捷,簡單實用,價格低廉等特點。&
3、lt;/p><p> 關鍵詞:電容測量;555振蕩器;STC89C52;LCD1602</p><p><b> Abstract</b></p><p> The current modern electronic market is headed in fast and convenient large capacity and the
4、direction of development, modern electronic products to use to almost all areas of society of powerful promoted the development of modern society. At the same time, the electronic products also are required to faster spe
5、ed upgrade and more fast process.</p><p> This design to STC89C52 single-chip microcomputer and 555 oscillator as the main components, to realize the basic capacity of capacitance measurement. This design b
6、ased on the 555 oscillator to generate more than a harmonic oscillator input pulse signal, and then through the STC89C52 microcontroller each other to interrupt pulse count and measurement of capacitance. In order to joi
7、n the output oscillator a 74 HC08 to make the output waveform burr reduced, so that the single chip microcomputer va</p><p> Keywords: capacitance measurements;555 oscillator;STC89C52;LCD1602</p><
8、;p><b> 目錄</b></p><p><b> 摘要I</b></p><p> AbstractII</p><p><b> 目錄I</b></p><p><b> 1 緒論1</b></p><p
9、><b> 1.1 引言1</b></p><p> 2 STC89C52單片機的基本功能及應用2</p><p> 2.1 STC89C52芯片介紹2</p><p> 2.2 STC89C52應用說明3</p><p> 2.3 單片機工作的最小化配置4</p><p&g
10、t;<b> 3 系統(tǒng)設計5</b></p><p> 3.1 設計要求5</p><p> 3.2 整體方案設計5</p><p><b> 4 硬件設計9</b></p><p> 3.1 時鐘電路9</p><p> 3.2 按鍵電路9</
11、p><p> 3.3 復位電路10</p><p> 3.4 555芯片電路11</p><p> 3.5 顯示電路13</p><p><b> 5 程序設計15</b></p><p><b> 6 總結16</b></p><p>
12、;<b> 參考文獻17</b></p><p><b> 附錄18</b></p><p> 附錄1 實物圖18</p><p> 附錄2 元件清單19</p><p> 附錄3 系統(tǒng)原理圖20</p><p> 附錄4 程序清單21</p&g
13、t;<p><b> 致謝27</b></p><p><b> 1 緒論</b></p><p><b> 1.1 引言</b></p><p> 當前現(xiàn)代化電子市場正朝著方便快捷容量大的方向發(fā)展,現(xiàn)代電子產品幾乎能運用到社會的各個領域當中,有力的推動了社會現(xiàn)代化的發(fā)。同
14、時,電子產品也面臨著更快速度的節(jié)奏升級和更快速的處理功效。</p><p> 當今電子測試領域,電容測量技術已經應用的非常廣泛了,數(shù)字電容測量技術的發(fā)展主要取決于電容傳感器的發(fā)展。由最初的用交流不平衡電橋就能測量基本的電容傳感器到現(xiàn)在主要使用容柵式電容傳感器,陶瓷電容壓力傳感器等。電容測量技術也從單一化向多元化發(fā)展。雖然國內電容傳感器方面的廠家越來越多,但是每當提起國內電容測量儀器,用戶就會有很多看法。如:諸如
15、精度不高,外觀不好,可靠性差等。</p><p> 近年來我國在電子測量儀器的精準度方面投入了很多人力物力,狀況有了很大改觀。中國本土的儀器制造與生產已經取得了很大的進步,特別是在電子測量這個領域,與國外的差距正在逐日減少,并對國外電子設備巨頭產生了一定的影響。隨著現(xiàn)代化技術的提高與政府的重視,中國的的測量儀器每年都以30%的速度增長,同時也催生除了大批創(chuàng)新型企業(yè)和產品。其實影響國內測量技術的根本原因是:<
16、;/p><p> 電容測量是一項很基礎的研究工作,在日常的電路研究及實驗中,電容作為一個使用非常頻繁的電子元件,實際電路對電容的研究越來越精確。如果電容測量達不到一個很準確的水品,會直接的影響到各項科技的提升和進步,因此研究電容測量技術具有非常重要的意義。傳統(tǒng)電容測量儀精度不高,測量不夠便利,因此我選擇一個數(shù)字電容測量儀來測量電容的容值大小。該數(shù)字電容儀有方便,精度高的優(yōu)點,這也使我的選題有了更大的意義,并提高了我
17、對做畢業(yè)設計的興趣。 </p><p> 2 STC89C52單片機的基本功能及應用</p><p> 2.1 STC89C52芯片介紹</p><p> STC89C52是一種低電壓、高性能的CMOS 8位微處理器,具有8K在系統(tǒng)可編程的Flash處理器。STC89C52對比51單片機具有更大的數(shù)據存儲空間,并且?guī)в?K字節(jié)EEPROM存儲空間,使得該單
18、片機比51單片機存儲空間更大,數(shù)據處理速度也更快。在單片機芯片上,該芯片擁有靈巧的8 位CPU 和在系統(tǒng)內可編程的Flash,這使得STC89C52單片機相比其它單片機有了很大的提高,大大提高了它在各種電子系統(tǒng)中的使用。</p><p> STC89C52是由一個時鐘電路OSC、一個程序存儲器ROM、一個數(shù)據存儲器RAM和一個定時器/計數(shù)器組成。程序存儲器跟數(shù)據存儲器分為了兩個不同的邏輯存儲空間,這樣就可以用8
19、位地址對數(shù)據及程序存儲器來進行訪問,通過這樣可以提高8位CPU的存儲和處理速度。</p><p> STC89C52芯片引腳分布及說明:</p><p> 圖1 STC89C52引腳分布</p><p> 在本次設計中,使用到該芯片的部分引腳,其主要功能如下:</p><p> RST:復位電路輸入端,高電平有效。在此引腳加上持續(xù)時間
20、大于2個機器周期的高電平,就可以使單片機復位。在單片機正常工作時,此引腳應為≤0.5V的低電平。</p><p> P0 口:8位。漏極開路的雙向I/O口。</p><p> P1 口:8位,準雙向I/O口,具有內部上拉電阻。</p><p> P2 口:8位,準雙向I/O口,具有內部上拉電阻。</p><p> P3 口:8位,準雙
21、向I/O口,具有內部上拉電阻。</p><p> ALE/PROG:ALE為CPU訪問外部程序存儲器或外部數(shù)據存儲器提供一個地址鎖存信號,將低8位地質所存在片外的地址鎖存器中。</p><p> PROG為該引腳的第二功能,即在對片內Flash存儲器編程是,此引腳作為編程脈沖輸入端。</p><p> PSEN:片外程序存儲器的讀選通信號,低電平有效。<
22、/p><p> EA/VPP:EA為該引腳的異地功能,即外部程序存儲器訪問允許控制端。</p><p> VPP位該引腳第二功能,即在對片內Flash進行編程時,VPP引腳接入編程電壓。</p><p> XTAL1:片內振蕩器反相放大器和時鐘發(fā)生器電路的輸入端。當使用片內振蕩器時,該引腳連接外部石英晶體和微調電容;當采用外接時鐘源時,該引腳接外部時鐘振蕩器的信號
23、。 </p><p> XTAL2:片內振蕩器反相放大器的輸出端。當使用片內振蕩器時,該引腳連接外部石英晶體和微調電容;當采用外部時鐘源時,該引腳懸空。</p><p> INT0:外部中斷請求0,中斷請求信號由INT0引腳輸入,中斷請求標志為IE0。</p><p> INT1:外部中斷請求1,中斷請求信號由INT1引腳輸入,中斷請求標志為IE1。</
24、p><p> TO:計數(shù)器/定時器T0計數(shù)溢出發(fā)出的中斷請求,中斷請求標志為TF0。</p><p> T1:計數(shù)器/定時器T1計數(shù)溢出發(fā)出的中斷請求,中斷請求標志為TF1。</p><p> 2.2 STC89C52應用說明</p><p> STC89C52主要性能如表1所示:</p><p> 表 1 S
25、TC89C52主要性能</p><p> 2.3 單片機工作的最小化配置</p><p> 單片機的最小化系統(tǒng)簡稱單片機最小應用系統(tǒng),通俗的講就是單片機工作所用的最少元件。如圖2所示,最小系統(tǒng)一般包括只需要單片機、晶振電路和復位電路這三部分就可以讓單片機正常工作。該設計的時鐘電路由12M的晶振及兩個30P的電瓷電容組成,它們共同決定了單片機的機器周期為1us。該復位電路由一個10UF
26、電容一個200歐電阻和10K電阻共同組成。</p><p> 圖2 STC89C52的最小化配置</p><p><b> 3 系統(tǒng)設計</b></p><p><b> 3.1 設計要求</b></p><p> 實現(xiàn)電容容量的基本測量功能;</p><p>
27、 實現(xiàn)電容容量的數(shù)字顯示;</p><p> 要求測量范圍1pF-100uF;</p><p> 方便、快捷且成本低廉。</p><p> 3.2 整體方案設計</p><p> 本設計的整體思路是:根據555振蕩器的特點,將電容容值的大小轉變成555振蕩器輸出頻率的大小,從而通過STC89C52單片機對555正當器輸出頻率大小的測
28、量來確定被測電容的容值。本次設計共使用2個方案,具體可見下面的方案一和方案二:</p><p> 方案一:根據電容充放電時間確定電容容值</p><p> 這種電容測量方法主要利用電容的充放電特性:</p><p> 同時放電常數(shù)r=RC,通過測量電容被測電容的充放電時間來確定被測電容的容值大小。一般情況下,可設計電路使T=ARC(T為振蕩周期或處罰時間;A為
29、電路常數(shù)與電路參數(shù)有關)。這種方法可以使用于由555振蕩器組成的單穩(wěn)態(tài)觸發(fā)器,在秒脈沖的作用下產生觸發(fā)脈沖,來控制門電路實現(xiàn)計數(shù),從而確定脈沖時間,通過設計合理的電路參數(shù),使計數(shù)值與被測電容相對應。其系統(tǒng)框圖如圖3所示:</p><p> 圖3 方案一系統(tǒng)框圖</p><p> 這種方法硬件結構相對復雜,實際上是通過犧牲硬件部分來減輕軟件部分的負擔,雖然軟件設計會非常簡單。但是使用這種
30、方法在具體設計中會碰到很大的問題,而且硬件一旦設計好,可變性不大,一旦功能不能完全實現(xiàn),硬件修改起來就會非常麻煩。</p><p> 方案二:基于STC89C52和555振蕩器多諧振蕩電路電容測量</p><p> 該方案是通過一塊555芯片來測量電容,讓555芯片工作在直接反饋無穩(wěn)態(tài)的狀態(tài)下,使555芯片輸出一定頻率的方波,其頻率的大小跟被測量的電容之間的關系是:</p>
31、<p> 我們固定R的大小,其公式就可以寫為:</p><p> 因此,只要我們能夠測量出555芯片輸出的頻率,就可以計算出被測電容的容值。計算頻率的方法可以利用單片機的計數(shù)器T0和中斷INT0配合使用來測量,這種研究方法相當?shù)暮唵?。系統(tǒng)框圖見圖4:</p><p> 圖4 方案二系統(tǒng)框圖</p><p> 圖中給出了整個系統(tǒng)設計的系統(tǒng)框圖,系
32、統(tǒng)主要由四個主要部分組成,單片機和晶振電路設計,555芯片電路設計,LCD1602顯示電路,復位電路設計。</p><p> 該方案對比方案一硬件方面要簡單一點,軟件方面要復雜一點。由于實際電路制作過程中,硬件方面修改起來非常復雜,軟件修改則比較簡單。因此最終選擇方案二作為本次設計的最終方案。</p><p><b> 4 硬件設計</b></p>
33、<p><b> 3.1 時鐘電路</b></p><p> 時鐘電路采用內部時鐘方式,即用電容C2、C3和12M晶振組成,接在單片機的第18和19號引腳上。STC89C52內部有一個用于構成振蕩器的高增益反向放大器,它的輸入端為芯片引腳XTAL1,輸出端為XTAL2。這兩個引腳跨接石英晶體和微調電容,構成一個穩(wěn)定的自激振蕩器。其電路圖如圖5所示:</p>&
34、lt;p><b> 圖5 系統(tǒng)時鐘電路</b></p><p><b> 3.2 按鍵電路</b></p><p> 按鍵電路可以實現(xiàn)人機對話,人們可以通過按鍵來實現(xiàn)讓單片機自動的做不同的工作。鍵盤是一組按鍵的集合,按鍵開關是一種常開型開關,一般情況下按鍵電路的兩個觸點會處于斷開狀態(tài),按下鍵時它們是閉合的。鍵盤分為編碼鍵盤及非編碼鍵
35、盤這2種,按鍵的識別是由專門的硬件通過譯碼來實現(xiàn)的,能產生鍵編號或者是鍵值的鍵盤被稱為編碼鍵盤,而缺少這種的要靠自編軟件識別的鍵盤則被稱為非編碼鍵盤。在由單片機組成的電路系統(tǒng)以及智能儀器中,使用的較多的一般是非編碼鍵盤。圖6就是一種比較典型的按鍵電路,在按鍵沒有按下的時候,輸出的是高電平,當按鍵按下去的時候,輸出的是低電平。</p><p><b> 圖6 系統(tǒng)按鍵電路</b></p
36、><p><b> 3.3 復位電路</b></p><p> 復位電路是為單片機提供正確的復位信號,由一個電阻、按鍵和一個電容組成,使單片機上電的時候復位。單片機復位電路主要包括積分復位、微分復位、比較器復位和看門狗復位這四種類型。52單片機的復位功能主要是由外接復位電路來實現(xiàn)的,單片機在啟動時都會需要復位電路來實現(xiàn)CPU和各個原件都處于初始狀態(tài),并從初始狀態(tài)開始
37、工作。</p><p> 該復位電路采用的是按鈕復位這種方式,還有一種方式是上電自動復位。上電自動復位電路通過外接的電解電容自動充放電從而實現(xiàn)電路的復位作用,只要Vcc的上升時間低于1ms,自動上電復位就可以實現(xiàn)。圖7中所示的電解電容在系統(tǒng)內可以起到上電復位的作用,因為考慮到芯片剛剛上電時由于供電不穩(wěn)定而做出錯誤的計算,所以增加一個上電復位以達到延時啟動CPU的目的,使芯片能夠正常工作。雖然現(xiàn)在很多芯片自帶了上
38、電延時功能,但是我們一般還是會增加額外的上電復位電路,提高可靠性。當按壓式開關按下時,電容兩端構成回路并放電,使RST端重新變?yōu)楦唠娖剑存I抬起時電容又充電使RST變回低電平電路。</p><p><b> 圖7 系統(tǒng)復位電路</b></p><p> 3.4 555芯片電路</p><p> 555芯片電路是一種能將模擬數(shù)據功能與邏輯
39、數(shù)據功能結合在同一個芯片上的組合式集成電路。它的設計新穎、功能強大、適用面廣泛,深受電子方面工作人員以及電子愛好者的喜愛,因此人們稱555芯片為小IC。</p><p> 555芯片電路能應用的電路有很多,例如:多個單穩(wěn)、雙穩(wěn)觸發(fā)器以及一個單穩(wěn)和無穩(wěn)觸發(fā)器,一個雙穩(wěn)和無穩(wěn)觸發(fā)器等組合。在實際電路應用中,除了一些簡單的電路外,555芯片還可以與不同的原件組合出很多功能不同的電路。本次設計中應用的電路是直接反饋型無
40、穩(wěn)類電路。電路如圖8所示:</p><p> 圖8 555芯片電路</p><p> 在555芯片輸出方波后,由于硬件的原因,輸出的方波會有很多毛刺,所以為了去除這些毛刺本設計中使用了一個兩輸入與門(74HC08),讓信號通過74HC08后會使輸出的波形毛刺減少很多,使單片機的測量結果變得精確。</p><p> 555時基芯片的輸出頻率跟所使用的電阻R和電容
41、C的關系是:</p><p><b> 又因為,所以</b></p><p><b> 即:</b></p><p> 如果單片機采用12M的晶振,計數(shù)器T0的值增加1,時間就增加1μS,我們采用中斷的方式來啟動和停止計數(shù)器T0,中斷的觸發(fā)方式為脈沖下降沿觸發(fā),第一次中斷到來啟動T0,計數(shù)器的值為,第二次中斷到來停
42、止T0,計數(shù)器器的值為,則測量方波的周期為</p><p> 如何開始時刻計數(shù)器的值,則。</p><p> 則: </p><p> 單片機的計數(shù)器的值N=0-65535,為了測量的精度,N的取值一般在100~5000,當電阻R越大,電容C的值就越小。我們取不同的電阻值,就得到不同的電容測量的量程。</p&
43、gt;<p> 第一檔: 1~50 uf</p><p> 第二檔: 0.1~5 uf</p><p> 第三檔: 0.01~0.5 uf</p><p> 第四檔: 0.001~0.05 uf</p><p> 在圖中,由4個開關來控制這4個檔位
44、。分別是K1控制第一檔;K2控制第二檔;K3控制第三檔;K4控制第四檔。在操作工程中,當一個檔位的開關接通時,其他三個檔位的開關必須關閉,這樣才能實現(xiàn)對檔位的控制。</p><p> 為了編寫程序的方便,我們只計算后面的單位可以根據使用的量程自行添加。測量范圍的大小0.001uF~655.35uF。</p><p> 由于這些阻值的電容在市場上根本買不到,所以該設計采用的是與其阻值相近
45、的精密可調電阻來代替。</p><p><b> 3.5 顯示電路</b></p><p> 由于本設計需要顯示的數(shù)據較多,同時LCD1602與同類產品相比擁有功耗小、數(shù)據顯示豐富、體型輕便,功能強大等諸多優(yōu)點,在很多電子產品和單片機系統(tǒng)中得到了廣泛的應用。因此,我選擇LCD1602作為該設計的顯示器。LCD1602一共有16個引腳,其引腳分布如圖9所示:<
46、;/p><p><b> 圖9 系統(tǒng)顯示電路</b></p><p> 1602 采用標準的16腳接口,引腳具體功能如表2所示:</p><p> 表2 LCD1602各引腳功能圖</p><p><b> 5 程序設計</b></p><p> 單片機的使用除了硬件
47、,同樣也要到軟件,該設計程序設計使用的是keil軟件,keil是目前最流行開發(fā)MCS-51系列單片機的軟件。</p><p> 在主程序中,通過檢測按鍵是否按下來執(zhí)行循環(huán)程序。通過單片機P3.7端口檢測是否開始測量電容,然后通過端口P3.6端口對555定時器復位端進行方波輸出控制。最后通過程序對外部中斷0與定時器控制,計算出電容值得大小并通過LCD1602進行顯示。圖10為該程序設計的流程圖:</p>
48、;<p> 圖10 軟件設計流程圖</p><p><b> 6 總結</b></p><p> 本設計從起草到完稿,耗時大約一個月。在這次的設計的各個過程中,遇到了許多的困難。首先在原理圖的設計過程中,由于對STC89C52的工作原理不太了解,導致在剛開始編寫程序時不知道該如何下手。后來通過翻閱課本和在網上查找資料,基本了解了STC89C52的
49、工作原理,才有了初步的思路。本設計通過由555芯片和電容電阻組成的振蕩電路來輸出方波,通過單片機定時器T0測量其脈沖寬度,從而達到測量其周期的目的,再通過單片機軟件編程,對數(shù)據進行進一步的計算從而得出被測電容的值,最后再通過LCD1602顯示初被測電容的容值。</p><p> 其次在電路焊接過程中,與單片機連接的LCD始終不亮,用萬用表測試發(fā)現(xiàn)是顯示管腳接錯了,重新焊接以后,LCD1602就亮了。但是后來寫入
50、程序進入單片機后,LCD1602沒有正確顯示,檢查后才發(fā)現(xiàn)是555振蕩器有個引腳與單片機引腳接錯了。</p><p> 最后在論文的撰寫過程中,由于自己對WORD的掌握程度不夠,導致論文撰寫速度很慢,格式也老是弄錯。但在自己的努力學習下學會了如何用WORD文檔進行論文排版,并最后順利的完成了論文。</p><p> 焊晶振要注意:一定要盡量保證晶振焊腳與18、19腳的焊腳是最短,對稱的
51、,晶振焊腳與30pF的電容也要求最短和對稱。因為在STC89C52最小系統(tǒng)搭建中,最關鍵的就是確保晶振能起振。感覺晶振比較嬌氣,偏差一點點就很容易不振或亂振。前兩次的最小系統(tǒng)就是因為沒有起振,所以失敗了!不過有過兩次經驗之后,我終于將這個問題解決了。</p><p> 在21世紀這個數(shù)字化時代,數(shù)字電容測量儀正朝著高精度、低成本、方便快捷的方向發(fā)展,這就要求我們掌握更多的設計技術。相信經過我們的不斷努力學習,我
52、們一定有能力設計出越來越好的數(shù)字電容測量儀,以滿足人們在日常工作和生活中的需求。</p><p><b> 參考文獻</b></p><p> [1] 劉光斌,劉冬,姚志成.單片機系統(tǒng)實用抗干擾技術[M].北京人民郵電出版社,2004</p><p> [2] 張毅剛.單片機原理及應用[M].北京:高等教育出版社,2005</p&g
53、t;<p> [3] 楊小川.protel DXP 設計指導教程[M].北京:清華大學出版社,2004</p><p> [4] 萬文略.單片機原理及應用[M].重慶大學出版社,2004</p><p> [5] 李金平,沈明山,姜余祥.電子系統(tǒng)設計[M].北京:電子工業(yè)出版社,2007</p><p> [6] 王毓銀.數(shù)字電路邏輯設計[M]
54、.北京:高等教育出版社,1999</p><p> [7] 付曉光.單片機原理與使用技術[M].北京:清華大學出版社,2007</p><p> [8] 康華光.電子技術基礎[M].北京:高等教育出版社,2000</p><p> [9] 江世明.基于Proteus的單片機用用技術[M].北京:電子工業(yè)出版社,2009</p><p>
55、 [10] 邊春元.C51單片機典型模塊設計與應用[M].機械工業(yè)出版社育出版社,2008</p><p> [11] 李海清,黃志遙.電容傳感器新型微弱電容測量電路[J].北京:傳感技術學報,2002</p><p> [12] 羅民昌.集成電路系統(tǒng)[M].北京:中國鐵道出版社,1998</p><p> [13] 李桂安.電子技術實驗及課程設計[M].南
56、京:東南大學出版社,2008</p><p> [14] 夏繼強.單片機實驗與實踐教程[M].北京:北京航空航天大學出版社,2001</p><p> [15] 郝波.數(shù)字電子技術[M].西安:西安電子科技大學出版社,2007</p><p> [16] 肖洪兵.跟我學用單片機[M].北京:北京航空航天大學出版社,2002</p><p&g
57、t; [17] 申忠如,郭福田,丁暉.現(xiàn)代測試技術與系統(tǒng)設計[M].西安:西安交通大學出版社,2006</p><p> [18] 趙文博.新型常用集成電路速查手冊[M].北京:人民郵政出版社,2006</p><p> [19] 薛文,華慧明.新編實用電子技術快速入門[M].福州:福建科學技術出版社,2003</p><p> [20] 丁英麗.交流型微小
58、電容測量電路的設計[J].北京:電工技術雜志,2003</p><p><b> 附錄</b></p><p><b> 附錄1 實物圖</b></p><p><b> 附錄2 元件清單</b></p><p><b> 附錄3 系統(tǒng)原理圖</b>
59、;</p><p><b> 附錄4 程序清單</b></p><p> #include <reg52.h></p><p> #include<intrins.h> //庫函數(shù)</p><p> #define DATA P0</p><p> sbit RW
60、=P2^6; //1602寫數(shù)據</p><p> sbit RS=P2^5; //1602寫地址</p><p> sbit EN=P2^7; //1602工作使能</p><p> sbit b_test=P3^7; //開始測量電容的按鍵輸入</p><p> sbit _reset=P3
61、^6; //555時基芯片工作控制信號</p><p> unsigned int T_flag,N,C,i,Dis1,Dis0;</p><p> unsigned int b[6]={0X13,0X0D,0X00,0X00,0X25,0X16}; //顯示C=00UF</p><p> /***********延時1MS**************
62、****/</p><p> void Delay1ms(unsigned int mm)</p><p> {unsigned int i;</p><p> for(mm;mm>0;mm--)</p><p> for(i=100;i>0;i--);</p><p><b> }&l
63、t;/b></p><p> /***************檢查忙否*****************/</p><p> void Checkstates()</p><p><b> {</b></p><p> unsigned char dat;</p><p><b
64、> RS=0;</b></p><p><b> RW=1;</b></p><p> do{EN=1;//下降沿</p><p> _nop_();//保持一定間隔</p><p><b> _nop_();</b></p><p><b&
65、gt; dat=DATA;</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> EN=0;</b></p><p> }while((dat&0x80)==1);
66、</p><p><b> }</b></p><p> /**************LCD寫命令函數(shù)*********/</p><p> void wcomd(unsigned char cmd)</p><p><b> {</b></p><p> Che
67、ckstates();</p><p><b> RS=0;</b></p><p><b> RW=0;</b></p><p><b> DATA=cmd;</b></p><p><b> EN=1;</b></p><p
68、><b> _nop_();</b></p><p><b> _nop_(); </b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> EN=0
69、;</b></p><p><b> }</b></p><p> /**********LCD寫數(shù)據函數(shù)**************/</p><p> void wdata(unsigned char dat)</p><p><b> {</b></p>&l
70、t;p> Checkstates();</p><p><b> RS=1;</b></p><p><b> RW=0;</b></p><p><b> DATA=dat;</b></p><p><b> EN=1;</b></
71、p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><b> _nop_();</b></p><p><
72、b> EN=0;</b></p><p><b> }</b></p><p> /*****************初始化********************/</p><p> void LCDINIT()</p><p><b> {</b></p>
73、<p> Delay1ms(15);</p><p> wcomd(0x38);//功能設置</p><p> Delay1ms(5);</p><p> wcomd(0x38);//功能設置</p><p> Delay1ms(5);</p><p> wcomd(0x01);//清屏<
74、;/p><p> Delay1ms(5);</p><p> wcomd(0x08);//關顯示</p><p> Delay1ms(5);</p><p> wcomd(0x0c);//開顯示,不開光標</p><p><b> }</b></p><p> /*
75、**********顯示函數(shù)**************/</p><p> void Display(void) //顯示函數(shù)</p><p><b> {</b></p><p> unsigned char i,j;</p><p> unsigned char a[12]={0X4D,0X45,0X41,
76、0X53,0X55,0X52,0X45,0X4D,0X45,0X4E,0X54,0X53};//顯示measurements</p><p> LCDINIT();</p><p> for(i=0;i<12;i++)//寫顯示第一行</p><p> { wcomd(0x80+i);</p><p> Delay1ms(1);
77、</p><p> wdata(a[i]);</p><p> Delay1ms(1);</p><p><b> }</b></p><p> for(j=0;j<6;j++)//寫顯示第二行</p><p><b> {</b></p>&l
78、t;p> wcomd(0xc0+j);</p><p> Delay1ms(1);</p><p> wdata(0x30+b[j]);</p><p> Delay1ms(1);</p><p><b> }</b></p><p> Delay1ms(150);</p&
79、gt;<p><b> }</b></p><p> void main()</p><p><b> {</b></p><p> IE=0x81; //打開全部的中斷控制,并開啟外部中斷允許</p><p> TMOD=0
80、x09; //T0為16位計數(shù)工作方式1</p><p> IT0=1; //設置外部中斷的觸發(fā)的方式為脈沖觸發(fā)</p><p><b> TH0=0x00;</b></p><p><b> TL0=0x00;</b>
81、;</p><p><b> T_flag=0;</b></p><p><b> _reset=0;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> w
82、hile(!b_test) //如果有測量按鍵輸入就往下執(zhí)行</p><p><b> {</b></p><p><b> i=0;</b></p><p> _reset=1; //啟動555時基芯片</p><p&
83、gt; EX0=1; //開啟中斷0</p><p> while(_reset) //超出等待時間,中斷還沒有過來,就退出</p><p><b> {</b></p><p><b> i++;</b></p><p> if(i>5000) //設置最
84、長等待時間</p><p><b> {</b></p><p> _reset=0; //最長等待時間到還沒有中斷,停止555</p><p><b> }</b></p><p><b> }</b></p><p> if(N<1
85、00) //如果計數(shù)值小于100,顯示SM,表示應換用小一點的量程</p><p><b> {</b></p><p> b[3]=0X1D;</p><p> b[2]=0X23;</p><p><b> }</b></p><p> if(N
86、>5000) //如果計數(shù)值大于5000,顯示LA,表示應換用大一點的量程</p><p><b> {</b></p><p> b[3]=0X11;</p><p> b[2]=0X1C;</p><p><b> }</b></p><p>
87、 if(N>=100 && N<=5000)</p><p><b> {</b></p><p> C=N/100; //計算電容的大小</p><p> b[2]=C/10; //計算電容值的十位</p><p> b[3]=C-b[2]*10; /
88、/計算電容值的各位</p><p><b> }</b></p><p><b> }</b></p><p> Display(); //顯示電容的大小</p><p><b> }</b></p><p><b> }</b
89、></p><p> void int0(void) interrupt 0 //第一次中斷開始計數(shù),第二個中斷停止計數(shù)</p><p><b> {</b></p><p> T_flag=!T_flag;</p><p> if(T_flag==1)</p><p><
90、b> {</b></p><p> TR0=1; //開始計時</p><p><b> }</b></p><p> if(T_flag==0)</p><p><b> {</b></p><p> TR0=0;
91、 //停止計時</p><p> EX0=0; //關閉中斷</p><p> _reset=0; //停止發(fā)出方波</p><p> N=TH0*256+TL0; //計算計數(shù)器的值</p><p><b> N=N*5/3;</b></p><p> TH
92、0=0x00; //恢復初值</p><p><b> TL0=0x00;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> 致謝</b></p><p>
93、; 此次畢業(yè)設計是本科四年來對自己所學知識的一個總結,其難度、復雜性、對設計的要求都是以前所不能比擬的。所要用到的知識及相關的資料有相當部分超出我們四年的所學,需要通過其他途徑來獲取信息。通過這次畢業(yè)設計讓我更加了解了自己的專業(yè),并且提高了自己的自學能力。</p><p> 在此要特別感謝我的指導老師,該畢業(yè)論文是在尊敬的**老師的細心指導和熱情鼓勵下完成的。無論是論文的選題、設計思路、理論概括還是系統(tǒng)設計到
94、論文撰寫,處處浸透著**老師的心血,**老師對我的關心和幫助讓我動力十足。**老師淵博的專業(yè)知識、活躍的學術思想、嚴謹?shù)慕虒W態(tài)度、求實的工作作風、孜孜不倦的精神和精心培養(yǎng)人才的風范,都使我受益非淺。這些精神和態(tài)度都值得我們這些年輕的學子們學習,**老師謙遜無私、平易近人的高尚品格及熱情教導的樸實作風也一直是我學習的榜樣。</p><p> 在此,我向您致以最深摯的謝意!您辛苦了!</p><
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設計——在線電容測量儀設計
- 畢業(yè)設計數(shù)字式電容測量儀的設計
- 畢業(yè)論文-數(shù)字電容測量儀設計【精校排版】
- 數(shù)字電容測量儀-課程設計
- 數(shù)字電容測量儀
- 數(shù)字電容測量儀設計【電子信息工程畢業(yè)論文】
- 數(shù)字圖像刀具測量儀畢業(yè)設計論文
- 數(shù)字電容測量儀設計【電子信息工程畢業(yè)論文】
- 齒輪測量儀畢業(yè)設計論文
- 脈搏測量儀畢業(yè)設計論文
- 畢業(yè)設計(論文)--基于單片機的電容測量儀設計
- 數(shù)字身高體重測量儀畢業(yè)設計
- 數(shù)字身高體重測量儀畢業(yè)設計
- 畢業(yè)設計---基于單片機的電容測量儀設計
- 畢業(yè)設計--基于單片機的電容測量儀設計
- 畢業(yè)設計-----基于單片機的電容測量儀設計
- 脈搏測量儀畢業(yè)設計
- 電壓電阻測量儀畢業(yè)設計論文
- 數(shù)字電容測量儀2.doc
- 畢業(yè)設計---人體脈搏測量儀設計
評論
0/150
提交評論