本科畢業(yè)論文基于AT89C51單片機(jī)的相位測(cè)量?jī)x電路設(shè)計(jì)(完整版)_第1頁(yè)
本科畢業(yè)論文基于AT89C51單片機(jī)的相位測(cè)量?jī)x電路設(shè)計(jì)(完整版)_第2頁(yè)
本科畢業(yè)論文基于AT89C51單片機(jī)的相位測(cè)量?jī)x電路設(shè)計(jì)(完整版)_第3頁(yè)
本科畢業(yè)論文基于AT89C51單片機(jī)的相位測(cè)量?jī)x電路設(shè)計(jì)(完整版)_第4頁(yè)
本科畢業(yè)論文基于AT89C51單片機(jī)的相位測(cè)量?jī)x電路設(shè)計(jì)(完整版)_第5頁(yè)
已閱讀5頁(yè),還剩51頁(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章 緒論相位測(cè)量?jī)x是電力部門、工廠和礦山、石油化工、冶金系統(tǒng)進(jìn)行二次回路檢查的理想的高精度儀表。尤其適用于電能計(jì)量、用電檢查、繼電保護(hù)、差動(dòng)檢測(cè)、電力建設(shè)和變送電工程等。是電力系統(tǒng)各部門的必備儀器之一。1.1 課題研究背景在電子測(cè)量技術(shù)中,相位測(cè)量時(shí)最基本的測(cè)量手段之一,相位測(cè)量?jī)x式電子領(lǐng)域的常用儀器。隨著相位測(cè)量技術(shù)廣泛應(yīng)用于科學(xué)研究、實(shí)驗(yàn)、生產(chǎn)實(shí)踐等各個(gè)領(lǐng)域,對(duì)相位測(cè)量技術(shù)的要求也向高精度高智能化方向發(fā)展,在低頻范圍內(nèi),相位測(cè)量在電力、機(jī)械等部門具有非常重要的意義?;跀?shù)字式相位測(cè)量?jī)x的高精度、高智能化、直觀化的特點(diǎn),工業(yè)上常常用此進(jìn)行低頻信號(hào)相位差的精確測(cè)量。同頻信號(hào)間相位差的測(cè)量在

2、電力系統(tǒng)、工業(yè)自動(dòng)化、智能控制及通信、電子、地球物理勘探等許多領(lǐng)域都有著廣泛的應(yīng)用。尤其在工業(yè)領(lǐng)域中,相位不僅是衡量安全的重要依據(jù),還可以為節(jié)約能源提供參考。1.2 課題研究?jī)?nèi)容1.2.1 相位測(cè)量相位差的測(cè)量原理主要有三種:過(guò)零檢測(cè)法基于對(duì)信號(hào)波形的變換比較;倍乘法基于對(duì)傅氏級(jí)數(shù)的運(yùn)算;矢量法基于對(duì)三角函數(shù)的運(yùn)算。過(guò)零點(diǎn)檢測(cè)法是一種將相位測(cè)量變?yōu)闀r(shí)間測(cè)量的方法。其原理是將基準(zhǔn)信號(hào)的過(guò)零時(shí)刻與被測(cè)信號(hào)的過(guò)零時(shí)刻進(jìn)行比較,由二者之間的時(shí)間間隔與被測(cè)信號(hào)周期的比值推算出兩信號(hào)之間的相位差這種方法的特點(diǎn)是電路簡(jiǎn)單,且對(duì)啟動(dòng)采樣電路要求不高,同時(shí)還具有測(cè)量分辨率高、線性好和易數(shù)字化等優(yōu)點(diǎn)倍乘法:任何一

3、個(gè)周期函數(shù)都可以用傅氏級(jí)數(shù)表示,即用正弦函數(shù)和余弦函數(shù)構(gòu)成的無(wú)窮級(jí)數(shù)來(lái)表示,倍乘法測(cè)量相位差所用的運(yùn)算器是一個(gè)乘法器,2個(gè)信號(hào)是頻率相同的正弦函數(shù),相位差為,運(yùn)算結(jié)果經(jīng)過(guò)一個(gè)積分電路,可以得到一個(gè)直流電壓,電路的輸出和被測(cè)信號(hào)相位差的余弦成比例,因此其測(cè)量范圍在45以內(nèi),為使測(cè)量范圍擴(kuò)展到360,需要附加一些電路才可以實(shí)現(xiàn)倍乘法由于應(yīng)用了積分環(huán)節(jié),可以濾掉信號(hào)波形中的高次諧波,有效抑制了諧波對(duì)測(cè)量準(zhǔn)確度的影響矢量法:任何一個(gè)正弦函數(shù)都可以用矢量來(lái)表示,如各個(gè)正弦信號(hào)幅度相等、頻率相同,運(yùn)算器運(yùn)用減法器合成得到矢量的模矢量法用于測(cè)量小角度范圍時(shí),靈敏度較好,可行度也較高;但在180附近靈敏度降低

4、,讀數(shù)困難且不準(zhǔn)確由于系統(tǒng)輸出為一余弦或正弦函數(shù),因此這種方法適用于較寬的頻帶范圍。上述3種測(cè)量相位的方法各有優(yōu)勢(shì),從測(cè)量范圍、靈敏度、準(zhǔn)確度、頻率特性和諧波的敏感性等技術(shù)指標(biāo)來(lái)看,過(guò)零檢測(cè)法的輸出正比于相位差的脈沖數(shù),且易于實(shí)現(xiàn)數(shù)字化和自動(dòng)化,故本研究采用過(guò)零檢測(cè)法。1.2.2 基本要求本設(shè)計(jì)研究了一種可測(cè)20hz-20khz內(nèi)任意頻率數(shù)字式相位測(cè)量?jī)x的設(shè)計(jì)方法。主要內(nèi)容是以at89c51為控制核心,實(shí)現(xiàn)對(duì)音頻范圍內(nèi)的正弦交流信號(hào)的相位的測(cè)量,可測(cè)的信號(hào)相位差在0360度范圍內(nèi),測(cè)量精度可達(dá)0.1度。兩路信號(hào)(同頻、不同相,一路為待測(cè)信號(hào),另一路為參考信號(hào))通過(guò)過(guò)零比較器電路整形成矩形波信號(hào)

5、,再通過(guò)鑒相器,得到相位差信號(hào)。這樣就構(gòu)成了相位測(cè)量系統(tǒng)的測(cè)量電路。再將該相位差信號(hào)送入單片機(jī)的外部中斷端口,通過(guò)單片機(jī)對(duì)數(shù)據(jù)的處理,最后方可得到所要測(cè)量的相位差,并在液晶上顯示出測(cè)量結(jié)果。第2章 方案論證本設(shè)計(jì)中,相位測(cè)量?jī)x主要是對(duì)被測(cè)網(wǎng)絡(luò)的輸入、輸出信號(hào)的相位差進(jìn)行測(cè)量。這樣的兩路待測(cè)信號(hào)為同頻不同相的正弦交流信號(hào),頻率范圍為20hz-20khz,幅度為0v500v。相位差測(cè)量的基本原理為:對(duì)信號(hào)波形的變換、比較及相關(guān)數(shù)學(xué)運(yùn)算。即對(duì)于被測(cè)信號(hào)是同頻不同相的兩路正弦交流信號(hào),為了準(zhǔn)確地測(cè)量出該相位差,需要對(duì)輸入信號(hào)的波形進(jìn)行整形,本設(shè)計(jì)利用lm339組成整形電路,使輸入信號(hào)變成矩形波信號(hào),再

