找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 38836|回復(fù): 17
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)的數(shù)字電壓表畢業(yè)設(shè)計(jì)論文

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
目錄

摘 要
Abstract
第一章  緒 論
1.1 課題研究的背景及意義
1.2 國內(nèi)外研究現(xiàn)狀和發(fā)展
1.3 本文的研究內(nèi)容
第二章  系統(tǒng)分析與設(shè)計(jì)方案
2.1 系統(tǒng)分析
2.1.1 功能及指標(biāo)
2.2 系統(tǒng)總體方案設(shè)計(jì)
2.2.1 方案設(shè)計(jì)的基本思路
2.2.2 數(shù)字電壓表的兩種設(shè)計(jì)方案
2.2.3  A/D轉(zhuǎn)換模塊的選擇
2.2.4 接口模塊的選擇
2.2.5 微控制器的選擇
2.3 系統(tǒng)硬件分析
2.3.1 AT89S52單片機(jī)簡介
2.3.2 LCD1602顯示器簡介
2.3.3 ADC0804轉(zhuǎn)換芯片簡介
第三章  系統(tǒng)硬件電路設(shè)計(jì)
3.1系統(tǒng)組成
3.2電源接口電路
3.3 AT89S52單片機(jī)最小系統(tǒng)電路
3.3.2 復(fù)位電路
3.3.3 晶振電路
3.4 LCD1602顯示電路
3.6 A/D轉(zhuǎn)換電路
3.7 量程轉(zhuǎn)換電路
第四章 系統(tǒng)軟件設(shè)計(jì)
4.1 系統(tǒng)主程序流程圖
4.2 LCD1602液晶流程圖
4.3 ADC0804流程圖
第五章  性能測試與分析
5.1 各模塊獨(dú)立測試
5.2 系統(tǒng)聯(lián)合調(diào)試
5.3 系統(tǒng)運(yùn)行評估
第六章  總 結(jié)
參考文獻(xiàn)(References)
致 謝
附錄1: 系統(tǒng)原理圖及實(shí)物圖
附錄2: 系統(tǒng)主程序

基于單片機(jī)的數(shù)字電壓表


專業(yè): 學(xué)號:           


摘 要在電路設(shè)計(jì)中我們時(shí)常會(huì)用到電壓表,過去大部分電壓表還是模擬的,雖然精度較高但模擬電壓表采用用指針式,里面是磁電或電磁式結(jié)構(gòu),所以響應(yīng)較慢。為適應(yīng)許多高速信號領(lǐng)域目前已廣泛使用數(shù)字電壓表。數(shù)字電壓表的誕生打破了傳統(tǒng)電子測量儀器的模式和格局,它顯示清晰直觀、讀數(shù)準(zhǔn)確,采用了先進(jìn)的數(shù)顯技術(shù),大大地減少了因人為因素所造成的測量誤差事件,數(shù)字電壓表是把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式,并加以顯示的儀表。數(shù)字電壓表把電子技術(shù)、計(jì)算技術(shù)、自動(dòng)化技術(shù)的成果與精密電測量技術(shù)密切的結(jié)合在一起,成為儀器、儀表領(lǐng)域中獨(dú)立而完整的一個(gè)分支,數(shù)字電壓表標(biāo)志著電子儀器領(lǐng)域的一場革命,也開創(chuàng)了現(xiàn)代電子測量技術(shù)的先河。
本設(shè)計(jì)是基于Atmel51單片機(jī)開發(fā)平臺和自動(dòng)控制原理的基礎(chǔ)上實(shí)現(xiàn)的一種數(shù)字電壓表系統(tǒng)。該系統(tǒng)采用Atmel89S52單片機(jī)作為控制核心,以ADC0804為數(shù)據(jù)采樣系統(tǒng),實(shí)現(xiàn)被測電壓的數(shù)據(jù)采樣;使用穩(wěn)壓二極管做過壓保護(hù),并通過模擬開關(guān)實(shí)現(xiàn)了輸入量程的自動(dòng)轉(zhuǎn)換;使用字符液晶顯示被測電壓。


Design of Digital Voltage Meter based on Single-chip Microcomputer


AbstractIn circuit design, we often use voltage meter,Over the past most of the voltage meter or a simulation,Although high precision analog voltage used in the table, but with the pointer, which is a magnetic or electromagnetic structure,so the slow response.To meet the many areas of high-speed signal has been widely used digital voltmeter.The birth of digital voltage meter break the traditional model of electronic measuring instruments and patterns. It shows the clear and intuitive, accurate readings, using an advanced digital display technology, greatly reduced due to human factors of the measurement error caused by the incident. Digital voltage meter is a row of analog (DC input voltage) into a non-continuous, discrete digital form, and the instrument display. Digital voltage meter to electronic technology, computing technology, automation technology and precision of the results of electrical measurement technology closer together and become instruments, meters and complete an independent field of a branch, digital voltage meter indicates that the field of electronic devices a revolution and also pioneered the modern pioneer of electronic measurement technology.

The design is based on Atmel51 microcontroller development platform and automatic control based on the principle of a digital voltage meter system.The system uses Atmel89S52 microcontroller as the control core, ADC0804 for the sampled data system, The use of a zener diode for overvoltage protection, and through the realization of analog switch the input range automatic conversion; the use of character liquid crystal display the measured voltage.



第一章   1.1 課題研究的背景及意義

數(shù)字電壓表的高速發(fā)展,使它已成為實(shí)現(xiàn)測量自動(dòng)化、提高工作效率不可缺少的儀表,數(shù)字化是當(dāng)前計(jì)量儀器發(fā)展的主要方向之一,而高準(zhǔn)度的DC-DVC的出現(xiàn),又使數(shù)字電壓表進(jìn)入了精密標(biāo)準(zhǔn)測量領(lǐng)域。隨著現(xiàn)代化技術(shù)的不斷發(fā)展,數(shù)字電壓表的功能和種類將越來越強(qiáng),越來越多,其使用范圍也會(huì)越來越廣泛。采用智能化的數(shù)字儀器也將是必然的趨勢,它們將不僅能提高測量準(zhǔn)確度,而且能提高電測量技術(shù)的自動(dòng)化程序,可以擴(kuò)展成各種通用數(shù)字儀表、專用數(shù)字儀表及各種非電量的數(shù)字化儀表(如:溫度計(jì)、濕度計(jì)、酸度計(jì)、重量、厚度儀等),幾乎覆蓋了電子電工測量、工業(yè)測量、自動(dòng)化儀表等各個(gè)領(lǐng)域。從而提高計(jì)量檢定人員的工作效率。

