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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  目錄</b></p><p><b>  第1章 引言1</b></p><p>  第2章 總體設(shè)計方案2</p><p>  2.1 設(shè)計要求2</p><p>  2.2 設(shè)計思路2</p><p>  2.3 設(shè)計方案3&l

2、t;/p><p>  第3章 硬件電路設(shè)計4</p><p>  3.1 A/D轉(zhuǎn)換模塊4</p><p>  3.2 單片機系統(tǒng)9</p><p>  3.3 復位電路和時鐘電路12</p><p>  3.4 LED顯示系統(tǒng)設(shè)計14</p><p>  3.5 總體電路設(shè)計17&l

3、t;/p><p>  第4章 程序設(shè)計18</p><p>  4.1 程序設(shè)計總方案18</p><p>  4.2 系統(tǒng)子程序設(shè)計18</p><p>  第5章 仿真20</p><p>  5.1 軟件調(diào)試20</p><p>  5.2 顯示結(jié)果21</p>

4、<p>  第6章 使用說明22</p><p>  第7章 心得體會23</p><p><b>  參考文獻24</b></p><p>  附錄A 程序清單25</p><p>  附錄B 原理圖31</p><p><b>  第1章 引言&l

5、t;/b></p><p>  在電量的測量中,電壓、電流和頻率是最基本的三個被測量,其中電壓量的測量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測量儀器。數(shù)字電壓表簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由于數(shù)字式儀器具有讀數(shù)準確方便、精度高、誤差小、測量速度快等特而得到廣泛應用。 </p&

6、gt;<p>  傳統(tǒng)的指針式刻度電壓表功能單一,進度低,容易引起視差和視覺疲勞,因而不能滿足數(shù)字化時代的需要。采用單片機的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強,可擴展性強、集成方便,還可與PC實時通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)。以數(shù)字電壓表為核心,可以擴展成各種通用數(shù)字儀表、專用數(shù)字儀表及各種非電量的數(shù)字化儀表。目前,由各種單片機和A/D轉(zhuǎn)換器

7、構(gòu)成的數(shù)字電壓表作全面深入的了解是很有必要的。</p><p>  最近的幾十年來,隨著半導體技術(shù)、集成電路和微處理器技術(shù)的發(fā)展,數(shù)字電路和數(shù)字化測量技術(shù)也有了巨大的進步,從而促使了數(shù)字電壓表的快速發(fā)展,并不斷出現(xiàn)新的類型。</p><p>  目前,數(shù)字電壓表的內(nèi)部核心部件是A/D轉(zhuǎn)換器,轉(zhuǎn)換的精度很大程度上影響著數(shù)字電壓表的準確度,因而,以后數(shù)字電壓表的發(fā)展就著眼在高精度和低成本這兩個

8、方面。</p><p>  本文是以簡易數(shù)字直流電壓表的設(shè)計為研究內(nèi)容,本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0808對輸入的模擬信號進行轉(zhuǎn)換,控制核心AT89C51再對轉(zhuǎn)換的結(jié)果進行運算處理,最后驅(qū)動輸出裝置LED顯示數(shù)字電壓信號。</p><p>  第2章 設(shè)計總體方案</p><p><b>  2.1

9、設(shè)計要求 </b></p><p>  ⑴以MCS-51系列單片機為核心器件,組成一個簡單的直流數(shù)字電壓表。</p><p> ?、撇捎?路模擬量輸入,能夠測量0-5V之間的直流電壓值。</p><p> ?、请妷猴@示用4位一體的LED數(shù)碼管顯示,能夠顯示兩位小數(shù)。 </p><p>  ⑷用鍵盤實現(xiàn)復位、顯示通道+、顯示通道-

10、、循環(huán)顯示、單通道顯示、停止等功能。</p><p><b>  2.2 設(shè)計思路</b></p><p>  ⑴根據(jù)設(shè)計要求,選擇AT89C51單片機為核心控制器件。</p><p>  ⑵A/D轉(zhuǎn)換采用ADC0808實現(xiàn),與單片機的接口為P1口和P2口、P3口部分接口。</p><p> ?、请妷猴@示采用4位一體的L