6、經(jīng)異或門組成的鑒相器電路,輸出即為相位差信號(hào),再結(jié)合單片機(jī)的數(shù)據(jù)處理功能,最后通過(guò)液晶即可顯示出該相位差。由于單片機(jī)的工作電壓在5v左右,所以在進(jìn)行相位測(cè)量前,還需將被測(cè)信號(hào)進(jìn)行分檔降壓處理。2.1 自動(dòng)量程控制原理論證本設(shè)計(jì)中,待測(cè)信號(hào)是0v500v正弦交流信號(hào),要想進(jìn)行相位測(cè)量,則需先將該信號(hào)進(jìn)行降壓處理。常見(jiàn)的交流降壓法有降壓變壓器降壓法、電容降壓法、電感降壓法、純電阻電路降壓法,考慮到本設(shè)計(jì)中的降壓過(guò)程不得引入新的相移,否則影響下一步的相位測(cè)量的精準(zhǔn)度,此處選擇最后一種方法,即純電阻電路的降壓法,該電路實(shí)現(xiàn)起來(lái)直觀、簡(jiǎn)易且誤差小。本設(shè)計(jì)中,將待測(cè)信號(hào)分成三個(gè)檔位:500v、50v、5v

7、。結(jié)合繼電器的自動(dòng)開(kāi)關(guān)作用,即當(dāng)待測(cè)信號(hào)的滿足其中某一檔位的指標(biāo)時(shí),則相應(yīng)的被控電路導(dǎo)通,從而自動(dòng)量程控制電路轉(zhuǎn)入相位測(cè)量電路進(jìn)行后續(xù)數(shù)據(jù)處理等功能。2.2 相位測(cè)量原理論證由數(shù)學(xué)關(guān)系可知,時(shí)間差和相位差有如下關(guān)系: (2.1)由此可得: (2.2) 其中,是相位差對(duì)應(yīng)的時(shí)間差,是信號(hào)周期。式2.2表明,相位差與時(shí)間差有著一一對(duì)應(yīng)的關(guān)系,只要通過(guò)測(cè)量時(shí)間差及信號(hào)周期,就可以求得相位差,這就是相位差的基本測(cè)量原理。顯然,相位差的測(cè)量本質(zhì)上是時(shí)間的測(cè)量。而時(shí)間的測(cè)量方法有很多種,本設(shè)計(jì)結(jié)合51單片機(jī)的特點(diǎn),采用過(guò)零點(diǎn)檢測(cè)法。其原理是將基準(zhǔn)信號(hào)通過(guò)零的時(shí)刻與被測(cè)信號(hào)通過(guò)零的時(shí)刻進(jìn)行比較,由二者之間的

8、時(shí)間間隔推算出兩信號(hào)之間的相位差。這種方法的特點(diǎn)是電路簡(jiǎn)單,對(duì)啟動(dòng)電路要求不高,同時(shí)該方法還具有測(cè)量分辨率高、線性好、易于數(shù)學(xué)化等優(yōu)點(diǎn)。將該相位差信號(hào)送入單片機(jī)的外部中斷接口,對(duì)該信號(hào)的脈沖寬度進(jìn)行計(jì)數(shù),從而得到對(duì)應(yīng)于相位差的時(shí)間差和周期,再根據(jù)上述求解相位差的公式便可得到所求,并由液晶顯示最終測(cè)得的相位差。第3章 硬件設(shè)計(jì)本章主要闡述了系統(tǒng)各單元的硬件電路設(shè)計(jì)思想及具體硬件組成,本設(shè)計(jì)共包括以下模塊:?jiǎn)纹瑱C(jī)主控電路、顯示電路、穩(wěn)壓電路、自動(dòng)量程控制電路、ad轉(zhuǎn)換電路、繼電器驅(qū)動(dòng)電路、超限報(bào)警電路及相位測(cè)量電路共8個(gè)部分。系統(tǒng)總體框圖如圖3.1所示。單片機(jī)主控電路輸入信號(hào)被測(cè)網(wǎng)絡(luò)時(shí)差測(cè)量電路穩(wěn)

9、壓電路顯示電路圖3.1 系統(tǒng)總體框圖3.1 主控電路設(shè)計(jì)這部分是由單片機(jī)、晶振電路、復(fù)位電路組成。本設(shè)計(jì)中充分利用了單片機(jī)較強(qiáng)的運(yùn)算能力和控制能力這一特點(diǎn),使用單片機(jī)外部中斷int0、int1接收外部送來(lái)的相位差信號(hào),并在單片機(jī)內(nèi)部完成相應(yīng)的處理及相關(guān)運(yùn)算。圖3.2為at89c51主控電路圖。圖3.2 主控電路圖3.1.1 at89c51單片機(jī)本設(shè)計(jì)中采用的核心控制器是at89c51,它是美國(guó)atmel公司生產(chǎn)的一款低電壓,高性能cmos 8位單片機(jī),片內(nèi)含4k字節(jié)flash可反復(fù)擦寫的只讀程序存儲(chǔ)器(eprom)和128 字節(jié)的隨機(jī)數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel公司的高密度、非易失

10、性存儲(chǔ)技術(shù)生產(chǎn),與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容,片內(nèi)內(nèi)置通用8位中央處理器(cpu)和flash存儲(chǔ)單元,功能強(qiáng)大的at89c51單片機(jī)可提供高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。因此,在這里我選用at89c51單片機(jī)來(lái)完成。3.1.1.1 主要性能參數(shù):與mcs-51產(chǎn)品指令系統(tǒng)完全兼容4k字節(jié)可編程flash存儲(chǔ)器1000次擦寫周期全靜態(tài)工作:0hz-24hz三級(jí)加密程序存儲(chǔ)器1288位內(nèi)部ram32個(gè)可編程i/o口線2個(gè)16位定時(shí)/計(jì)數(shù)器5個(gè)中斷源可編程串行uart通道低功耗空閑和掉電模式3.1.1.2 管腳說(shuō)明:vcc:供電電壓。gnd:接地。p0口:p0口為一

11、個(gè)8位漏級(jí)開(kāi)路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p0口的管腳第一次寫1時(shí),被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在fiash編程時(shí),p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗(yàn)時(shí),p0輸出原碼,此時(shí)p0外部必須接上拉電阻。p1口:p1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗(yàn)時(shí),p1口作為低八位地址接收。p2口:p2口為一個(gè)內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可

12、接收,輸出4個(gè)ttl門電流,當(dāng)p2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),p2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。p3口:p3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個(gè)ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p