在電量的測量中,電壓,電流和頻率是最基本的三個(gè)被測量,其中電壓量的測量最經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是需要經(jīng)常測量高精度的電壓,所以數(shù)字電壓就成為必不可少的測量儀器。另外,數(shù)字測量儀器具有讀數(shù)準(zhǔn)確方便,精度度高,誤差小,靈敏度高,分辨率高,測量速度快等特點(diǎn)倍受用戶親睞,數(shù)字電壓表的設(shè)計(jì)就基于這種需求發(fā)展起來。目前實(shí)現(xiàn)電壓數(shù)字化測量的方法仍然是模—數(shù)(A/D)轉(zhuǎn)換的方法。數(shù)字電壓表分類繁多,日常生活中一般根據(jù)原理的不同進(jìn)行分類,大致分為:比較式,電壓—時(shí)間變換式,積分式等。

1.2 國內(nèi)外研究現(xiàn)狀和發(fā)展            

數(shù)字電壓表(Digital Voltmeter)簡稱DVM,它出現(xiàn)在上世紀(jì)50年代初,60年代末發(fā)張起來的電壓測量儀表,它采用的是數(shù)字化測量技術(shù),把連續(xù)的模擬量,也就是連續(xù)的電壓值轉(zhuǎn)變?yōu)椴贿B續(xù)的數(shù)字量,加以數(shù)字處理然后通過顯示器件顯示。這種電子儀表之所以出現(xiàn),一方面是由于電子計(jì)算機(jī)的應(yīng)用推廣到系統(tǒng)的自動(dòng)控制信號的實(shí)驗(yàn)領(lǐng)域,提出了各種被觀測量或被控制量轉(zhuǎn)換成數(shù)字量的要求,即為了實(shí)時(shí)控制和數(shù)據(jù)處理的要求;另一方面,也是電子計(jì)算機(jī)的發(fā)展,帶動(dòng)了脈沖數(shù)字電路技術(shù)的發(fā)展,為數(shù)字化儀表的出現(xiàn)提供了條件。所以,數(shù)字化測量儀表的產(chǎn)生與發(fā)展與電子計(jì)算機(jī)的發(fā)展是密切相關(guān)的;同時(shí),為革新電子測量中的煩瑣與陳舊方式也促進(jìn)了它的飛速發(fā)展。如今,它又成為向智能化儀表發(fā)展的必要橋梁。

    如今,數(shù)字電壓表已經(jīng)絕大部分取代了傳統(tǒng)的模擬指針式電壓表,因?yàn)閭鹘y(tǒng)的模擬指針式電壓表功能單一,精度低,讀數(shù)的時(shí)候非常不方便還經(jīng)常出錯(cuò),而采用單片機(jī)的數(shù)字電壓表由于測量精度高,速度快,讀數(shù)時(shí)也非常方便,抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)已被廣泛應(yīng)用與電子和電工測量,工業(yè)自動(dòng)化儀表,自動(dòng)測量系統(tǒng)等領(lǐng)域。顯示出強(qiáng)大的生命力。

數(shù)字電壓表最初是伺服步進(jìn)電子管比較式,其優(yōu)點(diǎn)是準(zhǔn)確度比較高,但是采樣速度較慢,體積重達(dá)幾十公斤。繼之出現(xiàn)了諧波式電壓表,它的速度方面稍有提高但準(zhǔn)確度低,穩(wěn)定性差,再后來出現(xiàn)了比較式儀表改進(jìn)逐次漸進(jìn)式結(jié)構(gòu),它不僅保持了比較是準(zhǔn)確度高的優(yōu)點(diǎn),而且速度也有了很大的提高,但它有一缺點(diǎn)就是抗干擾能力差,很容易受到外界因素的影響,隨后,在諧波式的基礎(chǔ)上雙引申出階梯波式,它的唯一進(jìn)步就是成本降低了,可是準(zhǔn)確度,速度及抗干擾能力都未提高。而數(shù)字電壓表的發(fā)展已經(jīng)非常成熟,就原理來講,它從原來的一兩種已經(jīng)發(fā)展到多種,在功能上講,它從測單一的參數(shù)發(fā)展到能測多種參數(shù);從制作原件看,發(fā)展到集成電路,準(zhǔn)確度已經(jīng)有了很大的提高,精度已經(jīng)達(dá)到1NV,讀數(shù)速度達(dá)到每秒幾萬次,而相對以前價(jià)格已經(jīng)降低了很多。數(shù)字電壓表(數(shù)字面板表)是當(dāng)前電子、電工、儀器、儀表和測量領(lǐng)域大量使用的一種基本測量工具有關(guān)數(shù)字電壓表的書籍和應(yīng)用已經(jīng)非常普及了。
    數(shù)字電壓表的設(shè)計(jì)和開發(fā),已經(jīng)有多種類型和款式。傳統(tǒng)的數(shù)字電壓表各有特點(diǎn),它們適合在現(xiàn)場做手工測量,要完成遠(yuǎn)程測量并要對測量數(shù)據(jù)做進(jìn)一步處理,傳統(tǒng)數(shù)字電壓表是無法完成的。然而基于PC通信的數(shù)字電壓表,既可以完成測量數(shù)據(jù)的傳遞,又可借助PC,做測量數(shù)據(jù)的處理。所以這種類型的數(shù)字電壓表無論在功能和實(shí)際上,都具有傳統(tǒng)數(shù)字電壓表無法比擬的特點(diǎn),這使得它的開發(fā)和應(yīng)用具有良好的前景。

1.3 本文的研究內(nèi)容

本設(shè)計(jì)是基于單片機(jī)AT89S52的數(shù)字電壓表系統(tǒng),系統(tǒng)具有精度高、速度快、性能穩(wěn)定、電路簡單且工作可靠等特點(diǎn), 具有很好的使用價(jià)值。這個(gè)設(shè)計(jì)的目的和意義在于使自己掌握數(shù)字電壓表的工作原理,自己動(dòng)手設(shè)計(jì)數(shù)字電壓表與仿真。設(shè)計(jì)的數(shù)字電壓表可廣泛應(yīng)用于電壓測量以及通過其它變換器還可以測量其他電量和非電量。數(shù)字電壓表廣泛應(yīng)用于測量領(lǐng)域每次測量的準(zhǔn)確度和可信度取決于它的主要性能和技術(shù)指標(biāo)。所示我們要學(xué)習(xí)和掌握如何設(shè)計(jì)數(shù)字電壓表就顯得十分重要。

