基于單片機(jī)的數(shù)字萬(wàn)用課程設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的數(shù)字萬(wàn)用課程設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的數(shù)字萬(wàn)用課程設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的數(shù)字萬(wàn)用課程設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的數(shù)字萬(wàn)用課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、目錄1 前言1 1.1 課題的提出1 1.2 研究的意義1 1.3 設(shè)計(jì)的任務(wù)12 總體方案確定1 2.1 方案比較及選擇1 2.1.1 模數(shù)轉(zhuǎn)換芯片方案1 2.1.2 顯示器方案4 2.2 確定設(shè)計(jì)方案53 系統(tǒng)硬件分析及設(shè)計(jì)5 3.1 數(shù)字萬(wàn)用表的基本原理5 3.1.1 模數(shù)轉(zhuǎn)換及顯示電路原理5 3.1.2 多量程數(shù)字電壓表原理6 3.1.3 多量程數(shù)字電流表原理6 3.1.4 電阻測(cè)量原理7 3.2 硬件系統(tǒng)總體設(shè)計(jì)框圖8 3.3 硬件電路所用芯片及元件介紹8 3.3.1 STC的89C52單片機(jī)的特點(diǎn)及功能介紹8 3.3.2 PCF8591模數(shù)及數(shù)模轉(zhuǎn)換芯片介紹11 3.3.3 LCD

2、1602液晶顯示器介紹12 3.4 硬件電路設(shè)計(jì)13 3.4.1 電源部分13 3.4.2 電壓衰減電路14 3.4.3 電流衰減電路14 3.4.4 電阻-電壓變換電路15 3.4.5 模數(shù)轉(zhuǎn)換部分15 3.4.6 報(bào)警提示部分16 3.4.7 單片機(jī)最小系統(tǒng)16 3.4.8 顯示輸出部分17 3.4.9 開(kāi)關(guān)及量程選擇部分17 3.4.10 整體硬件電路18 3.5 電路工作過(guò)程描述184 系統(tǒng)軟件設(shè)計(jì)18 4.1 C語(yǔ)言概述18 4.2 軟件設(shè)計(jì)思路19 4.3 程序流程圖19 4.3.1 系統(tǒng)軟件總流程圖19 4.3.2 電壓測(cè)量流程圖20 4.3.3 電流測(cè)量流程圖20 4.3.4

3、電阻測(cè)量流程圖205 測(cè)試及實(shí)驗(yàn)分析21 5.1 電路功能仿真21 5.1.1 數(shù)字電壓表功能仿真21 5.1.2 數(shù)字電流表功能仿真22 5.1.3 數(shù)字歐姆表功能仿真236 總結(jié)23參 考 文 獻(xiàn)24附 錄25摘要 基于51單片機(jī)的數(shù)字萬(wàn)用表,可用于測(cè)量直流電壓、直流電壓及電阻,并使用1602進(jìn)行顯示。系統(tǒng)由分壓電阻、分流電阻、電阻-電壓變換電路、單片機(jī)最小系統(tǒng)、液晶顯示器、報(bào)警器、模數(shù)轉(zhuǎn)換器及等部分組成。采用STC公司的89C52單片機(jī)作為主控芯片,PCF8591作為模數(shù)轉(zhuǎn)換芯片。主控芯片與模數(shù)轉(zhuǎn)換芯片之間使用I2C總線進(jìn)行數(shù)據(jù)通訊,簡(jiǎn)化了硬件線路,提高系統(tǒng)的穩(wěn)定性及測(cè)量準(zhǔn)確度。從電源獲

4、取的電壓或電流信號(hào),通過(guò)衰減電阻進(jìn)行衰減后,進(jìn)入模數(shù)轉(zhuǎn)換器的模擬輸入端,而待測(cè)電阻則通過(guò)電阻-電壓變換電路,把阻值轉(zhuǎn)化為電壓值進(jìn)行測(cè)量。模數(shù)轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換之后,得到的數(shù)字編碼通過(guò)I2C總線送回單片機(jī)。單片機(jī)對(duì)數(shù)據(jù)進(jìn)行一定的處理后,測(cè)量結(jié)果由1602液晶顯示器負(fù)責(zé)輸出。設(shè)計(jì)的數(shù)字萬(wàn)用表共分為6個(gè)檔位,分別是2V電壓、20V電壓、200mA電流、2A電流、2k電阻、20k電阻,超出量程時(shí)會(huì)自動(dòng)使用蜂鳴器進(jìn)行報(bào)警提示。本系統(tǒng)程序執(zhí)行周期耗時(shí)較短,保證了系統(tǒng)的響應(yīng)速度。經(jīng)過(guò)初步調(diào)試,本系統(tǒng)能較準(zhǔn)確的測(cè)量量程范圍內(nèi)的電壓及電流值,誤差范圍均在8%以內(nèi),而電阻值測(cè)量的誤差值稍大,誤差范圍在8.2%以內(nèi)。另