13、3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如表1所示:表1 p3口第二功能表管腳功能p3.0rxd(串行輸入口)p3.1txd(串行輸出口)p3.2/int0(外部中斷0)p3.3/int1(外部中斷1)p3.4t0(記時(shí)器0外部輸入)p3.5t1(記時(shí)器1外部輸入)p3.6/wr(外部數(shù)據(jù)存儲(chǔ)器寫選通)p3.7/rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)p3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持rst腳兩個(gè)機(jī)器周期的高電平時(shí)間。ale/prog:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)

14、。在flash編程期間,此引腳用于輸入編程脈沖。在平時(shí),ale端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ale脈沖。如想禁止ale的輸出可在sfr 8eh地址上置0。此時(shí), ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無(wú)效。/psen:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/psen有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/psen信號(hào)將不出現(xiàn)。/ea/vpp:當(dāng)/e

15、a保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000h-ffffh),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。xtal2:來(lái)自反向振蕩器的輸出。振蕩器特性:xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須

16、保證脈沖的高低電平要求的寬度。3.1.2 晶振電路的設(shè)計(jì)晶振是一種能把電能和機(jī)械能相互轉(zhuǎn)化,產(chǎn)生穩(wěn)定、精確的共振頻率的元件。它結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率。單片機(jī)晶振提供的時(shí)鐘頻率越高,那么單片機(jī)運(yùn)行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機(jī)晶振提供的時(shí)鐘頻率的基礎(chǔ)之上的。在通常工作條件下,普通晶振頻率絕對(duì)精度可達(dá)百萬(wàn)分之五十。at89c5l 中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高量程反相放大器,引腳 xtal1 和 xtal2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見(jiàn)圖3.3。 圖3.3 晶振電路外接石英

17、晶體(或陶瓷諧振器)及電容c1、c2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容c1、c2雖然沒(méi)有十分嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,如果使用石英晶體,我們推薦電容使用30pf10pf,而如使用陶瓷諧振器建議選擇40pf10f。也可以采用外部時(shí)鐘,這種情況下,外部時(shí)鐘脈沖接到xtal1端,即內(nèi)部時(shí)鐘發(fā)生器的輸入端,xtal2則懸空。本設(shè)計(jì)采用前一種方法,選用33pf的電容和12mhz的石英晶體相配合,這樣可以提供準(zhǔn)確而又穩(wěn)定的us級(jí)定時(shí)時(shí)鐘。3.1.3 復(fù)位電路的設(shè)計(jì)單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使cpu及系統(tǒng)各部件處于

18、確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。89系列單片機(jī)的復(fù)位信號(hào)是從rst引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果rst引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則cpu就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。1、手動(dòng)按鈕復(fù)位手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端rst上加入高電平。一般采用的辦法是在rst端和正電源vcc之間接一個(gè)按鈕。當(dāng)人為按下按鈕時(shí),則vcc的+5v電平就會(huì)直接加到rst端。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以完全能夠滿足復(fù)位的時(shí)間要求。2、上電復(fù)位at89c51的上電復(fù)位,只要

19、在rst復(fù)位輸入引腳上接一電容至vcc端,下接一個(gè)電阻到地即可。對(duì)于cmos型單片機(jī),由于在rst端內(nèi)部有一個(gè)下拉電阻,故可將外部電阻去掉,而將外接電容減至1uf。上電復(fù)位的工作過(guò)程是在加電時(shí),復(fù)位電路通過(guò)電容加給rst端一個(gè)短暫的高電平信號(hào),此高電平信號(hào)隨著vcc對(duì)電容的充電過(guò)程而逐漸回落,即rst端的高電平持續(xù)時(shí)間取決于電容的充電時(shí)間。為了保證系統(tǒng)能夠可靠地復(fù)位,rst端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。上電時(shí),vcc的上升時(shí)間約為10ms,而振蕩器的起振時(shí)間取決于振蕩頻率,如晶振頻率為10mhz,起振時(shí)間為1ms;晶振頻率為1mhz,起振時(shí)間則為10ms。當(dāng)vcc掉電時(shí),必然會(huì)使rst端

20、電壓迅速下降到0v以下,但是,由于內(nèi)部電路的限制作用,這個(gè)負(fù)電壓將不會(huì)對(duì)器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器pc將得不到一個(gè)合適的初值,因此,cpu可能會(huì)從一個(gè)未被定義的位置開(kāi)始執(zhí)行程序。3、積分型上電復(fù)位常用的還有上電或開(kāi)關(guān)復(fù)位電路,上電后,由于電容的充電和反相門的作用,使rst持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵后松開(kāi),也能使rst為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或開(kāi)關(guān)復(fù)位的操作。本設(shè)計(jì)采用的是上電復(fù)位,如圖3.3所示,原理是上電時(shí),c3充電,在10k電阻上出現(xiàn)電壓,使得單

21、片機(jī)復(fù)位;幾個(gè)毫秒后,c3充滿,10k電阻上電流降為0,電壓也為0,使得單片機(jī)進(jìn)入工作狀態(tài)。工作期間,按下s1,c3放電。s1松開(kāi),c3又充電,在10k電阻上又出現(xiàn)電壓,使得單片機(jī)復(fù)位。幾個(gè)毫秒后,單片機(jī)又進(jìn)入工作狀態(tài)。圖3.3 復(fù)位電路3.2 顯示電路的設(shè)計(jì)本設(shè)計(jì)采用由液晶lcd1602組成的顯示的電路。單片機(jī)將處理后的數(shù)據(jù)送到lcd1602中進(jìn)行輸出顯示。顯示電路如圖3.4所示。圖3.4 液晶lcd1602顯示電路lcd1602液晶顯示屏以其微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧等諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。其各管腳功能如表3.4所示。表3.4 lcd1602管

22、腳功能表編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1vss電源地46rs、rw、e數(shù)據(jù)命令選擇2vdd電源正極714de0de7數(shù)據(jù)i/o3v0液晶顯示偏壓信號(hào)1516bla、blk背光源正、負(fù)極由管腳功能表可知,vss接地,vdd接5v電源正極,v0為液晶顯示器對(duì)比度調(diào)整端(接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高), 通過(guò)一個(gè)10k的電位器r3調(diào)整對(duì)比度。背光源根據(jù)其正負(fù)極分別與電源正負(fù)極相連接。單片機(jī)的p3.7p3.5口分別與lcd1602液晶顯示屏的rs、rw、e引腳相連接,來(lái)控制lcd的初始化及顯示模式。p1.0p1.7口分別與lcd1602液晶顯示屏的de0de7引腳相連接,來(lái)顯示所測(cè)量的

23、數(shù)據(jù)。3.3 穩(wěn)壓電路的設(shè)計(jì)電路提供+5v的穩(wěn)定電源,主要用于單片機(jī)(at89c51)及周邊外圍電路、液晶顯示、ad轉(zhuǎn)換、相位測(cè)量、超限報(bào)警等電路。圖3.5 7805穩(wěn)壓電路圖3.5所示,電源電路采用集成穩(wěn)壓管lm7805進(jìn)行穩(wěn)壓。電池提供的12v直流電壓通過(guò)lm7805可以輸出穩(wěn)定的5v電壓。電池提供的12v電壓可用于驅(qū)動(dòng)繼電器的工作。lm7805是美國(guó)四家半導(dǎo)體公司的三端固定穩(wěn)壓集成電路,用于將輸入的電壓穩(wěn)壓集為5v后提供給有關(guān)電路,其應(yīng)用十分廣泛,在視頻、音頻、計(jì)算機(jī)、游戲機(jī)等各種電器上均有應(yīng)用。lm7805是最常用到的穩(wěn)壓芯片。他使用方便,用很簡(jiǎn)單的電路就可以輸入一個(gè)直流穩(wěn)壓電源,它的