在本次畢業(yè)設(shè)計(jì)時(shí),我大量用到了所學(xué)的內(nèi)容。涉及知識面廣,應(yīng)用性強(qiáng)是本次設(shè)計(jì)的核心特點(diǎn)。通過自己的動(dòng)手能力和鉆研精神將課本知識運(yùn)用到實(shí)踐中來,雖然在設(shè)計(jì)上或者功能實(shí)現(xiàn)上存在不足,但最重要的是一種鍛煉,培養(yǎng)一種理論與實(shí)踐相結(jié)合的能力,希望能對將來步入社會(huì)奠定基礎(chǔ),實(shí)現(xiàn)自己人生價(jià)值!



第二章  系統(tǒng)分析與設(shè)計(jì)方案2.1 系統(tǒng)分析

利用MCS-51系列單片機(jī)對整個(gè)系統(tǒng)進(jìn)行總體控制,采用數(shù)字化測量技術(shù),把連續(xù)的模擬量(直流輸入電壓)轉(zhuǎn)化成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。傳統(tǒng)的指針式電壓表功能單一,精度低,不能滿足數(shù)字化時(shí)代的需求采用單片機(jī)的數(shù)字電壓表,精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便。目前,由各種單片A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表,已經(jīng)被廣泛用于電子及電工測量、工業(yè)自動(dòng)化儀表、自動(dòng)測量系統(tǒng)等智能化測量領(lǐng)域,顯示出強(qiáng)大的生命力。

2.1.1 功能及指標(biāo)

本次設(shè)計(jì)要具體目標(biāo)如下:

1)分為三檔量程:0~5V,0~10V,0~20V;

2)測量最小分辨率:0.02V;

3)自動(dòng)選擇量程;

4)采用字符液晶LCD1602顯示。

2.2 系統(tǒng)總體方案設(shè)計(jì)
2.2.1
方案設(shè)計(jì)的基本思路

設(shè)計(jì)主要采用AT89S52單片機(jī)芯片和ADC0804模/數(shù)轉(zhuǎn)換芯片來完成一個(gè)簡易的數(shù)字電壓表,能夠?qū)︔斎氲?V~20V的模擬直流電壓進(jìn)行測量,并通過LCD1602進(jìn)行顯示,測量誤差約為0.02 V。設(shè)計(jì)電路主要通過ADC0804芯片的模擬電壓輸入端輸入的0V~20V的模擬量電壓,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道D0~D7傳送給AT89S52芯片的P0口。該電壓表的測量電路主要由四個(gè)模塊組成:A/D轉(zhuǎn)換模塊、數(shù)據(jù)處理及控制模塊、量程轉(zhuǎn)換模塊及顯示控制模塊。A/D轉(zhuǎn)換主要由芯片ADC0804來完成,主要負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量再傳送到數(shù)據(jù)處理模塊,數(shù)據(jù)處理則由單片機(jī)AT89S52來完成,其負(fù)責(zé)把ADC0804傳送來的數(shù)字量經(jīng)數(shù)據(jù)處理后,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示,量程轉(zhuǎn)換模塊主要由繼電器和分壓電阻組成,由單片機(jī)控制繼電器切換衰減倍數(shù)來實(shí)現(xiàn)量程轉(zhuǎn)換,顯示模塊主要由LCD1602組成,實(shí)時(shí)顯示測量到的電壓值。

2.2.2 數(shù)字電壓表的兩種設(shè)計(jì)方案

設(shè)計(jì)數(shù)字電壓表有多種的設(shè)計(jì)方法,由于大規(guī)模集成電路數(shù)字芯片的高速發(fā)展,各種數(shù)字芯片品種多樣,導(dǎo)致對模擬數(shù)據(jù)的采集部分不一致,進(jìn)而又使對數(shù)據(jù)的處理及顯示的方式的多樣性。又由于在現(xiàn)實(shí)的工作生活中,需要測量的模擬電壓范圍是比較大的,所以必須要對輸入電壓作分壓處理,而各個(gè)數(shù)據(jù)處理芯片的處理電壓范圍不同,則各種方案的分段也不同。下面介紹兩種數(shù)字電壓表的設(shè)計(jì)方案。

方案一:由數(shù)字電路及芯片構(gòu)建。

這種設(shè)計(jì)方案是由模擬電路與數(shù)字電路兩大部分組成,模擬部分包括輸入放大器、A/D轉(zhuǎn)換器和基準(zhǔn)電壓源;數(shù)字部分包括計(jì)數(shù)器、譯碼器、邏輯控制器、振蕩器和顯示器。其中,A/D轉(zhuǎn)換器是它的核心器件,它將輸入的模擬量轉(zhuǎn)換成數(shù)字量。模擬電路和數(shù)字電路是相互聯(lián)系的,由邏輯控制電路產(chǎn)生控制信號,按規(guī)定的時(shí)序?qū)/D轉(zhuǎn)換器中個(gè)組模擬開關(guān)接通或斷開,保證A/D轉(zhuǎn)換正常進(jìn)行。A/D轉(zhuǎn)換結(jié)果通過計(jì)數(shù)譯碼電路變換成段碼,最后驅(qū)動(dòng)顯示器顯示出相應(yīng)的數(shù)值。此方案設(shè)計(jì)的優(yōu)點(diǎn)是設(shè)計(jì)成本低,能夠滿足一般的電壓測量。但設(shè)計(jì)不靈活,都是采用純硬件電路,很難將其在原有的基礎(chǔ)上進(jìn)行擴(kuò)展。

方案二:由單片機(jī)系統(tǒng)及A/D轉(zhuǎn)換芯片構(gòu)建。