5、外,本文詳細(xì)地介紹了89C52型單片機(jī)及PCF8591模數(shù)轉(zhuǎn)換芯片的基本功能及性能特征,并敘述了數(shù)字萬(wàn)用表測(cè)量電壓、電流及電阻的基本原理。關(guān)鍵詞:數(shù)字萬(wàn)用表 89C52單片機(jī) 模數(shù)轉(zhuǎn)換III1 前言1.1 課題的提出數(shù)字萬(wàn)用表是一種多用途電子測(cè)量?jī)x器。它采用數(shù)字化測(cè)量技術(shù),把實(shí)際測(cè)量的模擬量,轉(zhuǎn)化為離散的數(shù)字量進(jìn)行輸出顯示,主要用于物理、電氣、電子等測(cè)量領(lǐng)域,一般包含電流表(安培計(jì))、電壓表(伏特計(jì))、電阻表(歐姆計(jì))等功能,也稱為萬(wàn)用計(jì)、多用計(jì)、多用電表或萬(wàn)用電表。1.2 研究的意義萬(wàn)用表是電子和電氣技術(shù)領(lǐng)域必備的測(cè)量?jī)x器,用于測(cè)量電子電路中的各種物理量(電壓、電流、電阻等),常作為基本故障

6、診斷的便攜式裝置,也有放置在工廠或?qū)嶒?yàn)室工作臺(tái)上作為桌上型裝置。有的萬(wàn)用電表分辨率能達(dá)到七、八位數(shù),常用在實(shí)驗(yàn)室,作為電壓或電阻的基準(zhǔn),或用來(lái)調(diào)校多功能標(biāo)準(zhǔn)器的性能。相比傳統(tǒng)的指針式萬(wàn)用表,數(shù)字萬(wàn)用表具有以下的主要優(yōu)點(diǎn):(1)數(shù)字顯示直觀準(zhǔn)確,無(wú)視覺(jué)誤差,讀數(shù)準(zhǔn)確;(2)測(cè)量精度和分辨率都很高;(3)輸入阻抗高,減少對(duì)被測(cè)電路的工作影響;(4)電路集成度高,便于組裝和維修;(5)測(cè)量功能齊全,測(cè)量速率快;(6)保護(hù)功能齊全,有過(guò)壓、過(guò)流保護(hù)電路;(7)功耗低,抗干擾能力強(qiáng);(8)便于攜帶,使用方便。1.3 設(shè)計(jì)的任務(wù)本次設(shè)計(jì)的任務(wù)是制作一個(gè)數(shù)字萬(wàn)用表,可實(shí)現(xiàn)如下的功能及要求:(1)可以測(cè)量直流

7、電壓、直流電流和電阻;(2)能將測(cè)量得到的數(shù)值直觀、準(zhǔn)確地顯示出來(lái),并標(biāo)明相應(yīng)的單位;(3)具有超量程時(shí)的報(bào)警提示。2 總體方案確定2.1 方案比較及選擇2.1.1 模數(shù)轉(zhuǎn)換芯片方案方案一:積分型模數(shù)轉(zhuǎn)換芯片積分型模數(shù)轉(zhuǎn)換器又稱雙斜率或多斜率數(shù)據(jù)轉(zhuǎn)換器,是典型的雙斜率轉(zhuǎn)換器。積分型轉(zhuǎn)換器包含兩個(gè)主要的轉(zhuǎn)換步驟:前端的電路負(fù)責(zé)輸入模擬電壓的采樣和量化,產(chǎn)生一個(gè)在時(shí)域上間隔的的脈沖序列,然后將脈沖輸入計(jì)數(shù)器并轉(zhuǎn)換為數(shù)字進(jìn)行輸出。積分型轉(zhuǎn)換器由一個(gè)可進(jìn)行輸入通道切換的模擬積分器、一個(gè)比較器及一個(gè)計(jì)數(shù)器組成。在一個(gè)固定的時(shí)間間隔內(nèi),積分器對(duì)輸入電壓信號(hào)進(jìn)行積分。定時(shí)時(shí)間到后,計(jì)數(shù)器被復(fù)位并將其輸入連接

8、到反向極性的基準(zhǔn)電壓端上。由于反極性信號(hào)中的作用,積分器會(huì)進(jìn)行反向積分,直到輸出為零,使計(jì)數(shù)器中止工作復(fù)位積分器。積分型模數(shù)轉(zhuǎn)換器的精度可以達(dá)到很高,有效抑制高頻噪聲和固定的低頻干擾,適合在嘈雜的工業(yè)環(huán)境及對(duì)轉(zhuǎn)換速率要求較低的場(chǎng)合下使用。圖1所示為雙積分型模數(shù)轉(zhuǎn)換器的原理框圖。圖1 積分型模數(shù)轉(zhuǎn)換器原理框圖方案二:逐次比較(逼近)型模數(shù)芯片逐次比較型轉(zhuǎn)換器包含一個(gè)比較器、一個(gè)數(shù)模轉(zhuǎn)換器、一個(gè)數(shù)碼寄存器和一個(gè)電路控制單元。轉(zhuǎn)換時(shí)的逐次逼近是按對(duì)分原理,由控制電路完成的。在邏輯控制電路產(chǎn)生的時(shí)鐘信號(hào)驅(qū)動(dòng)下,數(shù)碼寄存器不斷進(jìn)行比較和移位操作,直至完成全部有效位的轉(zhuǎn)換。此時(shí)數(shù)碼寄存器的各位的值都已確定