24、輸出電壓恰好為5v,剛好是51系列單片機(jī)工作所需的電壓,它有很多的系列,如ka7805、ads7805、cw7805等等,性能上有微小差別,用的最多的還是lm7805,。lm7805有三個(gè)引腳,分別為vin:輸入引腳,電壓為12v;vout:輸出引腳,電壓為5v;gnd:接地端。3.4 超限報(bào)警電路的設(shè)計(jì)蜂鳴器俗稱喇叭,是廣泛應(yīng)用于各種電子產(chǎn)品的一種元器件,它用于提示、報(bào)警、音樂(lè)等許多應(yīng)用場(chǎng)合。蜂鳴器與家用電器上面的喇叭在用法上也有相似之處,通常工作電流比較大,電路上的ttl電平基本上驅(qū)動(dòng)不了蜂鳴器,需要增加一個(gè)電流放大的電路才可以。本設(shè)計(jì)采用了一種很簡(jiǎn)單的電路來(lái)實(shí)現(xiàn)蜂鳴器的聯(lián)結(jié),而且增加了三

25、極管來(lái)增加通過(guò)蜂鳴器的電流。如圖3.6所示,蜂鳴器的負(fù)極性的一端接地,正極性的一端接在pnp三極管的集電極上,三極管的基極由p2.7管腳來(lái)控制,當(dāng)待測(cè)信號(hào)不在規(guī)定的測(cè)量范圍時(shí),p2.7腳為低電平,三極管導(dǎo)通,這樣蜂鳴器電路形成回路,發(fā)出警報(bào)聲;在沒(méi)有超限的情況下,該管腳為高電平,則三極管截止,蜂鳴器不響。圖3.6超限報(bào)警電路3.5 時(shí)差檢測(cè)電路的設(shè)計(jì)時(shí)差檢測(cè)電路主要包含以下幾個(gè)主要模塊:自動(dòng)量程控制、繼電器驅(qū)動(dòng)、ad轉(zhuǎn)換、相位測(cè)量四個(gè)部分。主要完成量程的自動(dòng)選擇和相位差信號(hào)的獲得。以下將闡述各個(gè)部分的具體設(shè)計(jì)方法。3.5.1 自動(dòng)量程控制電路的設(shè)計(jì)本設(shè)計(jì)中,相位測(cè)量?jī)x主要是對(duì)被測(cè)網(wǎng)絡(luò)的輸入、輸

26、出信號(hào)的相位差進(jìn)行測(cè)量。這樣的兩路待測(cè)信號(hào)為同頻不同相的正弦交流信號(hào),幅度為0v500v,而單片機(jī)和相位測(cè)量電路的工作電壓是5v,因此在進(jìn)行相位測(cè)量前必須做分檔降壓的處理。本設(shè)計(jì)中選用純電阻電路的降壓法,這樣電路實(shí)現(xiàn)起來(lái)簡(jiǎn)單可行,最重要的是不會(huì)引入新的相移。具體電路如圖3.7所示。圖3.7 自動(dòng)量程控制電路從圖3.7可以看到,自動(dòng)量程控制分為兩個(gè)支路,分別是被測(cè)網(wǎng)絡(luò)的輸入和輸出兩部分,被測(cè)網(wǎng)絡(luò)的輸出作為待測(cè)信號(hào)(上面一條支路),被測(cè)網(wǎng)絡(luò)的輸入作為參考信號(hào)(下面一條支路),每一路信號(hào)都將經(jīng)過(guò)三個(gè)檔位的選擇電路,從上至下分別為500v檔、50v檔、5v檔。選通開(kāi)關(guān)這里用的是電磁式繼電器,選通原理是

27、這樣的:當(dāng)繼電器驅(qū)動(dòng)電路檢測(cè)到對(duì)應(yīng)的io口為低電平時(shí),則繼電器吸合,對(duì)應(yīng)的檔位同時(shí)被選通。降壓電路里分壓電阻的取值因輸入信號(hào)的幅值的不同而不同,若設(shè)參考信號(hào)的幅值為2.5v,與接地端直接相連的電阻取1k,待測(cè)信號(hào)的幅值為vm,則有 (3.1)由此可知, (3.2)因此,當(dāng)vm分別為500v、50v、5v時(shí),rx對(duì)應(yīng)的分別為199k、19k、1k。3.5.2 繼電器驅(qū)動(dòng)電路的設(shè)計(jì) 電磁式繼電器一般用功率接口集成電路或晶體管驅(qū)動(dòng)。在使用較多繼電器的系統(tǒng)中,可用功率接口集成電路驅(qū)動(dòng),例如sn75468等。一片sn75468可以驅(qū)動(dòng)7個(gè)繼電器,驅(qū)動(dòng)電流可達(dá)500ma,輸出端最大工作電壓為100v。本設(shè)

28、計(jì)采用晶體管來(lái)驅(qū)動(dòng)繼電器。如圖3.8所示。圖3.8 繼電器驅(qū)動(dòng)電路繼電器的動(dòng)作由單片機(jī)的p2.0、p2.1、p2.2口控制。當(dāng)三者之一輸出低電平時(shí),對(duì)應(yīng)的繼電器j吸合,同時(shí)分檔電路里對(duì)應(yīng)的繼電器也吸合,對(duì)應(yīng)檔位導(dǎo)通;若為高電平,繼電器j釋放。采用這種控制邏輯可以使繼電器在上電復(fù)位或單片機(jī)受控復(fù)位時(shí)不吸合。繼電器j由晶體管9013驅(qū)動(dòng),9013可以提供300ma的驅(qū)動(dòng)電流,適用于繼電器線圈工作電流小于300ma的場(chǎng)合?;诠怆婑詈掀饔休^高的電流傳輸比,且最小值為50%。晶體管9013的電流放大倍數(shù)大于50。當(dāng)繼電器線圈工作電流為300ma時(shí),光耦需要輸出大于6.8ma的電流,其中9013基極對(duì)地

29、的電阻分流0.8ma。輸入光耦的電流必須大于13.6ma,才能保證向繼電器提供300ma的電流。這里的二極管d的作用是保護(hù)晶體管9013。當(dāng)繼電器j吸合時(shí),二極管d截止,不影響電路工作。繼電器釋放時(shí),由于繼電器線圈存在電感,這時(shí)晶體管9013已經(jīng)截止,所以會(huì)在線圈的兩端產(chǎn)生較高的感應(yīng)電壓。這個(gè)感應(yīng)電壓的極性是上負(fù)下正,正端接在t的集電極上。當(dāng)感應(yīng)電壓與12v電源電壓之和大于晶體管的集電結(jié)的反向耐壓時(shí),晶體管有可能損壞。加入二極管后,繼電器線圈產(chǎn)生的感應(yīng)電流由二極管d流過(guò),因此不會(huì)產(chǎn)生很高的感應(yīng)電壓,晶體管便得到了保護(hù)。關(guān)于電磁繼電器:電磁繼電器一般由鐵芯、線圈、銜鐵、觸點(diǎn)簧片等組成的。只要在線