這種方案是利用單片機(jī)系統(tǒng)與模數(shù)轉(zhuǎn)換芯片、顯示模塊等的結(jié)合構(gòu)建數(shù)字電壓表。由于單片機(jī)的發(fā)展已經(jīng)成熟,利用單片機(jī)系統(tǒng)的軟硬件結(jié)合,可以組裝出許多的應(yīng)用電路來。此方案的原理是模/數(shù)(A/D)轉(zhuǎn)換芯片的基準(zhǔn)電壓源,被測量電壓輸入端分別輸入基準(zhǔn)電壓和被測電壓。模/數(shù)(A/D)轉(zhuǎn)換芯片將被被測量電壓輸入端所采集到的模擬電壓信號轉(zhuǎn)換成相應(yīng)的數(shù)字信號,然后通過對單片機(jī)系統(tǒng)進(jìn)行軟件編程,使單片機(jī)系統(tǒng)能按規(guī)定的時(shí)序來采集這些數(shù)字信號,通過一定的算法計(jì)算出被測量電壓的值。最后單片機(jī)系統(tǒng)將計(jì)算好了的被測電壓值按一定的時(shí)序送入顯示電路模塊加以顯示。此方案不僅能夠繼承方案一的各種優(yōu)點(diǎn),還能改進(jìn)方案一設(shè)計(jì)的不靈活,可以在原有的基礎(chǔ)上進(jìn)行擴(kuò)展[4]。

綜合比較以上兩種設(shè)計(jì)方案的各方面的優(yōu)點(diǎn)及現(xiàn)在所設(shè)計(jì)的電壓表的實(shí)用性,選擇第二種電壓表的設(shè)計(jì)方案,及由單片機(jī)及數(shù)字芯片構(gòu)建的方法來實(shí)現(xiàn)數(shù)字電壓表的設(shè)計(jì)。

2.2.3  A/D轉(zhuǎn)換模塊的選擇

方案一:A/D轉(zhuǎn)換器采用ICL7107型三位半顯示的芯片,輸入信號,流經(jīng)取樣電路取樣后送到ICL7107型三位半A/D轉(zhuǎn)換器,只需要很少的簡單外圍元件,就可以組成數(shù)字電流表模塊,直接驅(qū)動(dòng)三位半LED顯示器顯示,最后輸入電流在顯示部件顯示。由于ICL7107做的LED數(shù)字電壓表最大的缺點(diǎn)是數(shù)字亂跳不穩(wěn)定,特別是最后一位,所以不采用此方案。

方案二:A/D轉(zhuǎn)換器采用ADC0804轉(zhuǎn)換芯片,其中A/D轉(zhuǎn)換器用于實(shí)現(xiàn)模擬量數(shù)字量的轉(zhuǎn)換,單電源供電。ADC0804是屬于連續(xù)漸進(jìn)式的A/D轉(zhuǎn)換器,這類型的A/D轉(zhuǎn)換器除了轉(zhuǎn)換速度快、分辨率高外,還有價(jià)錢便宜等優(yōu)點(diǎn)。 ADC0804是采用單通道模擬量輸入,8位數(shù)字量輸出功能的A/D轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為100us,模擬輸入電壓范圍為0V~5V,具有參考電壓輸入端,內(nèi)含時(shí)鐘發(fā)生器,不需要調(diào)零,因此,本次設(shè)計(jì)選用ADC0804作為AD轉(zhuǎn)換芯片。

2.2.4 接口模塊的選擇

方案一:使用數(shù)字電路實(shí)現(xiàn),采用譯碼芯片CD4543作為接口芯片,這種方案能實(shí)現(xiàn)功能,但穩(wěn)定性不高,結(jié)構(gòu)復(fù)雜。

方案二:采用AT89S52單片機(jī)作為系統(tǒng)的控制單元,通過A/D轉(zhuǎn)換將被測量轉(zhuǎn)換為數(shù)字量送入單片機(jī)中,再由單片機(jī)產(chǎn)生顯示碼送入顯示模塊顯示。此方案各種功能易于實(shí)現(xiàn),成本低、功耗低,顯示穩(wěn)定。

通過比較,選擇方案二。

2.2.5 微控制器的選擇

目前單片機(jī)種類很多,如何選擇性價(jià)比最低、開發(fā)容易、開發(fā)周期最短的產(chǎn)品,是工程師考慮的主要問題之一。目前我國銷售的主流MCU產(chǎn)品有8051、PIC、MCP430、STC、AVR等系列的單片機(jī),,先購單片機(jī)總體上主要從兩方面考慮,其一是目標(biāo)系統(tǒng)需要哪些資源,其二是根據(jù)成本的控制選擇價(jià)格最低的產(chǎn)品,即所謂的“性價(jià)比最高”原則。資源方面考慮的重要指標(biāo)有速度、位數(shù)、電壓、功耗、存儲容量、系統(tǒng)擴(kuò)展與驅(qū)動(dòng)能力、抗干擾能力,是否嵌入ADC、DAC等其他的特殊要素。另外軟件開發(fā)的簡易性也是重要考慮的因素。例如MCS-51系列作為傳統(tǒng)的8位單片機(jī),現(xiàn)在仍在廣泛的應(yīng)用就是因?yàn)樗哂蟹浅7奖愕拈_發(fā)工具、集成環(huán)境和軟件資源。成本方面主要看選擇哪家廠商的產(chǎn)品。實(shí)際上同一類產(chǎn)品有很多兼容系列,不同的廠家價(jià)格有很大差別。更重要的是要選擇供貨服務(wù)好,能提供良好技術(shù)支持,信譽(yù)高的代理經(jīng)銷商。

AT89S系列與AT89C系列單片機(jī)的應(yīng)用與區(qū)別:

              AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。

AT89S52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn) MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。因此為了下載的方便我采取AT89S52的單片機(jī)。

2.3 系統(tǒng)硬件分析

本設(shè)計(jì)是以單片機(jī)AT89S52和A/D轉(zhuǎn)換器ADC0804為核心,測量連續(xù)信號的數(shù)字電壓表。硬件主要由:5V直流電源供電模塊,單片機(jī)AT89S52模塊,AD轉(zhuǎn)換模塊,電壓顯示模塊,量程轉(zhuǎn)換模塊組成。

數(shù)字電壓表的總體框圖如圖2.1所示:

圖2.1 系統(tǒng)總體框圖

2.3.1 AT89S52單片機(jī)簡介

AT89S52是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。

AT89S52實(shí)物圖如圖2.2所示:

                  

圖2.2 AT89S52實(shí)物圖

