2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  單片機課程設計</b></p><p>  題 目 數(shù)字式電壓表 </p><p><b>  目 錄</b></p><p><b>  1 設計目的1</b></p><p>  2 課程設計的任務與要求1</

2、p><p>  2.1 設計任務1</p><p>  2.2 設計要求2</p><p>  3 設計方案與論證2</p><p>  4 設計原理及功能說明3</p><p>  4.1 模數(shù)轉換原理3</p><p>  4.2 數(shù)據(jù)處理4</p><p>

3、  4.3 數(shù)據(jù)顯示4</p><p>  4.4 設計電路和仿真4</p><p><b>  5 芯片簡介6</b></p><p>  5.1 ADC0808芯片6</p><p>  5.2 AT89C51芯片9</p><p>  5.3 LED顯示系統(tǒng)11</p>

4、;<p>  6 單元電路的設計13</p><p>  6.1 A/D轉換電路13</p><p>  6.2 時鐘電路14</p><p>  6.3 復位電路15</p><p>  6.4 LED顯示電路15</p><p>  7 硬件的制作與調試16</p><

5、p><b>  8 總結18</b></p><p><b>  參考文獻19</b></p><p>  附錄1:電路原理圖20</p><p>  附錄2:元器件清單21</p><p>  附錄3:實物圖22</p><p>  附錄4:源程序.....

6、..............................................................24</p><p><b>  1 設計目的</b></p><p>  隨著微電子技術的不斷發(fā)展,微處理器芯片的集成程度越來越高,單片機已可以在一塊芯片上同時集成CPU、存儲器、定時器/計數(shù)電路,這就很容易將計算機技術與測量控制技術結合,組成

7、智能化測量控制系統(tǒng)。 </p><p>  數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它是采用數(shù)字化測量技術,把連續(xù)的模擬量(直流輸入電壓)轉換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。與此同時,由DVM擴展而成的各種通用及專用數(shù)字儀

8、器儀表,也把電量及非電量測量技術提高到嶄新水平。本章重點介紹單片A/D 轉換器以及由它們構成的基于單片機的數(shù)字電壓表的工作原目前,由各種單片A/D 轉換器構成的數(shù)字電壓表,已被廣泛用于電子及電工測量、工業(yè)自動化儀表、自動測試系統(tǒng)等智能化測量領域,示出強大的生命力理。</p><p>  本設計AT89C51單片機的一種電壓測量電路,該電路采用ADC0808本文介紹一種基于A/D轉換電路,測量范圍直流 0~5V 的

9、4路輸入電壓值,并在四LED數(shù)碼管上顯示或單路選擇顯示。測量最小分辨率為0.019V,測量誤差約為正負0.02V。</p><p>  2 課程設計的任務與要求</p><p><b>  2.1 設計任務</b></p><p>  本設計是利用單片機AT89C51(可用STC89C52替代)與ADC0808(可用ADC0809替代)設計一個

10、數(shù)字電壓表,測量0-5V之間的直流電壓值,用四位數(shù)碼管顯示。</p><p><b>  2.2 設計要求</b></p><p> ?。?) 以MCS-51系列單片機為核心器件,組成一個簡單的直流數(shù)字電壓表。</p><p>  (2) 采用1路模擬量輸入,能夠測量0-5V之間的直流電壓值。</p><p>  (3)

11、 電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 </p><p>  (4) 盡量使用較少的元器件。 </p><p><b>  3 設計方案與論證</b></p><p><b>  主控芯片:</b></p><p>  方案1:選用專用電壓轉化芯片INC7107實現(xiàn)電壓的測量

12、和實現(xiàn)。用四位數(shù)碼管顯示出最后的轉換電壓結果。缺點是精度比較低,且內部電壓轉換和控制部分不可控制。</p><p>  方案2:選用單片機AT89S51和A/D轉換芯片ADC0808實現(xiàn)電壓的轉換和控制,用四位數(shù)碼管顯示出最后的轉換電壓結果。優(yōu)點是轉換精度高,且轉換的過程和控制、顯示部分可以控制。</p><p>  基于課程設計的要求,我們優(yōu)先選用了:方案2</p><

