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

下載本文檔

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

文檔簡介

1、<p>  論 文 摘 要</p><p><b>  目 錄</b></p><p>  基于單片機的數(shù)字電壓表仿真設計</p><p><b>  第1章緒論</b></p><p>  選題的意義是設計的目的,本次設計正是為了解決存在的問題而進行的。在國內外大的研究背景下,

2、我們緊跟時代發(fā)展的腳步,致力于開發(fā)創(chuàng)新的道路,這一章主要介紹了這兩個內容,同時簡要介紹了設計所使用的工具。</p><p><b>  1.1 研究的背景</b></p><p>  數(shù)字電壓表出現(xiàn)在上世紀50年代,60年代末發(fā)展起來,它采用的是數(shù)字化測量技術。數(shù)字電壓表之所以出現(xiàn),一方面是為了實時控制和處理數(shù)據(jù)的要求;另一方面,也是電子計算機的發(fā)展,帶動了脈沖數(shù)字電

3、路技術的發(fā)展,為數(shù)字化儀表的出現(xiàn)提供了條件。因此,數(shù)字化測量儀表的出現(xiàn)與發(fā)展和電子計算機的發(fā)展是密切相關的。</p><p>  數(shù)字電壓表最初是伺服步進電子管比較式,它的優(yōu)點是準確度高,但是采樣速度慢,體積大,后來又出現(xiàn)了諧波式電壓表,它在速度方面稍有提高,但是準確度下降,穩(wěn)定性差。再后來出現(xiàn)了比較式的改進型,它不僅繼承了準確度高的優(yōu)點,而且速度也有了較大提高,但是它抗干擾能力差,很容易受到外界因素的影響。隨后

4、,在諧波式的基礎上引申出階梯波式,它唯一的進步就是降低了成本,但是準確度、速度、抗干擾能力都沒有提高。發(fā)展到數(shù)字電壓表,各方面的性能都有了很大提高,讀數(shù)速度達到每秒幾萬次,而且價格大大降低。</p><p>  上海乾豐電子儀器有限公司生產(chǎn)的PZ158A系列直流數(shù)字電壓表,可以測量0.1uV~1000V直流電壓,該表采用了微處理器和脈沖調寬模數(shù)轉換技術,采用八位LED顯示。目前,實現(xiàn)電壓數(shù)字化測量的方法主要是模數(shù)

5、(A/D)轉換,數(shù)字電壓表種類較多,一般根據(jù)原理的不同大致分為:比較式、電壓——時間變換式、積分式。</p><p><b>  1.2 選題的意義</b></p><p>  數(shù)字電壓表(Digital Voltmeter)簡稱DVM,采用數(shù)字化測量技術,把連續(xù)的模擬量轉換成不連續(xù)、離散的數(shù)字形式顯示出來的儀器。傳統(tǒng)的指針式電壓表精度較低,不能滿足現(xiàn)實需要,而采用單

6、片機實現(xiàn)的數(shù)字電壓表就解決了這些問題,不僅提高了測量的精度,而且抗干擾能力強,可擴展性強。由數(shù)字電壓表擴展而成的各種通用及專用數(shù)字儀器,已經(jīng)把電量和非電量測量技術提高到嶄新水平。在現(xiàn)代智能化發(fā)展的時代,高精度、高效率、低價位已經(jīng)成為測量儀器的必須要求,如果達不到這些要求,那么這種儀器必將會被淘汰。數(shù)字電壓表正是伴隨著這種發(fā)展趨勢應運而生,成為新一代測量儀表的佼佼者,同時也宣布了傳統(tǒng)測量儀器的退出趨勢。</p><p&

7、gt;  目前,數(shù)字電壓表的內部核心部件是A/D轉換器,它很大程度上影響著數(shù)字電壓表的精度,本文采用ADC0808對輸入模擬信號進行轉換,控制核心AT89C51再對轉換的結果進行運算和處理,最后驅動輸出裝置顯示數(shù)字電壓信號。隨著微機測量與控制技術的發(fā)展,以單片機為核心的數(shù)字電壓表越來越占優(yōu)勢,單片機體積小、重量輕、價格便宜,大大降低了成本。數(shù)字化測量儀表的產(chǎn)生不僅革新了電子測量的繁瑣與陳舊,同時加快了測量儀表向智能化發(fā)展的速度,成為必要