30、圈兩端加上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合。當(dāng)線圈斷電后,電磁的吸力也隨之消失,銜鐵就會(huì)在彈簧的反作用力返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))釋放。這樣吸合、釋放,從而達(dá)到了在電路中的導(dǎo)通、切斷的目的。對(duì)于繼電器的“常開(kāi)、常閉”觸點(diǎn),可以這樣來(lái)區(qū)分:繼電器線圈未通電時(shí)處于斷開(kāi)狀態(tài)的靜觸點(diǎn),稱為“常開(kāi)觸點(diǎn)”;處于接通狀態(tài)的靜觸點(diǎn)稱為“常閉觸點(diǎn)”。3.5.3 ad0832轉(zhuǎn)換電路的設(shè)計(jì)3.5.3.1 ad0832工作原理如圖3.9所示,選通的待測(cè)信號(hào)輸入到ad08

31、32的ch1端,但先要經(jīng)過(guò)整流二極管,將交流轉(zhuǎn)換為直流后方可輸入到ad0832中進(jìn)行轉(zhuǎn)換和判斷。圖3.9 ad轉(zhuǎn)換電路判斷依據(jù)是:對(duì)于未知的輸入信號(hào),首選的是將信號(hào)送入最大檔位進(jìn)行測(cè)量。若經(jīng)過(guò)整流二極管轉(zhuǎn)換后的待測(cè)信號(hào)幅值vm滿足1vvm2.5v,表示該檔是合理的檔位,可以將其送入相位測(cè)量電路進(jìn)行后續(xù)處理;若vm2.5v,表示該信號(hào)超過(guò)了本設(shè)計(jì)規(guī)定的測(cè)量范圍,同時(shí)發(fā)出超限報(bào)警信號(hào)。3.5.3.2 ad0832簡(jiǎn)要介紹adc0832是ns(national semiconductor)公司生產(chǎn)的具有microwireplus串行接口的8位ad轉(zhuǎn)換器,通過(guò)三線接口與單片機(jī)連接,功耗低,性能價(jià)格比較

32、高,芯片引腳少,適宜在袖珍式智能儀器中使用。主要特點(diǎn)有:8位分辨率,逐次逼近型,基準(zhǔn)電壓為5v;輸入模擬信號(hào)電壓范圍為05v;輸入和輸出cmos兼容;在250khz時(shí)鐘頻率時(shí),轉(zhuǎn)換時(shí)間為32us;具有兩個(gè)可供選擇的模擬輸入通道;功耗低,15mw。adc0832有dip和soic兩種封裝,本設(shè)計(jì)額中采用的是dip封裝,如上圖3.9所示。各引腳說(shuō)明如下:cs為片選端,低電平有效。ch0,chl為兩路模擬信號(hào)輸入端。di為兩路模擬輸入選擇輸入端。d0為模數(shù)轉(zhuǎn)換結(jié)果串行輸出端。clk為串行時(shí)鐘輸入端。vccref為正電源端和基準(zhǔn)電壓輸入端。gnd為電源地。配置位說(shuō)明:adc0832工作時(shí),模擬通道的選

33、擇及單端輸入和差分輸入的選擇,都取決于輸入時(shí)序的配置位。當(dāng)差分輸入時(shí),要分配輸入通道的極性,兩個(gè)輸人通道的任何一個(gè)通道都可作為正極或負(fù)極。adc0832的配置位邏輯表如表1所列。表3.5 adc0832配置位的說(shuō)明輸入格式配置位選擇通道號(hào)ch0chlch0chl差分ll+-lh-+單端hl+hh+表中“+”表示輸入通道的端點(diǎn)為正極性;“-”表示輸入端點(diǎn)為負(fù)極性;h或l表示高、低電平。輸入配置位時(shí),高位(cho)在前,低位(chl)在后。工作時(shí)序:當(dāng)cs由高變低時(shí),選中adc0832。在時(shí)鐘的上升沿,di端的數(shù)據(jù)移人adc0832內(nèi)部的多路地址移位寄存器。在第一個(gè)時(shí)鐘期間,di為高,表示啟動(dòng)位,

34、緊接著輸入兩位配置位。當(dāng)輸入啟動(dòng)位和配置位后,選通輸入電平與吼和模擬通道,轉(zhuǎn)換開(kāi)始。轉(zhuǎn)換開(kāi)始后,經(jīng)過(guò)一個(gè)時(shí)鐘周期延遲,以使選定的通道穩(wěn)定。adc0832接著在第4個(gè)時(shí)鐘下降沿輸出轉(zhuǎn)換數(shù)據(jù)。數(shù)據(jù)輸出時(shí)先輸出最高位(d7do);輸出完轉(zhuǎn)換結(jié)果后,又以最低位開(kāi)始重新輸出一遍數(shù)據(jù)(d7do),兩次發(fā)送的最低位共用。當(dāng)片選cs為高時(shí),內(nèi)部所有寄存器清0,輸出變?yōu)楦咦钁B(tài)。如果要再進(jìn)行一次模數(shù)轉(zhuǎn)換,片選cs必須再次從高向低跳變,后面再輸入啟動(dòng)位和配置位。3.5.4 相位測(cè)量電路的設(shè)計(jì)相位測(cè)量模塊主要包括整形電路的設(shè)計(jì)和鑒相器電路的設(shè)計(jì)。其中,整形電路采用的是過(guò)零比較法將待測(cè)信號(hào)變成矩形波信號(hào),然后再送給鑒相

35、器電路進(jìn)行下一步的處理。而且,為了避免待測(cè)信號(hào)和參考信號(hào)在整形電路中產(chǎn)生附加相移或者發(fā)生相對(duì)相移,本設(shè)計(jì)對(duì)兩路信號(hào)采用了相同的整形電路,這樣即使發(fā)生相移,也能保證二者的相對(duì)相移為0。具體電路如圖3.10所示。其中,ua、ub分別是待測(cè)信號(hào)和參考信號(hào);uc、ud分別是經(jīng)過(guò)過(guò)零比較整形后的兩路矩形波信號(hào);ue、uf分別是經(jīng)過(guò)三極管轉(zhuǎn)換電路得到的只有0、1電平的矩形波信號(hào),用以作為jk觸發(fā)器的時(shí)鐘信號(hào);ug、uh分別是經(jīng)jk觸發(fā)器后的二分頻信號(hào),同時(shí)也是鑒相器的輸入信號(hào);ui、uj分別是相位差信號(hào)及其取反后的信號(hào)。為了避免待測(cè)信號(hào)在過(guò)零點(diǎn)時(shí)含有干擾,這里用lm339組成如下圖所示的整形電路,還應(yīng)注意