2.3.2 LCD1602顯示器簡介

普通的LED數(shù)碼管只能用來顯示數(shù)字,如果要顯示英文、漢字或者圖像,則必須使用液晶顯示器。液晶顯示器的英文名稱是Liquid Crystal Display,簡稱LCD。液晶顯示器作為顯示器件具有體積小、重量輕、功耗低等優(yōu)點(diǎn),所以LCD日漸成為各種便攜式電子產(chǎn)品的理想顯示器,如電子表、計(jì)算器上的顯示器等。

根據(jù)LCD的顯示內(nèi)容劃分,可以分為段式LCD、字符式LCD和點(diǎn)陣式LCD3種。其中,字符式LCD以其價(jià)廉、顯示內(nèi)容豐富、美觀、使用方便等特點(diǎn),成為LED數(shù)碼管的理想替代品。

1602LCD顯示屏實(shí)物圖如圖2.3所示:

                       

                                                 圖2.3 LCD1602顯示屏實(shí)物圖

2.3.3 ADC0804轉(zhuǎn)換芯片簡介

ADC0804 是8 位ADC0804是屬于連續(xù)漸進(jìn)式的A/D轉(zhuǎn)換器。ADC0804是單通道模擬量輸入,8位數(shù)字量輸出功能的A/D轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為100us,模擬輸入電壓范圍為0V~5V,具有參考電壓輸入端,內(nèi)含時(shí)鐘發(fā)生器,不需要調(diào)零。

ADC0804的控制信號時(shí)序圖,由下圖2.4所示。

圖2.4 ADC0804控制信號時(shí)序圖
ADC0804的主要電氣特性如下:
  • 工作電壓:+5V,即VCC=+5V。
  • 模擬輸入電壓范圍:0~+5V,即0≤Vin≤+5V。
  • 分辨率:8位,即分辨率為1/28=1/256,轉(zhuǎn)換值介于0~255之間。
  • 轉(zhuǎn)換時(shí)間:100us(fCK=640KHz時(shí))。
  • 轉(zhuǎn)換誤差:±1LSB。
  • 參考電壓:2.5V,即Vref=2.5V。

  系統(tǒng)硬件電路設(shè)計(jì)3.1系統(tǒng)組成

本系統(tǒng)是基于單片機(jī)的數(shù)字電壓表電路設(shè)計(jì),該系統(tǒng)主要由以下幾個(gè)部分組成:單片機(jī)、AD轉(zhuǎn)換、顯示設(shè)備、量程轉(zhuǎn)換,過壓保護(hù)等。其中以單片機(jī)作為主控芯片控制系統(tǒng)中的A/D轉(zhuǎn)換電路,量程轉(zhuǎn)換電路和液晶顯示電路,以實(shí)現(xiàn)電壓測量功能。

3.2電源接口電路

由于本系統(tǒng)各模塊均需+5V直流電源供電,故只需設(shè)計(jì)+5V直流電源電路即可。

電源電路采用六腳自鎖開關(guān)控制,其電源兩端并上兩個(gè)濾波電容,其中D1為電源指示燈,R3為D1的限流電阻,如圖3.1所示:

圖3.1系統(tǒng)電源接口電路

3.3 AT89S52單片機(jī)最小系統(tǒng)電路

    AT89S52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8KB可反復(fù)擦寫的Flash只讀程序存儲器和128 字節(jié)隨機(jī)存取數(shù)據(jù)存儲器。該器件采用ATMEL公司高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),靈活應(yīng)用于各種控制領(lǐng)域。

   AT89S52單片機(jī)最小系統(tǒng)電路由主控電路、復(fù)位電路、晶振電路以及電源電路四部分組成。

3.3.1 主控芯片AT89S52

主控電路主要由單片機(jī)AT89S52芯片組成,主控芯片電路圖如圖3.2所示,電路中U1為單片機(jī)AT89S52,P4為單片機(jī)P0的上拉排阻,C5為單片機(jī)去耦電容。

圖3.2 AT89S52芯片

3.3.2 復(fù)位電路

   AT89S52單片機(jī)在啟動(dòng)運(yùn)行時(shí)或者出現(xiàn)死機(jī)時(shí)需要復(fù)位,使CPU以及其他功能部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。復(fù)位電路產(chǎn)生的復(fù)位信號(高電平有效)由RST引腳送入到內(nèi)部的復(fù)位電路,對AT89S52單片機(jī)進(jìn)行復(fù)位,復(fù)位信號要持續(xù)兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上,才能使AT89S52單片機(jī)可靠復(fù)位。

   AT89S52單片機(jī)復(fù)位電路如圖3.3所示:

圖3.3復(fù)位電路圖

復(fù)位電路工作原理:上電瞬間RST引腳的電位與VCC等電位,RST引腳為高電平,隨著電容C6充電電流的減少,RST引腳的電位不斷下降,其充電時(shí)間常數(shù)為T=R9*C6=100ms,此時(shí)間常數(shù)足以RST引腳在保持為高電平的時(shí)間內(nèi)完成復(fù)位操作。

當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵S1后松開,也能使單片機(jī)RST引腳維持一段時(shí)間的高電平,從而實(shí)現(xiàn)AT89S52單片機(jī)手動(dòng)復(fù)位。

3.3.3 晶振電路

XTAL1和XTAL2是片內(nèi)振蕩電路輸入端,這兩個(gè)端子用來外接石英晶體和微調(diào)電容,即用來連接AT89S52單片機(jī)片內(nèi)OSC的定時(shí)反饋回路。晶振起振后要能在XTAL2端輸出一個(gè)3V左右的正弦波,以便使片內(nèi)OSC電路按晶振相同頻率自激振蕩。通常,OSC的輸出時(shí)鐘頻率FOSC為6MHZ—16MHZ,典型值為12MHZ或11.0592MHZ。電容C5和C6幫助晶振起振,典型值為30pf,調(diào)節(jié)它們可以達(dá)到微調(diào)FOSC的目的。本系統(tǒng)中,晶振為12MHZ,C5=C6=30pf。

晶振電路如圖3.4所示:

圖3.4 晶振電路圖

3.4 LCD1602顯示電路

LCD1602字符液晶的8位數(shù)據(jù)口接單片機(jī)的P0口,其三個(gè)控制信號腳分別接單片機(jī)的P1.0~P1.2腳,圖中電位器R0(3腳)起著調(diào)節(jié)LCD1602的分辨率的作用。