11、ED數(shù)碼管。</p><p> ?、萀ED數(shù)碼的段碼輸入,由并行端口P0產(chǎn)生:位碼輸入,用并行端口P2低四位產(chǎn)生。</p><p><b>  2.3 設(shè)計方案</b></p><p>  硬件電路設(shè)計由6個部分組成; A/D轉(zhuǎn)換電路,AT89C51單片機系統(tǒng),LED顯示系統(tǒng)、時鐘電路、復位電路以及測量電壓輸入電路、按鍵控制電路。硬件電路設(shè)計框

12、圖如圖2-1所示。</p><p>  圖2-1 數(shù)字電壓表系統(tǒng)硬件設(shè)計框圖</p><p>  第3章 硬件電路設(shè)計</p><p>  3.1 A/D轉(zhuǎn)換模塊</p><p>  現(xiàn)實世界的物理量都是模擬量,能把模擬量轉(zhuǎn)化成數(shù)字量的器件稱為模/數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器),A/D轉(zhuǎn)換器是單片機數(shù)據(jù)采集系統(tǒng)的關(guān)鍵接口電路,按照各種A/D芯片的

13、轉(zhuǎn)化原理可分為逐次逼近型,雙重積分型等等。雙積分式A/D轉(zhuǎn)換器具有抗干擾能力強、轉(zhuǎn)換精度高、價格便宜等優(yōu)點。與雙積分相比,逐次逼近式A/D轉(zhuǎn)換的轉(zhuǎn)換速度更快,而且精度更高,比如ADC0809、ADC0808等,它們通常具有8路模擬選通開關(guān)及地址譯碼、鎖存電路等,它們可以與單片機系統(tǒng)連接,將數(shù)字量送到單片機進行分析和顯示。一個n位的逐次逼近型A/D轉(zhuǎn)換器只需要比較n次,轉(zhuǎn)換時間只取決于位數(shù)和時鐘周期,逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換速度快,因而

14、在實際中廣泛使用。</p><p>  3.1.1 逐次逼近型A/D轉(zhuǎn)換器原理</p><p>  逐次逼近型A/D轉(zhuǎn)換器是由一個比較器、A/D轉(zhuǎn)換器、存儲器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開始逐位試探比較。</p><p><b>  轉(zhuǎn)換過程如下:</b></p><p>  開始時,寄存器各位清零

15、,轉(zhuǎn)換時,先將最高位置1,把數(shù)據(jù)送入A/D轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復上述過程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對應的二進制數(shù)字量。其原理框圖如圖3-1所示:</p><p>  圖3-1 逐次逼近式A/D轉(zhuǎn)換器原理圖</p><p>  3.1.2 ADC0

16、808主要特性</p><p>  ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,帶有使能控制端,與微機直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可以對8路0-5V輸入模擬電壓信號分時進行轉(zhuǎn)換,由于ADC0808設(shè)計時考慮到若干種模/數(shù)變換技術(shù)的長處,所以該芯片非常適應于過程控制,微控制器輸入通道的接口電路,智能儀器和機床控制等領(lǐng)域。</p><p>  ADC0808主要特性

17、:8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開關(guān);易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉(zhuǎn)換時間:128μs;轉(zhuǎn)換精度:0.2%;單個+5V電源供電;模擬輸入電壓范圍0- +5V,無需外部零點和滿度調(diào)整;低功耗,約15mW。</p><p>  3.1.3 ADC0808的外部引腳特征 </p><p>  ADC0808芯片有28條引腳,采用雙列直插式