8、的橋梁。與此同時,我們也看到數(shù)字電壓表的發(fā)展還處于初期階段,各項技術的應用還沒有成熟,本次設計是在單片機的基礎之上,借助各種軟件和硬件實現(xiàn)數(shù)字電壓表的仿真設計,為數(shù)字電壓表的生產(chǎn)和實踐提供了客觀的理論依據(jù)。</p><p><b>  1.3設計的工具</b></p><p>  本次設計所使用的工具主要是Proteus和Keil C51兩個軟件,其中Proteus是

9、由英國Lab Center Electronics公司開發(fā)的EDA工具軟件,從1989年問世至今已有20年的歷史,在全球得到廣泛使用。它不僅是模擬電路、數(shù)字電路、模/數(shù)混合電路的設計與仿真平臺,更是目前世界上最先進、最完整的多種型號微處理器系統(tǒng)的設計與仿真平臺,真正實現(xiàn)了在計算機上完成原理圖設計,電路分析與仿真,微處理器程序設計與仿真,系統(tǒng)測試與功能驗證,到形成PCB的完整電子設計、研發(fā)過程。Proteus軟件由ISIS和ARES構成,

10、本次設計主要使用ISIS,它是一款智能原理圖輸入系統(tǒng)軟件,可作為電子系統(tǒng)仿真平臺。</p><p>  Keil C51是當前使用最廣泛的基于80C51單片機內核的軟件開發(fā)平臺之一,由德國Keil Software公司推出。uVision4是關于51系列單片機的開發(fā)工具。uVision4集成開發(fā)環(huán)境IDE是基于Windows的軟件開發(fā)平臺,集編輯、編譯、仿真于一體,支持匯編語言和C語言的程序設計。</p&g

11、t;<p>  本文接下來在第二部分介紹了系統(tǒng)設計的方案,主要從設計的思路和方法入手,著重從原理方面作了解釋,并繪制了總的原理圖。第三部分主要是本次設計的硬件電路部分,在總設計的基礎上詳細介紹了電路的搭接方法以及電路的組成部分,并繪制了各部分的電路圖。第四部分是設計的軟件部分,主要介紹了用C語言編程的方法,并說明了程序的調試過程。</p><p>  第2章 系統(tǒng)方案設計</p>&l

12、t;p>  系統(tǒng)方案是設計的靈魂,是本次設計最重要的部分,主要包括設計思路和設計方案,完成了這兩個內容才能進行下面的設計步驟。這一章內容圍繞思路和方案詳細進行了介紹,為接下來的工作做好了鋪墊。</p><p><b>  2.1芯片選擇</b></p><p>  本設計采用AT89C51芯片和ADC0808芯片,前者是一種帶4K字節(jié)Flash存儲器的低電壓、高

13、性能CMOS8位微處理器,可與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。</p><p>  2.1.1 AT89C51 </p><p>  它是一個以ALU為中心的8位中央處理器,能夠完成運算和控制功能。128B的內部數(shù)據(jù)存取存儲器,其地址范圍為00H~7FH。21個特殊功能寄存器,離散分布于地址80H~FFH中。程序計數(shù)器PC是一個獨立的16位專用寄存器,其內容為將要執(zhí)行的指令地

14、址。4KB字節(jié)Flash閃速存儲器可以存儲程序、原始數(shù)據(jù)、表格。4個8位可編程I/O口,2個16位定時器/計數(shù)器,5個中斷源,2個中斷優(yōu)先級的中斷控制系統(tǒng),1個全雙工串行通信口,1個片內振蕩電路和時鐘電路。</p><p>  AT89C51芯片管腳說明:</p><p>  Vcc:供電電壓,接DC電源端,在-40~85攝氏度時,極值是6.6V。</p><p>

