前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇pic單片機(jī)范文,相信會(huì)為您的寫作帶來(lái)幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
引言
目前,在市場(chǎng)上應(yīng)用最廣泛的應(yīng)該屬于8位單片機(jī),Microchip Technoloogy公司推出的8位pic系列單片機(jī),目前在國(guó)內(nèi)市場(chǎng)上深受用戶歡迎,已經(jīng)逐漸成為單片機(jī)應(yīng)用的新潮流;但遺憾的是,目前國(guó)內(nèi)介紹它的C語(yǔ)言開(kāi)發(fā)工具的書籍和文章卻比較少,而且用的人也不多,廣大的程序員在用其開(kāi)發(fā)的過(guò)程中都在慢慢摸索,可能會(huì)走一些彎路。筆者最近在用PIC的C語(yǔ)言時(shí)就遇到了好些問(wèn)題,在這里想和最近一段時(shí)間用PIC的C語(yǔ)言的一些經(jīng)驗(yàn)和廣大的底層軟件程序員做一下交流和介紹希望本文對(duì)用PICC開(kāi)發(fā)PIC系列單片機(jī)的人有所幫助。
目前,在國(guó)內(nèi)用得比較多的是Hi-Tech的Hi-Tech PICC編譯器,而且目前市場(chǎng)上一些國(guó)內(nèi)的PIC單片機(jī)仿真器也開(kāi)始支持Hi-Tech PICC編譯格式;因此,本文主要以Hi-Tech的PICC為基礎(chǔ),介紹一下PIC的C語(yǔ)言的基本特點(diǎn)。
1 Hi-Tech PICC的C語(yǔ)言開(kāi)發(fā)工具的語(yǔ)言特點(diǎn)
PICC的C語(yǔ)言按ANSI C來(lái)定義,并進(jìn)行了C語(yǔ)言的擴(kuò)展。PICC和ANSI C有一個(gè)根本的區(qū)別就是,PICC不支持函數(shù)的遞歸調(diào)用。這是因?yàn)镻IC單片機(jī)的堆棧大小是由硬件決定的,資源有限,所以不支持遞歸調(diào)用。它的數(shù)據(jù)也遵從標(biāo)準(zhǔn)C的數(shù)據(jù)結(jié)構(gòu),PICC的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型的形式出現(xiàn)的。PICC編譯器支持的數(shù)據(jù)類型有位類型(bit)、無(wú)符號(hào)字符(unsigned char)、有符號(hào)字符(signed char)、無(wú)符號(hào)整型(unsigned int)、有符號(hào)整形(signed int)、無(wú)符號(hào)長(zhǎng)整型(unsigned long)、有符號(hào)長(zhǎng)整型(signed long)、浮點(diǎn)(float)和指針類型等。需要注意的是,PICC支持的多字節(jié)數(shù)據(jù)都采用低字節(jié)在前,高字節(jié)在后的原則。即一個(gè)多字節(jié)數(shù),比如int型,在內(nèi)存單元中存儲(chǔ)順序?yàn)榈臀蛔止?jié)存儲(chǔ)在地址低的存儲(chǔ)單元。高位字節(jié)存儲(chǔ)在地址高的存儲(chǔ)單元中,程序員在用union定義變量時(shí)一定要注意這一特點(diǎn)。
PIC的C語(yǔ)言變量分為局部變量和全局變量,所有變量在使用前必須先定義后使用。全局變量是在任何函數(shù)之外說(shuō)明的、可被任意模塊使用的、在整個(gè)程序執(zhí)行期間都保持有效的變量。局部變量在函數(shù)內(nèi)部說(shuō)明。局部變量有兩種:自動(dòng)變量和靜態(tài)變量。缺省類型為自動(dòng)變量,除非明確將其聲明為靜態(tài)變量。而且,所有的自動(dòng)變量都被分配在寄存器頁(yè)0,所以bank限定詞不能用于自動(dòng)變量,便可以用于靜態(tài)的局部變量。當(dāng)程序退出時(shí),自動(dòng)變量占用的空間釋放,自動(dòng)變量也就失去意義。靜態(tài)變量是一種局部變量,只在聲明它的函數(shù)內(nèi)部有效;但它占用固定的存儲(chǔ)單元,而這個(gè)存儲(chǔ)單元不會(huì)被別的函數(shù)使用,因此其它函數(shù)可以通過(guò)指針訪問(wèn)或修改靜態(tài)變量的值。靜態(tài)變量在程序開(kāi)始只初始化一次,因此若只在某函數(shù)內(nèi)部使用一變量,而又希望其值在2次函數(shù)調(diào)用期間保持不變,為實(shí)現(xiàn)程序模塊化,則可將其聲明為靜態(tài)變量。例如以下聲明中,有些為合法,有些為非法:
void max(void)
unsigned char var1; //合法聲明
unsigned char bank1 var2; //非法聲明
static unsigned char bank1 ver3; //合法聲明
unsigned char var4=0x02; //合法聲明,每次調(diào)用都初始化
static unsigned char bank1 var5=0x02; //合法聲明,但只初始化一次
…………
}
PICC編譯器對(duì)局部變量及傳遞參數(shù)使用RAM覆蓋技術(shù)。編譯時(shí),連接器會(huì)自動(dòng)把一些不可能被同時(shí)調(diào)用的函數(shù)的自動(dòng)變量區(qū)重疊在一起,以達(dá)到內(nèi)存的高效利用,因此其內(nèi)部RAM的利用效率非常高。
2 函數(shù)調(diào)用時(shí)參數(shù)的傳遞
PICC函數(shù)參數(shù)的傳遞是根據(jù)被傳參數(shù)的長(zhǎng)度,用W、被調(diào)函數(shù)的自動(dòng)變量區(qū)域或被調(diào)函數(shù)的參數(shù)區(qū)域傳遞,傳遞代碼比較高效。傳遞給函數(shù)的參數(shù)可以通過(guò)一個(gè)由問(wèn)號(hào)“?”、下劃線“_”及函數(shù)名加一個(gè)偏移量構(gòu)成的標(biāo)號(hào)獲取。下面為一調(diào)用求和子程序的源泉代碼:
Unsigned char add_function(unsigned char augend,unsigned char addend);
Void main(void)
{
unsigned char temp1,temp2,temp3;
tem3=add_function(temp1,temp2);
}
unsigned char add_function(unsigned char augend,unsigned char addend)
{
return(augend + addend);
}
編譯后生成的匯編程序?yàn)椋?/p>
_main
; _temp2 assigned to?a_main+0
;_temp3 assigned to ?a_main+1
; _temp1 assigned to ?a_main+2
bcf status,5
bcf status,6
movf (((?a_main+0))),w
movwf(((?_add_function)))
movf (((?a_main+2))),w
fcall (_add_function)
movwf(((?a_main+1)))
_add_function
; _augend assigned to ?a_add_function+0
; _augend stored from w
bcf status,5
bcf status,6
movwf(((?a_add_function+0)))
movf (((?a_add_function+0))),w
addwf (((?_add_function+0))),w
return
3 PICC語(yǔ)言和匯編語(yǔ)言的混合編程
一般情況下,主程序都是用C語(yǔ)言編寫的。C語(yǔ)言與匯編語(yǔ)言最大的區(qū)別在于,匯編程序執(zhí)行效率較高,因?yàn)?,C語(yǔ)言首先要用C編譯器生成匯編代碼,在不少情況下,C編譯器生成的匯編代碼不如用手工生成的匯編代碼效率高。在PICC中,可以用兩種方法在C程序中調(diào)用匯編程序。一種方法是使用#asm,#endasm及asm()在C語(yǔ)言中直接嵌入?yún)R編代碼,#asm和#endasm指令分別用于標(biāo)示嵌入?yún)R編程序塊的開(kāi)頭和結(jié)屬;asm()用于將單條匯編指令嵌入到編譯器生成的代碼中,如下所示:
void func1(void){
asm("NOP");
#asm
nop
rlf_var,f
#endasm
asm("rlf_var,f");
}
需要注意的是,嵌入?yún)R編不是完整意義上的匯編,是一種偽匯編指令,使用時(shí)必須注意它們與編譯器生成代碼之間的互相影響。
另一種方法是將匯編作為一個(gè)獨(dú)立的模塊,用匯編編譯器(ASPIC)生成目標(biāo)文件,然后用鏈接器和C語(yǔ)言生成的其它模塊的目標(biāo)文件鏈接在一起。如果變量要公用時(shí),則在另一個(gè)模塊中說(shuō)明為外部類型,并允許使用形式參數(shù)和返回值。
例如,如果在C模塊中使用匯編模塊中的函數(shù),那么在C中可知下聲明:
extern char rotate_left(char);
本聲明說(shuō)明了要調(diào)用的這個(gè)外部函數(shù)有一個(gè)char型形式參數(shù),并返回一個(gè)char型的值。而rotate_left()函數(shù)的真正函數(shù)體在外部可以被ASPIC編譯的匯編模塊(文件名后綴.as)中,具體代碼可以如下編寫:
processor16C84
PSECT text0,class=CODE,local,delta=2
GLOBAL _rotate_left
SIGNAT _rotate_4201
_rotate_left
movwf?a_rotate_left
rlf?a_rotate_left,w
return
FNSIZE _rotate_left,1,0
GLOBAL?a_rotate_left
END
需要注意的是,以C模塊中聲明的函數(shù)名稱,在匯編模塊中是以下劃線開(kāi)頭的。GLOBAL定義了一個(gè)全局變量,也等同于C模塊中的extern,SIGNAL強(qiáng)制鏈接器在鏈接各個(gè)目標(biāo)文件模塊時(shí)進(jìn)行類型匹配檢查,F(xiàn)NSIZE定義局部變量和形式參數(shù)的內(nèi)存分配。
這種方法比較麻煩,如果對(duì)某一模塊的執(zhí)行效率要求較高時(shí),可以采取這種辦法;但是,為了保證匯編程序能正常運(yùn)行,必須嚴(yán)格遵守函數(shù)參數(shù)傳遞和返回規(guī)則。當(dāng)然,為避免這些規(guī)則帶來(lái)的麻煩,一般情況下,可以先用C語(yǔ)言大致編寫一個(gè)類似功能的函數(shù),預(yù)先定義好各種變量,采用PICC-S選項(xiàng)對(duì)程序進(jìn)行編譯,然后手工優(yōu)化編譯器產(chǎn)生的匯編代碼后將其作為獨(dú)立的模塊就可以了。
4 注意事項(xiàng)
使用PICC時(shí),為了更有效地利用資源,應(yīng)注意以下幾點(diǎn):
①盡量使用無(wú)符號(hào)數(shù)和字節(jié)變量。
②在寄存器資源允許的情況下,對(duì)某些執(zhí)行效率要求較高的平級(jí)元相互調(diào)用函數(shù)中用到的內(nèi)部變量,可將其定義為全局臨時(shí)變量,編程時(shí)覆蓋使用,這樣可減少很多編譯代碼。而對(duì)于中斷函數(shù)內(nèi)部用到的變量,可用全局變量。
③對(duì)于有一定匯編經(jīng)驗(yàn)的人在開(kāi)始使用PICC時(shí),應(yīng)多注意觀看編譯后產(chǎn)生的匯編源代碼,并經(jīng)常觀看經(jīng)正確編譯鏈接后產(chǎn)生的映像文件(.MAP文件)。在該文件中,詳細(xì)列出了分配給變量和代碼的地址和生成代碼的大小等信息。使用者可了解代碼是否優(yōu)化,變量分配是否合理,堆棧是否溢出等,從而寫出高效簡(jiǎn)潔的C源代碼。
④在很多情況下,PICC不支持類型強(qiáng)制轉(zhuǎn)換。即在類型不匹配時(shí)須查驗(yàn)編譯后的匯編代碼,看是否正確,尤其是對(duì)指針操作的時(shí)候一定要注意。
⑤對(duì)某位變量自操作時(shí),比如求反,不可以直接簡(jiǎn)寫,例如:!flag;編譯后不能正確產(chǎn)生代碼,而須寫成:“flag=!flag;”
⑥盡量選擇全局優(yōu)化編譯選項(xiàng)。為保證寄存器頁(yè)(包括程序存儲(chǔ)期頁(yè)面和RAM寄存器頁(yè))的正確轉(zhuǎn)換,PICC的編譯代碼中有大量的變換寄存器頁(yè)的代碼,選擇全局優(yōu)化PICC會(huì)優(yōu)化去大量有關(guān)RP0、RP1、PCLAPH所增加的變換代碼,從而加快程序執(zhí)行速度,并節(jié)省大量的程序空間。
⑦若有某一代碼很短的函數(shù)被多個(gè)函數(shù)經(jīng)常調(diào)用,最好將其定義為宏。因?yàn)槿艉瘮?shù)代碼很短時(shí),由于被調(diào)函數(shù)和調(diào)用函數(shù)不在同一代碼頁(yè)所產(chǎn)生的附加代碼可能都會(huì)超過(guò)函數(shù)代碼本身的長(zhǎng)度。
關(guān)鍵詞Microchip單片機(jī)功耗編程
由美國(guó)Microchip公司生產(chǎn)的PIC系列單片機(jī),由于其超小型、低功耗、低成本、多品種等特點(diǎn),已廣泛應(yīng)用于工業(yè)控制、儀器、儀表、通信、家電、玩具等領(lǐng)域,本文總結(jié)了作者在PIC單片機(jī)開(kāi)發(fā)過(guò)程中的一些經(jīng)驗(yàn)、技巧,供同行參考。
1怎樣進(jìn)一步降低功耗
功耗,在電池供電的儀器儀表中是一個(gè)重要的考慮因素。PIC16C××系列單片機(jī)本身的功耗較低(在5V,4MHz振蕩頻率時(shí)工作電流小于2mA)。為進(jìn)一步降低功耗,在保證滿足工作要求的前提下,可采用降低工作頻率的方法,工作頻率的下降可大大降低功耗(如PIC16C××在3V,32kHz下工作,其電流可減小到15μA),但較低的工作頻率可能導(dǎo)致部分子程序(如數(shù)學(xué)計(jì)算)需占用較多的時(shí)間。在這種情況下,當(dāng)單片機(jī)的振蕩方式采用RC電路形式時(shí),可以采用中途提高工作頻率的辦法來(lái)解決。
具體做法是在閑置的一個(gè)I/O腳(如RB1)和OSC1管腳之間跨接一電阻(R1),如圖1所示。低速狀態(tài)置RB1=0。需進(jìn)行快速運(yùn)算時(shí)先置RB1=1,由于充電時(shí),電容電壓上升得快,工作頻率增高,運(yùn)算時(shí)間減少,運(yùn)算結(jié)束又置RB1=0,進(jìn)入低速、低功耗狀態(tài)。工作頻率的變化量依R1的阻值而定(注意R1不能選得太小,以防振蕩電路不起振,一般選取大于5kΩ)。
另外,進(jìn)一步降低功耗可充分利用“sleep”指令。執(zhí)行“sleep”指令,機(jī)器處于睡眠狀態(tài),功耗為幾個(gè)微安。程序不僅可在待命狀態(tài)使用“sleep”指令來(lái)等待事件,也可在延時(shí)程序里使用(見(jiàn)例1、例2)。在延時(shí)程序中使用“sleep”指令降低功耗是一個(gè)方面,同時(shí),即使是關(guān)中斷狀態(tài),PortB端口電平的變化可喚醒“sleep”,提前結(jié)束延時(shí)程序。這一點(diǎn)在一些應(yīng)用場(chǎng)合特別有用。同時(shí)注意在使用“sleep”時(shí)要處理好與WDT、中斷的關(guān)系。
圖1提高工作頻率的方法
例1(用Mplab-C編寫)例2(用Masm編寫)
Delay()Delay
{;此行可加開(kāi)關(guān)中斷指令
/*此行可加開(kāi)關(guān)中斷指令*/movlw.10
for(i=0;i<=10;i++)movwfCounter
SLEEP();Loop1
}Sleep
decfszCounter
gotoLoop1
return
2注意INTCON中的RBIF位
INTCON中的各中斷允許位對(duì)中斷狀態(tài)位并無(wú)影響。當(dāng)PORTB配置成輸入方式時(shí),RB<7:4>引腳輸入在每個(gè)讀操作周期被抽樣并與舊的鎖存值比較,一旦不同就產(chǎn)生一個(gè)高電平,置RBIF=1。在開(kāi)RB中斷前,也許RBIF已置“1”,所以在開(kāi)RB中斷時(shí)應(yīng)先清RBIF位,以免受RBIF原值的影響,同時(shí)在中斷處理完成后最好是清RBIF位。
3用Mplab-C高級(jí)語(yǔ)言寫PIC單片機(jī)程序時(shí)要注意的問(wèn)題
3.1程序中嵌入?yún)R編指令時(shí)注意書寫格式見(jiàn)例3。
例3
…………
while(1){#asmwhile(1){
……#asm/*應(yīng)另起一行*/
#endasm……
}/*不能正確編譯*/#endasm
……}/*編譯通過(guò)*/
……
當(dāng)內(nèi)嵌匯編指令時(shí),從“#asm”到“endasm”每條指令都必須各占一行,否則編譯時(shí)會(huì)出錯(cuò)。
3.2加法、乘法的最安全的表示方法見(jiàn)例4。
例4
#include<16c71.h>
#include
unsignedinta,b;
unsignedlongc;
voidmain()
{a=200;
b=2;
c=a*b;
}/*得不到正確的結(jié)果c=400*/
原因是Mplab-C以8×8乘法方式來(lái)編譯c=a*b,返回單字節(jié)結(jié)果給c,結(jié)果的溢出被忽略。改上例中的“c=a*b;”表達(dá)式為“c=a;c=c*b;”,最為安全(對(duì)加法的處理同上)。
3.3了解乘除法函數(shù)對(duì)寄存器的占用
由于PIC片內(nèi)RAM僅幾十個(gè)字節(jié),空間特別寶貴,而Mplab-C編譯器對(duì)RAM地址具有不釋放性,即一個(gè)變量使用的地址不能再分配給其它變量。如RAM空間不能滿足太多變量的要求,一些變量只能由用戶強(qiáng)制分配相同的RAM空間交替使用。而Mplab-C中的乘除法函數(shù)需借用RAM空間來(lái)存放中間結(jié)果,所以如果乘除法函數(shù)占用的RAM與用戶變量的地址重疊時(shí),就會(huì)導(dǎo)致出現(xiàn)不可預(yù)測(cè)的結(jié)果。如果C程序中用到乘除法運(yùn)算,最好先通過(guò)程序機(jī)器碼的反匯編代碼(包含在生成的LST文件中)查看乘除法占用地址是否與其它變量地址有沖突,以免程序跑飛。Mplab-C手冊(cè)并沒(méi)有給出其乘除法函數(shù)對(duì)具體RAM地址的占用情況。例5是乘法函數(shù)對(duì)0×13、0×14、0×19、0×1A地址占用情況。
例5
部分反匯編代碼
#include01A7081FMOVF1F,W
#include01A80093MOVWF13
;借用
unsignedlongValue@0x101A90820MOVF20,W
charXm@0x2d;01AA0094MOVWF14
;借用
voidmain()01AB082DMOVF2D,W
{Value=20;01AC0099MOVWF19
;借用
Xm=40;01AD019ACLRF1A
;借用
Value=Value*Xm01AE235FCALL035Fh
;調(diào)用乘法函數(shù)
……01AF1283BCF03,5
}01B0009FMOVWF1F
;返回結(jié)果低字節(jié)
01B10804MOVF04,W
01B200A0MOVWF20
;返回結(jié)果高字節(jié)
4對(duì)芯片重復(fù)編程
對(duì)無(wú)硬件仿真器的用戶,總是選用帶EPROM的芯片來(lái)調(diào)試程序。每更改一次程序,都是將原來(lái)的內(nèi)容先擦除,再編程,其過(guò)程浪費(fèi)了相當(dāng)多的時(shí)間,又縮短了芯片的使用壽命。如果后一次編程的結(jié)果較前一次,僅是對(duì)應(yīng)的機(jī)器碼字節(jié)的相同位由“1”變成“0”,就可在前一次編程芯片上再次寫入數(shù)據(jù),而不必擦除原片內(nèi)容。
在程序的調(diào)試過(guò)程中,經(jīng)常遇到常數(shù)的調(diào)整,如常數(shù)的改變能保證對(duì)應(yīng)位由“1”變“0”,都可在原片內(nèi)容的基礎(chǔ)繼續(xù)編程。另外,由于指令“NOP”對(duì)應(yīng)的機(jī)器碼為“00”,調(diào)試過(guò)程中指令的刪除,先用“NOP”指令替代,編譯后也可在原片內(nèi)容上繼續(xù)編程。
另外,在對(duì)帶EPROM的芯片編程時(shí),特別注意程序保密狀態(tài)位。廠家對(duì)新一代帶EPROM芯片的保密狀態(tài)位已由原來(lái)的EPROM可擦型改為了熔絲型,一旦程序代碼保密熔絲編程為“0”,可重復(fù)編程的EPROM芯片就無(wú)法再次編程了。使用時(shí)應(yīng)注意這點(diǎn),以免造成不必要的浪費(fèi)(Microchip資料并未對(duì)此做出說(shuō)明)。
參考文獻(xiàn)
【關(guān)鍵詞】PIC單片機(jī) 警示裝置 太陽(yáng)能 全方位
1 引言
電力輸配電導(dǎo)線(含電纜)、桿塔及戶外變壓裝置由于其分布范圍廣、環(huán)境復(fù)雜,特別是架空線、塔桿、變壓裝置等在人員密集區(qū)或城鄉(xiāng)結(jié)合部極易造成人員、施工機(jī)械或超高車輛的刮蹭和觸電。
目前,電力塔桿、變壓裝置等電力系統(tǒng)均安裝了警示標(biāo)志,并且已取得了比較好的效果。但是,電力架空線路過(guò)路部分并沒(méi)有任何的警示標(biāo)志,基于此我們研制了電力線路架空線過(guò)路警示裝置。
2 系統(tǒng)組成和工作原理
2.1系統(tǒng)安裝結(jié)構(gòu)
整體系統(tǒng)共有三組傳感器檢測(cè)電路組成,利用傳感器的角度范圍和安裝工藝,避免死區(qū)的出現(xiàn),達(dá)到全方位覆蓋檢測(cè)的效果,系統(tǒng)傳感器安裝圖如圖1所示。
2.2 電路系統(tǒng)結(jié)構(gòu)
線路警示裝置電路系統(tǒng)由太陽(yáng)能及鋰電池蓄電部分、光敏電阻模塊,紅外傳感器模塊、超聲波傳感器模塊、微控制器、LED警示部分、聲音報(bào)警部分、蜂鳴器報(bào)警部分和單片機(jī)控制器構(gòu)成,系統(tǒng)結(jié)構(gòu)如圖2所示。
系統(tǒng)選用系列傳感器傳感器采集現(xiàn)場(chǎng)數(shù)據(jù),微控制器PIC單片機(jī)對(duì)傳感器采集過(guò)來(lái)的數(shù)據(jù)進(jìn)行分析和處理,當(dāng)環(huán)境中的不同變量到達(dá)或超過(guò)預(yù)警值時(shí),微控制器智能響應(yīng)不同的警示電路以提醒人或者物體遠(yuǎn)離線路。當(dāng)傳感器數(shù)據(jù)回復(fù)正常時(shí),關(guān)閉報(bào)警器。達(dá)到保護(hù)線路免遭破壞和人民的生命財(cái)產(chǎn)安全不受到傷害。
3 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)硬件設(shè)計(jì)包括太陽(yáng)能電源模塊設(shè)計(jì),超聲波傳感器模塊設(shè)計(jì),紅外傳感器模塊設(shè)計(jì)等幾個(gè)部分。
3.1 主控模塊芯片選擇
系統(tǒng)微控制器選用美國(guó)Microchip(微星)公司的PICl6F1503單片機(jī)。PIC單片機(jī)是一種用來(lái)開(kāi)發(fā)的去控制設(shè)備的可編程集成電路,它是采用了精簡(jiǎn)指令集(RISC)結(jié)構(gòu)和Harvard雙總線結(jié)構(gòu)的嵌入式微控制器,其高速度、低電壓、低功耗、大電流LCD驅(qū)動(dòng)能力和低價(jià)位OTP技術(shù)等都體現(xiàn)出單片機(jī)新的技術(shù)趨勢(shì)。PICl6F1503單片機(jī)內(nèi)置看門狗(Watchdog)定時(shí)器,提高了程序運(yùn)行的可靠性。
3.2 太陽(yáng)能電源模塊設(shè)計(jì)
基于太陽(yáng)能供電,環(huán)保節(jié)能。選擇無(wú)記憶性的鋰電池作為蓄電池,實(shí)現(xiàn)太陽(yáng)能有效利用,保護(hù)環(huán)境,節(jié)約能源。 為高壓,為特定環(huán)境應(yīng)用報(bào)警裝置不易更換電源提供了良好的解決方案。通過(guò)智能電源管理芯片,對(duì)鋰電池電池短路、過(guò)充、欠充有較好的保護(hù)作用。延長(zhǎng)了蓄電池的使用壽命,并充分保證系統(tǒng)穩(wěn)定工作。太陽(yáng)能電源模塊電路圖如圖3所示。
3.3超聲波傳感器模塊設(shè)計(jì)
超聲波傳感器:超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是指頻率高于20kHz的機(jī)械波,由換能晶片在電壓的激勵(lì)下發(fā)生振動(dòng)產(chǎn)生的,它具有頻率高、波長(zhǎng)短、繞射現(xiàn)象小,特別是方向性好、能夠成為射線而定向傳播等特點(diǎn)。聲波探頭主要由壓電晶片組成,既可以發(fā)射超聲波,也可以接收超聲波。小功率超聲探頭多作探測(cè)作用。超聲波傳感器模塊設(shè)計(jì)電路圖如圖4所示。
3.4 紅外傳感器模塊設(shè)計(jì)
熱釋電紅外傳感器主要是由一種高熱電系數(shù)制成的探測(cè)元件,在每個(gè)探測(cè)器內(nèi)裝入一個(gè)或兩個(gè)探測(cè)元件,并將兩個(gè)探測(cè)元件以反極性串聯(lián),以抑制由于自身溫度升高而產(chǎn)生的干擾。有探測(cè)元件將探測(cè)并接受到的紅外輻射轉(zhuǎn)變成為微弱的電壓信號(hào),經(jīng)裝在探頭內(nèi)的場(chǎng)效應(yīng)管放大后向外輸出,人體輻射的紅外線中心波長(zhǎng)為9-10um,而探測(cè)元件的波長(zhǎng)靈敏度靈敏度在0.2-20um范圍內(nèi)幾乎穩(wěn)定不變。在傳感器頂端裝上濾光鏡,這個(gè)濾光片可通過(guò)光的波長(zhǎng)范圍是7-10um,正好適合于人體紅外輻射的探測(cè),而對(duì)其他的波長(zhǎng)紅外線由濾光片予以吸收,從而實(shí)現(xiàn)對(duì)人的檢測(cè)作用。紅外傳感器模塊電路如圖5所示。
5 結(jié)束語(yǔ)
本系統(tǒng)把可持續(xù)利用能源太陽(yáng)能以及傳感器檢測(cè)與報(bào)警跟工程應(yīng)用良好的結(jié)合起來(lái),為架空線路的防護(hù)提供了更好的保障,通過(guò)傳感器對(duì)信號(hào)的采集,實(shí)時(shí)的對(duì)線路環(huán)境進(jìn)行檢測(cè),并通過(guò)單片機(jī)軟硬件的結(jié)合處理,使得系統(tǒng)的信號(hào)干擾更小,實(shí)驗(yàn)測(cè)試證明,本設(shè)計(jì)安全可靠、保護(hù)環(huán)境,節(jié)約能源,具有一定的推廣價(jià)值。
參考文獻(xiàn)
[1]新編電子電路大全[M].北京:中國(guó)計(jì)量出版社,2011.
[2]何立民.單片機(jī)高級(jí)教程應(yīng)用與設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2005.
[3]李廣弟,朱月秀,王秀山. 單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2011.
[4]孫肖子.實(shí)用電子電路手冊(cè)[M].北京:高等教育出版社,2009.
[5]沈輝,曾祖勤.太陽(yáng)能光伏發(fā)電技術(shù)[M].背景:化學(xué)工業(yè)出版社,2005.
[4]高壓線路標(biāo)準(zhǔn)規(guī)范[M].北京:北京電力出版社,2008.
作者單位
關(guān)鍵詞:無(wú)線通信; PIC單片機(jī); LabVIEW; 控制界面
中圖分類號(hào):TN9234文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1004373X(2011)23020103
Design of Temperature and Humidity Monitoring System Based on PIC SCM
WANG Haifeng
(Guangdong Institute of Technology, Zhuhai 519090, China)
Abstract: The application of short range wireless communication technique in industrial data control is studied. The system architecture, the hardware and the software of the system are introduced. Adopting PIC SCM as control kernel, controlling micropower RF chip(nRF24E1) to achieve wireless data transmission, controlling ICL7135 chip to achieve A/D conversion of the data from sensor, adopting the LabVIEW to compile the software. Adopting this system, the accurate monitoring of temperature and humidity in complicate circumstance can be obtained, the monitoring curve and data storage can be displayed realtimely.
Keywords: wireless communication; PIC SCM; LabVIEW; control interface
收稿日期:201107210引言
隨著科學(xué)技術(shù)的發(fā)展,許多新興產(chǎn)業(yè)對(duì)環(huán)境提出了更高的要求:制造大規(guī)模集成電路需要極高的空氣潔凈度,生物化學(xué)制藥需要精確的溫濕度控制。因此,對(duì)溫、濕度和一些基本數(shù)據(jù)的監(jiān)測(cè)和控制已成為生產(chǎn)過(guò)程中非常重要的技術(shù)要求。
PIC單片機(jī)(Peripheral Interface Controller)是由美國(guó)Microchip公司推出的,由于它的硬件系統(tǒng)設(shè)計(jì)便捷、指令系統(tǒng)設(shè)計(jì)精煉、采用精簡(jiǎn)指令集和哈佛總線結(jié)構(gòu),擁有速度高、功率低、驅(qū)動(dòng)電流大及控制能力強(qiáng)等優(yōu)點(diǎn),能滿足用戶的各種需要,因此得到廣泛的應(yīng)用[1]。
本文提出一種采用PIC單片來(lái)設(shè)計(jì)實(shí)現(xiàn)的測(cè)量和控制系統(tǒng)。首先進(jìn)行實(shí)例內(nèi)容描述。
1系統(tǒng)組成
該系統(tǒng)設(shè)計(jì)內(nèi)容分成兩大部分:溫濕度的測(cè)量和控制。
1.1溫濕度測(cè)量部分
溫濕度測(cè)量部分如圖1所示,由傳感器、信號(hào)調(diào)理前端、A/D模數(shù)轉(zhuǎn)換部分和無(wú)線收發(fā)模塊組成。
圖1溫度測(cè)量部分模塊1.2溫濕度控制回饋部分
控制回饋,就是控制核心MCU根據(jù)采集的數(shù)據(jù),通過(guò)特定的算法判斷當(dāng)前的狀態(tài),并輸出相應(yīng)的指令來(lái)控制特定的模塊以控制溫濕度。系統(tǒng)結(jié)構(gòu)框圖如圖2所示。
圖2系統(tǒng)結(jié)構(gòu)框圖2系統(tǒng)硬件設(shè)計(jì)
2.1溫濕度傳感器的選擇
溫濕度傳感器大致可以分為模擬溫濕度傳感器和數(shù)字溫濕度傳感器兩類。
模擬溫濕度傳感器輸出的是信號(hào)通常是電流、電壓等線性信號(hào),要通過(guò)信號(hào)前端調(diào)理電路和A/D轉(zhuǎn)換電路來(lái)實(shí)現(xiàn)數(shù)字化,才能輸入PIC控制核心來(lái)運(yùn)算。這類常用的型號(hào)如:熱敏電阻、熱電偶、ADI公司出品的AD590、美信公司出品的MAX6613等。
數(shù)字化的溫濕度傳感器在內(nèi)部集成了傳感器、調(diào)理電路和A/D轉(zhuǎn)換等電路,可以直接輸出數(shù)字信號(hào),也可以直接與PIC單片機(jī)相連。常用的數(shù)字溫濕度傳感器有達(dá)拉斯公司出品的DS18B20,ADI公司出品的ADT75等。
該系統(tǒng)選用ADI公司出品的AD590,其主要特點(diǎn)如下:
(1) 線性化的電流輸出:1 μA對(duì)應(yīng)1 K(K為絕對(duì)溫濕度單位)。
(2) 寬溫濕度測(cè)量范圍:-55~+150 ℃。
(3) 優(yōu)異的線性:全溫濕度范圍內(nèi)達(dá)到±0.3 ℃。
(4) 寬泛的供電范圍:4~30 V。
(5) 低廉的價(jià)格。
2.2PIC單片機(jī)硬件
PIC單片機(jī)作為控制核心,其最小系統(tǒng)原理如圖3所示。圖3中PIC16F877接上供電電壓(+5 V和GND),復(fù)位電路及晶振電路,即可正常工作,顯得簡(jiǎn)潔易用[1]。
圖3PIC單片機(jī)最小系統(tǒng)原理2.3A/D轉(zhuǎn)換芯片
ICL7135是一種四位半的雙積分A/D轉(zhuǎn)換器,具有精度高(精度相當(dāng)于14位二進(jìn)制數(shù))、價(jià)格低廉、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。該系統(tǒng)利用ICL7135進(jìn)行串行數(shù)據(jù)采集。該方式結(jié)構(gòu)簡(jiǎn)單、編程簡(jiǎn)潔、占用單片機(jī)資源少。通過(guò)單片機(jī)PIC16F877的定時(shí)器T0來(lái)計(jì)脈沖個(gè)數(shù),定時(shí)器T0所用的頻率為系統(tǒng)晶振頻率的1/12。為了使定時(shí)器T0的計(jì)數(shù)脈沖與ICL7135工作所需的脈沖同步,可以將ICL7135的BUSY信號(hào)接至PIC16F877的PSP5引腳,此時(shí)定時(shí)器T0是否工作將受BUSY信號(hào)控制。當(dāng)ICL7135開(kāi)始工作時(shí),即ICL7135的BUSY信號(hào)跳高時(shí),定時(shí)器T0才開(kāi)始工作。
ICL7135與單片機(jī)的接口電路如圖4所示。將單片機(jī)的ALE端的信號(hào)經(jīng)過(guò)D觸發(fā)器4分頻后連接到ICL7135的CLK端。這樣,定時(shí)器T0所記錄的脈沖數(shù)是ICL7135測(cè)量得到的脈沖數(shù)的2倍。將定時(shí)器記錄的脈沖個(gè)數(shù)除以2得到測(cè)量脈沖個(gè)數(shù)。再將測(cè)量脈沖個(gè)數(shù)減去10001就得到了A/D轉(zhuǎn)換的結(jié)果,這樣就得到了被測(cè)的模擬量,這些轉(zhuǎn)換的實(shí)現(xiàn)全部在軟件中完成,因此非常簡(jiǎn)單。
圖4ICL7135與單片機(jī)接口電路圖2.4無(wú)線收發(fā)芯片nRF24E1
nRF24E1是挪威Nordic公司2003年開(kāi)發(fā)的一種嵌入了高性能單片機(jī)內(nèi)核的高速單片無(wú)線收發(fā)模塊。采用QFN封裝,將射頻發(fā)射、接收、GMSK調(diào)制、解調(diào)、增強(qiáng)型8051內(nèi)核、9輸入12位ADC、125頻道、UART、SPI、PWM、RTC、WDT全部集成到單芯片中[23]。芯片的內(nèi)部結(jié)構(gòu)如圖5所示。
主要組成模塊有:
(1) 微處理器:增強(qiáng)型8051內(nèi)核。
(2) 可編程控制的PWM輸出。
(3) SPI接口:nRF24E1的SPI總線中含3條串口線(SDI,SCK和SDO)。
(4) RTC喚醒定時(shí)器、WTD和RC振蕩器。
(5) A/D轉(zhuǎn)換器:nRF24E1 A/D轉(zhuǎn)換器有10位的動(dòng)態(tài)范圍。
(6) 無(wú)線收發(fā)器:nRF2401工作于全球開(kāi)放的2.4~2.5 GHz頻段。收發(fā)器由1個(gè)完整的頻率合成器、1個(gè)功率放大器、1個(gè)調(diào)節(jié)器和2個(gè)接收器組成。
(7) 電源管理:在程序的控制下,nRF24E1可進(jìn)入POWER DOWN省電模式,此時(shí)電流消耗僅為2 μA,外部中斷和看門狗復(fù)位能使系統(tǒng)退出省電模式。
(8) 抗干擾能力:采用nRF24E1芯片很容易引入跳頻機(jī)制,采用頻點(diǎn)躲避方式降低同頻干擾的影響。
圖5nRF24E1的硬件模塊3系統(tǒng)軟件設(shè)計(jì)
軟件部分包括初始化、A/D數(shù)據(jù)采集、閾值判斷以及控制輸入/輸出等幾個(gè)模塊,總體構(gòu)成如圖6所示。
圖6軟件系統(tǒng)組成3.1軟件系統(tǒng)
該系統(tǒng)的PC機(jī)端的軟件采用美國(guó)NI公司的圖形化編程語(yǔ)言LabVIEW平臺(tái),該平臺(tái)是測(cè)控領(lǐng)域優(yōu)秀軟件,被譽(yù)為工程師的語(yǔ)言,可以加快產(chǎn)品開(kāi)發(fā)速度。LabVIEW是實(shí)驗(yàn)室虛擬儀器集成環(huán)境的簡(jiǎn)稱,是目前應(yīng)用最廣、發(fā)展最快、功能最強(qiáng)的圖形化軟件開(kāi)發(fā)集成環(huán)境,摒棄了傳統(tǒng)開(kāi)發(fā)工具的復(fù)雜性。LabVIEW將廣泛的數(shù)據(jù)采集、分析與顯示功能集中在同一個(gè)環(huán)境,且功能強(qiáng)大[46]。
由LabVIEW編寫的控制界面及框圖程序如圖7,圖8所示。
圖7監(jiān)控系統(tǒng)界面圖8監(jiān)控系統(tǒng)框圖程序4結(jié)語(yǔ)
本文介紹了一個(gè)完整的溫濕度測(cè)量、控制系統(tǒng)的設(shè)計(jì)方案,包括器件的選擇、硬件的設(shè)計(jì)、軟件的設(shè)計(jì),以及代碼注釋。采用了PIC單片機(jī)上自帶的ADC模塊,用戶在自行設(shè)計(jì)時(shí),可以考慮將其換成外部的高精度或高速的ADC器件,從而將精度、速度提高;也可以采用更新、更好的傳感器,從而簡(jiǎn)化后級(jí)電路設(shè)計(jì),也可以達(dá)到提高性能的目的。
參考文獻(xiàn)
關(guān)鍵詞 PIC單片機(jī);電力線載波;PLC;OOK
中圖分類號(hào):TN409 文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1671-489X(2013)36-0138-03
1 引言
電力線載波(Power-line Communication,PLC)是一種充分利用電力線分布式系統(tǒng)的技術(shù)。該技術(shù)可以為用戶提供一系列的服務(wù),如互聯(lián)網(wǎng)絡(luò)、家庭娛樂(lè)、家庭自動(dòng)化等。同時(shí),PLC技術(shù)也幫助電力供應(yīng)者在管理電網(wǎng)的過(guò)程中有更多的競(jìng)爭(zhēng)優(yōu)勢(shì)。因?yàn)殡娏?yīng)商能夠通過(guò)電網(wǎng)將所有的用戶連接起來(lái),所以它在電表通信系統(tǒng)中得到廣泛的應(yīng)用。在遠(yuǎn)程抄表系統(tǒng)中,大功率的信號(hào)通過(guò)電網(wǎng)傳輸給了用戶,然后再接受到所有用戶的反饋信息。該系統(tǒng)已經(jīng)廣泛在歐洲得到實(shí)施,在亞洲國(guó)家也有一些試點(diǎn)。
PLC系統(tǒng)也可以用在建筑物中的數(shù)據(jù)通信,如基于PLC的門禁系統(tǒng)、基于PLC的路由器。這一技術(shù)的應(yīng)用使得鋪設(shè)線路方面的開(kāi)支大大節(jié)省。同時(shí),電力供應(yīng)商通過(guò)捆綁銷售寬帶業(yè)務(wù),從而獲得高額的利潤(rùn)。
PLC技術(shù)能夠經(jīng)濟(jì)、有效地應(yīng)用在一些特定的領(lǐng)域,主要是該技術(shù)具有許多其他有線和無(wú)線傳輸技術(shù)所不具有的優(yōu)勢(shì):PLC利用現(xiàn)有的電力線網(wǎng)絡(luò),節(jié)約了鋪設(shè)線路的成本;PLC傳輸比無(wú)線傳輸、電話線傳輸更安全,傳輸?shù)臄?shù)據(jù)不容易受到攻擊;PLC傳輸使得電網(wǎng)用戶始終在線,而且不需要過(guò)多考慮傳輸設(shè)備的電源問(wèn)題。
同樣,也存在一些不利的因素制約了PLC傳輸技術(shù)的發(fā)展:電力線輻射所造成的干擾;電網(wǎng)中的負(fù)載和用電設(shè)備使得信道中的噪聲很大;電網(wǎng)中存在一定的安全隱患,使得PLC在維修的時(shí)候需要一定的專業(yè)防護(hù)。
為了實(shí)現(xiàn)簡(jiǎn)單化,本系統(tǒng)使用OOK技術(shù)(on-off-keying,二進(jìn)制啟閉監(jiān)控技術(shù))。同時(shí),本系統(tǒng)中由接口電路來(lái)實(shí)現(xiàn)PIC單片機(jī)和電網(wǎng)之間的電氣隔離和阻抗適配。這就意味著該系統(tǒng)將使用大量的現(xiàn)成組件,從而節(jié)約了設(shè)計(jì)成本。通過(guò)分析和實(shí)驗(yàn),證實(shí)了本系統(tǒng)可以實(shí)現(xiàn)有效的信號(hào)傳輸。
2 PLC系統(tǒng)
眾所周知,電力線并不是數(shù)字信號(hào)良好的傳輸媒介,這是因?yàn)閭鬏斝诺乐械碾s散信號(hào)會(huì)作為噪聲脈沖傳輸給接收端。所以,必須通過(guò)加強(qiáng)傳輸信號(hào)來(lái)克服傳輸通道中的干擾。這就使得基波傳輸變得不可行,而數(shù)字調(diào)制技術(shù)則可以實(shí)現(xiàn)信號(hào)的安全傳輸。
如圖1所示,基本的PLC發(fā)射端、接收端電路各分為5部分。在發(fā)射端的結(jié)構(gòu)框圖中,有數(shù)據(jù)采集端、串/并行轉(zhuǎn)換器、載波頻率振動(dòng)器、數(shù)字調(diào)制模塊和接口電路。發(fā)射端的作用是將采集到的信號(hào)經(jīng)過(guò)調(diào)制電路調(diào)制后,傳送到電力線的網(wǎng)絡(luò)上。OOK模塊是一種簡(jiǎn)易的調(diào)制模塊,它采用的是ASK技術(shù)(Amplitude-shift modulation,稱作幅移鍵控技術(shù),它是通過(guò)改變載波信號(hào)幅值的大小來(lái)表示數(shù)字信號(hào)的技術(shù))。接口電路用于隔離220 V的日常照明用電和低壓用電設(shè)備。同樣,PLC的接收端通過(guò)接口電路將其與電網(wǎng)連接起來(lái)。前級(jí)放大電路能夠?qū)崿F(xiàn)信號(hào)在電力線中傳輸?shù)膿p失補(bǔ)償。放大后的信號(hào)經(jīng)過(guò)解調(diào)模塊恢復(fù)為原始數(shù)據(jù)傳輸給接收端。
3 基于PIC的電力線載波系統(tǒng)
該電力線載波系統(tǒng)將通過(guò)PIC單片機(jī)實(shí)現(xiàn)數(shù)據(jù)的生成和同步。輸入PLC發(fā)射端的數(shù)據(jù)是由PC產(chǎn)生的并行數(shù)據(jù)。PIC單片機(jī)能夠讀取并行數(shù)據(jù),并將其轉(zhuǎn)換成串行數(shù)據(jù)。這樣就保證了PIC單片機(jī)能夠通過(guò)延遲消除數(shù)據(jù)傳輸過(guò)程中開(kāi)關(guān)電路所造的尖峰噪聲。
PLC的發(fā)射端 如圖2所示,PLC的發(fā)射端由以下幾部分組成:PIC單片機(jī),實(shí)現(xiàn)傳輸數(shù)據(jù)的同步,并作為數(shù)據(jù)源;OOK調(diào)制模塊,將傳輸信號(hào)轉(zhuǎn)換成隨幅值變化的電信號(hào);電平轉(zhuǎn)換器,主要作用是實(shí)現(xiàn)PIC單片機(jī)與OOK調(diào)制模塊間的電平轉(zhuǎn)換;功率放大電路,減少信號(hào)在傳輸過(guò)程中的損失;接口電路,隔離電壓為220 V,頻率為50 Hz的高電壓和低電壓。
接口電路由LC諧波電路組成,可用于發(fā)射端和接收端,如圖3所示。接口電路的Tx端口連接到發(fā)射端,Rx端口連接到接收端。調(diào)制信號(hào)經(jīng)過(guò)接口電路傳輸?shù)诫娋W(wǎng)。根據(jù)工作經(jīng)驗(yàn)選擇相應(yīng)的參數(shù)來(lái)減少信道中的干擾,從而獲得最佳的輸出效果。因?yàn)樗x擇的載波頻率必須是持續(xù)的、穩(wěn)定的,而且載波頻率應(yīng)該比信號(hào)的傳輸頻率高,所以選用LM566組成的電壓控制振蕩器來(lái)生成頻率為140 KHz的矩形波。該頻率遠(yuǎn)大于傳輸數(shù)據(jù)的頻率,之所以選擇矩形波,是因?yàn)樗哂懈鼜?qiáng)的抗干擾能力。
調(diào)制信號(hào)經(jīng)過(guò)功率放大電路,提高所需的電流電平來(lái)驅(qū)動(dòng)接口電路。這里,功率放大電路由功率C3039晶體管組成。正是由于該晶體管能適應(yīng)高電壓、高頻率的工作環(huán)境,所以廣泛應(yīng)用于感應(yīng)電路。PLC的集成電路將工頻電路和低壓電路分離開(kāi)來(lái),同時(shí)接口電路也可以用來(lái)抑制開(kāi)關(guān)所產(chǎn)生的高電壓尖峰。
PLC的接收端 在PLC的接收端接收到的信號(hào)被前級(jí)的放大電路放大。這個(gè)放大信號(hào)經(jīng)過(guò)OOK解調(diào)模塊還原出原始的數(shù)據(jù),接收端被還原的數(shù)據(jù)傳遞到微控制器中,然后將串行數(shù)據(jù)轉(zhuǎn)換成并行數(shù)據(jù)。這個(gè)接收端接口電路與發(fā)射端的接口電路具有同樣的功能,隔離工頻高壓電。如圖4所示,OOK調(diào)制解調(diào)模塊電路的設(shè)計(jì)采用基本的邏輯門電路進(jìn)行電平轉(zhuǎn)換,該電路可以連接TTL和CMOS。由集成運(yùn)放組成的比較器可以實(shí)現(xiàn)電平轉(zhuǎn)換。該電平轉(zhuǎn)換電路可以將電壓的幅值增加到8 V,而低電壓的幅值小于2 V。OOK中的載波信號(hào)來(lái)自于LM566組成的電壓控制電路。
4 流程圖
PIC單片機(jī)通過(guò)編程將端口中輸入的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)。PIC經(jīng)過(guò)RS232傳輸引腳將串行數(shù)據(jù)輸出。PIC的流程圖如圖5所示,可以看出,微控制器通過(guò)延遲來(lái)控制信號(hào),從而減少信道中由于開(kāi)關(guān)所產(chǎn)生的尖峰脈沖。
通過(guò)對(duì)接口電路漏電工頻的測(cè)量來(lái)實(shí)現(xiàn)對(duì)其的檢測(cè)。實(shí)驗(yàn)結(jié)果表明,最大的漏電信號(hào)幅值為36 mV,這并不會(huì)給發(fā)射端和接收端信號(hào)傳輸造成太大的影響。通過(guò)3種不同類型的信號(hào)(正弦波、三角波、矩形波)來(lái)檢測(cè)接口電路,用得到的數(shù)據(jù)評(píng)估電路的衰減性能、失真和噪聲。在3個(gè)點(diǎn)(發(fā)射端、電力線、接收端)對(duì)發(fā)出信號(hào)的傳輸過(guò)程進(jìn)行檢測(cè),結(jié)果發(fā)現(xiàn),正弦信號(hào)有很強(qiáng)的衰減,所以矩形波被用作載波信號(hào)。
5 結(jié)束語(yǔ)
本文試圖設(shè)計(jì)一個(gè)簡(jiǎn)單、可靠的PLC系統(tǒng),這個(gè)系統(tǒng)可以達(dá)到穩(wěn)定、可靠和精確的要求。通過(guò)不斷地分析和總結(jié)可以看出,這個(gè)基于PIC單片機(jī)的電力線載波系統(tǒng)具有較小的噪聲和失真。同時(shí),該系統(tǒng)由現(xiàn)成的組件組成,減少了設(shè)計(jì)成本,有利于其實(shí)現(xiàn)規(guī)?;a(chǎn)。另外,它可以應(yīng)用在低速率的數(shù)據(jù)傳輸上,比如遠(yuǎn)程抄表系統(tǒng)和自動(dòng)控制系統(tǒng)。
參考文獻(xiàn)
[1]俞品.電力線通信技術(shù)的發(fā)展與應(yīng)用[J].電信科學(xué),
2002,9(1):35-30.
[2]戚銀城,尚秋峰,等.電力線載波技術(shù)的現(xiàn)狀及發(fā)展[J].華北電力大學(xué)學(xué)報(bào),2001(1):15-16.
[3]潘瑩玉.電力線載波通信的現(xiàn)狀分析[J].電網(wǎng)技術(shù),
1998(2):33-40.
[4]尹曉華.智能用電小區(qū)的寬帶無(wú)線綜合業(yè)務(wù)系統(tǒng)研究[J].中國(guó)電力教育,2010(S2):3-5.
[5]賴征田.電力線載波信道特性研究及仿真[J].電力系統(tǒng)通信,2010(10):6-8.
[6]陳蘭英,孔媛媛.電力線載波通信技術(shù)的發(fā)展與應(yīng)用前景[J].江蘇電機(jī)工程,2007(6).
[7]何健,杜海霞.新時(shí)代的電力線通信技術(shù)[J].東北電力學(xué)院學(xué)報(bào),2005(2):13-15.
[8]田秀華.低壓電力線擴(kuò)頻載波遠(yuǎn)程抄表系統(tǒng)的研究[J].信息技術(shù),2003(6):23-24.