18、封裝,其引腳圖如圖3-2所示。</p><p>  圖3-2 ADC0808引腳圖</p><p>  下面說明各個引腳功能:</p><p>  IN0-IN7(8條):8路模擬量輸入線,用于輸入和控制被轉(zhuǎn)換的模擬電壓。</p><p>  地址輸入控制(4條):</p><p>  ALE:地址鎖存允許輸入線,高電

19、平有效,當ALE為高電平時,為地址輸入線,用于選擇IN0-IN7上那一條模擬電壓送給比較器進行A/D轉(zhuǎn)換。</p><p>  ADDA,ADDB,ADDC:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對應關(guān)系如表3-1所示:</p><p>  表3-1 ADC0808通道選擇表</p><p>  START:START為“啟動脈沖”輸入法,該線上正脈沖由C

20、PU送來,寬度應大于100ns,上升沿清零SAR,下降沿啟動ADC工作。</p><p>  EOC: EOC為轉(zhuǎn)換結(jié)束輸出線,該線上高電平表示A/D轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入三態(tài)輸出鎖存器。</p><p>  D1-D8:數(shù)字量輸出端,D1為高位。</p><p>  OE:OE為輸出允許端,高電平能使D1-D8引腳上輸出轉(zhuǎn)換后的數(shù)字量。</p>&

21、lt;p>  REF+、REF-:參考電壓輸入量,給電阻階梯網(wǎng)絡供給標準電壓。</p><p>  Vcc、GND: Vcc為主電源輸入端,GND為接地端,一般REF+與Vcc連接在一起,REF-與GND連接在一起.</p><p>  CLK:時鐘輸入端。</p><p>  3.1.4 ADC0808的內(nèi)部結(jié)構(gòu)及工作流程</p><p&

22、gt;  ADC0808由8路模擬通道選擇開關(guān),地址鎖存與譯碼器,比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路和三態(tài)輸出鎖存器等組成,其內(nèi)部結(jié)構(gòu)如圖3-3所示。</p><p>  圖3-3 ADC0808的內(nèi)部結(jié)構(gòu)</p><p><b>  其中:</b></p><p> ?。?)8路模擬通道選擇開關(guān)實現(xiàn)從8路輸入

23、模擬量中選擇一路送給后面的比較器進行比較。</p><p> ?。?)地址鎖存與譯碼器用于當ALE信號有效時,鎖存從ADDA、ADDB、ADDC 3根地址線上送來的3位地址,譯碼后產(chǎn)生通道選擇信號,從8路模擬通道中選擇當前模擬通道。</p><p>  (3)比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路組成8位A/D轉(zhuǎn)換器,當START信號有效時,就開始對當前通道的模

24、擬信號進行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時通過引腳送出轉(zhuǎn)換結(jié)束信號。</p><p> ?。?)三態(tài)輸出鎖存器保存當前模擬通道轉(zhuǎn)換得到的數(shù)字量,當OE信號有效時,把轉(zhuǎn)換的結(jié)果送出。</p><p>  ADC0808的工作流程為:</p><p> ?。?)輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中

25、選通1路模擬量送給比較器。</p><p> ?。?)送START一高脈沖,START的上升沿使逐次寄存器復位,下降沿啟動A/D轉(zhuǎn)換,并使EOC信號為低電平。</p><p>  (3)當轉(zhuǎn)換結(jié)束時,轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使EOC信號回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。</p><p>  (4)當CPU執(zhí)行一讀數(shù)據(jù)指令時,使OE為高電平,則從輸出端D0

26、-D7讀出數(shù)據(jù)。</p><p><b>  3.2 單片機系統(tǒng)</b></p><p>  3.2.1 AT89C51性能</p><p>  AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含有4KB的可反復擦寫的只讀程序存儲器和128字節(jié)的隨機存儲器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)

27、標準的MCS-51指令集和輸出管腳相兼容,由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。</p><p>  AT89C51功能性能:與MCS-51成品指令系統(tǒng)完全兼容;4KB可編程閃速存儲器;壽命:1000次寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0-24MHz;三級程序存儲器鎖定;128*8B內(nèi)部R