9、,轉(zhuǎn)換步驟完成。由于逐次逼近型模數(shù)轉(zhuǎn)換器在單個(gè)時(shí)鐘周期內(nèi)只能完成1位轉(zhuǎn)換,N位轉(zhuǎn)換需要N個(gè)時(shí)鐘周期,因此這種模數(shù)轉(zhuǎn)換器采樣速率不高,輸入帶寬也較低。圖2所示為逐次比較型模數(shù)轉(zhuǎn)換器的原理框圖。圖2 逐次比較型模數(shù)轉(zhuǎn)換器原理框圖方案三:并聯(lián)比較型模數(shù)芯片并聯(lián)比較型模數(shù)轉(zhuǎn)換器由電阻分壓器、電壓比較器及編碼電路組成,輸出的各位數(shù)碼是一次形成的,它是轉(zhuǎn)換速度最快的一種模數(shù)轉(zhuǎn)換器。圖3所示為并聯(lián)比較型模數(shù)轉(zhuǎn)換器的原理框圖。圖3 并聯(lián)比較型模數(shù)轉(zhuǎn)換器原理框圖圖3中,8個(gè)大小相等的電阻串聯(lián)構(gòu)成電阻分壓器,產(chǎn)生不同數(shù)值的參考電壓,共形成共7種量化電平。7個(gè)量化電平分別加在7個(gè)電壓比較器的反相輸入端,模擬輸入電壓

10、加在比較器的同相輸入端。當(dāng)模擬輸入電壓大于或等于量化電平時(shí),比較器輸出為1,否則輸出為0,電壓比較器用來(lái)完成對(duì)采樣電壓的量化。并聯(lián)比較型模數(shù)轉(zhuǎn)換器轉(zhuǎn)換精度主要取決于量化電平的劃分,分得越精細(xì),精度越高。這種轉(zhuǎn)換器的最大優(yōu)點(diǎn)是具有較快的轉(zhuǎn)換速度,但所用的比較器及其他硬件較多,輸出數(shù)字量位數(shù)越多,轉(zhuǎn)換電路將越復(fù)雜。由此可知,該類型的模數(shù)轉(zhuǎn)換器適用于高速度、低精度要求的場(chǎng)合。方案選擇:三個(gè)方案相比較,方案一中的積分型模數(shù)轉(zhuǎn)換器的采樣速度和帶寬都非常低,難以滿足本系統(tǒng)的實(shí)時(shí)性要求。與方案一和方案二相比,方案三中的并聯(lián)型模數(shù)轉(zhuǎn)換器轉(zhuǎn)換速度更高,但是當(dāng)精度要求較高時(shí),轉(zhuǎn)換電路將變得復(fù)雜且成本較高,因此,選

11、擇方案二的逐次比較型模數(shù)轉(zhuǎn)換器,擁有中等的轉(zhuǎn)換速度,且可以達(dá)到一定的精度水平。2.1.2 顯示器方案方案一:LED(Light Emitting Diode)數(shù)碼管顯示器LED數(shù)碼管實(shí)際上是由七個(gè)發(fā)光管組成8字形,并加上小數(shù)點(diǎn)共八個(gè)發(fā)光二極管構(gòu)成。這些發(fā)光二極管構(gòu)成段,當(dāng)特定的段被加上電壓后,這些特定的段就會(huì)發(fā)亮,以形成我們能看到的字樣。LED數(shù)碼管通常能夠顯示的數(shù)字和字母有0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。LED數(shù)碼管的驅(qū)動(dòng)形式通常分為靜態(tài)式和動(dòng)態(tài)式兩類:(1)靜態(tài)驅(qū)動(dòng)也稱直流驅(qū)動(dòng),是指每個(gè)數(shù)碼管的每一個(gè)段碼,都由一個(gè)單片機(jī)的I/O口進(jìn)行驅(qū)動(dòng),或者使用BCD碼的

12、二-十進(jìn)位器進(jìn)行驅(qū)動(dòng)。靜態(tài)驅(qū)動(dòng)的優(yōu)點(diǎn)是編程簡(jiǎn)單,顯示亮度高,但缺點(diǎn)也比較明顯,占的用I/O口很多,耗費(fèi)了單片機(jī)的資源并增加了硬體電路的復(fù)雜性。(2)動(dòng)態(tài)驅(qū)動(dòng)是將所有數(shù)碼管的各個(gè)顯示段的同名端相連,另外為每個(gè)數(shù)碼管的公共端增加位選通電路。使用時(shí),控制電路根據(jù)數(shù)碼管選取的不同,在特定的位置上顯示字符。透過(guò)分時(shí)技術(shù)輪流地控制每個(gè)數(shù)碼管,使各個(gè)數(shù)碼管輪流進(jìn)行發(fā)光顯示,由于人眼的視覺(jué)殘留現(xiàn)象及LED的余輝效應(yīng),會(huì)出現(xiàn)各個(gè)位上的數(shù)碼管在同時(shí)顯示的假象。相比靜態(tài)驅(qū)動(dòng),動(dòng)態(tài)驅(qū)動(dòng)節(jié)省單片機(jī)的I/O口,硬件電路更加簡(jiǎn)化,但顯示亮度會(huì)明顯降低且可能有閃爍感。方案二:1602液晶顯示器1602液晶顯示器是一個(gè)兩行每行