LCD1602顯示接口電路如圖3.5所示:

圖3.5 1602顯示器接口電路

3.6 A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路外接電路如圖3.6所示:圖中U1為ADC0804芯片,電阻 R2=10KΩ、電容C5=150PF決定A/D轉(zhuǎn)換速率,則內(nèi)部的轉(zhuǎn)換頻率是fCK=1/(1.1×10 KΩ×150PF)=606KHz,電容C1為ADC0804的去耦電容。

圖3.6 A/D轉(zhuǎn)換電路外接電路圖

3.7 量程轉(zhuǎn)換電路

量程轉(zhuǎn)換電路如圖所示3.7所示:其中P8為模擬電壓輸入端,可輸入0~20V電壓,R10,R11,R12三個(gè)分壓電阻和繼電器RE1,RE2控制電壓衰減倍數(shù),使得輸入到ADC0804的模擬電壓不超過5V,D2為5v穩(wěn)壓管,作為ADC0804輸入端過壓保護(hù)。

         

圖3.7 量程轉(zhuǎn)換電路


章 系統(tǒng)軟件設(shè)計(jì)4.1 系統(tǒng)主程序流程圖

系統(tǒng)上電啟動(dòng),首先配置好各個(gè)模塊端口,初始化液晶顯示和定時(shí)器,依次調(diào)用各功能模塊。在主程序中實(shí)時(shí)顯示系統(tǒng)狀態(tài)和當(dāng)前測量的電壓值,并實(shí)時(shí)掃描中斷。在中斷服務(wù)子程序中,檢測按鍵和當(dāng)前電壓值。系統(tǒng)總流程圖如圖4.1所示:

                                                                                                  圖4.1 系統(tǒng)總流程圖

4.2 LCD1602液晶流程圖
系統(tǒng)上電后,配置好液晶端口,然后對LCD1602進(jìn)行初始化,再調(diào)用LCD1602的讀寫函數(shù),可將采集處理后的電壓數(shù)值實(shí)時(shí)顯示。當(dāng)電壓值在量程臨界值是,液晶顯示警告信息。
            
                                                                                                  圖4.2 LCD1602 液晶顯示流程圖
4.3 ADC0804流程圖
本系統(tǒng)采用中斷掃描的方式,定時(shí)對外部電壓進(jìn)行采樣。系統(tǒng)上電初始,首先初始化定時(shí)器,等待定時(shí)器中斷。中斷到達(dá),首先選擇最高量程,啟動(dòng)AD轉(zhuǎn)換,比較輸出數(shù)值,選擇合適的量程,再次啟動(dòng)ADC0804,轉(zhuǎn)換完成后對數(shù)據(jù)進(jìn)行處理,再送入LCD1602中顯示。
ADC0804的A/D轉(zhuǎn)換流程圖如圖4.3所示:
                         圖4.3 A/D轉(zhuǎn)換流程圖
章  性能測試與分析

基于單片機(jī)的數(shù)字電壓表在設(shè)計(jì)中整個(gè)系統(tǒng)已經(jīng)由設(shè)計(jì)圖紙走向了模型機(jī),標(biāo)志著整個(gè)開發(fā)系統(tǒng)的初步成功。系統(tǒng)的設(shè)計(jì)工作進(jìn)入到另外一個(gè)階段——綜合調(diào)試階段。不過在系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中,調(diào)試的工作是伴隨著整個(gè)系統(tǒng)開發(fā)過程的始終。只有經(jīng)過所有各自軟件程序的調(diào)試之后所剩下的公共的接口部分就需要進(jìn)行聯(lián)調(diào)了。

5.1 各模塊獨(dú)立測試

系統(tǒng)制作完成后,首先測試各器件是否焊接良好,是否存在漏焊、虛焊等現(xiàn)象。檢查整個(gè)電路的線路是否存在短路或斷路。檢測電源電路,及各器件電源和地是否連接正常。

檢測無誤后,安裝好單片機(jī),給電路上電,開始測試單片機(jī)最小系統(tǒng)。主要檢查復(fù)位電路,時(shí)鐘晶振電路,P0口上拉排阻及EA引腳是否連接正常。測試單片機(jī)各引腳電壓是否正常。

單片機(jī)最小系統(tǒng)測試無誤后,可編制測試小程序,分別測試LCD1602、ADC0804電路是否正常工作,各模塊單獨(dú)測試,并且逐步深入,以防止芯片損壞。

5.2 系統(tǒng)聯(lián)合調(diào)試

經(jīng)過各部分的調(diào)試之后,就進(jìn)入到了整個(gè)系統(tǒng)的聯(lián)合調(diào)試之中。聯(lián)合調(diào)試的主要目的就是查看系統(tǒng)各部分同時(shí)運(yùn)行時(shí)的協(xié)調(diào)狀況。在測試過程中,主要根據(jù)系統(tǒng)運(yùn)行的條件和期望表現(xiàn)進(jìn)行模擬,即模擬工作環(huán)境,查看系統(tǒng)的輸出結(jié)果是否與之相符。如果不相符則作記錄。

系統(tǒng)調(diào)試之初,首先利用Proteus仿真軟件和Keil編程軟件構(gòu)成仿真圖,仿真圖如圖5.1所示,在仿真環(huán)境下對系統(tǒng)進(jìn)行調(diào)試、測試,逐步深入。在仿真環(huán)境下,系統(tǒng)能正常運(yùn)行,則在實(shí)物上進(jìn)行最終調(diào)試,待一次聯(lián)調(diào)基本結(jié)束后生成測試報(bào)告,并得到反饋信息,并再次進(jìn)行修改—局部聯(lián)調(diào)—測試,等到經(jīng)過協(xié)調(diào)之后再次進(jìn)行系統(tǒng)聯(lián)調(diào)直到系統(tǒng)穩(wěn)定運(yùn)行為止。

圖5.1 系統(tǒng)仿真圖

5.3 系統(tǒng)運(yùn)行評估