13、;p><b>  顯示部分:</b></p><p>  方案1:選用4個單獨的共陽數(shù)碼管。缺點是焊接時比較麻煩,容易出錯。</p><p>  方案2:選用一個四聯(lián)的共陽數(shù)碼管,外加四個三極管驅動。這個電路幾乎沒有缺點;優(yōu)點是便于控制,價格低廉,焊接簡單。</p><p>  基于課程設計的要求,我們優(yōu)先選用了:方案2</p>

14、;<p>  硬件電路設計由6個部分組成: A/D轉換電路,AT89C51單片機系統(tǒng),LED顯示系統(tǒng)、時鐘電路、驅動電路以及測量電壓輸入電路。硬件電路設計框圖如圖3-1所示: </p><p>  圖3-1 數(shù)字電壓表系統(tǒng)硬件設計框圖</p><p>  4 設計原理及功能說明</p><p>  4.1 模數(shù)轉換原理</p><p

15、>  試驗中,我們選用ADC0808作為模數(shù)轉換的芯片,其為逐次逼近式AD轉換式芯片,其工作時需要一個穩(wěn)定的時鐘輸入,根據(jù)查找資料,得到ADC0808的時鐘頻率在10khz~1200khz,我們選擇典型值640khz。課題要求測量電壓范圍是0到5V,又ADC0808的要求:</p><p>  V ref+<=V cc V ref->=GND (4-1)</p>

16、;<p><b>  故我們?。?</b></p><p>  V ref+=+5V V ref-=0V (4-2) </p><p>  由于ADC0808有8個輸入通道可供選擇,我們選擇IN0通道,直接使ADC0808的A、B、C接地便可以了,在當ADC0808啟動時ALE引腳電平正跳

17、變時變可以鎖存A、B、C上的地址信息。ADC0808可以將從IN0得到的模擬數(shù)據(jù)轉換為相應的二進制數(shù),由于ADC0809輸出為8位的二進制數(shù),轉換時將0到5V分為255等分,所以我們可以得到轉換公式為x/255*5化簡為x/51x為得到的模擬數(shù)據(jù)量,也就是直接得到的電壓量。在AD轉換完成后,ADC0808將在EOC引腳上產生一個8倍于自身時鐘周期的正脈沖,以此來作為轉換結束的標志。然后當OE引腳上產生高電平時,ADC0808將允許轉換完

18、的二進制數(shù)據(jù)輸出。</p><p><b>  4.2 數(shù)據(jù)處理</b></p><p>  由ADC0808的轉換原理可以知道我們從其得到數(shù)據(jù)還只是二進制數(shù)據(jù),我們還需要進一步處理來的到x的十進制數(shù),并且對其進行精度處理,也就是課題要求的的精確到小數(shù)點后兩位,在這里我們用51單片機對數(shù)據(jù)進行處理。我們處理數(shù)據(jù)的思路是:首先將得到的二進制數(shù)直接除以十進制數(shù)51,然后取

19、整為x的整數(shù)部分,然后就是將得到的余數(shù)乘以10,然后再除以51,再取整為x的十分位,最后將得到的余數(shù)除以5得到x的百分位。</p><p><b>  4.3 數(shù)據(jù)顯示</b></p><p>  試驗中我們用到四位一體的八段數(shù)碼管,所以我們只能考掃描顯示來完成數(shù)碼管對x的顯示,我們用的是四位數(shù)碼顯示管,但是x只是三位的,故我們將將第四位顯示為單位U,通過程序的延時,

20、實現(xiàn)四位數(shù)碼管的穩(wěn)定顯示。</p><p>  4.4 設計電路和仿真</p><p>  我們將單片機得P0口接上拉電阻后與數(shù)碼管的8位段選相連,若不接上拉電阻將無法驅動數(shù)碼管,用P2口得4到7位連接數(shù)碼管的段選,考慮到整體的PCB布線,我選用 P3.2口作為ADC0808的時鐘輸出端,并用到單片機的定時器。用P3.5傳輸ADC0808的START啟動信號,用P3.6作為ALE的信號傳輸

21、,P3.3作為OE的連接端。IN0為輸入端,而ADC0808的IN1到IN7懸空,不作連接。單片機EA接高電平。而P3口從ADC0808的輸出端輸入數(shù)據(jù)。</p><p>  數(shù)字電壓表電路仿真如圖4-1所示:</p><p>  圖4-1 數(shù)字式電壓表仿真圖</p><p>  此電路的工作原理是:+5V模擬電壓信號通過變阻器VR1分壓后由ADC08008的IN0

