摘 要2
關(guān)鍵詞2
1 概述3
1.1設(shè)計(jì)意義
1.2系統(tǒng)主要功能
2 硬件電路設(shè)計(jì)方案及描述3
2.1 設(shè)計(jì)方案
2.2 主要元器件的介紹
2. 3控制電路模塊
2.4 元件清單
3數(shù)字式電流表的軟件設(shè)計(jì)16
3.1系統(tǒng)程序設(shè)計(jì)總方案
3.2系統(tǒng)子程序設(shè)計(jì)
4數(shù)字式電流表的調(diào)試
4.1軟件調(diào)試
4.2顯示結(jié)果及誤差分析
5總結(jié)
附錄1.電路原理圖及仿真圖
附錄2. 程序代碼
參考文獻(xiàn)
摘要
數(shù)字電流表的誕生打破了傳統(tǒng)電子測量儀器的模式和格局。它顯示清晰直觀、讀數(shù)準(zhǔn)確,采用了先進(jìn)的數(shù)顯技術(shù),大大地減少了因人為因素所造成的測量誤差事件。數(shù)字電流表是建立在數(shù)字電壓表的基礎(chǔ)上,讓電壓表與電阻串聯(lián),其顯示的是電流,數(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ì)采用了以單片機(jī)為開發(fā)平臺,控制系采用AT89C52單片機(jī),A/D轉(zhuǎn)換采用ADC0809。系統(tǒng)除能確保實(shí)現(xiàn)要求的功能外,還可以方便進(jìn)行8路其它A/D轉(zhuǎn)換量的測量、遠(yuǎn)程測量結(jié)果傳送等擴(kuò)展功能。簡易數(shù)字電流測量電路由A/D轉(zhuǎn)換、數(shù)據(jù)處理、顯示控制等組成。
1 .概述
1.1設(shè)計(jì)意義
通過設(shè)計(jì),掌握電子設(shè)計(jì)的一般步驟和方法,鍛煉分析問題解決問題的能力,學(xué)會(huì)如何查找所需資料,同時(shí)復(fù)習(xí)以前所學(xué)知識并加深記憶,為設(shè)計(jì)打好基礎(chǔ),也為以后工作作準(zhǔn)備。通過對選題的分析設(shè)計(jì),學(xué)習(xí)數(shù)字電流表的工作原理、組成和特性;掌握數(shù)字電流表的校準(zhǔn)方法和使用方法;
A、利用AD轉(zhuǎn)換芯片和精密電阻測量0~20mA電流
B、系統(tǒng)工作符合一般數(shù)字電流表要求
2 硬件電路設(shè)計(jì)方案及描述
2.1 數(shù)字式電流表系統(tǒng)硬件設(shè)計(jì)硬件電路設(shè)計(jì)由6個(gè)部分組成; A/D轉(zhuǎn)換電路,AT89C51單片機(jī)系統(tǒng),LED顯示系統(tǒng)、時(shí)鐘電路、復(fù)位電路以及測量電流輸入電路。硬件電路設(shè)計(jì)框圖如圖2.1所示。
2.1數(shù)字式電流表系統(tǒng)硬件設(shè)計(jì)框圖
2.2.2 ADC0809內(nèi)部邏輯結(jié)構(gòu)
ADC0809的內(nèi)部邏輯結(jié)構(gòu)圖
圖中多路模擬開關(guān)可選通8路模擬通道,允許8路模擬量分時(shí)輸入,并共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換。地址鎖存與譯碼電路完成對A、B、C三個(gè)地址位進(jìn)行鎖存與譯碼,如表所示。
ADC0809通道選擇表
C(ADDC) | B(ADDB) | A(ADDA) | 選擇的通道 |
0 | 0 | 0 | IN0 |
0 | 0 | 1 | IN1 |
0 | 1 | 0 | IN2 |
0 | 1 | 1 | IN3 |
1 | 0 | 0 | IN4 |
1 | 0 | 1 | IN5 |
1 | 1 | 0 | IN6 |
1 | 1 | 1 | IN7 |
(2)A、B、C:模擬通道地址線。這3根地址線用于對8路模擬通道的選擇,其譯碼關(guān)系如表4.3所示。其中,A為低地址,C為高地址,引腳圖中為ADDA,ADDB和ADDC。
(3)ALE:地址鎖存允許信號。對應(yīng)ALE上跳沿,A、B、C地址狀態(tài)送入地址鎖存器中。
(4)START:轉(zhuǎn)換啟動(dòng)信號。START上升沿時(shí),復(fù)位ADC0809;START下降沿時(shí)啟動(dòng)芯片,開始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。本信號有時(shí)簡寫為ST。
(5)D7~D0:數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,可以和單片機(jī)的數(shù)據(jù)線直接相連。D0為最低位,D7為最高。
(6)OE:輸出允許信號。用于控制三態(tài)輸出鎖存器向單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。
(7)CLK:時(shí)鐘信號。ADC0809的內(nèi)部沒有時(shí)鐘電路,所需時(shí)鐘信號由外界提供,因此有時(shí)鐘信號引腳。通常使用頻率為500KHz的時(shí)鐘信號。
(8)EOC:轉(zhuǎn)換結(jié)束信號。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。使用中該狀態(tài)信號即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請求信號使用。
(9)Vcc: +5V電源,GND:地。
(10)Vref:參考電壓。參考電壓用來與輸入的模擬信號進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(Vref(+)=+5V, Vref(-)=0V)。
ADC0809的工作原理首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號可用作中斷申請。當(dāng)OE輸入高電平時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。
(注意:ALE信號常與START信號連在一起,這樣連接可以在信號的前沿寫入地址信號,在其后沿啟動(dòng)A/D轉(zhuǎn)換,圖為ADC0809信號的時(shí)序配合圖)。
ADC0809信號的時(shí)序配合
2.2.3 4位一體7段LED數(shù)碼管本實(shí)驗(yàn)的顯示模塊主要由一個(gè)4位一體的7段LED數(shù)碼管(SM410564)構(gòu)成,用于顯示測量到的電壓值。它是一個(gè)共陽極的數(shù)碼管,每一位數(shù)碼管的原理圖如圖4.5所示。每一位數(shù)碼管的a,b,c,d,e,f,g和dp端都各自連接在一起,用于接收AT89C52的P1口產(chǎn)生的顯示段碼。C1,C2,C3,C4引腳端為其位選端,用于接收AT89C52的P3口產(chǎn)生的位選碼。
圖4.5 一位數(shù)碼管的原理圖
4位一體7段LED數(shù)碼管圖
本課題實(shí)驗(yàn)主要采用AT89S51芯片和ADC0809芯片來完成一個(gè)簡易的數(shù)字電壓表,能夠?qū)斎氲?~20ma 的模擬直流電流進(jìn)行測量,并通過一個(gè)4位一體的7段LED數(shù)碼管進(jìn)行顯示,測量誤差約為0.02 ma。該電流表的測量電路主要由三個(gè)模塊組成:A/D轉(zhuǎn)換模塊、數(shù)據(jù)處理模塊及顯示控制模塊。A/D轉(zhuǎn)換主要由芯片ADC0809來完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)換為相應(yīng)的數(shù)字量再傳送到數(shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片AT89S51來完成,其負(fù)責(zé)把ADC0809傳送來的數(shù)字量經(jīng)一定的數(shù)據(jù)處理,產(chǎn)生相應(yīng)的顯示碼送到顯示模塊進(jìn)行顯示;另外它還控制著ADC0809芯片的工作。顯示模塊主要由7段數(shù)碼管及相應(yīng)的驅(qū)動(dòng)組成,顯示測量到的電流值。數(shù)字式電流表的設(shè)計(jì)的總電路圖見附錄一。
AT89S51的復(fù)位電路如圖所示。當(dāng)單片機(jī)一上電,立即復(fù)位;另外,如果在運(yùn)行中,外界干擾等因素使單片機(jī)的程序陷入死循環(huán)狀態(tài)或“跑飛”,就可以通過按鍵使其復(fù)位。復(fù)位也是使單片機(jī)退出低功耗工作方式而進(jìn)入正常狀態(tài)的一種操作。
復(fù)位電路和時(shí)鐘電路
電容C和電阻R1實(shí)現(xiàn)上電自動(dòng)復(fù)位。增加按鍵開關(guān)S又可實(shí)現(xiàn)按鍵復(fù)位功能。一般取C=10uF,R1=1KΩ。
單片機(jī)中CPU每執(zhí)行一條指令,都必須在統(tǒng)一的時(shí)鐘脈沖的控制下嚴(yán)格按時(shí)間節(jié)拍進(jìn)行,而這個(gè)時(shí)鐘脈沖是單片機(jī)控制中的時(shí)序電路發(fā)出的。CPU執(zhí)行一條指令的各個(gè)微操作所對應(yīng)時(shí)間順序稱為單片機(jī)的時(shí)序。MCS-51單片機(jī)芯片內(nèi)部有一個(gè)高增益反相放大器,用于構(gòu)成震蕩器,XTAL1為該放大器的輸入端,XTAL2為該放大器輸出端,但形成時(shí)鐘電路還需附加其他電路。
電路中的器件選擇可以通過計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路的參數(shù),電路中,電容器C1和C2對震蕩頻率有微調(diào)作用,通常的取值范圍是30±10pF,在這個(gè)系統(tǒng)中選擇了33uF;石英晶振選擇范圍最高可選24MHz,它決定了單片機(jī)電路產(chǎn)生的時(shí)鐘信號震蕩頻率,在本系統(tǒng)中選擇的是12MHz,因而時(shí)鐘信號的震蕩頻率為12MHz。
2.3.3A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換由ADC0809完成。ADC0809具有8路模擬輸入端口,地址線(23~25腳)可決定對哪一路模擬輸入作A/D轉(zhuǎn)換。22腳為地址控制,當(dāng)輸入為高電平時(shí),對地址信號進(jìn)行鎖存。6腳為測試控制,當(dāng)輸入一個(gè)2μs寬高電平脈沖時(shí),就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為ADC0809的時(shí)鐘輸入端,利用單片機(jī)AT89S51的30腳的六分頻晶振頻率再通過14024二分頻得到1MHz時(shí)鐘。AT89S51與ADC0809的連接電路原理圖如圖所示。
AT89S51與ADC0809的連接電路原理圖
AT89S51與ADC0809的連接必須注意處理好3個(gè)問題:
(1)在START端送一個(gè)100μs寬的啟動(dòng)正脈沖;
(2)獲取EOC端上的狀態(tài)信息,因?yàn)樗茿/D轉(zhuǎn)換的結(jié)束標(biāo)志;
由于單片機(jī)的并行口不能直接驅(qū)動(dòng)LED顯示器,所以,在一般情況下,必須采用專用的驅(qū)動(dòng)電路芯片,使之產(chǎn)生足夠大的電流,顯示器才能正常工作[7]。如果驅(qū)動(dòng)電路能力差,即負(fù)載能力不夠時(shí),顯示器亮度就低,而且驅(qū)動(dòng)電路長期在超負(fù)荷下運(yùn)行容易損壞,因此,LED顯示器的驅(qū)動(dòng)電路設(shè)計(jì)是一個(gè)非常重要的問題。
為了簡化數(shù)字式直流電流表的電路設(shè)計(jì),在LED驅(qū)動(dòng)電路的設(shè)計(jì)上,可以利用單片機(jī)P0口上外接的上拉電阻來實(shí)現(xiàn),即將LED的A-G段顯示引腳和DP小數(shù)點(diǎn)顯示引腳并聯(lián)到P0口與上拉電阻之間,這樣,就可以加大P0口作為輸出口德驅(qū)動(dòng)能力,使得LED能按照正常的亮度顯示出數(shù)字。
系統(tǒng)采用動(dòng)態(tài)顯示方式驅(qū)動(dòng)4個(gè)數(shù)碼管工作,顯示電路與單片機(jī)的P1口相連來顯示采集到的電流值。
顯示電路原理圖
2.4 元件清單
器件類型 | 器件名 | 數(shù)值 | 數(shù)量 |
單片機(jī) | AT89S51 |
| 1 |
A/D轉(zhuǎn)換器 | ADC0809 |
| 1 |
數(shù)碼管 | TSEG-MP*4-CA-BLUE |
| 1 |
電容 | C1、C2 | 33uF | 2 |
電解電容 | C3 | 10uF | 1 |
電阻 | R1 | 10K | 2 |
排阻 | RP1 | 200 | 1 |
電阻 | R2 | 250 | 1 |
晶振 | X1 | 12MHz | 1 |
所謂初始化,是對將要用到的c51系列單片機(jī)內(nèi)部部件或擴(kuò)展芯片進(jìn)行初始工作狀態(tài)設(shè)定,初始化子程序的主要工作是設(shè)置定時(shí)器的工作模式,初值預(yù)置,開中斷和打開定時(shí)器等。
3.2.3A/D轉(zhuǎn)換子程序
A/D轉(zhuǎn)換子程序用來控制對輸入的模塊電流信號的采集測量,并將對應(yīng)的數(shù)值存入相應(yīng)的內(nèi)存單元,其轉(zhuǎn)換流程圖。
A/D轉(zhuǎn)換流程圖
顯示子程序采用動(dòng)態(tài)掃描實(shí)現(xiàn)四位數(shù)碼管的數(shù)值顯示,在采用動(dòng)態(tài)掃描顯示方式時(shí),要使得LED顯示的比較均勻,又有足夠的亮度,需要設(shè)置適當(dāng)?shù)膾呙桀l率,當(dāng)掃描頻率在70HZ左右時(shí),能夠產(chǎn)生比較好的顯示效果,一般可以采用間隔10ms對LED進(jìn)行動(dòng)態(tài)掃描一次,每一位LED的顯示時(shí)間為1ms。
在本設(shè)計(jì)中,為了簡化硬件設(shè)計(jì),主要采用軟件定時(shí)的方式,即用定時(shí)器0溢出中斷功能實(shí)現(xiàn)11μs定時(shí),通過軟件延時(shí)程序來實(shí)現(xiàn)5ms的延時(shí)。其轉(zhuǎn)換流程圖如圖5.3所示。
顯示子程序流程圖
4數(shù)字式電流表的調(diào)試
4.1軟件調(diào)試軟件調(diào)試的主要任務(wù)是排查錯(cuò)誤,錯(cuò)誤主要包括邏輯和功能錯(cuò)誤,這些錯(cuò)誤有些是顯性的,而有些是隱形的。Proteus軟件可以對基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真,用戶甚至可以實(shí)時(shí)采用諸如LED/LCD、鍵盤、RS232終端等動(dòng)態(tài)外設(shè)模型來對設(shè)計(jì)進(jìn)行交互仿真。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)試。
2.當(dāng)IN0口輸入電流為10.50ma時(shí),顯示結(jié)果如圖所示,測量誤差為0ma。
3. 當(dāng)IN0口輸入電流為5ma時(shí),顯示結(jié)果如圖所示,測量誤差為0.01ma。
4. 當(dāng)IN0口輸入電壓流為15ma時(shí),顯示結(jié)果如圖所示,測量誤差為0.02ma。
通過以上仿真測量結(jié)果可得到簡易數(shù)字電壓表與“標(biāo)準(zhǔn)”數(shù)字電壓表對比測試表,如下表
簡易數(shù)字電流表與“標(biāo)準(zhǔn)”數(shù)字電流表對比測試表
標(biāo)準(zhǔn)電流值/A | 簡易電流表測量值/A | 絕對誤差/A |
0.00 | 0.00 | 0.00 |
2.00 | 2.01 | 0.01 |
4.00 | 4.00 | 0.00 |
6.00 | 6.02 | 0.02 |
8.00 | 8.01 | 0.01 |
10.00 | 10.01 | 0.01 |
12.00 | 11.98 | 0.02 |
14.00 | 14.00 | 0.00 |
16.00 | 15.98 | 0.02 |
20.00 | 20.00 | 0.00 |
這次的單片機(jī)設(shè)計(jì),是把硬件和軟件結(jié)合起來的設(shè)計(jì),,其硬件電路是比復(fù)雜的,需要足夠的耐心加細(xì)心,同時(shí)也需要一定的硬件知識基礎(chǔ)。只有這樣才能保證電路的成功。而且在這次設(shè)計(jì)中硬件是基礎(chǔ),只有把基礎(chǔ)打好才會(huì)有更高的設(shè)計(jì)。硬件工作完成了就是解決程序設(shè)計(jì)的問題,程序設(shè)計(jì)是一個(gè)很靈活的東西,它反映了我們解決問題的邏輯思維和創(chuàng)新能力,它是一個(gè)設(shè)計(jì)的靈魂所在。
要設(shè)計(jì)一個(gè)成功的電路,必須要有耐心,要有堅(jiān)持的毅力。在整個(gè)電路的設(shè)計(jì)過程中,花費(fèi)時(shí)間最多的是各個(gè)單元電路的連接及電路的細(xì)節(jié)設(shè)計(jì)上,如在多種方案的選擇中,我們仔細(xì)比較分析其原理以及可行的原因。這就要求我們對硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對之靈活應(yīng)用。通過這次實(shí)訓(xùn),我在書本理論知識的基礎(chǔ)上又有了更深層次的理解。
此次設(shè)計(jì),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問題,出現(xiàn)差錯(cuò)的隨機(jī)應(yīng)變,和與人合作共同提高,都受益非淺。
51hei.gif (298.06 KB, 下載次數(shù): 89)
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |