簡(jiǎn)易數(shù)字電壓表_第1頁
簡(jiǎn)易數(shù)字電壓表_第2頁
簡(jiǎn)易數(shù)字電壓表_第3頁
簡(jiǎn)易數(shù)字電壓表_第4頁
簡(jiǎn)易數(shù)字電壓表_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)報(bào)告 課程名稱:單片機(jī)原理及應(yīng)用課程設(shè)計(jì)設(shè)計(jì)題目: 簡(jiǎn)易數(shù)字電壓表 系 別: 通信與控制工程系 專 業(yè): 電信工程 班 級(jí): 二班 學(xué)生姓名: 學(xué) 號(hào): 起止日期: 指導(dǎo)教師: 教研室主任: 指導(dǎo)教師評(píng)語: 指導(dǎo)教師簽名: 年 月 日成績?cè)u(píng)定項(xiàng) 目權(quán)重成績1、設(shè)計(jì)過程中出勤、學(xué)習(xí)態(tài)度等方面0.22、課程設(shè)計(jì)質(zhì)量與答辯0.53、設(shè)計(jì)報(bào)告書寫及圖紙規(guī)范程度0.3總 成 績 教研室審核意見:教研室主任簽字: 年 月 日教學(xué)系審核意見: 主任簽字: 年 月 日摘 要本設(shè)計(jì)數(shù)字電壓表是利用A/D轉(zhuǎn)換原理,將被測(cè)模擬量轉(zhuǎn)換成數(shù)字量,并用數(shù)字方式顯示測(cè)量結(jié)果的電子測(cè)量儀表。通常數(shù)字電壓表都采用大規(guī)模

2、的A/D轉(zhuǎn)換集成電路,測(cè)量精度高,讀數(shù)方便,在體積、重量、耗電、穩(wěn)定性及可靠性等方面性能指標(biāo)均明顯優(yōu)于指針式萬用表。其中,A/D轉(zhuǎn)換器將輸入的模擬量轉(zhuǎn)換成數(shù)字量,邏輯控制電路產(chǎn)生控制信號(hào),按規(guī)定的時(shí)序?qū)/D轉(zhuǎn)換器中各組模擬開關(guān)接通或斷開,保證A/D轉(zhuǎn)換正常進(jìn)行。A/D轉(zhuǎn)換結(jié)果通過計(jì)數(shù)譯碼電路變換成筆段碼,最后驅(qū)動(dòng)顯示器顯示相應(yīng)的數(shù)值。本系統(tǒng)以單片機(jī)AT89C52為系統(tǒng)的控制核心,結(jié)合A/D轉(zhuǎn)換芯片ADC0809設(shè)計(jì)一個(gè)數(shù)字電壓表,能夠測(cè)量02.5V之間的直流電壓值,通過四位數(shù)碼顯示。具有讀數(shù)據(jù)準(zhǔn)確,測(cè)量方便的特點(diǎn)。關(guān)鍵詞:STC89C52;電壓表;A/D轉(zhuǎn)換;ADC0809前 言在電量的測(cè)量

3、中,電壓、電流和頻率是最基本的三個(gè)被測(cè)量,其中電壓量的測(cè)量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測(cè)量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測(cè)量儀器。數(shù)字電壓表(Digital Voltmeter)簡(jiǎn)稱DVM,它是采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(直流或交流輸入電壓)轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、靈敏度高和分辨率高、測(cè)量速度快等特點(diǎn)而倍受青睞。本設(shè)計(jì)從各個(gè)角度分析了由單片機(jī)組成的數(shù)字電壓表的設(shè)計(jì)過程及各部分電路的組成及其原理,并且分析了程序如何驅(qū)動(dòng)單片機(jī)進(jìn)而使系統(tǒng)運(yùn)行起來的原理及方法。本設(shè)計(jì)主要分為兩部分:硬件電