36、的是,lm339的輸出端相當(dāng)于一只不接集電極電阻的晶體三極管,在使用時(shí)輸出端到正電源一般須接一只電阻(稱為上拉電阻,選3-15k)。選不同阻值的上拉電阻會(huì)影響輸出端高電位的值。因?yàn)楫?dāng)輸出晶體三極管截止時(shí),它的集電極電壓基本上取決于上拉電阻與負(fù)載的值。所以要加上拉電阻才能保證有高電平輸出,本設(shè)計(jì)中采用的是10k的上拉電阻。圖3.10 相位測(cè)量電路3.5.4.1 lm339簡(jiǎn)要介紹lm339電壓比較器芯片內(nèi)部裝有四個(gè)獨(dú)立的電壓比較器,圖3.11是很常見(jiàn)lm339引腳圖的集成電路圖。利用lm339可以方便的組成各種電壓比較器電路和振蕩器電路。該電壓比較器的特點(diǎn)是:1)失調(diào)電壓小,典型值為2mv;2)

37、電源電壓范圍寬,單電源為2-36v,雙電源電壓為1v18v;3)對(duì)比較信號(hào)源的內(nèi)阻限制較寬;4)共模范圍很大,為0(ucc-1.5v)vo;5)差動(dòng)輸入電壓范圍較大,大到可以等于電源電壓;6)輸出端電位可靈活方便地選用。lm339集成塊采用c-14型封裝。由于lm339使用靈活,應(yīng)用廣泛,所以世界上各大ic生產(chǎn)廠、公司竟相推出自己的四比較器,如ir2339、ani339、sf339等,它們的參數(shù)基本一致,可互換使用。圖3.11 lm339管腳圖lm339類似于增益不可調(diào)的運(yùn)算放大器。每個(gè)比較器有兩個(gè)輸入端和一個(gè)輸出端。兩個(gè)輸入端一個(gè)稱為同相輸入端,用“+”表示,另一個(gè)稱為反相輸入端,用“-”表

38、示。用作比較兩個(gè)電壓時(shí),任意一個(gè)輸入端加一個(gè)固定電壓做參考電壓(也稱為門限電平,它可選擇lm339輸入共模范圍的任何一點(diǎn)),另一端加一個(gè)待比較的信號(hào)電壓。當(dāng)“+”端電壓高于“-”端時(shí),輸出管截止,相當(dāng)于輸出端開(kāi)路。當(dāng)“-”端電壓高于“+”端時(shí),輸出管飽和,相當(dāng)于輸出端接低電位。兩個(gè)輸入端電壓差別大于10mv就能確保輸出能從一種狀態(tài)可靠地轉(zhuǎn)換到另一種狀態(tài),因此,把lm339用在弱信號(hào)檢測(cè)等場(chǎng)合是比較理想的。lm339可構(gòu)成 單限比較器、 遲滯比較器 、雙限比較器(窗口比較器) 、振蕩器等;還可以組成高壓數(shù)字邏輯門電路,并可直接與ttl、cmos電路接口。3.5.4.2 jk觸發(fā)器工作原理的簡(jiǎn)要介

39、紹相位測(cè)量電路中用到兩個(gè)jk觸發(fā)器,二者工作原理一樣,這里以前者為例來(lái)加以闡述:jk觸發(fā)器的j端、k端及電源端均接到+5v上,清零端通過(guò)c9接地,當(dāng)接通電源瞬間,清除端通過(guò)c9處于低電平,使q端置為低電平;c9逐漸充電完畢,這時(shí)清零端通過(guò)r30處于高電平。當(dāng)clk端接收到觸發(fā)脈沖時(shí),q端有低電平變?yōu)楦唠娖剑划?dāng)下一個(gè)脈沖到來(lái),q端又由高電平變?yōu)榈碗娖?,如此不斷反?fù)。74ls113為雙下降沿j-k觸發(fā)器,有預(yù)置位端。其管腳圖如圖3.12所示。圖3.12 74ls113管腳圖引腳介紹:/cp1、/cp2 時(shí)鐘輸入端(下降沿有效)j1、j2、k1、k2 數(shù)據(jù)輸入端q1、q2、/q1、/q2 輸出端/s

40、d1、/sd2 直接置位端(低電平有效)功能表如表3.6所示:表3.6 74ls113功能表(說(shuō)明:h高電平,l低電平,x任意,高到低電平跳變)3.5.4.3 鑒相器電路的設(shè)計(jì)鑒相器就是異或門電路,在鑒相器的輸入波形ug、uh中,正脈沖寬度就是ug和uh相位差所對(duì)應(yīng)的時(shí)間差,由此可見(jiàn),鑒相器在相位測(cè)量電路中起到了測(cè)量時(shí)間差的重要作用。如圖3.13所示。圖3.13 鑒相器輸入輸出波形圖由圖可知,鑒相器的輸出信號(hào)是兩輸入信號(hào)的二倍頻信號(hào),而該輸入信號(hào)是經(jīng)過(guò)jk觸發(fā)器的二分頻信號(hào),由此可知,該相位差信號(hào)和待測(cè)信號(hào)是同頻的。第4章 軟件設(shè)計(jì)在目前的單片機(jī)軟件開(kāi)發(fā)中,常用的語(yǔ)言是匯編語(yǔ)言和c語(yǔ)言兩種。匯

41、編語(yǔ)言是一種文字用助記符來(lái)表示機(jī)器指令的符號(hào)語(yǔ)言,其優(yōu)點(diǎn)是程序占用資源少、運(yùn)行速度快、執(zhí)行效率高,但具有缺乏通用性、程序可移植性差、編程比高級(jí)語(yǔ)言困難等缺點(diǎn)。c語(yǔ)言是是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,可產(chǎn)生緊湊代碼。c語(yǔ)言作為一種非常方便的語(yǔ)言而得到廣泛的支持,c語(yǔ)言程序本身并不依賴于機(jī)器硬件系統(tǒng),基本上不做修改就可以根據(jù)單片機(jī)的不同較快的移植過(guò)來(lái)。鑒于c語(yǔ)言編程有眾多優(yōu)點(diǎn),在本設(shè)計(jì)中,采用的是c語(yǔ)言編寫程序。4.1 c語(yǔ)言的簡(jiǎn)介4.1.1 c語(yǔ)言特點(diǎn)c是高級(jí)語(yǔ)言。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。c 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作, 而這三者是計(jì)算機(jī)最基本的工作

42、單元。 c是結(jié)構(gòu)式語(yǔ)言。結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦?,便于使用、維護(hù)以及調(diào)試。c 語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。c語(yǔ)言功能齊全。具有各種各樣的數(shù)據(jù)類型,并引入指針概念,可使程序效率更高。另外c語(yǔ)言也具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。而且計(jì)算功能、邏輯判斷功能也比較強(qiáng)大,可以實(shí)現(xiàn)決策目的的游戲。 c語(yǔ)言對(duì)編寫需要硬件進(jìn)行操作的場(chǎng)合,明顯優(yōu)于其它解釋型高級(jí)語(yǔ)言,有一些大型應(yīng)用軟件也是用c語(yǔ)言編寫的。 4.1.2 c語(yǔ)言