經(jīng)過聯(lián)調(diào)之后,整個(gè)系統(tǒng)就處于性能評估之中,性能評估在實(shí)驗(yàn)室條件下對系統(tǒng)整體性能測定分析,主要有:電壓測量精度,量程轉(zhuǎn)換,顯示效果等。分析系統(tǒng)的優(yōu)勢和不足,并嘗試提出改進(jìn)措施,為今后進(jìn)一步研究提供依據(jù)。

   結(jié)
   通過這次的畢業(yè)設(shè)計(jì),使我在關(guān)于電子方面的實(shí)際動(dòng)手能力有很大的提高,在元器件的布置、安裝、焊接、調(diào)試等方面都有很大的進(jìn)步。我在這項(xiàng)實(shí)踐中主要負(fù)責(zé)實(shí)物的制作階段,初期的時(shí)候由于對這個(gè)數(shù)字電壓表沒有一個(gè)實(shí)質(zhì)性的概念,所以一時(shí)之間不知道該如何下手,后來通過查閱大量相關(guān)資料才漸漸的有了一點(diǎn)頭緒。在原理圖的設(shè)計(jì)過程中遇到很多難題,通過仿真,實(shí)驗(yàn),不斷對電路進(jìn)行改進(jìn),逐步深入,將問題一一解決。最終將設(shè)計(jì)付諸實(shí)踐,做出實(shí)物。

從總體來說,本文重點(diǎn)是實(shí)現(xiàn)數(shù)字電壓表的功能以及對單片機(jī)的外圍電路等進(jìn)行了基礎(chǔ)性的研究,由于時(shí)間和條件的限制,雖然取得了一定的效果,但尚存在一定不足之處,比如測量大電壓時(shí)精度不夠,保護(hù)電路不完善。并且現(xiàn)實(shí)中各種模擬量特點(diǎn)不一樣,系統(tǒng)設(shè)計(jì)考慮不夠全面,應(yīng)用范圍有限。這些問題主要由于原理設(shè)計(jì)及程序處理的原因,不能及時(shí)解決,有待今后進(jìn)一步的研究。

回顧過去,展望未來,隨著科技的發(fā)展,出現(xiàn)的各種高級芯片和技術(shù),能夠很大程度上提高電壓表的精確性和穩(wěn)定性。只有通過不斷的學(xué)習(xí),不斷的探索,這樣才能把自己的知識更好的運(yùn)用與實(shí)踐中。

參考文獻(xiàn)(References)

[1]李廣第.單片機(jī)基礎(chǔ)[M].北京航空航天出版社.2007.

[2]宋鳳娟,孫軍,李國忠.基于89c51單片機(jī)的數(shù)字電壓表設(shè)計(jì)[J].《制造業(yè)自動(dòng)化》.207年第02期.

[3]翟蓓蓓,孫運(yùn)強(qiáng),姚愛琴.液晶顯示數(shù)字電壓表的設(shè)計(jì)[J].《山西電子技術(shù)》.2011年第05期

[4]陳尚松,郭慶,雷加.電子測量與儀器[M].電子工業(yè)出版社. 2009.

[5]吳金戍.8051 單片機(jī)實(shí)踐與應(yīng)用[M].清華大學(xué)出版社.2002.

[6]黃志偉.全國大學(xué)生電子競賽培訓(xùn)教程[M]. 電子工業(yè)出版社.2011.

[7]賈培軍,董軍堂,高延華.一種量程自動(dòng)切換數(shù)字電壓表的設(shè)計(jì)[J].山西電子技術(shù)。2007年第06期.

[8]史九貴 編著,基于Altium Designer的原理圖與PCB設(shè)計(jì)[M] .北京:機(jī)械工業(yè)出版社,2010.

[9]趙建領(lǐng),薛圓圓等.51單片機(jī)開發(fā)與應(yīng)用技術(shù)詳解[M].北京:電子工業(yè)出版社.2009.
[10]王東峰,王會(huì)良,董冠良. 單片機(jī)C語言應(yīng)用100例[M].北京:電子工業(yè)出版社.2009.        

  

通過這次畢業(yè)設(shè)計(jì),我鞏固了以前學(xué)過的很多知識,培養(yǎng)了分析與解決問題的能力,更使我檢索和獲取知識的能力的到了很大的提高,這跟老師們給我的指導(dǎo)是分不開的。本次畢業(yè)設(shè)計(jì)在吳靜進(jìn)老師的悉心指導(dǎo)和自己的積極努力下完成的。在他的諄諄教導(dǎo)下,我按時(shí)完成了設(shè)計(jì),沒有他的嚴(yán)要求,我恐怕就會(huì)放縱自己。謹(jǐn)此感謝學(xué)院對于這次學(xué)生科研的大力支持并向指導(dǎo)老師致以崇高的敬意和衷心的感謝!

