歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

數(shù)字電壓表的設(shè)計畢業(yè)設(shè)計(共37頁)

  • 資源ID:46403213       資源大?。?span id="okmrsmg" class="font-tahoma">477KB        全文頁數(shù):37頁
  • 資源格式: DOC        下載積分:20積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要20積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

數(shù)字電壓表的設(shè)計畢業(yè)設(shè)計(共37頁)

精選優(yōu)質(zhì)文檔-傾情為你奉上華東交通大學理工學院Institute of Technology. East China Jiao tong University 畢 業(yè) 設(shè) 計 Graduation Design(2011 2015 年)題 目 數(shù)字電壓表的設(shè)計 分 院: 電氣與信息工程分院 專 業(yè): 工程及其自動化 班 級: 電力2011-1 學 號: 學生姓名: 田唯迪 指導教師: 起訖日期: 2015-01-012015-05-10 摘 要在電子應用領(lǐng)域,工業(yè)自動化儀表已經(jīng)有了非常廣泛的應用。本文設(shè)計的數(shù)字電壓表以AT89C51單片機為主要控制器件,利用ADC0808把模擬信號轉(zhuǎn)換為數(shù)字信號并加以顯示的電路。它的設(shè)計主要包括硬件電路和系統(tǒng)程序兩部分設(shè)計。硬件電路主要是單片機最小設(shè)計模塊、A/D轉(zhuǎn)換模塊和顯示模塊的設(shè)計,系統(tǒng)程序設(shè)計則是通過AT89C51單片機先將系統(tǒng)初始化,通過ADC0808轉(zhuǎn)換芯片把模擬量轉(zhuǎn)換成數(shù)字量,最后通過數(shù)碼管顯示數(shù)據(jù)。設(shè)計的數(shù)字電壓表的測量范圍為200mv10v,對直流電壓進行測量。該電路功能強大,有報警系統(tǒng),可控制測量范圍,數(shù)碼管顯示精度高,可擴展性強等優(yōu)點。數(shù)字電壓表的應用在很多領(lǐng)域,有非常好的應用前景。對數(shù)字電壓表進行研究很有必要性。這對我們研究單片機技術(shù)是很有幫助的。關(guān)鍵詞:AT89C51;ADC0808;電壓測量;A/D轉(zhuǎn)換AbstractIn electronic applications, industrial automation instruments have a very wide range of applications. This design of a digital voltmeter to AT89C51 microcontroller as the main control device, use it ADC0808 analog signals into digital signals and display them circuit. Its design includes hardware and system design program in two parts. The hardware circuit design module is the smallest single-chip design A / D converter module and display module, system programming is through the first AT89C51 SCM system initialization, by ADC0808 converter chip to convert analog to digital, and finally through a digital display data. Measuring range designed digital voltmeter is 200mv-10v, DC voltage measurement. The circuit is powerful, alarm system, control measuring range, digital display and high precision, scalability and other advantages.Application of digital voltmeter in many areas, there is a very good prospect. Conduct research on the digital voltmeter very necessity. This single-chip technology for our study is helpful.Key words: T89C52; ADC0808; Voltage measurement;A/D converter目 錄專心-專注-專業(yè)引 言數(shù)字電壓表簡稱DVM,它是采用數(shù)字化測量技術(shù),能將連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)的、離散的數(shù)字形式并加以顯示的儀表。目前,數(shù)字電壓表已被廣泛用于電子電氣測量、工業(yè)自動化儀表、自動測試系統(tǒng)等領(lǐng)域。數(shù)字電壓表有很多優(yōu)點:(1).通過數(shù)碼管顯示數(shù)字清晰直觀,讀數(shù)準確,相對于借用指針和刻度盤的讀數(shù)有了很大的改進。(2).數(shù)碼管顯示位數(shù)多,能測量的范圍更加廣,用途更加廣泛。(3).測量準確度高,誤差越來越小。準確度表示測量結(jié)果與真實值的一致性,反映了測量誤差的大小。(4).分辨率高。數(shù)字電壓表測量靈敏度高,微小電壓變化能在數(shù)碼管的動態(tài)顯示中顯示。(5).擴展能力強。在數(shù)字電壓表的基礎(chǔ)上,可改造成用于不同工業(yè)領(lǐng)域的儀器儀表。(6).測量速率快。它取決于A/D 轉(zhuǎn)換器的轉(zhuǎn)換速率。測電壓時,電表兩端接觸被測電壓,數(shù)碼管即刻顯示被測電壓數(shù)值,相對于指針和刻度盤測量更加穩(wěn)定和便捷。(7).輸入阻抗高。數(shù)字電言表在測量時從被測電路上吸取的電流極小,為顯示更加精確,可以用放大電路放大電流,不會影響被測信號源的工作狀態(tài),能減小由信號源內(nèi)阻引起的測量誤差。(8).集成度高,耗能少。新型的數(shù)字電壓表采用CMOS大規(guī)模集成電路,工作狀態(tài)時功耗很低,電池可用時間長。(9).抗干擾能力強。(10)測量電壓時系統(tǒng)恢復初始化,無需像指針式電壓表那樣置零。1 緒論1.1選題的依據(jù)及意義 微型單片機自上世紀70年代首次出現(xiàn),因為其價格低而性能有很高,便于攜帶所占地方小、可以適配各種功能等等特點很快便引起了人們關(guān)注度,之后很多年的發(fā)展,現(xiàn)在常見于家用電器控制,節(jié)能設(shè)備、電子儀器、智能機器人等方向也有著廣泛的應用,在軍事設(shè)備、工業(yè)控制領(lǐng)域都用到單片機控制,可見現(xiàn)在的單片機更加微型,智能,在提高了產(chǎn)品的功能與質(zhì)量同時,還降低了設(shè)計和使用成本。傳統(tǒng)模式的電壓表測量精度低,容易引入誤差,測量范圍小,功能簡單,不能滿足數(shù)字化時代的需求,很有必要選用既要精度高又要有很強的抗干擾能力,并且同時還需要滿足擴展性強,外形小巧集成方便的芯片最為首選,體積小易于攜帶,還能與電腦端進行實時通信。現(xiàn)階段,在電工檢測方向、工業(yè)自動化儀表控制、智能自動測試系統(tǒng)中,由A/D 轉(zhuǎn)換器作為核心器件的數(shù)字電壓表被越來越廣泛的應用,并且再有很大的份額和很強的生命力。由DVM技術(shù)發(fā)展而形成的通用及專用的更高級的數(shù)字儀器儀表也更多的應用在監(jiān)測電量和非電量的測試中并且得到了較快的發(fā)展,也將這項技術(shù)提高到了嶄新高度。1.2 國內(nèi)外現(xiàn)狀研究及發(fā)展趨勢電子技術(shù)近20年的發(fā)展,微電子技術(shù)、計算機技術(shù)、集成技術(shù)、網(wǎng)絡技術(shù)等高新技術(shù)越來越成熟。在這樣的情況下,人們不斷對數(shù)字電壓表提出了更高的要求,加快了數(shù)字電壓表的發(fā)展,技術(shù)人員要求數(shù)字電壓表速度更快、性能更穩(wěn)定,靈敏度更高、以及操作更方便,做到成本更低,樣品量提供量更少、和零污染。數(shù)字電壓表的發(fā)展大致如下:1. 新技術(shù)的廣泛應用新的A/D轉(zhuǎn)換技術(shù)于上世紀90年代初在世界許多國家研發(fā)。自動校準技術(shù)、A/D轉(zhuǎn)換技術(shù)、資源再利用技術(shù),使得數(shù)字電壓表更加精度化、智能化、經(jīng)濟化、環(huán)?;蛑咚桨l(fā)展。 2. 智能化階段 在電子技術(shù)、大規(guī)模集成電路及計算機技術(shù)日新月異的大背景下,人們很快研制出并量產(chǎn)了DVM數(shù)據(jù)處理和可編程程序在微處理器控制下的芯片,因為數(shù)字電壓有數(shù)據(jù)存儲器ROM并使用C軟件編程,通過可進行信息處理,儀器儀表經(jīng)過接口監(jiān)測系統(tǒng),從而進行自校、自檢,自查三個步驟,以及高準確性的運行,這樣便實現(xiàn)了監(jiān)測系統(tǒng)的智能化當前,智能化的DVM的出現(xiàn)以及智能化儀表發(fā)展的良好態(tài)勢,DVM將會成為未來的發(fā)展趨勢,并且會得到更多領(lǐng)域的應用。這樣為各種物理量的動態(tài)檢測的實現(xiàn)提供了可能。1.3研究的主要內(nèi)容本文介紹的一種簡易數(shù)字電壓表。主要是由AT89c51單片機控制,顯示模塊由A/D轉(zhuǎn)換器和數(shù)碼管控制,數(shù)據(jù)處理模塊及顯示模塊組成,芯片由ADC0808采集到的模擬量轉(zhuǎn)化為相應的數(shù)字量再傳送到相應的模塊處理中。芯片的主要任務是處理數(shù)據(jù),并且把0808送來的數(shù)字量進行分析處理,再送到顯示模塊中顯示,由于元件較少,成本低,測量精度和可靠性較高系統(tǒng)的數(shù)字電壓表電路簡單實現(xiàn)。2設(shè)計方案與論證2.1電壓表功能設(shè)計(1)對直流電壓的測量。(2)能對常見的交流信號的電壓進行測量。(3)測量電壓的范圍從200mv到10V之間。(4)當輸入電壓過大時能夠具有保護功能。(5)顯示功能。(6)其它附加功能。2.2設(shè)計思路電壓表由模擬和數(shù)字轉(zhuǎn)換兩大部分,電路應盡量采用中、大規(guī)模集成電路。(1)為了滿足各方面的設(shè)計需求,選擇AT89C51單片機為核心控制器件。(2)ADC0808和輸入放大器用來用作A/D轉(zhuǎn)換器,基準電源構(gòu)成了模擬部分;數(shù)字部分由計數(shù)器、譯碼器、電流放大器、邏輯控制器、振蕩器和顯示器構(gòu)成。數(shù)字量經(jīng)由轉(zhuǎn)換器將輸入端輸入的模擬量轉(zhuǎn)換而成,與此同時產(chǎn)生控制信號并根據(jù)產(chǎn)生的頻率,經(jīng)過分析處理整合檢測最終輸出需要顯示的數(shù)字。(3)電壓顯示采用兩位一體的LED數(shù)碼管。(4)LED數(shù)碼的段碼輸入,由并行端口P0產(chǎn)生:位碼輸入,用并行端口P2低兩位產(chǎn)生;小數(shù)點位由P2口產(chǎn)生。 2.3設(shè)計方案轉(zhuǎn)換電路、A/D轉(zhuǎn)換、單片機、時鐘電路、復位電路、模擬電壓輸入構(gòu)成了硬件設(shè)計電路 。硬件電路設(shè)計圖如下圖所示:圖2-1 數(shù)字電壓表總體設(shè)計方案圖3系統(tǒng)硬件電路的設(shè)計 3.1單片機最小系統(tǒng)設(shè)計3.1.1 AT89C51單片機的主要特征AT89C51單片機的外形如圖3-1所示:圖3-1 AT89C51引腳圖P0口引腳:這組引腳共有8個引腳,P0.0-P0.7這8個引腳有兩種不同的功能,分別用于通用I/O口和對片外存儲器的讀/寫數(shù)據(jù),P0口的字節(jié)地址為80H,口的各位口線具有完全相同但又相互獨立的邏輯電路,有一個鎖存器兩個三態(tài)輸入緩沖器一個多路轉(zhuǎn)接開關(guān),實際控制中,P0口多數(shù)情況下都是作為地址/數(shù)據(jù)線使用。P1口引腳:只可作為普通的I/O口使用,在電路結(jié)構(gòu)上和P0口不同,因為P1口只傳送數(shù)據(jù),所以不再需要轉(zhuǎn)換開關(guān),P1口是準雙向口,P1口作為輸出用時,可以獨立對外提供推拉電流負載,外電路就不再需要上拉電阻,作為輸入使用時,必須在鎖存器寫入1,使FET截止。P2口:P2口字節(jié)地址為0A0H,實際控制中為系統(tǒng)提供高位地址,這個功能和P0口一樣,在電路中有一個多路轉(zhuǎn)接開關(guān),但是轉(zhuǎn)接開關(guān)的一段不再是作為地址數(shù)據(jù)使用,二就是單一的作為地址用而控制功能是它的第二大功能,但是每個引腳不完全一樣。ALE:地址鎖,使地址鎖存于使能端。訪問外部存儲器,如RAM、ROM。有51個外部總線,16位地址線,數(shù)據(jù)線為8,而低8位的地址跟數(shù)據(jù)線是重合,所以單獨訪問低8位的地址和數(shù)據(jù),這就需要用到ALE信號。訪問存儲器的時候,P2口輸出高地址,P0輸出低地址。利用外部的鎖存器(設(shè)計用74HC245存儲器)配合ALE脈沖,鎖存P0地址,這時讀寫信號開始起作用,P0口讀入或者輸出數(shù)據(jù)。RST:單片機復位電路,當單片機系統(tǒng)在運行中受到環(huán)境干擾時,程序運行若有錯誤,及時按復位按鈕,系統(tǒng)電路將自動初始化,起重置作用。在設(shè)計時單片機系統(tǒng)如上圖3.1P0口接收由ADC0808送來的數(shù)據(jù),然后通過P1口將數(shù)據(jù)送給LED顯示器,通過顯示器將數(shù)值都顯示出來。3.1.2 時鐘電路單片機中指令執(zhí)行都需要在晶振產(chǎn)生的固有頻率下進行,按節(jié)拍有順序的一次進行下去,而單片機時鐘脈沖是由時序電路發(fā)出的。單片機芯片內(nèi)部有一個串聯(lián)的反相放大器來增強震蕩器高增益,XTAL1為輸入端,XTAL2為輸出端,用一個晶振和 2個30uf的電容構(gòu)成時鐘電路,如下圖所示:圖3-2 時鐘電路電路中的器件選擇有三種方法,一是通過計算,二是實驗確定,三是參考一些典型電路,電容器C1和C2取值范圍是30±10uF,本文選擇了30uF的電容,這樣會對對震蕩頻率起到調(diào)節(jié)的作用電路產(chǎn)生的時鐘信號震蕩頻率由石英晶振來決定,最高可選24MHz,本系統(tǒng)中選擇6MHz作為時鐘信號的震蕩頻率。3.1.3 復位電路復位電路是用來返回到電路設(shè)備初始化狀態(tài)的電路,的上電復位電路,只要在復位輸入引腳上接一電容在ACC上端,下端接地就行了。C型單片機,由于在RST端內(nèi)部有一個下拉電阻,故可拆除外部電阻,外接電容減至10uF。上電復位的工作過程:在加電時,復位電路通過電容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,RST端的高電平持續(xù)時間取決于電容的充電時間。加在RST端的高電平信號要維持足夠長的時間才能保證系統(tǒng)可靠復位。一般來說復位方式有上電自動復位和按鈕復位兩種。圖3-3是AT89c51單片機的上電復位和按鈕復位組合電路。圖3-3 復位電路3.2 A/D轉(zhuǎn)化模塊 現(xiàn)實中大多數(shù)都是模擬量,這樣并不能被我們直接采用,所以人們研制了數(shù)字量的器件,它能把模擬的物理量轉(zhuǎn)變成我們能夠利用的數(shù)字量,這是單片機幾桶收集整理轉(zhuǎn)變數(shù)據(jù)的關(guān)鍵,在電路設(shè)計中必不可少,經(jīng)過人們不斷努力改進,現(xiàn)在的轉(zhuǎn)換器已經(jīng)具備了很強的抗干擾能力,轉(zhuǎn)換精度十分準確,性能強,價格低廉,種類多,常用的有逐次逼近型,雙重積分型等。逐次逼近式A/D轉(zhuǎn)換的轉(zhuǎn)換速度和精度都比雙積分型更高,ADC0808轉(zhuǎn)換器可以與單片機連接,把轉(zhuǎn)換得到的數(shù)字量送入單片機,并對數(shù)字量進行分析和顯示。每個位比較一次,那么一個n位久需比較n次,這過程中所消耗的由位數(shù)和單片機時鐘周期來共同決定,因為現(xiàn)實中更注重效率,而逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換速度快,在現(xiàn)實的生產(chǎn)生活中被大量采用。3.2.1 A/D轉(zhuǎn)化器的工作原理轉(zhuǎn)換器要想工作,必須先做幾個步驟如寄存器每一個都必須歸零,開始轉(zhuǎn)換工作時,必須將最高位置高電也就是置1才能把數(shù)據(jù)送入轉(zhuǎn)換器中進行轉(zhuǎn)換,轉(zhuǎn)換后的結(jié)果與輸入時的比較,若經(jīng)轉(zhuǎn)換的模擬量小于輸入的模擬量,則1被保留,如轉(zhuǎn)換的模擬量大于輸入的模擬量,則1不保留,接著第二位第三位第四位并最終到最低位,最終寄存器中所存儲的便是輸入模擬量所對應的二進制的數(shù)字量。3.2.2 ADC0808主要特征ADC0808是有使能控制端和微機直接接口的CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,首先應用在智能儀器和機床控制領(lǐng)域片內(nèi)可以對模擬電壓信號對8路同時進行轉(zhuǎn)換,之所以這么做,是因為ADC0808與其他相比有著先天的優(yōu)勢:第一,它是8路8位的轉(zhuǎn)換器;其次,8路模擬開關(guān)并具有鎖存控制功能再次可以接各種微控制器口;第三,鎖存三態(tài),與TTL轉(zhuǎn)換電壓低且精度高低功耗等特點。 ADC0808的外部引腳特征:ADC0808有28條引腳,其引腳圖如下所示:圖3-4 ADC0808的引腳圖下面說明各個引腳功能:IN0-IN7(8條):用來進行輸入控制轉(zhuǎn)換模擬電壓。地址控制:ALE為地址輸入鎖存許可線,輸入高電平時有效,當ALE置高電平時,做為地址輸入線使用。START:啟動信號脈沖線,正脈沖寬度不小于100ns,否則無法啟動,EOC: 標志著轉(zhuǎn)換結(jié)束的輸出線,電位處于高電平時則表示A/D轉(zhuǎn)換已經(jīng)結(jié)束,且數(shù)字量自動鎖入鎖存器中。D1-D8:數(shù)字量輸出端口,D8位最低位,D1位最高位。OE:輸出允許端,高電平時,把轉(zhuǎn)換后的數(shù)字量通過D1-D8引腳上輸出。REF+、REF-:輸入電壓參考量,指給電阻階梯網(wǎng)絡的參考電壓和標準值。Vcc、GND: Vcc一般R與EF+連接在一起為主電源輸入端,地端是GND與REF-連接在一起,這樣便是VCC ,GND的作用。轉(zhuǎn)換器和單片機的鏈接,如下圖:圖3-5轉(zhuǎn)換器和單片機的鏈接3.3顯示模塊設(shè)計3.3.1數(shù)碼管介紹本文的電壓值是選用LED數(shù)碼管來顯示的。LED數(shù)碼管由8個發(fā)光二極管組成,其中7個按“8”字型排列,還有一個是位于右下角且發(fā)光管的圓點形狀為dp,用來顯示小數(shù)點。LED有低功耗、亮度強、線路簡單、壽命長等優(yōu)點,數(shù)碼管的引腳圖如圖3-6所示:圖3-6數(shù)碼管引腳排列發(fā)光二極管有兩種接法,分別是共陽極接法和共陰極接法,把8個點連在一起,高電平在公共端接入的叫共陽極,低電平在公共端接入的叫共陰極。數(shù)碼管有靜態(tài)和動態(tài)兩種顯示方式。靜態(tài)顯示,就是指一個I/O端口只能控制一個數(shù)碼管的段碼數(shù)據(jù)。這樣各個數(shù)碼管顯示相對獨立,每個數(shù)碼管接收的顯示字符一經(jīng)確定,相應I/O口的輸出段碼將保持不變,直到顯示下一個字符,此特點使得數(shù)碼管的顯示亮度也較高。但是也存在著缺點,大量的I/O端口在數(shù)碼管過多時將被占用。動態(tài)顯示,指逐位地點亮顯示器的各個位,點亮一次顯示器的亮度與間隔時間、導通電流和點亮時間的比例三者相關(guān)。動態(tài)顯示的亮度要比靜態(tài)顯示要暗,所以在選擇靜態(tài)顯示電路中的限流電阻應該要大于限流電阻時阻值,防止數(shù)碼管損壞。采用了自動顯示8路模擬電壓值動態(tài)顯示對于設(shè)計的實現(xiàn)非常容易。3.3.2數(shù)碼管顯示模塊電路數(shù)碼管要求的驅(qū)動電流在10mA20mA,為防止數(shù)碼管灌入的電流太大,超出了單片機允許的電流范圍而導致器件損壞,在P1口輸出段碼顯示處,要加入10K的限流電阻排阻,一共8個同阻值的電阻,分別對應LED的8個接口,既保護數(shù)碼管,又簡單電路。本設(shè)計選用軟件譯碼的方式來簡化電路和進行數(shù)值顯示。顯示電路采用LED數(shù)碼管通過軟件譯碼動態(tài)顯示,通過單片機的P1、P3.2、P3.3、P3.5口控制。通過譯碼器驅(qū)動將依次循環(huán)點亮數(shù)碼管,如圖3-7所示:圖3-7 數(shù)碼管電路3.3.3 LED數(shù)碼管與單片機接口設(shè)計LED驅(qū)動電路設(shè)計是一個很重要的問題,單片機的I/O口產(chǎn)生的電流并不能直接驅(qū)動LED,驅(qū)動電路能力太差,這樣就會導致顯示器亮度低,這時,只要用驅(qū)動電路產(chǎn)生足夠的電流,LED就能正常工作。在LED驅(qū)動電路的設(shè)計過程中,可以利用上拉電阻解決這種問題,就是可以在LED的DP引腳到P0口和7段顯示引腳之間接上上拉電阻,以此來增強P0口的驅(qū)動能力,LED以正常的亮度運行。如圖3-8所示。圖3-8 數(shù)碼管與單片機的鏈接3.4 高阻隔放大電路 采用LM324運放構(gòu)成的前級信號調(diào)理電路,作為衰減信號的緩沖,提高輸出阻抗,電壓不變,電流增大,保證輸出穩(wěn)定并減小后級電路對信號的影響,避免沖擊電壓對運放的危害,加一個電容保護電路。圖3-9 高阻隔放大電路3.5 總體電路設(shè)計總結(jié)以上的設(shè)計,利用protues軟件繪制出簡易的數(shù)字直流電壓表電路原理圖。數(shù)字直流電壓表電路圖的工作原理是:輸入模擬電壓,對模擬電壓信號進行處理然后再由ADC0808的IN0通道進入,這樣經(jīng)過轉(zhuǎn)換后的數(shù)字量經(jīng)過D0-D7輸出通道再傳送給單片機芯片的P1口,接收到的數(shù)字量可以通過AT89C51進行數(shù)據(jù)處理,通過P0口輸出給譯碼器,從而7段數(shù)碼管的顯示段碼再傳送給74HC245譯碼然后去驅(qū)動LED,還控制P2.0、P2.1、P2.2的段選以及小數(shù)點。此外,AT89C51還控制ADC0808的工作,單片機AT89C51通過從ALE引腳輸出方波,接到ADC0808的CLOCK,P3.0發(fā)正脈沖啟動A/D轉(zhuǎn)換,A/D轉(zhuǎn)換完成產(chǎn)生中斷,單片機進入中斷程序,從P1口讀取轉(zhuǎn)換的P3.1置高電位,然后送給LED顯示??傮w電路設(shè)計完畢,利用Proteus制出硬件的原理結(jié)構(gòu)圖,并作相應的檢查、修改、及測試,直至完成完善的硬件原理結(jié)構(gòu)圖。本設(shè)計目的是能對電壓進行測量,顯示的功能和其他相應的軟件配合。如圖3-10所示:圖3-10 系統(tǒng)電路圖4 程序設(shè)計4.1主程序流程圖主程序流程分成3個模塊,初始化模塊,顯示A/D轉(zhuǎn)換子程序模塊和子程序模塊構(gòu)成的。第一步,開始,系統(tǒng)自動回到初始化狀態(tài),此時,A/D轉(zhuǎn)化子程序啟動,將輸入的模擬信號轉(zhuǎn)化為數(shù)字信號,測量限值比較,若輸入的模擬電壓大于電壓表的測量范圍,則系統(tǒng)蜂鳴器報警且輸出電壓表測量電壓最大值,若輸入電壓小于測量范圍,則系統(tǒng)正常運行且輸出準確電壓,接著顯示子程序啟動,數(shù)字信號通過LED顯示板顯示數(shù)值,流程結(jié)束。如下圖所示:圖4-1 數(shù)字電壓表主程序框圖啟動電源前,系統(tǒng)自動復位,蜂鳴器關(guān)閉,LED顯示關(guān)閉,定時器初始化。啟動電源,輸入被測模擬電壓值,經(jīng)過A/D轉(zhuǎn)換程序,譯碼器獲得電壓數(shù)值,通過LED顯示器顯示,此時判斷被測電壓是否超出測量范圍,若超出,蜂鳴器報警,輸出測量范圍最大值;若正常,則輸出準確電壓。另外,還可設(shè)置系統(tǒng)電壓的測量范圍,通過限制設(shè)置一欄設(shè)定想要的測量范圍。主程序核心代碼:/主程序void main()int value; /電壓數(shù)據(jù)unsigned int delay_count=0; /延時計數(shù)BUZ=0; /上電先關(guān)閉蜂鳴器LED=1; /關(guān)LEDTimerInit(); /定時器初始化while(1)delay_count+; /延時計數(shù)+1if(delay_count>5000)delay_count=0; /延時計數(shù)清0value=GetValue(); /獲取電壓ValueDis(value);/顯示電壓if(value<=valueMAX) /電壓正常BUZ=0; /關(guān)蜂鳴器LED=1; /關(guān)LEDb_over=0; /超限標志else /電壓超限b_over=1; /超限標志if(KEY1 = 0)/按鍵1-設(shè)定限值while(!KEY1); /等待按鍵松開SetFun(); /設(shè)定限值4.2 A/D轉(zhuǎn)換子程序流程圖模擬輸入電壓經(jīng)過ADC0808轉(zhuǎn)換成數(shù)值,再經(jīng)過A/D轉(zhuǎn)換子程序移入相應的存儲單元中,輸入電壓與A/D轉(zhuǎn)化結(jié)果對比,正確則輸出轉(zhuǎn)換結(jié)果,錯誤則重新對比,將正確的輸出結(jié)果進行數(shù)值轉(zhuǎn)換,以數(shù)值形式顯示結(jié)果,顯示階段出現(xiàn)問題則重新回到啟動轉(zhuǎn)化階段重復循環(huán),顯示正確數(shù)值后A/D轉(zhuǎn)換子程序結(jié)束。流程如圖4-2所示,轉(zhuǎn)換子程序經(jīng)過一段時間調(diào)用一次。圖4-2 A/D轉(zhuǎn)化流程圖開始后,鎖存通道地址,復位電路自動復位,延時3毫秒,下降沿啟動轉(zhuǎn)換,延時,設(shè)置ADOE=1時,引腳置為讀,當輸入ADOE=1,等待轉(zhuǎn)換,通過ADC0808允許數(shù)據(jù)輸出,譯碼器讀取AD數(shù)據(jù),反之,當輸入ADOE=0時,禁止數(shù)據(jù)輸出,且返回AD數(shù)據(jù)。A/D轉(zhuǎn)換程序代碼:/讀ADC數(shù)據(jù)u8 ReadData()u8 adda;ADALE=1;ADALE=0; /鎖存通道地址 ADSTART=1; /上升沿復位Delayms(3); /延時幾毫秒ADSTART=0; /下降沿啟動轉(zhuǎn)換Delayms(3); /延時幾毫秒ADEOC=1; /引腳置為讀while(!ADEOC); /等待轉(zhuǎn)換結(jié)束ADOE=1; /數(shù)據(jù)輸出允許adda=ADCPORT; /讀取AD數(shù)據(jù)ADOE=0; /數(shù)據(jù)輸出禁止return adda; /返回AD數(shù)據(jù)4.3顯示子程序顯示子程序采用動態(tài)顯示實現(xiàn)數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯示方式時,要使得LED顯示的均勻穩(wěn)定,還要有足夠的亮度,需要設(shè)置適當?shù)膾呙桀l率,設(shè)置掃描頻率在70HZ左右時,能夠產(chǎn)生比較好的顯示效果。在protues仿真中輸入的電壓比較穩(wěn)定,所以在顯示中看不到動態(tài)的效果。4.4編程軟件keil介紹Keil是一款非常強大的軟件,它的庫函數(shù)非常豐富,在Windows系統(tǒng)中功能強大,Keil 51生成的效率高而且語句簡單易懂,所以Keil被廣泛應用于開發(fā)編程軟件。開發(fā)人員發(fā)現(xiàn)C語言在功能強大,結(jié)構(gòu)性、可讀性、可維護性上都有明顯的優(yōu)勢,移植性好,現(xiàn)在多數(shù)技術(shù)人員需要熟練掌握好C語言的編程,這對學習單片機有更多的好處。5 仿真與調(diào)試5.1 protues仿真的介紹Proteus是一款EDA工具軟件,它可以對電路系統(tǒng)進行仿真,也可以對單片機及其他器件仿真,國內(nèi)外普遍使用protues進行仿真,此軟件的功能在非常完善,仿真的效果與實物的測試,兩者誤差非常小,很實用的軟件。智能原理圖設(shè)計中,電路元件種類齊全,電路仿真功能完善,支持多數(shù)CPU類型、支持外設(shè)、實時仿真、編譯及調(diào)試、實用的PCB設(shè)計平臺,這些都是Proteus主要功能。Proteus功能特點:1PCB自動或人工布線2原理布圖3SPICE電路仿真特點是:1.互動的電路仿真2.仿真處理器及其外圍電路5.2 protues仿真電路圖圖5-1 仿真圖5.3仿真結(jié)果左鍵雙擊單片機AT89C51,彈出如圖5-2所示一個菜單,點擊program file找到程序所在的位置。載入程序。就可以進行模擬測試了。圖5-2 載入程序示意圖載入程序完成后,就可以開始仿真了,點擊軟件中的運行按鈕,單片機中的程序開始運行。通過改變被測的模擬電壓來顯示實際環(huán)境下電壓的改變,當數(shù)碼管所顯示的數(shù)值和輸入被測電壓的數(shù)值接近時,說明系統(tǒng)設(shè)計正確。系統(tǒng)電壓輸入到被測電壓顯示存在一定的誤差,該誤差可能是分壓系數(shù)的引起、電磁干擾引起、放大器的非理想特性引起等等。當IN0口輸入電壓為0時,數(shù)碼管顯示0.0。顯示結(jié)果如圖5-3:圖5-3 仿真效果圖當INT0輸入為5.05V時,對應的顯示結(jié)果如圖5-4所示:圖6-4 仿真效果圖當INT0口輸入為9.85V時,與輸出結(jié)果稍微有點誤差,對應的輸出結(jié)果如圖5-5所示:圖5-5 仿真效果圖當輸入電壓10.5V時,被測電壓超過數(shù)字電壓表測量范圍,報警器鳴笛報警。顯示最高測量電壓為10V。圖5-6 仿真效果圖仿真成功。總 結(jié)本設(shè)計是我第一次設(shè)計的電路,利用Proteus的仿真與實現(xiàn)。在這個過程中,我學到了許多課外的知識,提高了自己思考和設(shè)計的能力,對使用單片機有新的體會。通過本設(shè)計利用Proteus和Keil軟件,我也學到了很多知識,在硬件設(shè)計、系統(tǒng)程序編程、功能模塊劃分、設(shè)計原理圖和電路仿真設(shè)計的過程中,積累了很多經(jīng)驗?;趩纹瑱C的數(shù)字電壓表功能強大,它結(jié)構(gòu)簡單,電路原理易懂,成本低,用到外部元件少,能夠在實踐中很好地工作,測量電壓精度高。該系統(tǒng)的功能,得到了理想的效果,在系統(tǒng)硬件設(shè)計有可擴展性,增加了限值電壓測量范圍,過壓報警等功能。本設(shè)計實現(xiàn)了對簡易數(shù)字電壓表的測量電壓的功能,詳細描述了電路原理,設(shè)計與仿真,繪畫出電路原理圖及軟件調(diào)試。通過本次設(shè)計,加深了我對單片機的認知,體積雖小,但有著強大功能。本設(shè)計采用AT89C51單片機,功能更完善,應用領(lǐng)域更廣泛。該設(shè)計也可用于模數(shù)轉(zhuǎn)換芯片ADC0808,在單一的課程對知識的理論有一個初步的了解。通過本設(shè)計,對數(shù)字電壓表的工作原理,有一個更深的了解。該電路的設(shè)計和仿真,基本滿足設(shè)計要求。以后的實踐過程中,我仍會認真學習電路設(shè)計的理論知識,理論聯(lián)系實際,爭取在電路設(shè)計的取得更多的進步。參考文獻1謝自美.電子線路設(shè)計實驗測試(第二版)M,.武漢:華中科技大學出版社,2000.2張文祥.單片機系統(tǒng)設(shè)計與開發(fā)教程M.北京:電子工業(yè)出版社,2011.3劉宏.Protel電路設(shè)計實用指南M.西安:西安電子科技大學出版,2004.4陳明熒.8051單片機課程設(shè)計實訓教材M.北京:清華大學出版社.5孟祥蓮.單片機原理及應用:基于Proteus與KeilCM.北京:哈爾濱工業(yè)大學出版社,2010.6周潤景.PROTEUS入門實用教程M.北京:機械工業(yè)出版社,2006.附 錄1. 電路原理圖。2. 程序代碼。#include <reg52.h>#define u8 unsigned char#define u16 unsigned int#define uint unsigned int#define uchar unsigned char /宏定義sbit KEY1 = P30; /按鍵1sbit KEY2 = P31;/按鍵2sbit KEY3 = P32;/按鍵3sbit LED = P26; /LEDsbit BUZ = P27;/蜂鳴器#define SEGSELECT P2 /數(shù)碼管位選#define SEGDATA P0 /數(shù)碼管數(shù)據(jù)端口sbit ADALE =P34; /ADC0808地址鎖存允許信號(高有效)sbit ADOE =P37; /ADC0808數(shù)據(jù)輸出允許信號(高有效)sbit ADEOC =P36; /ADC0808轉(zhuǎn)換結(jié)束信號(輸出高)sbit ADSTART=P35; /ADC0808轉(zhuǎn)換啟動脈沖(至少100ns,上升沿復位,下降沿啟動轉(zhuǎn)換)#define ADCPORT P1 /ADC0808數(shù)據(jù)端口char code segcode22=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,/無點(共陽) 0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,/有點(共陽) 0xff,0xbf; /不顯示,-(共陽)char disbuf4;/顯示緩存char seg=0;/顯示位指示int valueMAX=900; /默認電壓上限9V,超過9V會報警bit b_over=0; /超限標志/延時(單位:ms)void Delayms(int d)int i,j;for(i=0;i<d;i+)for(j=0;j<100;j+);/定時器初始化void TimerInit()TMOD=0x11;IP =0x02; /中斷優(yōu)先級設(shè)置(該句允許T0中斷嵌套進T1中斷)TH0=0xaa;TL0=0xaa;TH1=0x00;TL1=0x00;ET0=1;ET1=1;EA=1;TR0=1;TR1=1;/讀ADC數(shù)據(jù)u8 ReadData()u8 adda;ADALE=1;ADALE=0; /鎖存通道地址 ADSTART=1; /上升沿復位Delayms(3); /延時幾毫秒ADSTART=0; /下降沿啟動轉(zhuǎn)換Delayms(3); /延時幾毫秒ADEOC=1; /引腳置為讀while(!ADEOC); /等待轉(zhuǎn)換結(jié)束ADOE=1; /數(shù)據(jù)輸出允許adda=ADCPORT; /讀取AD數(shù)據(jù)ADOE=0; /數(shù)據(jù)輸出禁止return adda; /返回AD數(shù)據(jù)/定時器0中斷處理,負責顯示void Timer0ISR() interrupt 1TR0=0;SEGSELECT=seg|(SEGSELECT&0xfc);SEGDATA=segcodedisbufseg;seg+;if(seg>3) seg=0;TH0=0xee;TL0=0xee;TR0=1;/定時器1中斷處理void Timer1ISR() interrupt 3static char n=0; /中斷計數(shù)TR1=0;n+;if(n=10)n=0;if(b_over) /超限BUZ=!BUZ;LED=!LED;TH1=0x00;TL1=0x00;TR1=1;/顯示電壓void ValueDis(int dat)if(dat<1000)disbuf0=20; /不顯示disbuf1=dat/100+10; /百位disbuf2=dat%100/10; /十位disbuf3=dat%10; /個位elsedisbuf0=dat/1000; /千位disbuf1=dat%1000/100+10; /百位disbuf2=dat%100/10; /十位disbuf3=dat%10; /個位/設(shè)定限值void SetFun()ValueDis(valueMAX); /顯示上限while(1)if(KEY1 = 0) /按鍵2-退出設(shè)定while(!KEY1); /等待按鍵松開break; /退出else if(KEY2 = 0) /按鍵3-減if(valueMAX>10) valueMAX-=10; /減1ValueDis(valueMAX); /顯示上限while(!KEY2); /等待按鍵松開else if(KEY3 = 0) /按鍵4-加if(valueMAX<1000) valueMAX+=10; /加1ValueDis(valueMAX); /顯示上限while(!KEY3); /等待按鍵松開/獲取電壓int GetValue()u8 addata;float tem;addata=ReadData(); /讀取AD轉(zhuǎn)換tem=(float)addata;tem=tem*1.9608*2.0;return (int)tem;/主程序void main()int value; /電壓數(shù)據(jù)unsigned int delay_count=0; /延時計數(shù)BUZ=0; /上電先關(guān)閉蜂鳴器LED=1; /關(guān)LEDTimerInit(); /定時器初始化while(1)delay_count+; /延時計數(shù)+1if(delay_count>5000)delay_count=0; /延時計數(shù)清0value=GetValue(); /獲取電壓ValueDis(value);/顯示電壓if(value<=valueMAX) /電壓正常BUZ=0; /關(guān)蜂鳴器LED=1; /關(guān)LEDb_over=0; /超限標志else /電壓超限b_over=1; /超限標志if(KEY1 = 0)/按鍵1-設(shè)定限值while(!KEY1); /等待按鍵松開SetFun(); /設(shè)定限值

注意事項

本文(數(shù)字電壓表的設(shè)計畢業(yè)設(shè)計(共37頁))為本站會員(wz****p)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!