4、路及軟件程序。而硬件電路又大體可分為單片機(jī)小系統(tǒng)電路、A/D轉(zhuǎn)換電路、LED顯示電路,各部分電路的設(shè)計(jì)及原理將會(huì)在硬件電路設(shè)計(jì)部分詳細(xì)介紹;程序的設(shè)計(jì)使用匯編語言編程,利用Keil軟件對(duì)其編譯,詳細(xì)的設(shè)計(jì)算法將會(huì)在程序設(shè)計(jì)部分詳細(xì)介紹。目 錄設(shè)計(jì)要求11 方案論證與對(duì)比11.1 方案一11.2 方案二11.3 方案對(duì)比與選擇22 系統(tǒng)硬件電路的設(shè)計(jì)22.1 A/D轉(zhuǎn)換電路的設(shè)計(jì)及原理32.2 數(shù)據(jù)處理電路的設(shè)計(jì)及原理42.3 顯示控制電路的設(shè)計(jì)及原理63 系統(tǒng)程序的設(shè)計(jì)93.1 初始化程序93.2 主程序93.3 顯示子程序93.4 A/D轉(zhuǎn)換測(cè)量子程序104 調(diào)試及性能分析114.1 調(diào)試與

5、測(cè)試114.2 性能分析115 詳細(xì)儀器清單126 總結(jié)13參考文獻(xiàn)14附錄一:A/D轉(zhuǎn)換與控制PCB電路圖16附錄二:程序17數(shù)字電壓表設(shè)計(jì)要求主要利用單片機(jī)STC89C52芯片,A/D轉(zhuǎn)換采用ADC0809實(shí)現(xiàn)數(shù)字電壓表, 數(shù)字萬用表可以測(cè)量02.5V范圍內(nèi)的2路輸入電壓值,并在6位LED數(shù)碼管上輪流顯示,要求程序控制測(cè)量的切換。其測(cè)量最小分辨率為0.05V.1 方案論證與對(duì)比1.1 方案一系統(tǒng)采用STC89C52單片機(jī),A/D轉(zhuǎn)換采用ADC0809.系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以很方便地進(jìn)行8路其他A/D轉(zhuǎn)換的測(cè)量和遠(yuǎn)程測(cè)量結(jié)果傳送等擴(kuò)展功能。原理框圖如圖1所示:STC89C52

6、P0 P2 P1 P3上電復(fù)位串口通信電源電路ADC08094位LED顯示圖 1方案一系統(tǒng)方框圖1.2 方案二系統(tǒng)采用STC89C52單片機(jī),A/D轉(zhuǎn)換采用MC14433雙積分A/D轉(zhuǎn)換器能夠?qū)崿F(xiàn)轉(zhuǎn)換精度高、抗強(qiáng)干擾的數(shù)模轉(zhuǎn)換,而且價(jià)格便宜,應(yīng)用于速度要求不高的工程實(shí)際中。原理框圖如圖2所示:STC89C52 P0 P2 P1 P3上電復(fù)位串口通信電源電路MC144333位LED顯示圖 2 方案二系統(tǒng)方框圖1.3 方案對(duì)比與選擇以上方案中方案一中ADC0809屬于逐次逼近式A/D轉(zhuǎn)換器,N次逐次逼近A/D轉(zhuǎn)換器最多只需N次D/A轉(zhuǎn)換、比較判斷,就可以完成A/D轉(zhuǎn)換。因此,逐次逼近型A/D轉(zhuǎn)換速

7、度很快,而且?guī)в墟i存控制邏輯的8通道多路轉(zhuǎn)換開關(guān),便于選擇8路中的任一路進(jìn)行轉(zhuǎn)換。而方案二中采用了速度大受限制的MC14433雙積分A/D轉(zhuǎn)換器。通過以上綜合分析可以看出,顯然方案一要明顯優(yōu)于方案二,因此數(shù)字電壓表采用方案一設(shè)計(jì)。2 系統(tǒng)硬件電路的設(shè)計(jì)采集 2 個(gè)通道的模擬量在數(shù)碼管顯示出來。模擬量值的測(cè)量范圍是0-255,第三至六個(gè)數(shù)碼管用于顯示采集的模擬量的值,每秒鐘顯示切換一下通道。簡(jiǎn)易數(shù)字電壓表測(cè)量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理及顯示控制等組成。2.1 A/D轉(zhuǎn)換電路的設(shè)計(jì)及原理ADC0809是采用逐次逼近式原理的A/D轉(zhuǎn)換器。1.主要性能分辨率為8位二進(jìn)制數(shù)。模擬輸入電壓范圍0V5V,對(duì)

8、應(yīng)A/D轉(zhuǎn)換值為00HFFH。每路A/D轉(zhuǎn)換完成時(shí)間為100µs。允許輸入8路模擬電壓,通過具有鎖存功能的8路模擬開關(guān),可以分時(shí)進(jìn)行8路A/D轉(zhuǎn)換。工作頻率為500kHz,輸出與TTL電平兼容。2.ADC0809芯片的組成原理根據(jù)設(shè)計(jì)要求如圖3所示:圖 3A/D轉(zhuǎn)換電路原路圖由圖可見,它是由地址鎖存器、8路模擬開關(guān)、8位逐次A/D轉(zhuǎn)換器和三態(tài)鎖存輸出緩沖器構(gòu)成。由3位地址輸入線ADDRA、ADDRB、ADDRC決定8路模擬輸入中的1路進(jìn)8位A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換值進(jìn)入三態(tài)鎖存輸出緩沖器暫存,在CPU發(fā)來輸出允許控制信號(hào)OE后,三態(tài)門打開,經(jīng)DB7DB0進(jìn)入CPU總線,完成一次A/D

9、轉(zhuǎn)換全過程。3ADC0809引腳功能ADC0809采用28引腳的封裝,雙列直插式。A/D轉(zhuǎn)換由集成電路0809完成。0809具有8路模擬輸入端口,地址線(23- 25腳即C,B,A,)可決定對(duì)哪一路模擬輸入作A/D轉(zhuǎn)換。22腳為地址鎖存控制(ALE),當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存。6腳為測(cè)試控制(START),當(dāng)輸入一個(gè)2uS寬高電平脈沖時(shí),就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志(EOC),當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制(OE),當(dāng)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0809的時(shí)鐘輸入端(CLOCK),利用單片機(jī)30腳的六分頻

10、晶振頻率再通過14024二分頻得到1MHz時(shí)鐘。單片機(jī)的P1、P3.0P3.3端口作為六位LED數(shù)碼管顯示控制。2.2 數(shù)據(jù)處理電路的設(shè)計(jì)及原理STC89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的STC89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場(chǎng)合。STC89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中

11、斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,STC89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。STC89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性:· 兼容MCS51指令系統(tǒng) · 8k可反復(fù)擦寫(>1000次)Flash ROM · 32個(gè)雙向I/O口 · 256x8bit內(nèi)部RAM · 3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷 · 時(shí)鐘頻率0-2

12、4MHz · 2個(gè)串行中斷 · 可編程UART串行通道 · 2個(gè)外部中斷源 · 共6個(gè)中斷源 · 2個(gè)讀寫中斷口線 · 3級(jí)加密位 · 低功耗空閑和掉電模式· 軟件設(shè)置睡眠和喚醒功能P0 口:P0 口是一組8 位漏極開路型雙向I/O 口, 也即地址/數(shù)據(jù)總線復(fù)用口。P1 口:P1 是一個(gè)帶內(nèi)部上拉電阻的8 位雙向I/O 口, P1 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。·P2 口:P2 是一個(gè)帶有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)T

13、TL 邏輯門電路。 P3 口:P3 口是一組帶有內(nèi)部上拉電阻的8 位雙向I/O 口。P3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè)TTL 邏輯門電路。RST:復(fù)位輸入。ALE/PROG: 當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8 位字節(jié)。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C52 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN 有效,即輸出兩個(gè)脈沖。EA/VPP:外部訪問允許。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.3 顯示控制電路的

14、設(shè)計(jì)及原理 顯示子程序采用動(dòng)態(tài)掃描法實(shí)現(xiàn)4位數(shù)碼管的數(shù)值顯示。測(cè)量所得的A/D轉(zhuǎn)換數(shù)據(jù)放70H77H內(nèi)存單元中,測(cè)量數(shù)據(jù)在顯示時(shí)須經(jīng)過轉(zhuǎn)換成為十進(jìn)制BCD碼放在78H7BH單元中,其中7B存放通道標(biāo)志數(shù)。寄存器R3用作8路循環(huán)控制,R0用作顯示數(shù)據(jù)地址指針。本系統(tǒng)顯示部分采用6位數(shù)碼管動(dòng)態(tài)掃描顯示。動(dòng)態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個(gè)筆劃段a-h同名端連在一起,而每一個(gè)顯示器的公共極COM 是各自獨(dú)立地受I/O線控制。CPU向字段輸出口送出字形碼時(shí),所有顯示器接收到相同的字形碼,但究竟是那個(gè)顯示器亮,則取決于COM端,而這一端是由 I/O控制