13、16個(gè)5×7點(diǎn)陣字符的微型液晶顯示器,可以顯示較多ASCII標(biāo)準(zhǔn)的字符。1602液晶只有16個(gè)引腳,僅包含必要的數(shù)據(jù)線及數(shù)根控制線。1602液晶顯示的不需要占用單片機(jī)大量的掃描時(shí)間,而僅在需要顯示的時(shí)候調(diào)用液晶的控制子函數(shù)即可。而且1602液晶可以通過(guò)ASCII碼來(lái)顯示字符,并在內(nèi)部集成了存儲(chǔ)160個(gè)字符ASCII碼的寄存器,可以直接顯示ASCII碼表示的字符。而且液晶能比數(shù)碼管顯示更多的字符,增強(qiáng)了系統(tǒng)顯示輸出的可讀性和直觀性。方案選擇:與方案二相比,方案一中的數(shù)碼管,雖然成本較低,但是耗費(fèi)大量的單片機(jī)資源,不利于后續(xù)系統(tǒng)的設(shè)計(jì)。而且液晶顯示的視覺(jué)效果和可讀性遠(yuǎn)優(yōu)于數(shù)碼管,且節(jié)省單

14、片機(jī)資源,因此選擇方案二。2.2 確定設(shè)計(jì)方案經(jīng)過(guò)了上述的比較,最終的方案是:使用逐次比較型模數(shù)轉(zhuǎn)換芯片,獲取系統(tǒng)良好的實(shí)時(shí)性及相對(duì)高的精度;使用1602液晶作為數(shù)據(jù)輸出顯示器,提高系統(tǒng)的人機(jī)交互方面的友好性。3 系統(tǒng)硬件分析及設(shè)計(jì)3.1 數(shù)字萬(wàn)用表的基本原理數(shù)字萬(wàn)用表的基本功能是,能夠測(cè)量直流電壓、電流以及電阻的阻值,數(shù)字萬(wàn)用表的基本組成由圖4所示,其中,模數(shù)轉(zhuǎn)換是數(shù)字萬(wàn)用表的核心:小數(shù)點(diǎn)驅(qū)動(dòng)(根據(jù)物理量和量程)數(shù)值顯示屏(數(shù)碼管或液晶)基準(zhǔn)電壓數(shù)模轉(zhuǎn)換,數(shù)值輸出基準(zhǔn)電阻分壓器分流器過(guò)壓過(guò)流保護(hù)過(guò)壓過(guò)流保護(hù)譯碼驅(qū)動(dòng)被測(cè)量信號(hào)圖4 數(shù)字萬(wàn)用表的基本原理圖3.1.1 模數(shù)轉(zhuǎn)換及顯示電路原理實(shí)際的

15、物理量都是幅值大小連續(xù)變化的模擬量,或稱為模擬信號(hào)。舊式的指針萬(wàn)用表可以直接對(duì)模擬電壓、電流進(jìn)行測(cè)量并顯示。對(duì)于數(shù)字萬(wàn)用表,則需要把模擬量(多是電壓量)轉(zhuǎn)換為數(shù)字信號(hào)的形式,通過(guò)相關(guān)的處理(包括存儲(chǔ)、傳輸、計(jì)算等)再進(jìn)行顯示。數(shù)字信號(hào)是量化的模擬信號(hào),若將最小的量化單位記為,那么數(shù)字信號(hào)的大小一定為的整數(shù)倍。該倍數(shù)可以用二進(jìn)制數(shù)碼表示,但為了便于直觀地讀數(shù),通常把數(shù)碼進(jìn)行譯碼后,由數(shù)碼管或液晶屏幕顯示。當(dāng)模擬信號(hào)經(jīng)過(guò)量化之后,還需要進(jìn)行編碼處理,是用二進(jìn)制碼組表示固定電平的量化值。目前普遍使用的是非線性的8位二進(jìn)制編碼,可以將輸入的幅度范圍分成256個(gè)量化級(jí)。由此可知,數(shù)字萬(wàn)用表測(cè)量的核心步驟

16、是模數(shù)轉(zhuǎn)換以及譯碼顯示,其中模數(shù)轉(zhuǎn)換又可以分為量化及編碼兩大步驟。3.1.2 多量程數(shù)字電壓表原理圖5 分壓電路的原理如圖5所示,在基準(zhǔn)數(shù)字電壓表頭前加上一級(jí)電壓信號(hào)衰減電路(分壓電路),可以擴(kuò)展直流電壓測(cè)量的量程。圖中,Vo為輸出電壓,基準(zhǔn)電壓表的量程為2V,四個(gè)分壓電阻串聯(lián)值為10M,則第4個(gè)開(kāi)關(guān)接入時(shí)輸入電壓Vi可以達(dá)到2000V,同理可得其他檔位量程分別為2V、20V、200V、200V。但基于測(cè)試安全性,第4檔測(cè)試電壓不應(yīng)高于500V。3.1.3 多量程數(shù)字電流表原理圖6 分流電路的原理如圖6電路所示,萬(wàn)用表測(cè)量電流的原理是,用合適的取樣電阻,將待測(cè)的電流量根據(jù)歐姆定律轉(zhuǎn)換為電壓量,

17、才能進(jìn)行測(cè)量。若取樣電阻阻值為R,根據(jù)歐姆定律,可以獲得被測(cè)電流Ii的值。在基準(zhǔn)數(shù)字電流表頭前在加上電流信號(hào)衰減電路(分流電路),即可實(shí)現(xiàn)直流電流測(cè)量量程的擴(kuò)展。如上圖所示,四個(gè)電阻串聯(lián)值是1k,若選取第1擋,并使輸出電壓不超過(guò)2V,即可計(jì)算出Ii必須小于等于2mA。同理可計(jì)算出其他檔位的滿量程電流分別為20mA、200mA、2A。3.1.4 電阻測(cè)量原理圖7 電阻-電壓變換電路的原理數(shù)字萬(wàn)用表通常采用電阻-電壓變換電路來(lái)測(cè)量電阻(歐姆檔)。如圖7所示電路,VDZ1是2.7V穩(wěn)壓管,是一種用特殊工藝制造的硅半導(dǎo)體二極管(康華光,2006)。VT1、VT2、VDZ1組成恒流源,保持V3的值恒定不