28、AM;32個可編程I/O口線;2個16位定時/計數(shù)器;5個中斷源;可編程串行UART通道;片內(nèi)震蕩器和掉電模式。 </p><p>  3.2.2 AT89C51各引腳功能</p><p>  AT89C51提供以下標準功能:4KB的Flash閃速存儲器,128B內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路,同時,

29、AT89C51可降至0Hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止其他所有工作直到下一個硬件復位。AT89C51采用PDIP封裝形式,引腳配置如圖3-4所示。</p><p>  圖3-4 AT89C51的引腳圖</p><p>  AT89C51芯

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

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

32、第一功能與上述兩組引腳的第一功能相同即它可以作為通用I/O口使用,它的第一功能和P0口引腳的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不是像P0口那樣傳送存儲器的讀/寫數(shù)據(jù)。</p><p>  P3口:這組引腳的第一功能和其余三個端口的第一功能相同,第二功能為控制功能,每個引腳并不完全相同,如下表3-2所示:</p><p>  表3-2 P3口各位的第

33、二功能</p><p>  Vcc為+5V電源線,Vss接地。</p><p>  ALE:地址鎖存允許線,配合P0口的第二功能使用,在訪問外部存儲器時,89C51的CPU在P0.0-P0.7引腳線去傳送隨后而來的片外存儲器讀/寫數(shù)據(jù)。在不訪問片外存儲器時,89C51自動在ALE線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時鐘源或定時脈沖使用。</p>&

34、lt;p>  /EA:片外存儲器訪問選擇線,可以控制89C51使用片內(nèi)ROM或使用片外ROM,</p><p>  若/EA=1,則允許使用片內(nèi)ROM, 若/EA=0,則只使用片外ROM。</p><p>  /PSEN:片外ROM的選通線,在訪問片外ROM時,89C51自動在/PSEN線上產(chǎn)生一個負脈沖,作為片外ROM芯片的讀選通信號。</p><p>  

35、RST:復位線,可以使89C51處于復位(即初始化)工作狀態(tài)。通常89C51復位有自動上電復位和人工按鍵復位兩種。</p><p>  XTAL1和XTAL2:片內(nèi)震蕩電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接89C51片內(nèi)OSC(震蕩器)的定時反饋回路。</p><p>  3.3 復位電路和時鐘電路</p><p>  3.3.1 復位電路設(shè)計

36、</p><p>  單片機在啟動運行時都需要復位,使CPU和系統(tǒng)中的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。MCS-51單片機有一個復位引腳RST,采用施密特觸發(fā)輸入。當震蕩器起振后,只要該引腳上出現(xiàn)2個機器周期以上的高電平即可確保時器件復位。復位完成后,如果RST端繼續(xù)保持高電平,MCS-51就一直處于復位狀態(tài),只要RST恢復低電平后,單片機才能進入其他工作狀態(tài)。單片機的復位方式有上電自動復位

37、和手動復位兩種,圖3-4是51系列單片機統(tǒng)常用的上電復位和手動復位組合電路,只要Vcc上升時間不超過1ms,它們都能很好的工作。</p><p>  圖3-4 復位電路</p><p>  3.3.2 時鐘電路設(shè)計</p><p>  單片機中CPU每執(zhí)行一條指令,都必須在統(tǒng)一的時鐘脈沖的控制下嚴格按時間節(jié)拍進行,而這個時鐘脈沖是單片機控制中的時序電路發(fā)出的。CP

38、U執(zhí)行一條指令的各個微操作所對應時間順序稱為單片機的時序。MCS-51單片機芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時鐘電路還需附加其他電路。</p><p>  本設(shè)計系統(tǒng)采用內(nèi)部時鐘方式,利用單片機內(nèi)部的高增益反相放大器,外部電路只需要一個晶振和2個電容即可,如圖3-5所示。</p><p>  圖3-5 振蕩電

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