15、的,所以我們就可以自行決定何時(shí)顯示哪一位了。而所謂動(dòng)態(tài)掃描就是指我們采用分時(shí)的方法,輪流控制各個(gè)顯示器的COM端,使各個(gè)數(shù)碼管輪流點(diǎn)亮。本系統(tǒng)采用6位共陽極數(shù)碼管,COM端接接P20P23端,8個(gè)筆劃段a-h分別按順序接P07P00,輪流給P20P23口高電平,使各個(gè)數(shù)碼管輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。電路如圖4示:圖4顯示控制電路8255芯片與I/O口相連,用于擴(kuò)展鍵盤按鍵,由按鍵來控制通道的選

16、通。8255芯片的PC0PC3用于控制,PC4PC7用于控制具體哪個(gè)通道選通。8255芯片的結(jié)構(gòu)圖如圖5下: 圖 5 8255芯片圖8255引腳功能說明:RESET:復(fù)位輸入線,當(dāng)該輸入端外于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。 PA0PA7:端口A輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入鎖存器。 PB0PB7:端口B輸入輸出線,一個(gè)8位的I/O鎖存器, 一個(gè)8位的輸入輸出緩沖器。 PC0PC7:端口C輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個(gè)4位的端口,

17、 每個(gè)4位的端口包含一個(gè)4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號(hào)輸出或狀態(tài)信號(hào)輸入端口。CS:片選信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊。 RD:讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號(hào),當(dāng)這個(gè)輸入引腳為低電平時(shí),允許CPU將數(shù)據(jù)或控制字寫8255。 。3系統(tǒng)程序的設(shè)計(jì)3.1 初始化程序系統(tǒng)初始化時(shí),初始化程序主要用來執(zhí)行70H77H內(nèi)存單元清0和P2口置0等準(zhǔn)備工作。3.2 主程序在剛上電時(shí),系統(tǒng)默認(rèn)為循環(huán)顯示8個(gè)通道的電壓值狀態(tài)。當(dāng)進(jìn)行

18、一次測(cè)量后,將顯示每一通道的A/D轉(zhuǎn)換值,每個(gè)通道的數(shù)據(jù)顯示時(shí)間在1S左右。主程序在調(diào)用顯示子程序與測(cè)量子程序之間循環(huán)。主程序流程圖如圖6所示。圖6 主程序流程圖3.3 顯示子程序顯示子程序采用動(dòng)態(tài)掃描法實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示。測(cè)量所得的A/D轉(zhuǎn)換數(shù)據(jù)放在70H77H內(nèi)存單元中,測(cè)量數(shù)據(jù)在顯示時(shí)須經(jīng)過轉(zhuǎn)換成為十進(jìn)制BCD碼放在78H77H單元中,其中7BH存放通道標(biāo)志數(shù)。寄存器R3用作2路循環(huán)控制,R0用作顯示數(shù)據(jù)地址指針。3.4 A/D轉(zhuǎn)換測(cè)量子程序A/D轉(zhuǎn)換測(cè)量子程序用來控制對(duì)ADC0809的2路模擬輸入電壓的A/D轉(zhuǎn)換,并將對(duì)應(yīng)的數(shù)值移入70H77H內(nèi)存單元。A/D轉(zhuǎn)換測(cè)量子程序程序流

19、程圖如圖7所示。圖 7 A/D轉(zhuǎn)換測(cè)量子程序流程圖4 調(diào)試及性能分析4.1 調(diào)試與測(cè)試采用KeilC51編譯器進(jìn)行源程序編譯及仿真調(diào)試,同時(shí)進(jìn)行硬件電路板的設(shè)計(jì)制作,燒錄好程序后進(jìn)行軟硬件聯(lián)調(diào),最后進(jìn)行端口電壓的對(duì)比測(cè)試。測(cè)試對(duì)比表如表1所列。表中標(biāo)準(zhǔn)電壓值采用UT56數(shù)字萬用表測(cè)得。表 1 簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對(duì)比測(cè)試表標(biāo)準(zhǔn)電壓值/V0.000.151.001.452.252.72簡(jiǎn)易電壓表測(cè)得值/V0.000.161.021.472.262.73絕對(duì)誤差/V0.00+0.01+0.02+0.02+0.010.01標(biāo)準(zhǔn)電壓值/V3.003.454.004.504.754.90簡(jiǎn)