18、變。V3的值等于V1電壓減去VDZ1上的電壓,約為2.3V。VT3的基極電壓亦保持不變,若VT3基極和發(fā)射極之間的電壓為0.5V,則可知V2的值恒為2.8V左右,并可得出VT3集電極電流的IC3也是恒定的。其中,接在VT3的發(fā)射極上的一組電阻是基準(zhǔn)電阻,按檔位不同分別是:2.2k、22k、220k、2M。通過(guò)選擇不同的檔位開(kāi)關(guān),可以得到恒定的、不同倍率的電流IC3,它的電流分別是1mA、0.1mA、0.01mA、0.001mA。RX是待測(cè)電阻,接在VT3的集電極上,當(dāng)恒定電流IC3流經(jīng)時(shí),產(chǎn)生電壓VX,測(cè)量VX則可推算出待測(cè)電阻的阻值。RW用于調(diào)整恒流源IC3的大小,VD3作為保護(hù)管,當(dāng)電阻檔

19、所加的電壓過(guò)高時(shí),VD3對(duì)VT3有保護(hù)作用。3.2 硬件系統(tǒng)總體設(shè)計(jì)框圖如圖8所示,本設(shè)計(jì)將由以下幾大部分組成。包括:復(fù)位電路、震蕩電路、A/D轉(zhuǎn)換和控制、測(cè)量值輸出、超量程報(bào)警和檔位選擇。其中,復(fù)位電路用于單片機(jī)上電復(fù)位使系統(tǒng)清零;震蕩電路為單片機(jī)提供精確的時(shí)鐘頻率,使電路工作更加穩(wěn)定;A/D轉(zhuǎn)換和控制部分負(fù)責(zé)模數(shù)轉(zhuǎn)換及輸入輸出信號(hào)的控制;測(cè)量值輸出則負(fù)責(zé)顯示待測(cè)物理量大小的數(shù)值;超量程報(bào)警用于超出量程范圍時(shí)的報(bào)警提示,提醒使用者更換量程。 復(fù)位電路震蕩電路A/D輸入測(cè)量值顯示超量程報(bào)警A/D使能主控單元圖8 硬件系統(tǒng)總體設(shè)計(jì)框圖3.3 硬件電路所用芯片及元件介紹3.3.1 STC的89C5

20、2單片機(jī)的特點(diǎn)及功能介紹(1)89C52單片機(jī)的主要特點(diǎn)及功能特性89C52是一款低電壓,高性能的8位CMOS型單片機(jī),片內(nèi)有8k字節(jié)以Flash閃存為介質(zhì)的,能擦寫(xiě)的只讀程序存儲(chǔ)器及256字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器。89C52型單片機(jī)仍屬于51單片機(jī)家族群,都支持一個(gè)共同的指令集(MSC-51),但各自擁有不同的存儲(chǔ)器容量及端口設(shè)置等內(nèi)置資源,使其更符合成本效益的需要,滿足特定的場(chǎng)合的生產(chǎn)需求。該單片機(jī)在嵌入式控制應(yīng)用系統(tǒng)中有著廣泛的應(yīng)用。89C52具有以下幾個(gè)主要特點(diǎn):1體積小但集成度高、可靠性較高:該單片機(jī)把各個(gè)功模塊集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),將各種信號(hào)的通道封裝在同一個(gè)芯片中,

21、減少了與其他芯片之間的連線,大大提高了可靠性與線路的抗干擾能力。2控制能力較強(qiáng):一般單片機(jī)的指令系統(tǒng)中均有極為豐富的轉(zhuǎn)移指令、存儲(chǔ)器讀寫(xiě)指令、I/O口的邏輯操作以及位處理功能,滿足工業(yè)控制的各種要求。3易于擴(kuò)展:?jiǎn)纹瑱C(jī)片內(nèi)已經(jīng)具有計(jì)算機(jī)正常運(yùn)行時(shí)所必需的部件,但仍然預(yù)留了很多片外擴(kuò)展用的引腳(各種總線,并行/串行的輸入/輸出),易于組成更龐大計(jì)算機(jī)系統(tǒng)完成更復(fù)雜的任務(wù)。4內(nèi)部功能較強(qiáng):?jiǎn)纹瑱C(jī)有著各種的內(nèi)部資源,功能強(qiáng)大。5低功耗、低電壓,便于生產(chǎn)便攜式產(chǎn)品。下面介紹89C52單片機(jī)的主要功能特性:1兼容標(biāo)準(zhǔn)的MCS-51的指令系統(tǒng);2內(nèi)置8k字節(jié)可擦寫(xiě)的閃存ROM(Read-Only Memo

22、ry);34組共32個(gè)雙向I/O口;4256×8位大小的內(nèi)部RAM;53個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷;6支持3.5-12/24/33MHz多種時(shí)鐘頻率;71個(gè)全雙工可編程的UART(Universal Asynchronous Receiver/Transmitte)串行口;86個(gè)中斷源,4級(jí)優(yōu)先級(jí)中斷結(jié)構(gòu);92個(gè)W/R(Write/Read)讀寫(xiě)中斷口,3級(jí)加密位;10低功耗空閑和掉電節(jié)省模式,帶有軟件設(shè)置睡眠及相應(yīng)的喚醒功能;11有PDIP及 PLCC兩種封裝形式。圖9 89C52單片機(jī)引腳圖 89C52單片機(jī)引腳主要功能:14組I/O口P0口:一組8位漏極開(kāi)路的準(zhǔn)雙向并行I/