附錄1: 系統(tǒng)原理圖及實(shí)物圖
附圖一.系統(tǒng)原理圖
附圖二 作品實(shí)物圖

  1. #include "reg52.h"
  2. #include "lcd1602.h"
  3. #include<intrins.h>
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. //sbit P13=P1^3;//警示燈
  7. //sbit key1=P3^1;
  8. //sbit key2=P3^2;
  9. sbit P34=P3^4;
  10. sbit P33=P3^3;
  11. sbit adrd=P3^6;                        
  12. sbit adwr=P3^7;
  13. sbit cs=P3^5;
  14. uchar n=0;
  15. uchar temp=0;
  16. uchar temp1=0;
  17. uchar temp2=0;
  18. uchar b=0,j=0;
  19. float avr=0;
  20. uchar c[8];
  21. uchar table1[]="Digital";
  22. uchar table2[]="Voltage Meter";
  23. //延時(shí)程序
  24. void delayms(uint n)
  25. {
  26.               uint i,j;
  27.               for(i=n;i>0;i--)
  28.                             for(j=120;j>0;j--);

  29. }
  30. //電壓顯示程序
  31. void displayv()
  32. {                           
  33.                             uint val=0;
  34.                             val=avr*100;            
  35.             
  36.                             c[0]=val/1000+'0';            
  37.                             c[1]=val/100%10+'0';
  38.                             c[2]='.';
  39.                             c[3]=val/10%10+'0';
  40.                             c[4]=val%10+'0';
  41.                             c[5]='v';
  42.                             c[6]='\0';
  43. }
  44. //主函數(shù)
  45. void main()
  46. {
  47.               LCD_Initial();            
  48.               TMOD=0x01;
  49.     TH0 = (65536 - 10000)/256;
  50.     TL0 = (65536 - 10000)%256;
  51.               EA=1;
  52.               ET0=1;            
  53.               GotoXY(5,0);
  54.     Print(table1);
  55.               GotoXY(2,1);
  56.     Print(table2);
  57.               delayms(1000);
  58.               delayms(1000);
  59.               delayms(1000);
  60.               GotoXY(0,0);
  61.     Print("                  ");
  62.               GotoXY(0,1);
  63.     Print("                  ");            
  64.               P33=1;
  65.               P34=1;
  66.               GotoXY(2,0);
  67.                   Print(table2);
  68.               TR0=1;            
  69.               while(1)
  70.               {
  71.               }
  72. }
  73. void intt0() interrupt 1
  74. {
  75.               TH0=(65536-10000)/256;
  76.               TL0=(65536-10000)%256;
  77.               n++;
  78.               if(n==10)
  79.               {
  80.                             P33=1;
  81.                             P34=1;
  82.                             delayms(10);
  83.                             cs=0;
  84.                             adwr=1;                     
  85.                   adwr=0;                                         
  86.                   _nop_();
  87.                             _nop_();
  88.                             adwr=1;            
  89.                   delayms(10);                                       
  90.                             adrd=0;
  91.                             //temp=0;              
  92.                             b=P2;                                         
  93.                             adrd=1;
  94.                             cs=1;                  
  95.                             adwr=0;
  96.                             for(j=0;j<7;j++)//將變b的值反序(因AD0809數(shù)據(jù)口接反了)
  97.                             {
  98.                                           if(b&(0x01<<j))
  99.                                                         temp|=(0x80>>j);
  100.                                           else
  101.                                                         temp&=~(0x80>>j);
  102.                             }
  103.                             if(temp<64)
  104.                             {
  105.                             P33=0;
  106.                             P34=1;
  107.                             delayms(10);
  108.                             cs=0;
  109.                             adwr=1;                     
  110.                   adwr=0;                                         
  111.                   _nop_();
  112.                             _nop_();
  113.                             adwr=1;            
  114.                   delayms(10);                                       
  115.                             adrd=0;
  116.                             //temp=0;              
  117.                             b=P2;                                         
  118.                             adrd=1;
  119.                             cs=1;                  
  120.                             adwr=0;
  121.                             for(j=0;j<7;j++)//將變b的值反序(因AD0809數(shù)據(jù)口接反了)
  122.                             {
  123.                                           if(b&(0x01<<j))
  124.                                                         temp1|=(0x80>>j);
  125.                                           else
  126.                                                         temp1&=~(0x80>>j);
  127.                             }
  128.                             if(temp1<128)
  129.                             {
  130.                             P33=0;
  131.                             P34=0;
  132.                             delayms(10);
  133.                             cs=0;
  134.                             adwr=1;                     
  135.                   adwr=0;                                         
  136.                   _nop_();
  137.                             _nop_();
  138.                             adwr=1;            
  139.                   delayms(10);                                       
  140.                             adrd=0;
  141.                             //temp=0;              
  142.                             b=P2;                                         
  143.                             adrd=1;
  144.                             cs=1;                  
  145.                             adwr=0;
  146.                             for(j=0;j<7;j++)//將變b的值反序(因AD0809數(shù)據(jù)口接反了)
  147.                             {
  148.                                           if(b&(0x01<<j))
  149.                                                         temp2|=(0x80>>j);
  150.                                           else
  151. ……………………

  152. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

完整的Word格式文檔51黑下載地址:
基于單片機(jī)的數(shù)字電壓表畢業(yè)設(shè)計(jì)論文.doc (549 KB, 下載次數(shù): 378)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏12 分享淘帖 頂5 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:424681 發(fā)表于 2018-11-11 21:01 | 只看該作者
謝謝樓主
回復(fù)

使用道具 舉報(bào)

板凳
ID:485218 發(fā)表于 2019-3-5 21:57 | 只看該作者
謝謝
對我非常有幫助
回復(fù)

使用道具 舉報(bào)

地板
ID:508458 發(fā)表于 2019-4-10 09:17 | 只看該作者
感謝樓主 幫助很大
回復(fù)

使用道具 舉報(bào)

5#
ID:490858 發(fā)表于 2019-4-10 16:47 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:547097 發(fā)表于 2019-5-25 18:32 | 只看該作者
感謝,非常好,感謝
回復(fù)

使用道具 舉報(bào)

7#
ID:307576 發(fā)表于 2019-5-27 13:21 | 只看該作者
感謝,很棒
回復(fù)

使用道具 舉報(bào)

8#
ID:555803 發(fā)表于 2019-6-5 17:15 | 只看該作者
謝謝樓主,很有幫助
回復(fù)

使用道具 舉報(bào)

9#
ID:579476 發(fā)表于 2019-7-7 17:41 | 只看該作者
謝謝樓主,正在做課程設(shè)計(jì)
回復(fù)

使用道具 舉報(bào)

10#
ID:582049 發(fā)表于 2019-7-11 17:14 | 只看該作者
樓主是出題的嗎,代碼都是不全的哎
回復(fù)

使用道具 舉報(bào)

11#
ID:667494 發(fā)表于 2019-12-18 16:17 | 只看該作者
賊棒的
回復(fù)

使用道具 舉報(bào)

12#
ID:667494 發(fā)表于 2019-12-18 16:26 | 只看該作者
感謝樓主 幫助很大
回復(fù)

使用道具 舉報(bào)

13#
ID:659659 發(fā)表于 2019-12-19 00:39 | 只看該作者
程序運(yùn)行顯示缺少lcd1602.h
回復(fù)

使用道具 舉報(bào)

14#
ID:305511 發(fā)表于 2020-2-6 20:00 | 只看該作者
很好呀 值得學(xué)習(xí)!
回復(fù)

使用道具 舉報(bào)

15#
ID:632634 發(fā)表于 2020-4-6 09:52 來自觸屏版 | 只看該作者
幫助很大感謝樓主
回復(fù)

使用道具 舉報(bào)

16#
ID:268118 發(fā)表于 2020-4-11 02:27 | 只看該作者
感謝樓主的分享。
回復(fù)

使用道具 舉報(bào)

17#
ID:686387 發(fā)表于 2020-4-11 14:17 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

18#
ID:874404 發(fā)表于 2021-1-7 10:09 | 只看該作者
謝謝樓主,寫的非常棒
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表