20、易電壓表測(cè)得值/V3.013.474.014.524.764.92絕對(duì)誤差/V+0.01+0.02+0.010.020.010.02從表中可以看出,簡(jiǎn)易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表測(cè)得的絕對(duì)誤差均在0.02V以內(nèi),這采用8位A/D轉(zhuǎn)換器所能達(dá)到的理論誤差精度相一致,在一般的應(yīng)用場(chǎng)合可滿足要求。4.2 性能分析(1)由于單片機(jī)為8位處理器,當(dāng)輸入電壓為5.00V,ADC0809輸出數(shù)據(jù)值為255(FFH),因此單片機(jī)最高的數(shù)據(jù)分辨率為0.0196(5/255)。這就決定了該電壓表的最高分精度要求,則應(yīng)采用12位、13位的A/D轉(zhuǎn)換器。(2)從表格中可以看出,簡(jiǎn)易電壓表測(cè)得的值基本上均比標(biāo)準(zhǔn)電壓

21、值偏大0.010.02這可以通過校正ADC0809的基準(zhǔn)電壓來解決。因?yàn)樵撾妷罕碓O(shè)計(jì)時(shí)直接用V的供電電源作為基準(zhǔn)電壓,所以電壓可能有偏差。另外,還可以用軟件編程來校正測(cè)量值。(3)ADC0809的直流輸入阻抗為,能滿足常用的電壓測(cè)試需要。另外,經(jīng)測(cè)試ADC0809可直接在2MHZ的時(shí)鐘頻率下工作,這樣可省去二進(jìn)制分頻器14024集成塊。(4)當(dāng)要測(cè)量大于5V的電壓時(shí),可在輸入口使用分壓電阻,而程序中只要將計(jì)算程序的除數(shù)進(jìn)行調(diào)整就可以了。但是量程越大,測(cè)量精度會(huì)越低。5 詳細(xì)儀器清單表 2 儀器清單序號(hào)儀器名稱數(shù)量1PCB板12STC89C5213ADC0809CCN芯片1418255芯片154

22、.7千歐電阻468.2千歐電阻17510歐電阻8810歐電阻2930pF電容21010uF電容111按鈕412LED數(shù)碼管61311.597MHz晶振16 總結(jié)通過這學(xué)期的單片機(jī)的學(xué)習(xí),知道了單片機(jī)在實(shí)際應(yīng)用中占據(jù)很重要的作用,也了解單片機(jī)本身的功能,用編程控制;也了解了單片機(jī)的一些擴(kuò)展功能。通過這次設(shè)計(jì),我更深入地了解到單片機(jī)的使用原理和功能。為期兩周的設(shè)計(jì)中,我看到很多同學(xué)都很努力,很認(rèn)真,我也不敢懈怠。雖說兩周的時(shí)間有點(diǎn)倉促,但老師和同學(xué)們夜以繼日在解決問題,我做簡(jiǎn)易數(shù)字電表的設(shè)計(jì)中也遇到些許問題,但通過他人的指點(diǎn),并查閱很多有價(jià)值的書籍,我從中認(rèn)識(shí)了不少。也增強(qiáng)了自己發(fā)現(xiàn)問題解決問題的

23、能力。還有在編程的時(shí)候要仔細(xì),要實(shí)現(xiàn)一個(gè)完整的功能就要考慮全面,在測(cè)試程序的時(shí)候要善于發(fā)現(xiàn)錯(cuò)誤,而且可能是一些小問題,比如說把立即數(shù)和地址混用,這是很常見的。雖然這次只是實(shí)現(xiàn)電壓表的簡(jiǎn)易設(shè)計(jì),我相信通過這次學(xué)習(xí),會(huì)確定我向更高更遠(yuǎn)的方向漫步,比如電壓測(cè)量通過擴(kuò)展接口電路可實(shí)現(xiàn)電容、溫度、濕度、壓力等測(cè)量,廣泛應(yīng)用于工業(yè)領(lǐng)域。本電路設(shè)計(jì)別具一格,是一種可調(diào)度高、低功耗、寬量程的電壓表??蓴U(kuò)展鍵盤、EEPROM、報(bào)警電路,實(shí)現(xiàn)電壓異常記錄、報(bào)警等。參考文獻(xiàn)1 張?chǎng)? 單片微機(jī)原理與應(yīng)用. 北京.電子工業(yè)出版社. 20082 樓然苗.李光飛. 單片機(jī)課程設(shè)計(jì)指導(dǎo). 北京.航空航天大學(xué)出版社. 200