23、O口,擴(kuò)展片外存儲(chǔ)時(shí)的地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載,對(duì)端口P0寫(xiě)“1”時(shí),可作為高阻抗輸入端用。P0口與其他幾組I/O口的最大區(qū)別是其內(nèi)部不帶有上拉電阻。P1口:是一組帶內(nèi)置上拉電阻的8位雙向并行I/O 口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL 負(fù)載。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉至高電平后,可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,引腳被外部信號(hào)拉低時(shí)會(huì)輸出電流。另外,P1的P1.0和P1.1口存在第二功能,見(jiàn)下表。表1 P1口的第二功能引腳號(hào)功能特性P1.0T2(定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)/計(jì)數(shù)器2

24、的捕捉/重載觸發(fā)信號(hào)和方向控制)P2口:是一組帶有內(nèi)部上拉電阻的8 位雙向I/O并行 口,P2 的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL負(fù)載。作輸入及輸出口時(shí),情況與P1口相似。擴(kuò)展片外存儲(chǔ)時(shí),作為低8位地址總線口。P3口:是一組帶有內(nèi)部上拉電阻的8 位雙向并行I/O 口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL負(fù)載。作為輸入及輸出口時(shí),情況與P1口相似。P3 口還能接收一些用于Flash存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能,見(jiàn)表2。2其他引腳RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。EA/VPP:外部訪問(wèn)允許

25、。要讓CPU只訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA 端必需保持低電平(或接地)。當(dāng)EA端為高電平(接Vcc端)時(shí),CPU會(huì)執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。VCC:接電源+5V。GND:接地端。表2 P3口的第二功能引腳號(hào)功能特性P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷0)P3.3INT1(外部中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)有效)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀有效)3.3.2 PC

26、F8591模數(shù)及數(shù)模轉(zhuǎn)換芯片介紹(1)PCF8591芯片的主要功能特征PCF8591是一個(gè)單片集成、單獨(dú)供電、低功耗及8位CMOS工藝制造的AD-DA器件。PCF8591具有4個(gè)模擬輸入、1個(gè)模擬輸出和1個(gè)串行I2C總線接口。PCF8591的3個(gè)地址引腳A0、A1和A2可用于硬件地址編程。在PCF8591器件上輸入輸出的地址、控制和數(shù)據(jù)信號(hào)都是通過(guò)雙線雙向I2C總線以串行的方式進(jìn)行傳輸。(2)PCF8591芯片的引腳功能圖10 PCF8591的引腳圖圖10所示為PCF8591的引腳圖。1AIN0AIN3:模擬信號(hào)輸入端;2A0A2:引腳地址端;3VDD、VSS:電源端(2.5-6V);4SDA

27、、SCL:I2C總線的數(shù)據(jù)線、時(shí)鐘線;5OSC:外部時(shí)鐘輸入端,內(nèi)部時(shí)鐘輸出端;6EXT:內(nèi)部、外部時(shí)鐘選擇線,采用內(nèi)部時(shí)鐘時(shí)EXT接地;7AGND:模擬信號(hào)地;8AOUT:數(shù)模轉(zhuǎn)換輸出端;9VREF:基準(zhǔn)電源端。3.3.3 LCD1602液晶顯示器介紹(1)LCD1602液晶顯示器的基本特征LCD1602是工業(yè)字符型液晶,能夠同時(shí)顯示16×02共32個(gè)字符。1602液晶也叫1602字符型液晶,它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊,目前市面上的1602液晶大多數(shù)是基于HD44780液晶芯片的,其控制原理是完全相同,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于

28、大部分1602字符型液晶。(2)LCD1602液晶顯示器的引腳功能LCD1602液晶顯示器的引腳功能如表3所示。表3 1602液晶的引腳功能引腳符號(hào)功能引腳符號(hào)功能1VSS電源地9D2數(shù)據(jù)I/O口2VDD電源正極10D3數(shù)據(jù)I/O口3VL液晶顯示偏壓信號(hào)11D4數(shù)據(jù)I/O口4RS數(shù)據(jù)/命令選擇端(H/L)12D5數(shù)據(jù)I/O口5R/W讀/寫(xiě)選擇(H/L)13D6數(shù)據(jù)I/O口6E使能信號(hào)14D7數(shù)據(jù)I/O口7D0數(shù)據(jù)I/O口15BLA液晶背光源正極8D1數(shù)據(jù)I/O口16BLK液晶背光源負(fù)極3.4 硬件電路設(shè)計(jì)3.4.1 電源部分圖11 電源部分原理圖如圖11所示,POWER端接外部直流電源,另外可

29、以利用USB(Universal Serial Bus)端口直接提供5V電壓。7805是三端穩(wěn)壓集成芯片,起穩(wěn)壓輸出的作用,通過(guò)外圍電路的組合,可以穩(wěn)定輸出5V直流電壓。圖中的LED燈可以作為電源電路開(kāi)始工作的提示器。3.4.2 電壓衰減電路圖12 電壓衰減電路原理圖如圖12所示,R1和R2是分壓電阻,其阻值均為按檔位需要計(jì)算后所得,可以將20V的直流電壓衰減為2V輸出,配合20V的直流電壓擋。3.4.3 電流衰減電路圖13 電流衰減電路原理圖如圖13所示,R15和R16是分流電阻,其阻值均為按檔位需要計(jì)算后所得,可以將2A的直流電流衰減為200mA,并將電流變換成電壓以供模數(shù)轉(zhuǎn)換器測(cè)量,配合

