版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 基于單片機(jī)的簡易數(shù)字電壓表的設(shè)計(jì)目 錄1 引言12 設(shè)計(jì)總體方案22.1設(shè)計(jì)要求22.2 設(shè)計(jì)思路22.3 設(shè)計(jì)方案23 硬件電路設(shè)計(jì)33.1 A/D轉(zhuǎn)換模塊33.2 單片機(jī)系統(tǒng)73.3 復(fù)位電路和時鐘電路93.4 LED顯示系統(tǒng)設(shè)計(jì)113.5 總體電路設(shè)計(jì)134 程序設(shè)計(jì)154.1 程序設(shè)計(jì)總方案154.2 系統(tǒng)子程序設(shè)計(jì)155 仿真175.1 軟件調(diào)試175.2 顯示結(jié)果及誤差分析17結(jié) 論20參考文獻(xiàn)21附錄 程序代碼22301引言在電量的測量中,電壓、電流和頻率是最基本的三個被測量,其中電壓量的測量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所以數(shù)字電壓表就成為一
2、種必不可少的測量儀器。數(shù)字電壓表簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、測量速度快等特而得到廣泛應(yīng)用1。 傳統(tǒng)的指針式刻度電壓表功能單一,進(jìn)度低,容易引起視差和視覺疲勞,因而不能滿足數(shù)字化時代的需要。采用單片機(jī)的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強(qiáng),可擴(kuò)展性強(qiáng)、集成方便,還可與PC實(shí)時通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)2。以數(shù)字電壓表為核心,可以擴(kuò)展成各種通用數(shù)字儀表、專用數(shù)字儀表及各種非電量的數(shù)字化儀表。目前,由各種
3、單片機(jī)和A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表作全面深入的了解是很有必要的。本文是以簡易數(shù)字直流電壓表的設(shè)計(jì)為研究內(nèi)容,本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0808對輸入的模擬信號進(jìn)行轉(zhuǎn)換,控制核心AT89C51再對轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算處理,最后驅(qū)動輸出裝置LED顯示數(shù)字電壓信號11。2 設(shè)計(jì)總體方案2.1設(shè)計(jì)要求 以MCS-51系列單片機(jī)為核心器件,組成一個簡單的直流數(shù)字電壓表。采用1路模擬量輸入,能夠測量0-5V之間的直流電壓值。電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 盡量使用較少的元器件。 2.2 設(shè)計(jì)思路 根據(jù)設(shè)計(jì)要求,選擇AT
4、89C51單片機(jī)為核心控制器件。A/D轉(zhuǎn)換采用ADC0809實(shí)現(xiàn),與單片機(jī)的接口為P0口和P2口的高四位引腳。電壓顯示采用4位一體的LED數(shù)碼管。LED數(shù)碼的段碼輸入,由并行端口P0產(chǎn)生:位碼輸入,用并行端口P2低四位產(chǎn)生。2.3 設(shè)計(jì)方案硬件電路設(shè)計(jì)由6個部分組成; A/D轉(zhuǎn)換電路,AT89C51單片機(jī)系統(tǒng),LED顯示系統(tǒng)、時鐘電路、復(fù)位電路以及測量電壓輸入電路。硬件電路設(shè)計(jì)框圖如圖1所示。電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 2.4設(shè)計(jì)電路根據(jù)2.2設(shè)計(jì)思路時鐘電路 復(fù)位電路A/D轉(zhuǎn)換電路測量電壓輸入顯示系統(tǒng)AT89C51 P1 P2 P2 P0 圖1 數(shù)字電壓表系
5、統(tǒng)硬件設(shè)計(jì)框圖3 硬件電路設(shè)計(jì)3.1 A/D轉(zhuǎn)換模塊現(xiàn)實(shí)世界的物理量都是模擬量,能把模擬量轉(zhuǎn)化成數(shù)字量的器件稱為模/數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器),A/D轉(zhuǎn)換器是單片機(jī)數(shù)據(jù)采集系統(tǒng)的關(guān)鍵接口電路,。逐次逼近式A/D轉(zhuǎn)換的轉(zhuǎn)換速度更快,而且精度更高,比如ADC0809、ADC0808等,它們通常具有8路模擬選通開關(guān)及地址譯碼、鎖存電路等,它們可以與單片機(jī)系統(tǒng)連接,將數(shù)字量送到單片機(jī)進(jìn)行分析和顯示。一個n位的逐次逼近型A/D轉(zhuǎn)換器只需要比較n次,轉(zhuǎn)換時間只取決于位數(shù)和時鐘周期,逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換速度快,因而在實(shí)際中廣泛使用1。3.1.1 逐次逼近型A/D轉(zhuǎn)換器原理逐次逼近型A/D轉(zhuǎn)換器是由一個比
6、較器、A/D轉(zhuǎn)換器、存儲器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開始逐位試探比較。轉(zhuǎn)換過程如下:開始時,寄存器各位清零,轉(zhuǎn)換時,先將最高位置1,把數(shù)據(jù)送入A/D轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復(fù)上述過程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對應(yīng)的二進(jìn)制數(shù)字量5。其原理框圖如圖2所示:順序脈沖發(fā)生器逐次逼近寄存器ADC電壓比較器輸入電壓輸入數(shù)字量圖2 逐次逼近式A/D轉(zhuǎn)換器原理圖3.1.2 ADC0809主要特性ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器
7、,帶有使能控制端,與微機(jī)直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可以對8路0-5V輸入模擬電壓信號分時進(jìn)行轉(zhuǎn)換,由于ADC0809設(shè)計(jì)時考慮到若干種模/數(shù)變換技術(shù)的長處,所以該芯片非常適應(yīng)于過程控制,微控制器輸入通道的接口電路,智能儀器和機(jī)床控制等領(lǐng)域5。ADC0809主要特性:8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開關(guān);易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉(zhuǎn)換時間:128s;轉(zhuǎn)換精度:0.2%;單個+5V電源供電;模擬輸入電壓范圍0- +5V,無需外部零點(diǎn)和滿度調(diào)整;低功耗,約15mW6。ADC0809的外部引腳特征 ADC0809芯片有28條引
8、腳,采用雙列直插式封裝,其引腳圖如圖3所示。圖3 ADC0809引腳圖下面說明各個引腳功能:IN0-IN7(8條):8路模擬量輸入線,用于輸入和控制被轉(zhuǎn)換的模擬電壓。地址輸入控制(4條):ALE:地址鎖存允許輸入線,高電平有效,當(dāng)ALE為高電平時,為地址輸入線,用于選擇IN0-IN7上那一條模擬電壓送給比較器進(jìn)行A/D轉(zhuǎn)換。ADDA,ADDB,ADDC:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對應(yīng)關(guān)系如表1所示:表1 ADC0808通道選擇表地址碼 對應(yīng)的輸入通道 C B A 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 IN0 IN1
9、 IN2 IN3 IN4 IN5 IN6 IN7 START:START為“啟動脈沖”輸入法,該線上正脈沖由CPU送來,寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動ADC工作。EOC: EOC為轉(zhuǎn)換結(jié)束輸出線,該線上高電平表示A/D轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入三態(tài)輸出鎖存器。D1-D8:數(shù)字量輸出端,D1為高位。OE:OE為輸出允許端,高電平能使D1-D8引腳上輸出轉(zhuǎn)換后的數(shù)字量。REF+、REF-:參考電壓輸入量,給電阻階梯網(wǎng)絡(luò)供給標(biāo)準(zhǔn)電壓。Vcc、GND: Vcc為主電源輸入端,GND為接地端,一般REF+與Vcc連接在一起,REF-與GND連接在一起. CLK:時鐘輸入端。3.1.4
10、ADC0809的內(nèi)部結(jié)構(gòu)及工作流程ADC0809由8路模擬通道選擇開關(guān),地址鎖存與譯碼器,比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路和三態(tài)輸出鎖存器等組成,其內(nèi)部結(jié)構(gòu)如圖4所示。圖4 ADC0809的內(nèi)部結(jié)構(gòu)其中:(1)8路模擬通道選擇開關(guān)實(shí)現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進(jìn)行比較。(2)地址鎖存與譯碼器用于當(dāng)ALE信號有效時,鎖存從ADDA、ADDB、ADDC 3根地址線上送來的3位地址,譯碼后產(chǎn)生通道選擇信號,從8路模擬通道中選擇當(dāng)前模擬通道。(3)比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路組成8位A/D轉(zhuǎn)換器,當(dāng)START信號有
11、效時,就開始對當(dāng)前通道的模擬信號進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時通過引腳送出轉(zhuǎn)換結(jié)束信號。(4)三態(tài)輸出鎖存器保存當(dāng)前模擬通道轉(zhuǎn)換得到的數(shù)字量,當(dāng)OE信號有效時,把轉(zhuǎn)換的結(jié)果送出。ADC0809的工作流程為:(1)輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1路模擬量送給比較器。(2)送START一高脈沖,START的上升沿使逐次寄存器復(fù)位,下降沿啟動A/D轉(zhuǎn)換,并使EOC信號為低電平。(3)當(dāng)轉(zhuǎn)換結(jié)束時,轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使EOC信號回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。(4)當(dāng)CPU執(zhí)行一讀數(shù)據(jù)指令時,
12、使OE為高電平,則從輸出端在電量的測量中,電壓、電流和頻率是最基本的三個被測量,其中電壓量的測量最為經(jīng)常。而且隨著電子技術(shù)的發(fā)展,更是經(jīng)常需要測量高精度的電壓,所以數(shù)字電壓表就成為一種必不可少的測量儀器。數(shù)字電壓表簡稱DVM,它是采用數(shù)字化測量技術(shù),把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)、離散的數(shù)字形式并加以顯示的儀表。由于數(shù)字式儀器具有讀數(shù)準(zhǔn)確方便、精度高、誤差小、測量速度快等特而得到廣泛應(yīng)用1。 傳統(tǒng)的指針式刻度電壓表功能單一,進(jìn)度低,容易引起視差和視覺疲勞,因而不能滿足數(shù)字化時代的需要。采用單片機(jī)的數(shù)字電壓表,將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,從而精度高、抗干擾能力強(qiáng),
13、可擴(kuò)展性強(qiáng)、集成方便,還可與PC實(shí)時通信。數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ)2。以數(shù)字電壓表為核心,可以擴(kuò)展成各種通用數(shù)字儀表、專用數(shù)字儀表及各種非電量的數(shù)字化儀表。目前,由各種單片機(jī)和A/D轉(zhuǎn)換器構(gòu)成的數(shù)字電壓表作全面深入的了解是很有必要的。本文是以簡易數(shù)字直流電壓表的設(shè)計(jì)為研究內(nèi)容,本系統(tǒng)主要包括三大模塊:轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示模塊。其中,A/D轉(zhuǎn)換采用ADC0808對輸入的模擬信號進(jìn)行轉(zhuǎn)換,控制核心AT89C51再對轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算處理,最后驅(qū)動輸出裝置LED顯示數(shù)字電壓信號11。以MCS-51系列單片機(jī)為核心器件,組成一個簡單的直流數(shù)字電壓表。采用1路模擬量輸入,能夠測量0
14、-5V之間的直流電壓值。電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 盡量使用較少的元器件。 根據(jù)設(shè)計(jì)要求,選擇AT89C51單片機(jī)為核心控制器件。A/D轉(zhuǎn)換采用ADC0809實(shí)現(xiàn),與單片機(jī)的接口為P0口和P2口的高四位引腳。電壓顯示采用4位一體的LED數(shù)碼管。LED數(shù)碼的段碼輸入,由并行端口P0產(chǎn)生:位碼輸入,用并行端口P2低四位產(chǎn)生。硬件電路設(shè)計(jì)由6個部分組成; A/D轉(zhuǎn)換電路,AT89C51單片機(jī)系統(tǒng),LED顯示系統(tǒng)、時鐘電路、復(fù)位電路以及測量電壓輸入電路。硬件電路設(shè)計(jì)框圖如圖1所示。電壓顯示用4位一體的LED數(shù)碼管顯示,至少能夠顯示兩位小數(shù)。 現(xiàn)實(shí)世界的物理量都是模擬量
15、,能把模擬量轉(zhuǎn)化成數(shù)字量的器件稱為模/數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器),A/D轉(zhuǎn)換器是單片機(jī)數(shù)據(jù)采集系統(tǒng)的關(guān)鍵接口電路,。逐次逼近式A/D轉(zhuǎn)換的轉(zhuǎn)換速度更快,而且精度更高,比如ADC0809、ADC0808等,它們通常具有8路模擬選通開關(guān)及地址譯碼、鎖存電路等,它們可以與單片機(jī)系統(tǒng)連接,將數(shù)字量送到單片機(jī)進(jìn)行分析和顯示。一個n位的逐次逼近型A/D轉(zhuǎn)換器只需要比較n次,轉(zhuǎn)換時間只取決于位數(shù)和時鐘周期,逐次逼近型A/D轉(zhuǎn)換器轉(zhuǎn)換速度快,因而在實(shí)際中廣泛使用1。逐次逼近型A/D轉(zhuǎn)換器是由一個比較器、A/D轉(zhuǎn)換器、存儲器及控制電路組成。它利用內(nèi)部的寄存器從高位到低位一次開始逐位試探比較。轉(zhuǎn)換過程如下:開始時,
16、寄存器各位清零,轉(zhuǎn)換時,先將最高位置1,把數(shù)據(jù)送入A/D轉(zhuǎn)換器轉(zhuǎn)換,轉(zhuǎn)換結(jié)果與輸入的模擬量比較,如果轉(zhuǎn)換的模擬量比輸入的模擬量小,則1保留,如果轉(zhuǎn)換的模擬量比輸入的模擬量大,則1不保留,然后從第二位依次重復(fù)上述過程直至最低位,最后寄存器中的內(nèi)容就是輸入模擬量對應(yīng)的二進(jìn)制數(shù)字量5。其原理框圖如圖2所示:ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,帶有使能控制端,與微機(jī)直接接口,片內(nèi)帶有鎖存功能的8路模擬多路開關(guān),可以對8路0-5V輸入模擬電壓信號分時進(jìn)行轉(zhuǎn)換,由于ADC0809設(shè)計(jì)時考慮到若干種模/數(shù)變換技術(shù)的長處,所以該芯片非常適應(yīng)于過程控制,微控制器輸入通道的接口電路,智能儀器和機(jī)
17、床控制等領(lǐng)域5。ADC0809主要特性:8路8位A/D轉(zhuǎn)換器,即分辨率8位;具有鎖存控制的8路模擬開關(guān);易與各種微控制器接口;可鎖存三態(tài)輸出,輸出與TTL兼容;轉(zhuǎn)換時間:128s;轉(zhuǎn)換精度:0.2%;單個+5V電源供電;模擬輸入電壓范圍0- +5V,無需外部零點(diǎn)和滿度調(diào)整;低功耗,約15mW6。ADC0809的外部引腳特征 ADC0809芯片有28條引腳,采用雙列直插式封裝,其引腳圖如圖3所示。下面說明各個引腳功能:IN0-IN7(8條):8路模擬量輸入線,用于輸入和控制被轉(zhuǎn)換的模擬電壓。地址輸入控制(4條):ALE:地址鎖存允許輸入線,高電平有效,當(dāng)ALE為高電平時,為地址輸入線,用于選擇I
18、N0-IN7上那一條模擬電壓送給比較器進(jìn)行A/D轉(zhuǎn)換。ADDA,ADDB,ADDC:3位地址輸入線,用于選擇8路模擬輸入中的一路,其對應(yīng)關(guān)系如表1所示:START:START為“啟動脈沖”輸入法,該線上正脈沖由CPU送來,寬度應(yīng)大于100ns,上升沿清零SAR,下降沿啟動ADC工作。EOC: EOC為轉(zhuǎn)換結(jié)束輸出線,該線上高電平表示A/D轉(zhuǎn)換已結(jié)束,數(shù)字量已鎖入三態(tài)輸出鎖存器。D1-D8:數(shù)字量輸出端,D1為高位。OE:OE為輸出允許端,高電平能使D1-D8引腳上輸出轉(zhuǎn)換后的數(shù)字量。REF+、REF-:參考電壓輸入量,給電阻階梯網(wǎng)絡(luò)供給標(biāo)準(zhǔn)電壓。Vcc、GND: Vcc為主電源輸入端,GND為
19、接地端,一般REF+與Vcc連接在一起,REF-與GND連接在一起. CLK:時鐘輸入端。ADC0809由8路模擬通道選擇開關(guān),地址鎖存與譯碼器,比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路和三態(tài)輸出鎖存器等組成,其內(nèi)部結(jié)構(gòu)如圖4所示。其中:(1)8路模擬通道選擇開關(guān)實(shí)現(xiàn)從8路輸入模擬量中選擇一路送給后面的比較器進(jìn)行比較。(2)地址鎖存與譯碼器用于當(dāng)ALE信號有效時,鎖存從ADDA、ADDB、ADDC 3根地址線上送來的3位地址,譯碼后產(chǎn)生通道選擇信號,從8路模擬通道中選擇當(dāng)前模擬通道。(3)比較器,8位開關(guān)樹型A/D轉(zhuǎn)換器,逐次逼近型寄存器,定時和控制電路組成8位A/D
20、轉(zhuǎn)換器,當(dāng)START信號有效時,就開始對當(dāng)前通道的模擬信號進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完成后,把轉(zhuǎn)換得到的數(shù)字量送到8位三態(tài)鎖存器,同時通過引腳送出轉(zhuǎn)換結(jié)束信號。(4)三態(tài)輸出鎖存器保存當(dāng)前模擬通道轉(zhuǎn)換得到的數(shù)字量,當(dāng)OE信號有效時,把轉(zhuǎn)換的結(jié)果送出。ADC0809的工作流程為:(1)輸入3位地址,并使ALE=1,將地址存入地址鎖存器中,經(jīng)地址譯碼器從8路模擬通道中選通1路模擬量送給比較器。(2)送START一高脈沖,START的上升沿使逐次寄存器復(fù)位,下降沿啟動A/D轉(zhuǎn)換,并使EOC信號為低電平。(3)當(dāng)轉(zhuǎn)換結(jié)束時,轉(zhuǎn)換的結(jié)果送入到輸出三態(tài)鎖存器中,并使EOC信號回到高電平,通知CPU已轉(zhuǎn)換結(jié)束。(4)當(dāng)
21、CPU執(zhí)行一讀數(shù)據(jù)指令時,使OE為高電平,則從輸出非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 AT89C51功能性能:與MCS-51成品指令系統(tǒng)完全兼容;4KB可編程閃速存儲器;壽命:1000次寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0-24MHz;三級程序存儲器鎖定;128*8B內(nèi)部RAM;32個可編程I/O口線;2個16位定時/計(jì)數(shù)器;5個中斷源;可編程串行UART通道;片內(nèi)震蕩器和掉電模式6。 AT8
22、9C51提供以下標(biāo)準(zhǔn)功能:4KB的Flash閃速存儲器,128B內(nèi)部RAM,32個I/O口線,兩個16位定時/計(jì)數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路,同時,AT89C51可降至0Hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止其他所有工作直到下一個硬件復(fù)位。AT89C51采用PDIP封裝形式,引腳配置如圖5所示7。AT89C51芯片的各引腳功能為:P0口:這組引腳共有8條,P0.0為最低位。這8個引腳有兩種不同的功能,分別
23、適用于不同的情況,第一種情況是89C51不帶外存儲器,P0口可以為通用I/O口使用,P0.0-P0.7用于傳送CPU的輸入/輸出數(shù)據(jù),這時輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89C51帶片外存儲器,P0.0-P0.7在CPU訪問片外存儲器時先傳送片外存儲器的低8位地址,然后傳送CPU對片外存儲器的讀/寫數(shù)據(jù)。P0口為開漏輸出,在作為通用I/O使用時,需要在外部用電阻上拉。P1口:這8個引腳和P0口的8個引腳類似,P1.7為最高位,P1.0為最低位,當(dāng)P1口作為通用I/O口使用時,P1.0-P1.7的功能和P0口的第一功能相同,也
24、用于傳送用戶的輸入和輸出數(shù)據(jù)。P2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用D0-D7讀出數(shù)據(jù)。3.2 單片機(jī)系統(tǒng)3.2.1 AT89C51性能AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含有4KB的可反復(fù)擦寫的只讀程序存儲器和128字節(jié)的隨機(jī)存儲器。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容,由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,它為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 AT89C51功能性能:與MCS-5
25、1成品指令系統(tǒng)完全兼容;4KB可編程閃速存儲器;壽命:1000次寫/擦循環(huán);數(shù)據(jù)保留時間:10年;全靜態(tài)工作:0-24MHz;三級程序存儲器鎖定;128*8B內(nèi)部RAM;32個可編程I/O口線;2個16位定時/計(jì)數(shù)器;5個中斷源;可編程串行UART通道;片內(nèi)震蕩器和掉電模式6。 3.2.2 AT89C51各引腳功能AT89C51提供以下標(biāo)準(zhǔn)功能:4KB的Flash閃速存儲器,128B內(nèi)部RAM,32個I/O口線,兩個16位定時/計(jì)數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)震蕩器及時鐘電路,同時,AT89C51可降至0Hz靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止
26、CPU的工作,但允許RAM,定時/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作,掉電方式保存RAM中的內(nèi)容,但震蕩器停止工作并禁止其他所有工作直到下一個硬件復(fù)位。AT89C51采用PDIP封裝形式,引腳配置如圖5所示7。圖5 AT89C51的引腳圖AT89C51芯片的各引腳功能為:P0口:這組引腳共有8條,P0.0為最低位。這8個引腳有兩種不同的功能,分別適用于不同的情況,第一種情況是89C51不帶外存儲器,P0口可以為通用I/O口使用,P0.0-P0.7用于傳送CPU的輸入/輸出數(shù)據(jù),這時輸出數(shù)據(jù)可以得到鎖存,不需要外接專用鎖存器,輸入數(shù)據(jù)可以得到緩沖,增加了數(shù)據(jù)輸入的可靠性;第二種情況是89C51
27、帶片外存儲器,P0.0-P0.7在CPU訪問片外存儲器時先傳送片外存儲器的低8位地址,然后傳送CPU對片外存儲器的讀/寫數(shù)據(jù)。P0口為開漏輸出,在作為通用I/O使用時,需要在外部用電阻上拉。P1口:這8個引腳和P0口的8個引腳類似,P1.7為最高位,P1.0為最低位,當(dāng)P1口作為通用I/O口使用時,P1.0-P1.7的功能和P0口的第一功能相同,也用于傳送用戶的輸入和輸出數(shù)據(jù)。P2口:這組引腳的第一功能與上述兩組引腳的第一功能相同即它可以作為通用I/O口使用,它的第一功能和P0口引腳的第二功能相配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲器單元,但并不是像P0口那樣傳送存儲器的讀/寫
28、數(shù)據(jù)。P3口:這組引腳的第一功能和其余三個端口的第一功能相同,第二功能為控制功能,每個引腳并不完全相同,如下表2所示:表2 P3口各位的第二功能P3口各位第二功能P3.0 RXT(串行口輸入)P3.1 TXD(串行口輸出)P3.2/INT0(外部中斷0輸入)P3.3/INT1(外部中斷1輸入)P3.4T0(定時器/計(jì)數(shù)器0的外部輸入)P3.5T1(定時器/計(jì)數(shù)器1的外部輸入)P3.6/WR(片外數(shù)據(jù)存儲器寫允許) P3.7/RD(片外數(shù)據(jù)存儲器讀允許)Vcc為+5V電源線,Vss接地。ALE:地址鎖存允許線,配合P0口的第二功能使用,在訪問外部存儲器時,89C51的CPU在P0.0-P0.7引
29、腳線去傳送隨后而來的片外存儲器讀/寫數(shù)據(jù)。在不訪問片外存儲器時,89C51自動在ALE線上輸出頻率為1/6震蕩器頻率的脈沖序列。該脈沖序列可以作為外部時鐘源或定時脈沖使用。/EA:片外存儲器訪問選擇線,可以控制89C51使用片內(nèi)ROM或使用片外ROM,若/EA=1,則允許使用片內(nèi)ROM, 若/EA=0,則只使用片外ROM。/PSEN:片外ROM的選通線,在訪問片外ROM時,89C51自動在/PSEN線上產(chǎn)生一個負(fù)脈沖,作為片外ROM芯片的讀選通信號。RST:復(fù)位線,可以使89C51處于復(fù)位(即初始化)工作狀態(tài)。通常89C51復(fù)位有自動上電復(fù)位和人工按鍵復(fù)位兩種。XTAL1和XTAL2:片內(nèi)震蕩
30、電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接89C51片內(nèi)OSC(震蕩器)的定時反饋回路。3.3 復(fù)位電路和時鐘電路3.3.1 復(fù)位電路設(shè)計(jì)單片機(jī)在啟動運(yùn)行時都需要復(fù)位,使CPU和系統(tǒng)中的其他部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。MCS-51單片機(jī)有一個復(fù)位引腳RST,采用施密特觸發(fā)輸入。當(dāng)震蕩器起振后,只要該引腳上出現(xiàn)2個機(jī)器周期以上的高電平即可確保時器件復(fù)位1。復(fù)位完成后,如果RST端繼續(xù)保持高電平,MCS-51就一直處于復(fù)位狀態(tài),只要RST恢復(fù)低電平后,單片機(jī)才能進(jìn)入其他工作狀態(tài)。單片機(jī)的復(fù)位方式有上電自動復(fù)位和手動復(fù)位兩種,圖6是51系列單片機(jī)統(tǒng)常用的上電
31、復(fù)位和手動復(fù)位組合電路,只要Vcc上升時間不超過1ms,它們都能很好的工作1。 圖6 復(fù)位電路3.3.2 時鐘電路設(shè)計(jì)單片機(jī)中CPU每執(zhí)行一條指令,都必須在統(tǒng)一的時鐘脈沖的控制下嚴(yán)格按時間節(jié)拍進(jìn)行,而這個時鐘脈沖是單片機(jī)控制中的時序電路發(fā)出的。CPU執(zhí)行一條指令的各個微操作所對應(yīng)時間順序稱為單片機(jī)的時序。MCS-51單片機(jī)芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時鐘電路還需附加其他電路1。 本設(shè)計(jì)系統(tǒng)采用內(nèi)部時鐘方式,利用單片機(jī)內(nèi)部的高增益反相放大器,外部電路簡,只需要一個晶振和 2個電容即可,如圖7所示。圖7 時鐘電路電
32、路中的器件選擇可以通過計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路的參數(shù),電路中,電容器C1和C2對震蕩頻率有微調(diào)作用,通常的取值范圍是30±10pF,在這個系統(tǒng)中選擇了33pF;石英晶振選擇范圍最高可選24MHz,它決定了單片機(jī)電路產(chǎn)生的時鐘信號震蕩頻率,在本系統(tǒng)中選擇的是12MHz,因而時鐘信號的震蕩頻率為12MHz。3.4 LED顯示系統(tǒng)設(shè)計(jì)3.4.1 LED基本結(jié)構(gòu)LED是發(fā)光二極管顯示器的縮寫。LED由于結(jié)構(gòu)簡單、價格便宜、與單片機(jī)接口方便等優(yōu)點(diǎn)而得到廣泛應(yīng)用。LED顯示器是由若干個發(fā)光二極管組成顯示字段的顯示器件6。在單片機(jī)中使用最多的是七段數(shù)碼顯示器。LED七段數(shù)碼顯示器由8
33、個發(fā)光二極管組成顯示字段,其中7個長條形的發(fā)光二極管排列成“日”字形,另一個圓點(diǎn)形的發(fā)光二極管在顯示器的右下角作為顯示小數(shù)點(diǎn)用,其通過不同的組合可用來顯示各種數(shù)字。LED引腳排列如下圖8所示:圖8 LED引腳排列3.4.2 LED顯示器的選擇在應(yīng)用系統(tǒng)中,設(shè)計(jì)要求不同,使用的LED顯示器的位數(shù)也不同,因此就生產(chǎn)了位數(shù),尺寸,型號不同的LED顯示器供選擇,在本設(shè)計(jì)中,選擇4位一體的數(shù)碼型LED顯示器,簡稱“4-LED”。本系統(tǒng)中前一位顯示電壓的整數(shù)位,即個位,后兩位顯示電壓的小數(shù)位。4-LED顯示器引腳如圖9所示,是一個共陰極接法的4位LED數(shù)碼顯示管,其中a,b,c,e,f,g為4位LED各段
34、的公共輸出端,1、2、3、4分別是每一位的位數(shù)選端,dp是小數(shù)點(diǎn)引出端,4位一體LED數(shù)碼顯示管的內(nèi)部結(jié)構(gòu)是由4個單獨(dú)的LED組成,每個LED的段輸出引腳在內(nèi)部都并聯(lián)后,引出到器件的外部。圖9 4位LED引腳對于這種結(jié)構(gòu)的LED顯示器,它的體積和結(jié)構(gòu)都符合設(shè)計(jì)要求,由于4位LED陰極的各段已經(jīng)在內(nèi)部連接在一起,所以必須使用動態(tài)掃描方式(將所有數(shù)碼管的段選線并聯(lián)在一起,用一個I/O接口控制)顯示。3.4.3 LED譯碼方式譯碼方式是指由顯示字符轉(zhuǎn)換得到對應(yīng)的字段碼的方式,對于LED數(shù)碼管顯示器,通常的譯碼方式有硬件譯碼和軟件譯碼方式兩種。硬件譯碼是指利用專門的硬件電路來實(shí)現(xiàn)顯示字符碼的轉(zhuǎn)換。軟件
35、譯碼就是編寫軟件譯碼程序,通過譯碼程序來得到要顯示的字符的字段碼,譯碼程序通常為查表程序3。本設(shè)計(jì)系統(tǒng)中為了簡化硬件線路設(shè)計(jì),LED譯碼采用軟件編程來實(shí)現(xiàn)。由于本設(shè)計(jì)采用的是共陰極LED,其對應(yīng)的字符和字段碼如下表3.3所示。表3.3 共陰極字段碼表顯示字符共陰極字段碼03FH106H25BH34FH466H56DH67DH707H87FH96FH3.4.4 LED顯示器與單片機(jī)接口設(shè)計(jì)由于單片機(jī)的并行口不能直接驅(qū)動LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作7。如果驅(qū)動電路能力差,即負(fù)載能力不夠時,顯示器亮度就低,而且驅(qū)動電路長期在超
36、負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動電路設(shè)計(jì)是一個非常重要的問題。為了簡化數(shù)字式直流電壓表的電路設(shè)計(jì),在LED驅(qū)動電路的設(shè)計(jì)上,可以利用單片機(jī)P0口上外接的上拉電阻來實(shí)現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點(diǎn)顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動能力,使得LED能按照正常的亮度顯示出數(shù)字,如圖10所示。 圖10 LED與單片機(jī)接口間的設(shè)計(jì)3.5 總體電路設(shè)計(jì)經(jīng)過以上的設(shè)計(jì)過程,可設(shè)計(jì)出基于單片機(jī)的簡易數(shù)字直流電壓表硬件電路原理圖圖中ADC0808代替ADC0809如圖11所示。圖11 簡易數(shù)字電壓表電路圖此電路的工作原理是:+5V模擬電壓信號通過
37、變阻器VR1分壓后由ADC08008的IN0通道進(jìn)入(由于使用的IN0通道,所以ADDA,ADDB,ADDC均接低電平),經(jīng)過模/數(shù)轉(zhuǎn)換后,產(chǎn)生相應(yīng)的數(shù)字量經(jīng)過其輸出通道D0-D7傳送給AT89C51芯片的P1口,AT89C51負(fù)責(zé)把接收到的數(shù)字量經(jīng)過數(shù)據(jù)處理,產(chǎn)生正確的7段數(shù)碼管的顯示段碼傳送給四位LED,同時它還通過其四位I/O口P2.0、P2.1、P2.2、P2.3產(chǎn)生位選信號控制數(shù)碼管的亮滅。此外,AT89C51還控制ADC0808的工作。其中,單片機(jī)AT89C51通過定時器中斷從P2.4輸出方波,接到ADC0808的CLOCK,P2.6發(fā)正脈沖啟動A/D轉(zhuǎn)換,P2.5檢測A/D轉(zhuǎn)換是
38、否完成,轉(zhuǎn)換完成后,P2.7置高從P1口讀取轉(zhuǎn)換結(jié)果送給LED顯示出來3。簡易數(shù)字直流電壓表的硬件電路已經(jīng)設(shè)計(jì)完成,就可以選取相應(yīng)的芯片和元器件,利用Proteus軟件繪制出硬件的原理,并仔細(xì)地檢查修改,直至形成完善的硬件原理圖。但要真正實(shí)現(xiàn)電路對電壓的測量和顯示的功能,還需要有相應(yīng)的軟件配合,才能達(dá)到設(shè)計(jì)要求。4 程序設(shè)計(jì)4.1 程序設(shè)計(jì)總方案 根據(jù)模塊的劃分原則,將該程序劃分初始化模塊,A/D轉(zhuǎn)換子程序和顯示子程序,這三個程序模塊構(gòu)成了整個系統(tǒng)軟件的主程序,如圖12所示。開始初始化調(diào)用A/D轉(zhuǎn)換子程序調(diào)用顯示子程序結(jié)束圖12 數(shù)字式直流電壓表主程序框圖4.2 系統(tǒng)子程序設(shè)計(jì)4.2.1 初始
39、化程序所謂初始化,是對將要用到的MCS_51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時器的工作模式,初值預(yù)置,開中斷和打開定時器等9。4.2.2 A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換子程序用來控制對輸入的模塊電壓信號的采集測量,并將對應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖如圖13所示。進(jìn)行十六進(jìn)制調(diào)整 開始A/D轉(zhuǎn)換調(diào)用延時存轉(zhuǎn)換后的十六進(jìn)制數(shù)數(shù)據(jù)指針加一入棧保護(hù)4路轉(zhuǎn)換次數(shù)減一顯示電壓值NY圖4-2轉(zhuǎn)換子程序流程圖 判斷為零 顯示子程序采用動態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動態(tài)掃描顯示方式時,要使得LED顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙?/p>
40、頻率,當(dāng)掃描頻率在70HZ左右時,能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對LED進(jìn)行動態(tài)掃描一次,每一位LED的顯示時間為1ms10。在本設(shè)計(jì)中,為了簡化硬件設(shè)計(jì),主要采用軟件定時的方式,即用定時器0溢出中斷功能實(shí)現(xiàn)11s定時,通過軟件延時程序來實(shí)現(xiàn)5ms的延5 仿真5 調(diào)試及結(jié)果5.1 軟件調(diào)試 軟件調(diào)試的主要任務(wù)是排查錯誤,錯誤主要包括邏輯和功能錯誤,這些錯誤有些是顯性的,而有些是隱形的,可以通過仿真開發(fā)系統(tǒng)發(fā)現(xiàn)逐步改正。Proteus軟件可以對基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真,用戶甚至可以實(shí)時采用諸如LED/LCD、鍵盤、RS232終端等動態(tài)外設(shè)模型來對設(shè)計(jì)進(jìn)
41、行交互仿真。Proteus支持的微處理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成單片機(jī)系統(tǒng)原理圖電路繪制、PCB設(shè)計(jì),更為顯著點(diǎn)的特點(diǎn)是可以與u Visions3 IDE工具軟件結(jié)合進(jìn)行編程仿真調(diào)試8。本系統(tǒng)的調(diào)試主要以軟件為主,其中,系統(tǒng)電路圖的繪制和仿真我采用的是Proteus軟件,而程序方面,采用的是匯編語言,用Keil軟件將程序?qū)懭雴纹瑱C(jī)。5.2顯示結(jié)果及誤差分析5.2.1 顯示結(jié)果當(dāng)IN0口輸入電壓值為0V時,顯示結(jié)果如圖14所示。 圖14 第五路輸入電壓為2.5V時,LED的顯示結(jié)果單片機(jī)AT89C51為8位處理器,當(dāng)輸入電壓為5
42、.00V時,ADC0808輸出數(shù)據(jù)值為255(FFH),因此單片機(jī)最高的數(shù)值分辨率為0.0196V(5/255)。這就決定了電壓表的最高分辨率只能到0.0196V。用5V的供電電源作為電壓,所以電壓可能有偏差。當(dāng)要測量大于5V的電壓時,可在輸入口使用分壓電阻,而程序中只要將計(jì)算程序的除數(shù)進(jìn)行調(diào)整。6路圖6.1 PCB圖圖15 PCB圖6.1 仿真圖 圖15 仿真圖7總結(jié)與體會 經(jīng)過力努力數(shù)字電壓表基本完成。但設(shè)計(jì)中的不足之處仍然存在。這次設(shè)計(jì)是我第一次設(shè)計(jì)電路,并用Proteus實(shí)現(xiàn)了仿真。在這過程中,我對電路設(shè)計(jì),單片機(jī)的使用等都有了新的認(rèn)識。通過這次設(shè)計(jì)學(xué)會了Proteus和Keil軟件的使用方法,掌握了從系統(tǒng)的需要、方案的設(shè)計(jì)、功能模塊的劃分、原理圖的設(shè)計(jì)和電路圖的仿真的設(shè)計(jì)流程,積累了不少經(jīng)驗(yàn)?;趩纹瑱C(jī)的數(shù)字電壓表使用性強(qiáng)、結(jié)構(gòu)簡單、成本低、外接元件少。在實(shí)際應(yīng)用工作應(yīng)能好,測量電壓準(zhǔn)確,精度高。系統(tǒng)功能、指標(biāo)達(dá)到了課題的預(yù)期要求、系統(tǒng)在硬件設(shè)計(jì)上充分考慮了可擴(kuò)展性,經(jīng)過一定的改造,可以增加功能。本文設(shè)計(jì)主要實(shí)現(xiàn)了簡易數(shù)字電壓表測量一路電壓的功能,詳細(xì)說明了從原理圖的設(shè)計(jì)、電路圖的仿真再到軟件的調(diào)試。通過本次設(shè)計(jì),我對單片機(jī)這門課有
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國民航大學(xué)《中級財(cái)務(wù)會計(jì)Ⅱ》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州理工職業(yè)學(xué)院《服裝展示設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江傳媒學(xué)院《材料科學(xué)基礎(chǔ)A》2023-2024學(xué)年第一學(xué)期期末試卷
- 餐飲流程優(yōu)化培訓(xùn)模板
- 保險產(chǎn)品創(chuàng)新培訓(xùn)模板
- 企業(yè)歷程與發(fā)展模板
- 山東省濟(jì)寧市2024-2025學(xué)年高三(上)期末物理試卷(含答案)
- 甘肅省臨夏州高中2025屆高三上學(xué)期期末質(zhì)量監(jiān)測數(shù)學(xué)試卷(含答案)
- 伊犁職業(yè)技術(shù)學(xué)院《色彩頭像技法解析》2023-2024學(xué)年第一學(xué)期期末試卷
- 新余學(xué)院《當(dāng)代廣告學(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 新生兒早期基本保健(EENC)指南要點(diǎn)解讀
- 磷蝦油專業(yè)知識課件
- 最小作戰(zhàn)單元-以盾棍叉戰(zhàn)法為例
- advantrol-pro v2.70學(xué)習(xí)版系統(tǒng)組態(tài)使用手冊
- GB/T 679-2002化學(xué)試劑乙醇(95%)
- 大堂經(jīng)理:黃金業(yè)務(wù)營銷講座
- 山東省建筑工程消防設(shè)計(jì)部分非強(qiáng)制性條文適用指引
- 內(nèi)蒙古自治區(qū)呼和浩特市《綜合能力測試》事業(yè)單位國考真題
- 陜西省咸陽市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)及行政區(qū)劃代碼
- 綠城物業(yè)室內(nèi)公共區(qū)域清潔作業(yè)規(guī)程
- 危險貨物道路運(yùn)輸企業(yè)安全檢查通用清單
評論
0/150
提交評論