40、示系統(tǒng)設(shè)計</p><p>  3.4.1 LED基本結(jié)構(gòu)</p><p>  LED七段數(shù)碼顯示器由8個發(fā)光二極管組成顯示字段,7個長條形的發(fā)光二極管排列組合可用來顯示各種數(shù)字。LED引腳排列如下圖3-6所示:</p><p>  圖3-6 LED引腳排列</p><p>  3.4.2 LED顯示器的選擇</p><p

41、>  在本設(shè)計中,選擇4位一體的數(shù)碼型LED顯示器,簡稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,后兩位顯示電壓的小數(shù)位。</p><p>  4-LED顯示器引腳如圖3-7所示,是一個共陽極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段的公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個單獨的LED組成,每個LED

42、的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。</p><p>  圖3-7 4位LED引腳</p><p>  3.4.3 LED譯碼方式</p><p>  譯碼方式是指由顯示字符轉(zhuǎn)換得到對應的字段碼的方式,對于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。</p><p>  硬件譯碼是指利用專門的硬件電路來實現(xiàn)顯

43、示字符碼的轉(zhuǎn)換。</p><p>  軟件譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序。</p><p>  本設(shè)計系統(tǒng)中為了簡化硬件線路設(shè)計,LED譯碼采用軟件編程來實現(xiàn)。由于本設(shè)計采用的是共陰極LED,其對應的字符和字段碼如下表3-3所示。</p><p>  表3-3 共陰極字段碼表</p><p

44、>  3.4.4 LED顯示器與單片機接口設(shè)計</p><p>  由于單片機的并行口不能直接驅(qū)動LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作。如果驅(qū)動電路能力差,即負載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超負荷下運行容易損壞,因此,LED顯示器的驅(qū)動電路設(shè)計是一個非常重要的問題。</p><p>  為了簡化數(shù)字式

45、直流電壓表的電路設(shè)計,在LED驅(qū)動電路的設(shè)計上,可以利用單片機P0口上外接的上拉電阻來實現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動能力,使得LED能按照正常的亮度顯示出數(shù)字,如圖3-8所示。</p><p>  圖3-8 LED與單片機接口間的設(shè)計</p><p>  3.5 總體電路設(shè)計</p>&

46、lt;p>  經(jīng)過以上的設(shè)計過程,可設(shè)計出基于單片機的簡易數(shù)字電壓表硬件電路原理圖如圖3-9所示。</p><p>  圖3-9 簡易數(shù)字電壓表電路圖</p><p>  此電路的工作原理是:+5V模擬電壓信號通過變阻器VR1分壓后由ADC08008的IN0通道進入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應的數(shù)字量經(jīng)過其輸出通道D

47、0-D7傳送給AT89C51芯片的P1口,AT89C51負責把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位LED,同時它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產(chǎn)生位選信號控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0808的工作。其中,單片機AT89C51通過ALE端口,接到ADC0808的CLOCK,P2.5發(fā)正脈沖啟動A/D轉(zhuǎn)換,P2.6檢測A/D轉(zhuǎn)換是否完成,轉(zhuǎn)換完成后,P2.7置

48、高從P1口讀取轉(zhuǎn)換結(jié)果送給LED顯示出來。</p><p><b>  第4章 程序設(shè)計</b></p><p>  4.1 程序設(shè)計總方案</p><p>  根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個程序模塊構(gòu)成了整個系統(tǒng)軟件的主程序,如圖4-1所示。</p><p>  圖4

49、-1 數(shù)字電壓表主程序框圖</p><p>  4.2 系統(tǒng)子程序設(shè)計</p><p>  4.2.1 初始化程序</p><p>  所謂初始化,是對將要用到的MCS_51系列單片機內(nèi)部部件或擴展芯片進行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是給寄存器設(shè)置初始值,等待啟動信號。</p><p>  4.2.2 A/D轉(zhuǎn)換子程序</