22、通道進入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經過模/數(shù)轉換后,產生相應的數(shù)字量經過其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負責把接收到的數(shù)字量經過數(shù)據(jù)處理,產生正確的7段數(shù)碼管的顯示段碼傳送給四位LED,同時它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產生位選信號控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0808的工作。其中,單片機AT89C51通過定

23、時器中斷從P2.4輸出方波,接到ADC0808的CLOCK,P2.6發(fā)正脈沖啟動A/D轉換,P2.5檢測A/D轉換是否完成,轉換完成后,P2.7置高從P1口讀取轉換結果送給LED顯示出來[3]。</p><p>  簡易數(shù)字直流電壓表的硬件電路已經設計完成,就可以選取相應的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細地檢查修改,直至形成完善的硬件原理圖。但要真正實現(xiàn)電路對電壓的測量和顯示的功能,還

24、需要有相應的軟件配合,才能達到設計要求。</p><p><b>  5 芯片簡介</b></p><p>  5.1 ADC0808芯片</p><p>  ADC0808 主要特性:ADC0808是CMOS單片型逐次逼近式A/D轉換器,帶有使能控制端,與微機直接接口,片內帶有鎖存功能的8路模擬多路開關,可以對8路0-5V輸入模擬電壓信號分時

25、進行轉換,由于ADC0808設計時考慮到若干種模/數(shù)變換技術的長處,所以該芯片非常適應于過程控制,微控制器輸入通道的接口電路,智能儀器和機床控制等領域。</p><p>  ADC0808主要特性:8路8位A/D轉換器,即分辨率8位;具有鎖存控制的8路模擬開關;易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉換時間:128μs;轉換精度:0.2%;單個+5V電源供電;模擬輸入電壓范圍0- +5V,無需外

26、部零點和滿度調整;低功耗,約15mW。ADC0808芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖5-1所示:</p><p>  圖5-1 ADC0808引腳圖</p><p>  下面說明各個引腳功能: IN0-IN7(8條):8路模擬量輸入線,用于輸入和控制被轉換的模擬電壓。地址輸入控制(4條):ALE:地址鎖存允許輸入線,高電平有效,當ALE為高電平時,為地址輸入線,用于選擇I

27、N0-IN7上那一條模擬電壓送給比較器進行A/D轉換。 ADDA,ADDB,ADDC:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對應關系如表5-1所示:</p><p>  表5-1 ADC0808通道選擇表</p><p>  START:START為“啟動脈沖”輸入法,該線上正脈沖由CPU送來,寬度應大于100ns,上升沿清零SAR,下降沿啟動ADC工作。</p>

28、<p>  EOC: EOC為轉換結束輸出線,該線上高電平表示A/D轉換已結束,數(shù)字量已鎖入三態(tài)輸出鎖存器。</p><p>  D1-D8:數(shù)字量輸出端,D1為高位。</p><p>  OE:OE為輸出允許端,高電平能使D1-D8引腳上輸出轉換后的數(shù)字量。</p><p>  REF+、REF:參考電壓輸入量,給電阻階梯網絡供給標準電壓。</p&

29、gt;<p>  V cc、GND:V cc為主電源輸入端,GND為接地端,一般REF+與V cc連接在一起,REF-與GND連接在一起.</p><p>  CLK:時鐘輸入端。</p><p> ?。?) 8路模擬通道選擇開關實現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進行比較。</p><p> ?。?) 地址鎖存與譯碼器用于當ALE信號有效時

30、,鎖存從ADDA、ADDB、ADDC 3根地址線上送來的3位地址,譯碼后產生通道選擇信號,從8路模擬通道中選擇當前模擬通道。</p><p> ?。?) 比較器,8位開關樹型A/D轉換器,逐次逼近型寄存器,定時和控制電路組成8位A/D轉換器,當START信號有效時,就開始對當前通道的模擬信號進行轉換,轉換完成后,把轉換得到的數(shù)字量送到8位三態(tài)鎖存器,同時通過引腳送出轉換結束信號。</p><p

31、> ?。?) 三態(tài)輸出鎖存器保存當前模擬通道轉換得到的數(shù)字量,當OE信號有效時,把轉換的結果送出。</p><p>  ADC0808的工作流程為:</p><p> ?。?) 輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經地址譯碼器從8路模擬通道中選通1路模擬量送給比較器。</p><p> ?。?) 送START一高脈沖,START的上升沿使逐次