24、73 長洪潤.劉秀英. 單片機(jī)應(yīng)用設(shè)計(jì)200例(上、下). 北京.航空航天大學(xué)出版社.20064 張毅剛. 新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì)(第3版)哈爾濱工業(yè)大學(xué)出版社.20085 馬靜.單片機(jī)原理與應(yīng)用. 實(shí)踐教學(xué)指導(dǎo)書中國計(jì)量出版社. 2003附錄一:A/D轉(zhuǎn)換與控制PCB電路圖附錄二:程序#include<reg52.h>#include<intrins.h>#include <absacc.h>#define a8255_PA XBYTE0xD1FF /PA口地址#define a8255_PB XBYTE0xD2FF /PB口地址#define a

25、8255_PC XBYTE0xD5FF /PC口地址#define a8255_CON XBYTE0xD7FF /控制字地址 #define uchar unsigned char#define uint unsigned intint DAT; /存轉(zhuǎn)換結(jié)果uint da;char a0,a1,a2,a3;sbit EOC=P34;sbit OE=P23 ;sbit START=P27;sbit CLOCK=P20;sbit ADDA=P13;/*把ADC0809的ADD A引腳與單片機(jī)的P1.3引腳用導(dǎo)線連接起來,再把那W4,W5都接上跳線帽(即ADD B、ADD C都接地),則此兩個(gè)引腳

26、電平為0,ADDA可以通過P1.3置0或置1,即可以控制兩路輸入了 */uchar code table10=0xA0,0xBB,0x62,0x2A,0x39,0x2C,0x24,0xBA,0x20,0x28; /數(shù)碼管不顯示小數(shù)點(diǎn)的段碼uchar code table110=0X80,0X9B,0X42,0X0A,0X19,0X0C,0X04,0X9A,0X00,0X08;/數(shù)碼管顯示小數(shù)點(diǎn)的段碼/*上敘數(shù)組10個(gè)16進(jìn)制數(shù)元數(shù)分別對(duì)應(yīng)十進(jìn)制數(shù)0至9 */*/*子函數(shù)聲明*/void adc0809();void delays(void);void delay(void);uchar ink

27、ey();void display();void InitTimer0(void);void int_0();/*/void delays(void) /數(shù)碼管每位顯示間隔的時(shí)間 uchar mm=10;while(mm-);/*/void delay(void) /按鍵時(shí)的延時(shí)消抖子程序 uchar i;for(i=250; i>0;i-);/*/uchar inkey() /按鍵掃描子程序,返回鍵值類型為uchar型uchar i,j=0x10,k;uchar keytab16=0x18,0x28,0x48,0x88,0x14,0x24,0x44,0x84,0x12,0x22,0x4

28、2,0x82,0x11,0x21,0x41,0x81 ; /按鍵編碼 a8255_CON=0x81; /設(shè)置控制字,PA,PB設(shè)為輸出,PC口高四位設(shè)置為輸出,低四位設(shè)置為輸入 a8255_PC=0x00;a8255_PA=0xff;a8255_PB=0xff; for(i=0;i<4;i+)a8255_PC=j; a8255_PA=0xff;k=a8255_PC; /讀鍵盤狀態(tài) k=k&0x0f;if(k!=0) delay();/延時(shí)消除抖動(dòng) k=a8255_PC; /重新讀PC口狀態(tài) k=k&0x0f;/屏蔽高四位 ,存低四位狀態(tài) if(k!=0) /k不為0,有鍵

29、按下則跳出循環(huán) break;j=j<<1; /將下一列(PC5、PC6或PC7)置1 ,低四位為0 delay();k=k+j; / 將按鍵狀態(tài)賦給k for(i=0;i<16;i+)if(keytabi=k) break;return i; /返回按鍵編號(hào)值 /*/void display() /數(shù)碼管顯示測(cè)量值,0V <= a0.a1a2a3 <= 2.5V da=(uint)(DAT*2.5/256)*1000);/數(shù)轉(zhuǎn)模擬a0=(char)(da/1000);a1=(char)(da%1000/100);a2=(char)(da%100/10);a3=(char)(da%10);a8255_PB=table1a0; /使最高位顯示帶小數(shù)點(diǎn)a8255_PA=0xfb;delays();a8255_PA=0xff;a8255

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論