30、2A的直流電流檔使用。3.4.4 電阻-電壓變換電路圖14 電阻-電壓變換電路原理圖圖14所示電路為電阻測(cè)量電路。其中,電阻R13和R14構(gòu)成一組基準(zhǔn)電阻。電路工作時(shí),PNP管Q3的集電極電流IC3是恒定的,R18和R19負(fù)責(zé)調(diào)節(jié)IC3的大小。通過(guò)接入不同的電阻(R20或R21),可獲得不同的倍率的集電極電流IC3,電流通過(guò)待測(cè)電阻Rx形成電壓Vx。通過(guò)測(cè)量Vx即可獲得待測(cè)電阻的阻值。經(jīng)過(guò)計(jì)算,可知R20分支可測(cè)量的最大電阻值為2k,R21分支為20k。而P4端則是作為待測(cè)電阻的接口。3.4.5 模數(shù)轉(zhuǎn)換部分圖15 模數(shù)轉(zhuǎn)換部分原理圖圖15所示為模數(shù)轉(zhuǎn)換部分。PCF8591芯片作為ADC芯片,

31、使用I2C總線與單片機(jī)通訊,SCL是串行時(shí)鐘,SDA是串行數(shù)據(jù)線,輸出轉(zhuǎn)換后的數(shù)字量。待測(cè)模擬量從AIN0進(jìn)入,其余模擬輸入口因本設(shè)計(jì)不需使用而接地。AGND端是模擬地,接上0電阻,而VDD接上接地電容,有效分割模擬地和數(shù)字地,減少高頻數(shù)字信號(hào)的干擾。3.4.6 報(bào)警提示部分圖16 報(bào)警提示部分原理圖圖16所示為蜂鳴器驅(qū)動(dòng)電路。當(dāng)出現(xiàn)測(cè)量值超出預(yù)定量程時(shí),蜂鳴器會(huì)發(fā)出“嘀”聲報(bào)警。其實(shí)質(zhì)是通過(guò)編程使單片機(jī)的引腳輸出低電平,使Q1導(dǎo)通,蜂鳴器發(fā)聲。3.4.7 單片機(jī)最小系統(tǒng)圖17 單片機(jī)最小系統(tǒng)如圖17所示,本次設(shè)計(jì)采用STC公司的89C52型單片機(jī)作為控制芯片,并采用RC上電復(fù)位電路用于單片機(jī)

32、復(fù)位,配合頻率為11.0592MHz的外部震蕩電路,作為外部時(shí)鐘信號(hào),提供單片機(jī)片內(nèi)各種操作的時(shí)間基準(zhǔn)。P1.0-P1.3作為按鍵的輸入線,P1.4及P1.5分別作為ADC芯片I2C總線的時(shí)鐘線和數(shù)據(jù)線。P0口作為1602液晶的數(shù)據(jù)總線,P2.0和P2.1作為1602液晶的控制線,另外P3.7用作控制蜂鳴器。3.4.8 顯示輸出部分圖18 顯示輸出部分原理圖如圖18所示,采用1602液晶作為輸出顯示器,讀數(shù)更加準(zhǔn)確和直觀,能顯示比數(shù)碼管更豐富的信息。其中RS和RE為液晶的控制線,DB0-DB7為液晶的數(shù)據(jù)線,均與單片機(jī)的相應(yīng)I/O口相連。Vo端接上一個(gè)10k的電位器再接地,通過(guò)調(diào)節(jié)電位器,可以

33、調(diào)節(jié)液晶字符顯示的明暗度,防止“鬼影”現(xiàn)象的出現(xiàn)。3.4.9 開(kāi)關(guān)及量程選擇部分圖19 開(kāi)關(guān)及量程選擇部分原理圖如圖19所示,撥碼開(kāi)關(guān)S1的左側(cè)三個(gè)端口分別接上分壓器、分流器、電阻測(cè)量電路,使用時(shí)撥動(dòng)不同開(kāi)關(guān),連通對(duì)應(yīng)的電路,測(cè)量不同的物理量。而下面的4個(gè)按鍵,負(fù)責(zé)通知單片機(jī)當(dāng)前所選的待測(cè)物理量及檔位,改變液晶顯示器數(shù)值的輸出方式。3.4.10 整體硬件電路 見(jiàn)附錄3.5 電路工作過(guò)程描述將相應(yīng)的控制程序?qū)懭雴纹瑱C(jī)是使電路各部分能協(xié)調(diào)工作,完成既定任務(wù)的前提。通過(guò)按鈕選取要測(cè)量的物理值(電壓、電流或電阻),然后通過(guò)選取合適的量程進(jìn)行測(cè)量,以獲得更準(zhǔn)確的測(cè)量數(shù)據(jù)。單片機(jī)通過(guò)I2C總線控制PCF8