32、寄存器復位,下降沿啟動A/D轉換,并使EOC信號為低電平。</p><p> ?。?) 當轉換結束時,轉換的結果送入到輸出三態(tài)鎖存器中,并使EOC信號回到高電平,通知CPU已轉換結束。</p><p> ?。?) 當CPU執(zhí)行一讀數(shù)據(jù)指令時,使OE為高電平,則從輸出端D0-D7讀出數(shù)據(jù)。</p><p>  5.2 AT89C51芯片</p><

33、p>  AT89C51提供以下標準功能:4KB的Flash閃速存儲器,128B內部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內震蕩器及時鐘電路,同時,AT89C51可降至0Hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。AT89C51采用PDIP封裝形式,引腳配置如圖5-2所示:</p><p>  圖5-2 AT89C51的引腳圖</p&g

34、t;<p>  AT89C51芯片的各引腳功能為:P0口:這組引腳共有8條,P0.0為最低位。這8個引腳有兩種不同的功能,分別適用于不同的情況,第一種情況是89C51不帶外存儲器,P0口可以為通用I/O口使用,P0.0-P0.7用于傳送CPU的輸入/輸出數(shù)據(jù),這時輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是AT89C51帶片外存儲器,P0.0-P0.7在CPU訪問片

35、外存儲器時先傳送片外存儲器的低8位地址,然后傳送CPU對片外存儲器的讀/寫數(shù)據(jù)。P0口為開漏輸出,在作為通用I/O使用時,需要在外部用電阻上拉。P1口:這8個引腳和P0口的8個引腳類似,P1.7為最高位,P1.0為最低位,當P1口作為通用I/O口使用時,P1.0-P1.7的功能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。P2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用I/O口使用,它的第一功能和P0口引

36、腳的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不是像P0口那樣傳送存儲器的讀/寫數(shù)據(jù)。P3口:這組引腳的第一功能和其</p><p>  表5-2 P3口第二功能</p><p>  V cc為+5V電源線,Ass接地。</p><p>  ALE:地址鎖存允許線,配合P0口的第二功能使用,在訪問外部存儲器時,AT89C51的CPU

37、在P0.0-P0.7引腳線去傳送隨后而來的片外存儲器讀/寫數(shù)據(jù)。在不訪問片外存儲器時,89C51自動在ALE線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時鐘源或定時脈沖使用</p><p>  :片外存儲器訪問選擇線,可以控制89C51使用片內ROM或使用片外ROM,</p><p>  若=1,則允許使用片內ROM, 若=0,則只使用片外ROM。</p>

38、<p> ?。浩釸OM的選通線,在訪問片外ROM時,89C51自動在線上產生一個負脈沖,作為片外ROM芯片的讀選通信號。</p><p>  RST:復位線,可以使89C51處于復位(即初始化)工作狀態(tài)。通常89C51復位有自動上電復位和人工按鍵復位兩種。</p><p>  XTAL1和XTAL2:片內震蕩電路輸入線,這兩個端子用來外接石英晶體和微調電容,即用來連接89C5

39、1片內OSC(震蕩器)的定時反饋回路。</p><p>  5.3 LED顯示系統(tǒng)</p><p> ?。?) LED基本結構</p><p>  LED是發(fā)光二極管顯示器的縮寫。LED由于結構簡單、價格便宜、與單片機接口方便等優(yōu)點而得到廣泛應用。LED顯示器是由若干個發(fā)光二極管組成顯示字段的顯示器件。在單片機中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8

40、個發(fā)光二極管組成顯示字段,其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點用,其通過不同的組合可用來顯示各種數(shù)字。LED引腳排列如下圖5-3所示:</p><p>  圖5-3 LED引腳排列</p><p> ?。?) LED顯示器的選擇</p><p>  在應用系統(tǒng)中,設計要求不同,使用的LED顯示器的位數(shù)也不

41、同,因此就生產了位數(shù),尺寸,型號不同的LED顯示器供選擇,在本設計中,選擇4位一體的數(shù)碼型LED顯示器,簡稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個位,后兩位顯示電壓的小數(shù)位。4-LED顯示器引腳如圖5-4所示:</p><p>  圖5-4 4位LED引腳</p><p>  4-LED顯示器是一個共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的