43、的優(yōu)勢(shì)c語(yǔ)言是一種結(jié)構(gòu)化的高級(jí)語(yǔ)言。其優(yōu)點(diǎn)是可讀性好,移植容易,是普遍使用的一種計(jì)算機(jī)語(yǔ)言。c語(yǔ)言是一種編譯型程序設(shè)計(jì)語(yǔ)言,它兼顧了多種高級(jí)語(yǔ)言的特點(diǎn),并具備匯編語(yǔ)言的功能。c語(yǔ)言有功能豐富的庫(kù)函數(shù)、運(yùn)算速度快、編譯效率高、有良好的可移植性,而且可以直接實(shí)現(xiàn)對(duì)系統(tǒng)硬件的控制。c語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,它支持當(dāng)前程序設(shè)計(jì)中廣泛采用的由頂向下結(jié)構(gòu)化程序設(shè)計(jì)技術(shù)。此外,c語(yǔ)言程序具有完善的模塊程序結(jié)構(gòu),從而為軟件開(kāi)發(fā)中采用模塊化程序設(shè)計(jì)方法提供了有力的保障。因此,使用c語(yǔ)言進(jìn)行程序設(shè)計(jì)已成為軟件開(kāi)發(fā)的一個(gè)主流。用c語(yǔ)言來(lái)編寫目標(biāo)系統(tǒng)軟件,會(huì)大大縮短開(kāi)發(fā)周期,且明顯地增加軟件的可讀性,便于改進(jìn)和

44、擴(kuò)充,從而研制出規(guī)模更大、性能更完備的系統(tǒng)。4.2系統(tǒng)軟件設(shè)計(jì)思想本系統(tǒng)對(duì)核心測(cè)量電路相位測(cè)量部分進(jìn)行了詳細(xì)的軟件設(shè)計(jì)。該軟件設(shè)計(jì)主要包括主程序的設(shè)計(jì)、中斷服務(wù)子程序的設(shè)計(jì)、液晶顯示程序的設(shè)計(jì)。首先要對(duì)相位差的測(cè)量過(guò)程有個(gè)基本的了解,經(jīng)分檔降壓后的待測(cè)信號(hào)輸入相位測(cè)量電路,經(jīng)過(guò)整形、鑒相一系列處理后,最終得到了相位差信號(hào),將該相位差信號(hào)送入p3.2口(int0),再將取反后的相位差信號(hào)送入p3.3口(int1)。通過(guò)軟件計(jì)數(shù)的方法對(duì)相位差信號(hào)的高電平和低電平分別計(jì)數(shù)10個(gè),同時(shí)開(kāi)啟定時(shí)器,記錄相應(yīng)的時(shí)間。具體算法如下:設(shè)相位差信號(hào)高電平的時(shí)間為t1,低電平的時(shí)間為t2,則相位差t為 (4.1)

45、 其中,相位差信號(hào)高電平的時(shí)間為t1,通過(guò)int1測(cè)得,因?yàn)閕nt1管腳接入的是相位差取反后的信號(hào),而取反信號(hào)低電平的時(shí)間就是原信號(hào)高電平的時(shí)間,當(dāng)外部中斷int1的中斷服務(wù)子程序啟動(dòng)時(shí),軟件計(jì)數(shù)也同時(shí)開(kāi)始了,定時(shí)器t0開(kāi)始定時(shí),沒(méi)來(lái)一次下降沿,軟件計(jì)數(shù)自動(dòng)加1,知道計(jì)數(shù)值為10,關(guān)閉定時(shí)器t0,并記錄此時(shí)所用時(shí)間,改時(shí)間相當(dāng)于10倍的t1;同理,相位差低電平的時(shí)間為t2,通過(guò)int0測(cè)得,相位差信號(hào)直接送了int0口,所以記錄int0低電平的時(shí)間即為t2,當(dāng)外部中斷int0的中斷服務(wù)子程序啟動(dòng)時(shí),同樣軟件計(jì)數(shù)的方法,并結(jié)合定時(shí)器t1定時(shí),最后可求得相當(dāng)于10倍t2的時(shí)間。再根據(jù)式4.1方可得

46、到所測(cè)相位差,并通過(guò)液晶顯示出來(lái)。若有不清楚之處,可參見(jiàn)下圖幫助理解。是否初始化開(kāi)始t1和t2是否非零顯示當(dāng)前相位差寫入以下字符串:“”圖4.1 主程序流程圖本設(shè)計(jì)用到了兩個(gè)外部中斷,二者原理相同,故此處不再贅述,以int1中斷服務(wù)子程序?yàn)槔?,有一下流程圖,如圖4.2所示。外部中斷int1入口開(kāi)啟定時(shí)器t0軟件計(jì)數(shù)值a是否為0定時(shí)器t0初始化計(jì)數(shù)值a自加a是否計(jì)數(shù)到10關(guān)閉定時(shí)器t0,a重新從0開(kāi)始計(jì)數(shù)記錄此時(shí)定時(shí)器的時(shí)間值返回是是否否圖4.2 int1中斷服務(wù)子程序4.3 keil3的使用本設(shè)計(jì)的軟件設(shè)計(jì)是在keil3中完成的,下面就來(lái)介紹一下他的使用步驟。打開(kāi)keil vision3,在菜

47、單欄中選擇“project”“new project”,彈出“create new project”對(duì)話窗口,選擇目標(biāo)路徑,在“文件名”欄中輸入項(xiàng)目名后,如圖4.2所示。圖4.2 “createnewproject”對(duì)話窗口單擊“保存(s)”按鈕,彈出“select device for target”對(duì)話窗口。在此對(duì)話窗口的“database”欄中,單擊“atmel”前面的“+”號(hào),或者直接雙擊“atmel”,在其子類中選擇“at89c51,確定cpu類型,如圖4.3所示。圖4.3 選擇cpu在keil vision3的菜單欄中選擇“file”一“new”命令,新建文檔,然后在菜單欄中選擇“

48、file”一“save”命令,保存此文檔,這時(shí)會(huì)彈出“save as”對(duì)話窗口,在“文件名(n)”一欄中,為此文本命名,注意要填寫擴(kuò)展名“.c”,如圖4.4所示。圖4.4 保存文件單擊“保存(s)”按鈕,這樣在編寫c語(yǔ)言時(shí),keil會(huì)自動(dòng)識(shí)別該語(yǔ)言的關(guān)鍵字,并以不同的顏色顯示,以減少在輸入代碼時(shí)出現(xiàn)的語(yǔ)法錯(cuò)誤。程序編寫完后,再次保存。在keil中“project workspace”子窗口中,單擊“targetl”前的“+”號(hào),展開(kāi)此目錄。在“source group1”文件夾上單擊鼠標(biāo)右鍵,在右鍵菜單中選擇“add file to groupgroupsourcel”,彈出“add file

49、 to group”對(duì)話窗口,在此對(duì)話窗口的“文件類型”欄中,選擇“c source file(*.c)”,并找到剛才編寫的“.c”文件,雙擊此文件,將其添加到source group中,此時(shí)的“project workspace”子窗口如圖4.5所示。圖4.5 “project workspace”子窗口在“project workspace”窗口中的“target 1文件夾上單擊鼠標(biāo)右鍵,在彈出的右鍵菜單中選擇“option for target”選項(xiàng),這時(shí)會(huì)彈出“options for target”對(duì)話窗口,在本設(shè)計(jì)中,根據(jù)實(shí)際需要,需要將時(shí)鐘頻率變?yōu)?2.0mhz并生成hex文件。在