15、<b>  GND:接地端。</b></p><p>  P0口:P0口為一個8位漏級開路雙向I/O口,可吸收8個TTL門電流。當P1口的管腳第一次寫“1”時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p>  

16、P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收、輸出4個TTL門電流。P1口管腳寫入“1”后,被內部上拉為高電平,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p>  P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收、輸出4個TTL門電流,當P2口被寫“1”時,其管腳

17、被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p>  P3口:此管腳是8個帶內

18、部上拉電阻的雙向I/O口,可以接收、輸出4個TTL門電流,當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3將輸出電流。</p><p>  RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間,使單片機恢復到初始狀態(tài)。當Vcc發(fā)生故障、降低到低電平規(guī)定值或斷電時,該引腳可以接上備用電源為內部RAM供電,以保證RAM中的數(shù)據(jù)不丟失。</p&

19、gt;<p>  /EA:當/EA保持低電平時,則在此期間外部程序存儲器(0000H~FFFFH)工作,不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器工作。在FLASH編程期間,此引腳也用于施加12V編程電源(Vpp)。</p><p>  XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。采用外部振蕩器時,此引腳接振蕩器

20、的信號。</p><p>  XTAL2:來自反向振蕩器的輸出,外接振蕩元件的一個引腳,采用外部振蕩器時,引腳懸浮。</p><p>  電壓是模擬量,數(shù)碼管顯示的是數(shù)字量,所以需要采用A/D轉換模擬信號為數(shù)字信號。本次設計使用ADC0808芯片,它是典型的8位8通道逐次逼近式轉換器,具有轉換起??刂贫?,轉換時間為100us(時鐘為640kHz),130us(時鐘為500kHz),單個+5

21、V電源供電,模擬輸入電壓范圍0~+5V,不需要零點和滿刻度校準,工作溫度范圍-40~+85攝氏度。</p><p>  顯示電路采用四位8段LED數(shù)碼管顯示數(shù)據(jù),滿足精度要求。</p><p>  按照單片機與ADC的連接不同,可以分為并行輸入方式的ADC和串行輸入方式的ADC兩種,而我們使用的ADC0808則屬于并行輸入方式的ADC。</p><p>  2.1.

22、2 ADC0808 </p><p>  IN0~IN7:8路模擬量輸入端。</p><p>  ADD A、ADD B、ADD C:模擬量輸入通道地址選擇線,8位編碼分別對應IN0~IN7。</p><p>  ALE:地址鎖存端。</p><p>  START: ADC轉換啟動信號,正脈沖有效,引信號要求保持在200ns以上。其上升沿將

23、內部逐次逼近寄存器清零,下降沿啟動ADC轉換。</p><p>  EOC:轉換結束信號,可作中斷請求信號或CPU查詢。</p><p>  CLK:時鐘輸入端,要求頻率范圍在10kHz~1.2MHz。</p><p>  OE:允許輸出信號。</p><p>  Vcc:芯片工作電壓。</p><p>  VREF(

24、+)、VREF(-):基準參考電壓的正負值。</p><p>  OUT1~OUT8:8路數(shù)字量輸出端。</p><p>  ADC0808的工作時序較為復雜,它的內部除了8位ADC轉換電路外,還有一個8路通道選擇開關,其作用是根據(jù)地址譯碼信號來選擇8路模擬輸入,8路模擬輸入可以分時共用一個ADC轉換器進行轉換,可實現(xiàn)多路數(shù)據(jù)采集。其轉換結果通過三態(tài)輸出鎖存器輸出。當通道選擇地址有效時,A

25、LE信號一出現(xiàn),地址便馬上被鎖存,這時轉換啟動信號緊隨ALE之后(或與之同時)出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復位,在該上升沿之后的2us加8個時鐘周期內(不定),EOC信號將變低電平,以指示轉換操作正在進行中,直到轉換完成后,EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號后,便立即送出OE信號,打開三態(tài)門,讀取轉換結果。</p><p><b>  2.2設計方案</b>