50、p><p>  A/D轉(zhuǎn)換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應的數(shù)值存入相應的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖4-2所示。</p><p>  圖4-2 A/D轉(zhuǎn)換流程圖</p><p>  4.2.3 顯示子程序</p><p>  顯示子程序采用動態(tài)掃描實現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯示方式時,要使得LED顯示的比較均

51、勻,又有足夠的亮度,需要設(shè)置適當?shù)膾呙桀l率,當掃描頻率在70HZ左右時,能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對LED進行動態(tài)掃描一次,每一位LED的顯示時間為1ms。第5章 仿真</p><p><b>  5.1 軟件調(diào)試</b></p><p>  軟件調(diào)試的主要任務是排查錯誤,錯誤主要包括邏輯和功能錯誤,這些錯誤有些是顯性的,而有些是隱形的,可

52、以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。Proteus軟件可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真,用戶甚至可以實時采用諸如LED/LCD、鍵盤、RS232終端等動態(tài)外設(shè)模型來對設(shè)計進行交互仿真。Proteus支持的微處理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成單片機系統(tǒng)原理圖電路繪制、PCB設(shè)計,更為顯著點的特點是可以與Keil uvision4工具軟件結(jié)合進行編程仿真調(diào)試。

53、</p><p>  本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語言,用Keil軟件將程序?qū)懭雴纹瑱C。</p><p><b>  顯示結(jié)果</b></p><p><b>  圖5-1復位</b></p><p>  圖5-2 循

54、環(huán)顯示 </p><p><b>  使用說明</b></p><p>  此數(shù)字電壓表,共設(shè)有復位、啟動、單路/循環(huán)、通道變換、通道+/-、暫停/繼續(xù)6個按鍵。仿真開始,按啟動鍵即可開始測量顯示,可通過變換單路/循環(huán)以及暫停繼續(xù)按鍵進行測量。當需要重啟時,只需按下復位鍵便可重新開始測量。按鍵如圖6-1所示。</p><p&

55、gt;<b>  圖6-1 按鍵</b></p><p><b>  第7章 心得體會</b></p><p>  為期2個星期的課程設(shè)計已經(jīng)結(jié)束,在這幾個星期的學習、設(shè)計過程中我感觸頗深。使我對單片機的理論知識有了具體的認識。通過這次設(shè)計,我的理論知識掌握得更扎實,動手能力明顯提高。同時,通過網(wǎng)上搜索等多方面的查詢資料,比如我們用的AT89S

56、51芯片。通過本次課程設(shè)計我學到許多在書本上沒有的知識,也認識到理論聯(lián)系實踐的重要。理論學得好,但如果只會紙上談兵,一點用都沒有。通過這次課程設(shè)計,我掌握了常用元件的識別和測試,通過對電路的分析,結(jié)合實際實驗,并利用其它電路作為輔助,提出了一種制作數(shù)字電壓表的有效方法,解決了在制作數(shù)字電壓表時經(jīng)常出現(xiàn)的數(shù)字顯示不了,顯示數(shù)字模糊的問題。以及如何提高電路的性能等等。</p><p>  在實驗過程中,我們遇到了不少

57、的問題。比如:通道選擇、復位、停止功能缺失等。在老師和同學的幫助下,把問題一一解決,那種心情別提有多高興,很有成就感。同時,在設(shè)計中暴露出我們在理論學習中所存在的問題,有些理論知識還處于半只半解的狀態(tài),通過實驗加深了我們對這些知識的理解。特別是在排查電路,程序問題時,使我們熟練掌握了一些處理電路故障程序的方法。雖然兩周的課程設(shè)計很短,但是充分鍛煉了我們的團隊合作能力以及對知識點的鞏固,也培養(yǎng)了我們獨立思考和設(shè)計能力,樹立了對知識點應用的