42、公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,DP是小數(shù)點引出端,4位一體LED數(shù)碼顯示管的內部結構是由4個單獨的LED組成,每個LED的段輸出引腳在內部都并聯(lián)后,引出到器件的外部。</p><p>  對于這種結構的LED顯示器,它的體積和結構都符合設計要求,由于4位LED陰極的各段已經在內部連接在一起,所以必須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個I/O接口控制)顯示。</p>

43、;<p><b>  6 單元電路的設計</b></p><p>  6.1 A/D轉換電路</p><p>  現(xiàn)實世界的物理量都是模擬量,能把模擬量轉化成數(shù)字量的器件稱為模/數(shù)轉換器(A/D轉換器),A/D轉換器是單片機數(shù)據(jù)采集系統(tǒng)的關鍵接口電路,按照各種A/D芯片的轉化原理可分為逐次逼近型,雙重積分型等等。雙積分式A/D轉換器具有抗干擾能力強、轉換

44、精度高、價格便宜等優(yōu)點。與雙積分相比,逐次逼近式A/D轉換的轉換速度更快,而且精度更高,比如ADC0809、ADC0808等,它們通常具有8路模擬選通開關及地址譯碼、鎖存電路等,它們可以與單片機系統(tǒng)連接,將數(shù)字量送到單片機進行分析和顯示。一個n位的逐次逼近型A/D轉換器只需要比較n次,轉換時間只取決于位數(shù)和時鐘周期,逐次逼近型A/D轉換器轉換速度快,因而在實際中廣泛使用。</p><p>  A/D轉換電路如圖6

45、-1所示:</p><p>  圖6-1 A/D轉換電路</p><p><b>  6.2 時鐘電路</b></p><p>  單片機中CPU每執(zhí)行一條指令,都必須在統(tǒng)一的時鐘脈沖的控制下嚴格按時間節(jié)拍進行,而這個時鐘脈沖是單片機控制中的時序電路發(fā)出的。CPU執(zhí)行一條指令的各個微操作所對應時間順序稱為單片機的時序。MCS-51單片機芯片內部

46、有一個高增益反相放大器,用于構成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時鐘電路還需附加其他電路。</p><p>  本設計系統(tǒng)采用內部時鐘方式,利用單片機內部的高增益反相放大器,外部電路簡,只需要一個晶振和 2個電容即可。</p><p>  時鐘如圖6-2所示。</p><p><b>  圖6-2 時鐘電路</

47、b></p><p>  電路中的器件選擇可以通過計算和實驗確定,也可以參考一些典型電路的參數(shù),電路中,電容器C1和C2對震蕩頻率有微調作用,通常的取值范圍是30±10pF,在這個系統(tǒng)中選擇了33pF;石英晶振選擇范圍最高可選24MHz,它決定了單片機電路產生的時鐘信號震蕩頻率,在本系統(tǒng)中選擇的是12MHz,因而時鐘信號的震蕩頻率為12MHz。</p><p><b&

48、gt;  6.3 復位電路</b></p><p>  計算機在啟動運行時都需要復位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。STC89C52單片機有一個復位引腳RST,當振蕩器起振后該引腳上出現(xiàn)2個機器周期(即24個時鐘周期)以上的高電平,使器件復位,只要RST保持高電平,ST89C52保持復位狀態(tài)。時ALE、PSEN、P0、P1、P2、P3口都 輸出高電

49、平。RST變?yōu)楹螅顺鰪臀?,CPU從初始狀態(tài)開始工作。復位電路如圖6-3所示:</p><p>  圖6-3 復位電路圖</p><p>  6.4 LED顯示電路</p><p>  由于單片機的并行口不能直接驅動LED顯示器,所以,在一般情況下,必須采用專用的驅動電路芯片,使之產生足夠大的電流,顯示器才能正常工作。如果驅動電路能力差,即負載能力不夠時,顯示器亮度

50、就低,而且驅動電路長期在超負荷下運行容易損壞,因此,LED顯示器的驅動電路設計是一個非常重要的問題。</p><p>  為了簡化數(shù)字式直流電壓表的電路設計,在LED驅動電路的設計上,可以利用單片機P0口上外接的上拉電阻來實現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅動能力,使得LED能按照正常的亮度顯示出數(shù)字,LED顯示電路如圖6-4所示。