26、;</p><p>  本次設計的兩大部分是硬件電路設計和軟件程序設計,硬件部分由時鐘電路、復位電路、數(shù)據(jù)采集電路、顯示電路組成,通過Proteus進行電路的連接;軟件程序采用C語言編程,利用Keil進行編譯和仿真。</p><p>  Proteus的電路設計是在ISIS軟件環(huán)境中進行的,該軟件編輯環(huán)境具有友好的交互式人機界面,設計功能強大,使用方便[1]。該軟件啟動后進入窗口,主要由菜

27、單欄、主工具欄、預覽窗口、元器件選擇按鈕、工具箱、原理圖編輯窗口、仿真按鈕、方向工具欄、狀態(tài)欄等部分組成,操作界面如圖2-1所示。</p><p>  Keil C51是基于80C51單片機內核的軟件開發(fā)平臺,集編輯、編譯、仿真于一體,支持匯編語言和C語言。主要操作包括創(chuàng)建項目、創(chuàng)建新的源程序文件、為目標設定工具選項、編譯項目并創(chuàng)建HEX文件,主要窗口有反匯編窗口、CPU寄存器窗口、存儲器窗口、串行窗口,操作界面

28、如圖2-2所示。</p><p><b>  圖2-1</b></p><p><b>  圖2-2</b></p><p>  第3章 硬件電路設計</p><p>  硬件電路的設計過程是基礎部分,本章內容畫出了硬件電路的原理圖,對時鐘電路、復位電路、數(shù)據(jù)采集電路、顯示電路分別做了深入的介紹,重

29、點是各個電路的工作原理和實現(xiàn)方法,從AT89C51和ADC0808芯片的引腳功能出發(fā),詳細介紹了它們的連接方法,并給出了各個電路的連接圖。本章內容是此次設計的基礎,只有硬件電路連接成功,才能進行接下來的軟件編程。</p><p><b>  圖3-1原理圖</b></p><p><b>  3.1時鐘電路</b></p><

30、p>  XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鐘發(fā)生器對振蕩脈沖二分頻。本系統(tǒng)的時鐘電路設計是采用的內部方式。晶振的頻率可以在1MHz~24MHz內選擇,電容取30PF左右。晶振在電氣上可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡,電工學上這個網(wǎng)絡有兩個諧振點,以頻率的高低分,其中較低的頻率是串聯(lián)諧振,較高的頻

31、率是并聯(lián)諧振。由于晶體自身的特性致使這兩個頻率的距離相當?shù)慕咏?,在這個極窄的頻率范圍內,晶振等效為一個電感,所以只要晶振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電路。這個并聯(lián)諧振電路加到一個負反饋電路中就可以構成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個振蕩器的頻率也不會有很大的變化。</p><p><b>  圖3-2 時鐘電路</b><

32、/p><p>  晶振有一個重要的參數(shù),那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標稱的諧振頻率。一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯(lián)的容量值就應該等于負載電容。時鐘電路原理圖如圖3-2所示。</p><p><b>  3.2 復位電路</

33、b></p><p>  89C51單片機的復位是由外部的復位電路來實現(xiàn)的[2]。最簡單的上電自動復位電路,是通過外部復位電路的電容充電來實現(xiàn)的。只要電源Vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復位。除上電復位外,有時還需要按鍵手動復位。按鍵手動復位有電平方式和脈沖方式兩種。其中電平方式復位是通過RST端經(jīng)電阻和電源Vcc接通而實現(xiàn)的。</p><p><b>  

34、圖3-3復位電路</b></p><p>  本系統(tǒng)采用電平方式按鍵手動復位電路,按鍵沒有按下時,RST端接電容下極板是低電平,按鍵按下時,RST 端接在電阻上端變?yōu)楦唠娖?,達到復位的目的。電容選1uF左右,電阻選100歐姆。復位電路原理圖如圖3-3所示。</p><p>  3.3 數(shù)據(jù)采集電路</p><p>  本系統(tǒng)模擬轉換采用ADC0808芯片