34、591芯片,完成A/D轉(zhuǎn)換,并通過(guò)該總線讀取其輸出的數(shù)據(jù)。單片機(jī)根據(jù)所選檔位和量程對(duì)數(shù)據(jù)進(jìn)行處理后,送至1602液晶處進(jìn)行輸出。若發(fā)生待測(cè)信號(hào)超出量程的情況,蜂鳴器會(huì)立即報(bào)警,提示使用者切換更高的量程進(jìn)行測(cè)量。另外,通過(guò)單片機(jī)的復(fù)位按鈕,可以對(duì)系統(tǒng)進(jìn)行清零。4 系統(tǒng)軟件設(shè)計(jì)4.1 C語(yǔ)言概述(1)單片機(jī)的C語(yǔ)言的特點(diǎn):1. 本身不依賴機(jī)器硬件系統(tǒng),方便從其他系統(tǒng)移植程序直接使用(郭天祥,2009);2. 能方便管理寄存器儲(chǔ)存器和數(shù)據(jù)類型等問(wèn)題,但對(duì)相關(guān)的硬件的控制有限;3. 在較大的程序代碼中效率更高,在執(zhí)行大應(yīng)用程序時(shí)有優(yōu)勢(shì);4. 程序由若干模塊組成,適用于模塊化設(shè)計(jì)和維護(hù);5. 相比匯編函

35、數(shù),具有良好的可讀性和可維護(hù)性,減少開(kāi)發(fā)難度;6. 有豐富的庫(kù)函數(shù),大大減少用戶的編程強(qiáng)度,縮短編程時(shí)間及調(diào)試時(shí)間,提高軟件的開(kāi)發(fā)效率;7. 能在不同類型的機(jī)器上使用,具有較好的可移植性。(2)單片機(jī)的C語(yǔ)言與標(biāo)準(zhǔn)C語(yǔ)言的區(qū)別:1. 標(biāo)準(zhǔn)C語(yǔ)言的庫(kù)函數(shù)是按照通用計(jì)算機(jī)來(lái)定義的,而單片機(jī)的C語(yǔ)言庫(kù)函數(shù)是按照單片機(jī)的應(yīng)用情況來(lái)定義的;2. 單片機(jī)C語(yǔ)言增加了集中針對(duì)單片機(jī)特有的數(shù)據(jù)類型,如單片機(jī)包含位操作空間和豐富的位操作指令;3. 單片機(jī)C語(yǔ)言的存儲(chǔ)模式與單片機(jī)的存儲(chǔ)器緊密相關(guān)。使用不同存儲(chǔ)器將會(huì)影響程序執(zhí)行的效率,但標(biāo)準(zhǔn)C語(yǔ)言對(duì)存儲(chǔ)模式的要求不高;4. 單片機(jī)C語(yǔ)言中有專門的中斷函數(shù)。4.2

36、軟件設(shè)計(jì)思路本系統(tǒng)軟件設(shè)計(jì)的思路是:使用C語(yǔ)言,將各部分的驅(qū)動(dòng)程序(1602液晶、模數(shù)轉(zhuǎn)換器、按鍵、蜂鳴器等)分別編寫(xiě)在不同子文件中,減少主文件的復(fù)雜度,增加可讀性。然后,在主函數(shù)中,先初始化液晶顯示器,然后進(jìn)入大循環(huán)。在大循環(huán)中,讀取模數(shù)轉(zhuǎn)換芯片轉(zhuǎn)換后數(shù)據(jù),并根據(jù)按鍵的輸入情況,確定物理量和量程,如果發(fā)生超出量程的情況,調(diào)用蜂鳴器進(jìn)行報(bào)警,否則對(duì)獲取的數(shù)據(jù)進(jìn)行一定處理,最后發(fā)送至液晶顯示器進(jìn)行輸出。4.3 程序流程圖4.3.1 系統(tǒng)軟件總流程圖初始化系統(tǒng)開(kāi)始結(jié)束初始化液晶獲取量程信息開(kāi)始A/D轉(zhuǎn)換讀取轉(zhuǎn)換數(shù)據(jù)處理數(shù)據(jù)超限?送液晶顯示報(bào)警YN圖20 軟件總流程圖4.3.2 電壓測(cè)量流程圖Y開(kāi)始

37、電壓量程選擇選擇20V檔位選擇2V檔位結(jié)束是否超過(guò)2V?N圖21 電壓測(cè)量流程圖4.3.3 電流測(cè)量流程圖開(kāi)始電流量程選擇選擇200mA檔位選擇2A檔位結(jié)束是否超過(guò)2A?NY圖22 電流測(cè)量流程圖4.3.4 電阻測(cè)量流程圖開(kāi)始電阻量程選擇選擇2k檔位選擇20k檔位結(jié)束是否超過(guò)2k?NY 圖23 電阻測(cè)量流程圖5 測(cè)試及實(shí)驗(yàn)分析5.1 電路功能仿真5.1.1 數(shù)字電壓表功能仿真(1)如圖26所示,當(dāng)輸入的模擬直流電壓為1.6V時(shí)(2V電壓檔),系統(tǒng)測(cè)量后,液晶顯示輸出電壓值為1.6V。圖24 2V電壓表仿真圖(2)如圖27所示,當(dāng)輸入的模擬直流電壓為16V時(shí)(20V電壓檔),系統(tǒng)測(cè)量后,液晶顯示輸出電壓值為16V。圖25 20V電壓表仿真圖5.1.2 數(shù)字電流表功能仿真(1)如圖28所示,當(dāng)輸入的模擬直流電壓為180mA時(shí)(200mA電流檔),系統(tǒng)測(cè)量后,液晶顯示輸出為180mA。圖

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論