51、</p><p>  圖6-4 LED顯示電路</p><p>  7 硬件的制作與調試</p><p>  仿真時,也就是寫程序時,為了硬件的簡單,我們沒有采用74LS244來驅動數(shù)碼管,而是直接用IO口來驅動數(shù)碼管,這就導致最開始的時候數(shù)碼管在位選為低電平(我們沒有采用三極管作為開關管),段選為高電平時沒有任何顯示,也就是沒有考慮到單片機IO口驅動負載的能力,后

52、面我們在P0口加上上拉電阻之后情況有所轉變。但是我們又發(fā)現(xiàn)了新的問題:當數(shù)碼管掃描顯示時,數(shù)碼管的顯示會出現(xiàn)亂碼。當然這是我們的程序有點問題。開始我們將得到的數(shù)據(jù)邊處理邊顯示,然后輪流點亮,但是發(fā)現(xiàn)數(shù)碼管根本就沒有一點反應,全部是黑的。后面將程序改為先將數(shù)據(jù)全部處理完,然后再依次顯示,這樣數(shù)碼管便可以顯示。后面總結得知:邊處理數(shù)據(jù)邊顯示由于顯示時間短的原因導致數(shù)碼管不能顯示。</p><p>  焊完板子以后,通

53、電后不加芯片對板子的各個引腳進行電壓檢測后,下載程序運行后發(fā)現(xiàn),數(shù)碼管不顯示示數(shù)。經過仔細推敲,發(fā)現(xiàn)電路板上各個芯片忘了供電。經檢查后,又給需供電的芯片供電??墒墙油娫春笕园l(fā)現(xiàn)數(shù)碼管無示數(shù)。經查閱相關資料得知在實物電路中需要晶振提供脈沖方能實現(xiàn)數(shù)字電壓表的功能。后又重新焊接了晶振和兩個電容。接通后發(fā)現(xiàn)數(shù)碼管有示數(shù)且可以正常測試0-5V的電壓,數(shù)碼管有顯示,但是顯示的很暗,不是很明亮,開始以為是上拉電阻的阻止太大,換了上拉電阻后沒有得到

54、改善。為了完善本設計,決定再次糾查錯誤之處,在同學和老師的幫助下,發(fā)現(xiàn)在共陽極的數(shù)碼管上加上驅動電路就可以完美的實現(xiàn)設計要求。加上驅動電路后,并嘗試性的將程序中顯示做適當?shù)难訒r后發(fā)現(xiàn)數(shù)碼管的顯示變的更亮了。最終不負眾望的完美的實現(xiàn)了設計要求。總結得知:數(shù)碼管輪流顯示時,若顯示時間很短,即會造成平均電流很小直接使得數(shù)碼管的亮度不夠。</p><p><b>  8 總結</b></p&g

55、t;<p>  經過一周的努力終于設計成功,LED的顯示結果和直接用數(shù)字電壓表測試模擬量輸入所得結果幾乎一致,誤差完全在合理的范圍之內。由于儀器誤差,LED顯示最大值只能是4.9V,離標準最大值5.0V已經不遠,達到預期目的,設計成功。 本設計參考了教材上第十一章89C51與ADC0809轉換的接口連線,設計出電路圖的連線,并從中理解了許多基本的知識和接線方法,在程序的設計與電壓表調試的過程中遇到了很多的問題,剛開

56、始時四個數(shù)碼管根本不顯示,后來發(fā)現(xiàn)用的是共陽極的數(shù)碼管,而設計是共陰極的,更換后數(shù)碼管終于顯示,但問題又出現(xiàn)了,數(shù)碼管雖然顯示了,但亮度達不到。經過仔細地檢查電路和修改程序,并在老師同學的幫助下,添加了驅動電路,并將延時程序略加調整后,加入驅動電路,數(shù)碼管更加亮了。最后終于調試成功。</p><p>  在此再次衷心地向帶領我們這次課程設計的老師說聲:謝謝!向在做課程設計過程中給予幫助的同學朋友表示誠摯的謝意!

57、</p><p><b>  參考文獻</b></p><p>  [1] 鄭人杰.計算機軟件測試技術.北京:清華大學出版社, 1992. </p><p>  [2] 蔣廷彪,劉電霆,高富強,方華.單片機原理及應用.出版社:重慶大學出版社</p><p>  出版時間:2005年1月第2次印刷.</p>

58、<p>  [3] 8051實驗指導書電子電氣綜合實訓系統(tǒng).出版社:北京精儀達盛科技有限</p><p><b>  公司.</b></p><p>  [4] 徐愛鈞.智能化測量控制儀表原理與設計(第二版)[M].北京:北京航空航</p><p>  天大學出版社,2004</p><p>  [5] 潘永雄