50、此對(duì)話窗口中選擇“output”選項(xiàng)卡,選中“create hex file”選項(xiàng),如圖4.6所示。圖4.6 “options for target”對(duì)話窗口在keil的菜單欄中選擇“project”一“build target”命令,編譯源文件。如果編凋成功,則在keil的“output window”子窗口中會(huì)顯示如圖4.7所示的信息;如果編譯不成功,雙擊“output window”窗口中的錯(cuò)誤信息,則會(huì)在編輯窗口中指示錯(cuò)誤的語(yǔ)句。圖4.7 編譯源文件程序調(diào)試完畢后,再次在菜單欄中選擇“debug”“start/stop debug session”選項(xiàng),退出調(diào)試環(huán)境。第5章 實(shí)驗(yàn)調(diào)試本

51、章主要介紹了本設(shè)計(jì)的仿真調(diào)試環(huán)境以及調(diào)試結(jié)果、誤差來(lái)源等相關(guān)問(wèn)題。5.1 proteus中仿真圖的繪制與調(diào)試5.1.1 仿真圖的繪制打開(kāi)proteus isis編輯環(huán)境,如圖5.1所示。添加器件at89c51,注意在proteus中添加的cpu一定要與keil中選擇的cpu相同,否則無(wú)法執(zhí)行keil生成的hex文件。其工作界面分為原理圖編輯窗口(editing window)、預(yù)覽窗口(overview window)和工具欄。圖5.1 proteus isis 編輯環(huán)境a.新建*.dsn打開(kāi)繪圖界面后,首先新建一個(gè)繪圖文件,選擇“file”“new design”,并保存成.dsn型文件。b

52、.繪制仿真原理圖(1)添加元器件:元件拾取共有兩種辦法,一種是按類別查找和拾取元件,另一種是直接查找和拾取元件。我采用的是前一種方法,元件通常以其英文名稱或器件代號(hào)在庫(kù)中存放。我們?cè)谌∫粋€(gè)元件時(shí),首先要清楚它屬于哪一大類,然后還要知道它歸屬哪一子類,這樣就縮小了查找范圍,然后在子類所列出的元件中逐個(gè)查找,根據(jù)顯示的元件符號(hào)、參數(shù)來(lái)判斷是否找到了所需要的元件。雙擊找到的元件名,該元件便拾取到編輯界面中了。右側(cè)列表中自上而下分別為元件圖形和元件封裝。具體如圖5.2所示。圖5.2 分類拾取元件示意圖(2)元件的放置在原理圖編輯區(qū)的藍(lán)色方框內(nèi),單擊鼠標(biāo)左鍵即完成元件的釋放。如圖5.3所示。圖5.3 元

53、件的放置示意圖(3)電路連線proteus的連線是非常智能的,它會(huì)判斷你下一步的操作是否想連線從而自動(dòng)連線,而不需要選擇連線的操作,只需用鼠標(biāo)左鍵單擊編輯區(qū)元件的一個(gè)端點(diǎn)拖動(dòng)到要連接的另外一個(gè)元件的端點(diǎn),先松開(kāi)左鍵后再單擊鼠標(biāo)左鍵,即完成一根連線。如果要?jiǎng)h除一根連線,右鍵雙擊連線即可。完成連線后即可得到圖5.4所示的仿真原理圖。圖5.4 連線后的完整原理圖(4)導(dǎo)入.hex文件選中at89c51并單擊鼠標(biāo)左鍵,打開(kāi)“edit component”對(duì)話窗口,在此窗口中的“program file”欄中,選擇先前用keil生成的hex文件,如圖5.5所示。圖5.5 “edit component”

54、對(duì)話窗口在proteus isis的菜單欄中選擇“file”“save design”命令,保存設(shè)計(jì)。在保存設(shè)計(jì)文件時(shí),最好將與一個(gè)設(shè)計(jì)相關(guān)的文件(如keil項(xiàng)目文件、源程序、proteus設(shè)計(jì)文件)都存放在一個(gè)目錄下,以便查找。單擊proteus isis界面左下角的按鈕,進(jìn)入程序調(diào)試狀態(tài)。5.1.2 仿真圖的調(diào)試當(dāng)兩路信號(hào)的相位差在0360范圍內(nèi)改變時(shí),對(duì)于20hz,100 hz,1khz,10khz的信號(hào)來(lái)說(shuō),相位差會(huì)是怎么變化呢?下面由表5.1來(lái)進(jìn)行詳細(xì)說(shuō)明。表5.1 相位差測(cè)量數(shù)據(jù)表差位相相位差頻率55012935920 hz5.050.0129.0359.0100 hz5.050.

55、0129.0359.01 khz4.949.7129.3358.910 khz4.249.2128.4359.35.2誤差分析本設(shè)計(jì)中,相位測(cè)量部分采用了軟件計(jì)數(shù)的方法,而且是沿觸發(fā)狀態(tài),對(duì)相位差脈沖進(jìn)行計(jì)數(shù)(每來(lái)一個(gè)上升沿,計(jì)數(shù)值加1),因此其誤差來(lái)自所計(jì)脈沖數(shù),此誤差最大,為一個(gè)脈沖,因此,最大誤差為 (5.1)其中,為待測(cè)信號(hào)的頻率??梢?jiàn),測(cè)高頻時(shí)誤差較小,而測(cè)低頻時(shí)誤差相對(duì)較大。除了軟件上帶來(lái)的誤差外,實(shí)際電路方面也會(huì)因相互間的干擾帶來(lái)誤差。但這些誤差都可以保證在本設(shè)計(jì)允許的誤差范圍之內(nèi)。第6章 結(jié)語(yǔ)經(jīng)過(guò)測(cè)試,可以看到系統(tǒng)能夠正常工作,測(cè)量結(jié)果都能保證在允許的誤差范圍之內(nèi),本設(shè)計(jì)基本實(shí)現(xiàn)了預(yù)期目標(biāo),通過(guò)軟硬件的完美結(jié)合,克服了以往只能測(cè)量某一頻率信號(hào)相位的局限。整個(gè)電路用到的芯片和元器件均為平時(shí)常用的電路中的,其價(jià)格比較便宜,市面上也很容易購(gòu)買到,總體性能符合任務(wù)要求,界面美觀友好,操作簡(jiǎn)單方便。因此,本次電路設(shè)計(jì)的性價(jià)比相對(duì)較高。當(dāng)然系統(tǒng)中還存在很多的不足,與目前市場(chǎng)上普遍使用的三相伏安相位儀相比還有很大的差距,還有許多需要改進(jìn)的地方。本系統(tǒng)僅設(shè)計(jì)了幾個(gè)核心模塊供使用,但是在未來(lái)隨著個(gè)人能力的不斷完善和發(fā)展,還可以開(kāi)發(fā)更多的功能模塊來(lái)滿足其需求。電子技術(shù)的飛速發(fā)展帶動(dòng)了很多

溫馨提示

  • 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)論