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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

43、;  4.2程序調(diào)試</b></p><p>  在程序的調(diào)試過程中,核心是A/D轉(zhuǎn)換的進(jìn)行,如下:</p><p>  START=0; //啟動A/D轉(zhuǎn)換</p><p><b>  START=1;</b></p><p><b&g

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

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

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

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

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

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

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

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

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

53、與最小系統(tǒng)實(shí)踐.北京:北京航空航天大學(xué)出版社,2007.</p><p>  附錄1 電路設(shè)計(jì)連接圖</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)系上傳者。文件的所有權(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論