59、.新編單片機原理與應用,西安:西電科技大學出版社[M],2007. </p><p>  [6] 潘新民,王燕芳.微型計算機控制技術實用教程[M],北京:電子工業(yè)出版 </p><p>  社,2006,128-139.</p><p>  [7] 高峰.單片微型計算機與接口技術[M].北京科學出版社,2003.</p><p>  [8]

60、 黃寧.S7-200PLC在自動生產線中的應用[J],自動化技術與應用,2009,</p><p>  28(9),86-89.</p><p>  附錄1:總體電路原理圖</p><p><b>  附錄2:元器件清單</b></p><p><b>  附錄3:實物圖</b></p>

61、<p><b>  附錄4:源程序</b></p><p>  #include<reg52.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  uint temp;<

62、/p><p>  sbit ST=P3^0;</p><p>  sbit OE=P3^1;</p><p>  sbit EOC=P3^2;</p><p>  sbit CLK=P3^3;</p><p>  void delay(uint);</p><p>  uchar code tabl

63、e[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};</p><p>  uchar code scann[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};</p><p>  void display(uint);</p><p>  void init()<

64、/p><p><b>  { </b></p><p>  TMOD=0x02;</p><p>  TH0=(256-50);</p><p>  TL0=(256-250);</p><p><b>  ET0=1;</b></p><p><

65、b>  EA=1;</b></p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p>  //TMOD=

66、0X02; //T0方式2</p><p>  // TH0=(256-50);</p><p>  // TL0=(256-50);</p><p><b>  //ET0=1;</b></p><p><b>  // EA=1;</b></p><p><b&g

67、t;  //TR0=1;</b></p><p><b>  init();</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p><b>  OE=0;</b></p>

68、;<p><b>  ST=0;</b></p><p><b>  ST=1;</b></p><p><b>  ST=0;</b></p><p><b>  delay(2);</b></p><p>  while(EOC==0);

69、</p><p><b>  OE=1;</b></p><p><b>  P1=0XFF;</b></p><p><b>  temp=P1;</b></p><p><b>  delay(2);</b></p><p>&

70、lt;b>  OE=0;</b></p><p>  display(temp); </p><p><b>  }</b></p><p><b>  }</b></p><p>  void delay(uint z)</p><p><b>

71、  {</b></p><p><b>  int i,j;</b></p><p>  for(i=0;i<z;i++)</p><p>  for(j=0;j<110;j++);</p><p><b>  }</b></p><p>  void

72、 display(uint num)</p><p><b>  {</b></p><p>  uchar a1,a2,a3,a4,a5,a6,a7,a8;</p><p>  a1=num/51;</p><p>  a2=(num%51)*10/51;</p><p>  a3=((num%

73、51)*10%51)*10/51;</p><p>  a4=(((num%51)*10%51)*10%51)*10/51;</p><p>  a5=num/1000;</p><p>  a6=(num%1000)/100;</p><p>  a7=(num%100)/10;</p><p>  a8=num%1

74、0;</p><p>  P0=table[a1]&0x7f;</p><p>  P2=scann[0];</p><p>  delay(2); </p><p><b>  P2=0xff;</b></p><p>  P0=table[a2];</p><p&

75、gt;  P2=scann[1];</p><p><b>  delay(2);</b></p><p><b>  P2=0xff;</b></p><p>  P0=table[a3];</p><p>  P2=scann[2];</p><p>  delay(2)

76、; </p><p><b>  P2=0xff;</b></p><p>  P0=table[a4];</p><p>  P2=scann[3];</p><p><b>  delay(2);</b></p><p><b>  P2=0xff; </

77、b></p><p>  P0=table[a5];</p><p>  P2=scann[4];</p><p>  delay(2); </p><p><b>  P2=0xff;</b></p><p>  P0=table[a6];</p><p>  P2

78、=scann[5];</p><p>  delay(2); </p><p><b>  P2=0xff;</b></p><p>  P0=table[a7];</p><p>  P2=scann[6];</p><p>  delay(2); </p><p>&l

79、t;b>  P2=0xff;</b></p><p>  P0=table[a8];</p><p>  P2=scann[7];</p><p>  delay(2); </p><p><b>  P2=0xff;</b></p><p><b>  }</b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論