35、。ADC0808具有8路模擬量輸入信號引腳IN0~IN7(1~5、26~28腳),地址線C、B、A(23~25腳)決定哪一路模擬輸入信號進行A/D轉換,本電路將A、B、C腳分別置0、1、0,即選擇通道2。22號腳ALE為地址鎖存允許控制信號,高電平有效。6號腳START為啟動控制信號,高電平有效,脈沖上升沿使0808復位,下降沿啟動A/D轉換[3]。本電路將ALE腳和START腳接到一起,共同由單片機的P2.5腳控制。7號腳EOC為A/

36、D轉換結束信號,輸出正脈沖表示轉換結束,本電路將7號腳與單片機P2.6腳連接。9號腳OE為A/D轉換數(shù)據(jù)輸出允許控制信號,高電平有效,本電路將9號腳與單片機P2.7腳連接。10號腳CLOCK為實時時鐘輸入端,在Proteus軟件中仿真采用DCCLOCK時鐘源提供時鐘脈沖。數(shù)字量輸出端8個引腳OUT1~OUT8接到單片機的P1口。</p><p>  圖3-4 數(shù)據(jù)采集電路</p><p>

37、  本設計采集數(shù)據(jù)電路為了便于仿真分析,采用滑線電阻器分壓,通過調節(jié)滑線電阻器的觸頭,來調節(jié)輸入電壓值,模擬不同大小的輸入信號,采集信號通過ADC0808的IN1端接入芯片的通道[4]。數(shù)據(jù)采集電路原理圖如圖3-4所示。</p><p><b>  3.4 顯示電路</b></p><p>  本電路采用LED數(shù)碼管顯示,由于單片數(shù)碼管占用單片機口線較多,而本設計中需

38、要四個數(shù)碼管顯示不同信息,因此采用數(shù)碼管的動態(tài)掃描顯示原理,利用人眼的視覺暫留特性,達到較好的顯示效果,而且采用動態(tài)掃描法與單片機連接時,占用口線較少,方便進行程序編寫和控制[5]。本設計中采用Proteus仿真元件庫中7SEG-MPX4-CA-BLUE型數(shù)碼管來顯示,7SEG-MPX4-CA-BLUE為四位共陽極數(shù)碼管,其中ABCDEFG共七個引腳為字形碼控制輸入端,DP為小數(shù)點控制輸入端,一般用于顯示小數(shù)點,1234共四個引腳為數(shù)碼

39、管字位碼控制輸入端。</p><p><b>  圖3-5顯示電路</b></p><p>  數(shù)碼管的所有段碼輸入端均為高電平有效,其中ABCDEFG腳在程序設計時應輸入數(shù)字字形碼原碼。上拉電阻RP的公共端接高電平,其余端接控制線,以提供足夠的輸入電流,使數(shù)碼管正常顯示。數(shù)碼管位選端連接單片機的P0口,同時連接上拉電阻以增強驅動能力;片選段連接單片機的P2.0~P2

40、.3口。顯示電路原理圖如圖3-5所示。</p><p><b>  第4章 軟件設計</b></p><p>  軟件程序的設計也是本次設計的重點,在硬件電路連接成功的基礎之上,著重介紹了轉換芯片實現(xiàn)模擬量到數(shù)字量轉換的原理,給出了模/數(shù)轉換的流程圖,并說明了編程的方法。而后結合Proteus的操作方法介紹了程序調試的過程,最后將調試成功的程序嵌入到硬件電路中,分析了

41、出現(xiàn)誤差的原因。</p><p>  4.1模/數(shù)轉換設計</p><p>  進行A/D轉換前,要啟動ADC0808,首先要進行模擬量輸入通道的選擇,然后設置START信號。模擬量輸入通道的選擇有兩種方法:一種是通過地址總線選擇;另一種是通過數(shù)據(jù)總線選擇[6]。本次設計采用第一種方法,ADD C=0,ADD B=0,ADD A=1,即組成通道選擇數(shù)據(jù)為001,對應通道IN1,即模擬量數(shù)據(jù)