58、信心最后用一句話來結(jié)束吧。“實踐是檢驗真理的唯一標準”。只有把所學的理論知識運用到生活當中,才能發(fā)揮它最好的作用。</p><p>  另外通過本次課程設(shè)計讓我對PROTUES和KEIL軟件的使用有了進一步的了解,感覺收獲不小。</p><p><b>  參考文獻</b></p><p>  王迎旭.單片機原理與應用.2版.北京:機械工業(yè)出版

59、社,2012</p><p>  趙曉安.MCS-51 單片機原理及應用.天津:天津大學出版社,2001</p><p>  胡漢才.單片機原理及系統(tǒng)設(shè)計.北京:清華大學出版社,2002</p><p>  張剛毅,彭喜元.單片機原理與應用設(shè)計.北京:電子工業(yè)出版社,2008</p><p>  吳金戌,沈慶陽,郭庭吉.8051單片機實踐與應

60、用.北京:清華大學出版社,2002附錄A 程序清單</p><p>  ORG 0000H</p><p>  SJMP START ;復位后跳轉(zhuǎn)</p><p>  CLEARMEMIO: MOV R0,#10 ;分別給R0、R1、R2、R3賦初始值</p><p>  MOV R1,#10

61、 ;#10代表字符碼“—”</p><p>  MOV R2,#10</p><p>  MOV R3,#10</p><p><b>  RET</b></p><p>  START: MOV DPTR,#TAB ;把字符碼初始地址賦給DPTR</p>&

62、lt;p>  ACALL CLEARMEMIO ;轉(zhuǎn)移到初始化模塊</p><p>  ACALL QIDONG0 ;轉(zhuǎn)移到啟動模塊</p><p>  WAIT: MOV A,#0FFH ;P3是準雙向口,讀數(shù)前先寫入1</p><p>  DU-Q: MOV P3,A</p>

63、<p><b>  MOV A,P3</b></p><p>  ANL A,#07H</p><p>  SETB P3.3 </p><p>  JNB P3.3,LOOP1 ;判斷單路還是循環(huán)顯示</p><p>  MOV R0,A <

64、/p><p>  SWAP A ;A內(nèi)高四位第四位調(diào)換</p><p><b>  MOV P3,A</b></p><p>  CLR P2.5</p><p>  SETB P2.5 ;啟動START</p><p>  CLR P2.5

65、</p><p>  JNB P2.6,$ ;等待A/D轉(zhuǎn)換完成</p><p>  SETB P2.7 ;OE置1,允許輸出</p><p>  MOV A,#0FFH </p><p><b>  MOV P1,A</b></p><

66、;p><b>  MOV A,P1</b></p><p>  CLR P2.7</p><p>  BCDZH: MOV B,#51 ;轉(zhuǎn)換成BCD碼</p><p><b>  DIV AB</b></p><p>  MOV R1,A

67、 ;百位數(shù)送R1</p><p><b>  MOV A,B</b></p><p><b>  MOV B,#2</b></p><p><b>  MUL AB</b></p><p>  MOV B,#10</p><p&g

68、t;<b>  DIV AB</b></p><p>  MOV R2,A ;十位數(shù)送R2 </p><p>  MOV R3,B ;個位數(shù)送R3</p><p>  LCALL DISP ;調(diào)用數(shù)據(jù)顯示模塊</p><p>  SJMP WA

69、IT ;跳轉(zhuǎn)</p><p>  LOOP1: MOV R0,#0 ;循環(huán)顯示模塊,先給R0置1</p><p>  LOOP3: INC R0 ;通道加1</p><p><b>  MOV A,R0</b></p><

70、;p>  CJNE A,#08H,NEXT ;通道是7時,重新置0</p><p>  MOV A,#00H</p><p>  NEXT: MOV R0,A</p><p><b>  SWAP A</b></p><p><b>  MOV P3,A</b>

71、;</p><p>  CLR P2.5</p><p>  SETB P2.5</p><p>  CLR P2.5</p><p>  JNB P2.6,$</p><p>  SETB P2.7</p><p>  MOV A,#0FFH</p><p