42、是由IN1通道輸入。所以在程序中不需要設置模擬量輸入通道。START信號設置為START=0,START=1,START=0以產(chǎn)生啟動轉換的正脈沖。進行A/D轉換時,采用查詢EOC的標志信號來檢測A/D轉換是否完畢,若完畢則將數(shù)據(jù)通過單片機P1端口讀入(adval),經(jīng)過數(shù)據(jù)處理后,在數(shù)碼管上顯示。</p><p>  圖4-1 ADC0808轉換程序流程</p><p><b>

43、;  4.2程序調試</b></p><p>  在程序的調試過程中,核心是A/D轉換的進行,如下:</p><p>  START=0; //啟動A/D轉換</p><p><b>  START=1;</b></p><p><b&g

44、t;  START=0;</b></p><p>  while(EOC==0); //等待轉換結束</p><p><b>  OE=1;</b></p><p>  adval=P1; //轉換結果&

45、lt;/p><p>  執(zhí)行菜單命令“Project”和“Build Target”,編譯源程序,若果編譯成功,則在輸出窗口顯示沒有錯誤,并創(chuàng)建了HEX文件。在已經(jīng)繪制好的電路圖中雙擊單片機,在彈出的“Edit Component”對話框的“Program File”欄中選擇生成的HEX文件[7]。</p><p>  在Proteus ISIS編輯窗口下單擊運行按鈕,進入運行狀態(tài)。4位LED

46、數(shù)碼管顯示相應的電壓值,滑動可調電阻,顯示的數(shù)據(jù)也發(fā)生相應的變化。</p><p>  圖4-2 V=0.3V時</p><p>  圖4-3 V=2.5V時</p><p>  圖4-4 V=4.9V時</p><p><b>  4.3誤差分析</b></p><p>  通過軟件的仿真結果發(fā)

47、現(xiàn),本次設計的數(shù)字電壓表誤差在0.02V以內,這是很正常的。誤差主要來源于兩個方面,一個是ADC0808模/數(shù)轉換芯片在采集和轉換數(shù)據(jù)的過程中產(chǎn)生誤差,另一個是數(shù)據(jù)處理算法過程中產(chǎn)生的誤差。在設計的過程中,出現(xiàn)誤差是不可避免的,只要按照正確的設計思路和方法進行,就能夠達到設計的要求。在其它電路設計的過程中,也不可避免地出現(xiàn)誤差,導致我們得到的測量結果與理論值相比存在差距,我們應該遵從客觀事實,誤差并不是錯誤,在以后的電路設計中依然要如此

48、。</p><p><b>  結 論</b></p><p>  通過一段時間的努力,我基本完成了本次畢業(yè)設計,利用Proteus和Keil兩個軟件實現(xiàn)了仿真電壓表的功能,達到了預期的效果。在本次設計中,我從硬件和軟件兩大部分著手,首先將電路分成了四部分,每一部分使用不同的引腳和連接方法,實現(xiàn)不同的功能,然后將四部分電路連接到一起,完成硬件電路的設計。在軟件設計方

49、面,我使用C語言進行編程,按照硬件電路的要求利用Keil設計程序,然后將編好的程序生成單片機能讀取的文件嵌入到單片機內,完成了軟件部分的設計。</p><p>  在設計中,最主要的元件是AT89C51和ADC0808,因此在設計之前我認真學習了這兩個元件的相關知識,重點是各個引腳的功能,特別是硬件電路所用到的引腳?;趩纹瑱C的數(shù)字電壓表使用性強,結構簡單,成本較低,測量精度也高,應用廣泛。本次設計很有意義,讓我

50、看到了單片機強大的發(fā)展前景。</p><p>  通過本次設計,我學到了很多關于單片機方面的知識,學會了使用Proteus這個功能強大的軟件,同時也對電路設計有了進一步認識。但是與此同時,我也認識到了自己存在的不足,主要是對芯片功能的學習還不夠深入,對原理的理解不夠準確。在下一步的學習中,我需要改善學習方法,提高學習效率,把握重點知識,提高理論聯(lián)系實際的能力,進一步提高電路設計的水平。</p>&l

51、t;p><b>  參考文獻</b></p><p>  [1]陳忠平.基于Proteus的51系列單片機設計與仿真.北京:電子工業(yè)出版社,2012.</p><p>  [2]沈慶陽.8051單片機實踐與應用.北京:清華大學出版社,2002.</p><p>  [3]吳昌東.基于單片機的新型數(shù)字式電壓表設計.微計算機信息,2008.&

52、lt;/p><p>  [4]宋悅孝.基于單片機的數(shù)字電壓表設計.濰坊學院學報,2011.</p><p>  [5]張靖武.單片機原理應用與PROTEUS仿真.北京:電子工業(yè)出版社,2011.</p><p>  [6]李剛民,曹巧媛.單片機原理及實用技術.北京:高等教育出版社,2005.</p><p>  [7]劉同法,陳忠平等.單片機基礎

53、與最小系統(tǒng)實踐.北京:北京航空航天大學出版社,2007.</p><p>  附錄1 電路設計連接圖</p><p><b>  附錄2 總程序</b></p><p>  #include<reg52.h></p><p>  #include"intrins.h"</p>

54、<p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p><p>  sbit OE=P2^7;</p><p>  sbit EOC=P2^6;</p><p>  sbit START=P2^5;</p><p>

55、  sbit CLK=P2^4;</p><p>  sbit CS0=P2^0;</p><p>  sbit CS1=P2^1;</p><p>  sbit CS2=P2^2;</p><p>  sbit CS3=P2^3;</p><p>  uint adval,volt;</p><p

56、>  uchar tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8, </p><p>  0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};</p><p>  void delayms(uint ms)</p><p><b>  {</b></

57、p><p><b>  uchar j;</b></p><p>  while(ms--)</p><p><b>  {</b></p><p>  for(j=0;j<120;j++);</p><p><b>  }</b></p>

58、<p><b>  }</b></p><p>  void ADC_read()</p><p><b>  {</b></p><p>  START=0; </p><p><b>  START=1;&

59、lt;/b></p><p><b>  START=0;</b></p><p>  while(EOC==0); </p><p><b>  OE=1;</b></p><p>  adval=P1;

60、 </p><p><b>  OE=0;</b></p><p><b>  }</b></p><p>  void volt_result()</p><p><b>  {</b></p><p>  volt=

61、adval*1.96; </p><p><b>  }</b></p><p>  void disp_volt(uint date) </p><p><b>  {</b></p><p>  CS0=1;CS1=0;CS

62、2=0;CS3=0; </p><p>  P0=~((~tab[date/100])|0x80); </p><p>  delayms(1);</p><p>  P0=0xFF; </p><p>  CS0=0;C

63、S1=1;CS2=0;CS3=0; </p><p>  P0=tab[date%100/10];</p><p>  delayms(1);</p><p>  P0=0xFF; </p><p>  CS0=0;CS1=0;CS2=1;CS

64、3=0; </p><p>  P0=tab[date%10];</p><p>  delayms(1);</p><p>  P0=0xFF; </p><p>  CS0=0;CS1=0;CS2=0;CS3=1;

65、</p><p>  P0=tab[date%100];</p><p>  delayms(1);</p><p><b>  P0=0xFF;</b></p><p><b>  }</b></p><p>  void t0()interrupt 1</p>

66、<p><b>  {</b></p><p><b>  CLK=~CLK;</b></p><p><b>  }</b></p><p>  void t0_init()</p><p><b>  {</b></p>&

67、lt;p>  TMOD=0x02; </p><p><b>  TH0=0x14;</b></p><p><b>  TL0=0x00;</b></p><p>  TR0=1; <

68、/p><p>  ET0=1; </p><p>  EA=1; </p><p><b>  }</b></p><p>  void main(void)</p>

69、<p><b>  {</b></p><p>  t0_init();</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  ADC_read();</p><p>  volt_r

溫馨提示

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

評論

0/150

提交評論