72、><b>  MOV P1,A</b></p><p><b>  MOV A,P1</b></p><p>  CLR P2.7</p><p>  MOV B,#51</p><p><b>  DIV AB</b></p><p&g

73、t;<b>  MOV R1,A</b></p><p><b>  MOV A,B</b></p><p><b>  MOV B,#2</b></p><p><b>  MUL AB</b></p><p>  MOV B,#10</

74、p><p><b>  DIV AB</b></p><p><b>  MOV R2,A</b></p><p><b>  MOV R3,B</b></p><p>  LCALL DISP</p><p>  SETB P2.4</p&

75、gt;<p>  ZANTING: JNB P2.4,DENGDAI ;P2.4為0,由循環(huán)進入暫停模塊</p><p>  SETB P3.3 </p><p>  JNB P3.3,LOOP3</p><p>  SJMP WAIT</p><p>  DENGDAI: LCAL

76、L DISP</p><p>  LCALL DELAY</p><p>  SETB P3.4</p><p>  JB P3.4,DENGDAI</p><p>  ACALL ZANTING</p><p>  DISP: MOV R4,#0FH ;數(shù)字顯示

77、模塊(含小數(shù)點)</p><p>  LOOP: MOV A,R3</p><p>  MOVC A,@A+DPTR</p><p><b>  CLR P2.3</b></p><p><b>  MOV P0,A</b></p><p>  LCAL

78、L DELAY</p><p>  SETB P2.3</p><p><b>  MOV A,R2</b></p><p>  MOVC A,@A+DPTR</p><p>  CLR P2.2</p><p><b>  MOV P0,A</b></p&g

79、t;<p>  LCALL DELAY</p><p>  SETB P2.2</p><p>  MOV A, R1</p><p>  MOVC A,@A+DPTR</p><p>  ADD A,#80H</p><p><b>  CLR P2.1</b></p

80、><p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p>  SETB P2.1</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR</p><p>

81、;  CLR P2.0</p><p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p>  SETB P2.0</p><p>  DJNZ R4,LOOP</p><p><b>  RET</b></p&g

82、t;<p>  DISP1: MOV R4,#0FH ;復位顯示模塊(無小數(shù)點)</p><p>  LOOP2: MOV A,R3</p><p>  MOVC A,@A+DPTR</p><p>  CLR P2.3</p><p><b>  MOV

83、P0,A</b></p><p>  LCALL DELAY</p><p>  SETB P2.3</p><p><b>  MOV A,R2</b></p><p>  MOVC A,@A+DPTR</p><p>  CLR P2.2</p><p&

84、gt;<b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p>  SETB P2.2</p><p>  MOV A, R1</p><p>  MOVC A,@A+DPTR</p><p><b>  CLR P2.1</b>

85、;</p><p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p>  SETB P2.1</p><p><b>  MOV A,R0</b></p><p>  MOVC A,@A+DPTR</p>&l

86、t;p>  CLR P2.0</p><p><b>  MOV P0,A</b></p><p>  LCALL DELAY</p><p>  SETB P2.0</p><p>  DJNZ R4,LOOP2</p><p><b>  RET</b>&

87、lt;/p><p>  QIDONG0: LCALL DISP1 ;調(diào)用復位顯示模塊</p><p>  SETB p2.4 </p><p>  JB P2.4,WAIT1 ;判斷啟動鍵是否按下?</p><p><b>  RET</b></p>

88、<p>  WAIT1: LCALL DISP1</p><p>  ACALL DELAY ;延時</p><p>  ACALL QIDONG0 ;跳轉(zhuǎn)啟動模塊</p><p>  DELAY: MOV R6,#20 ;延時模塊</p><p>  D1:

89、 MOV R7,#250</p><p>  DJNZ R7,$</p><p>  DJNZ R6,D1</p><p><b>  RET</b></p><p>  TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H</p&g

溫馨提示

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

評論

0/150

提交評論