|
一.配置字
PIC單片機的配置字可以用__CONFIG 命令來定義:
# include
__CONFIG(x)
其中 x是配置字,頭文件中定義了相應(yīng)的配置說明符,如:
__CONFIG(WDTDIS & XT & UNPROTECT);
這將關(guān)閉看門狗,設(shè)置 XT 振方式,程序不加密。注意:不同的配置符間用'&'相聯(lián),未定義的部分保留未編程狀態(tài)。詳細(xì)的情況請參考頭文件及 PIC數(shù)據(jù)手冊
二.ID 位置
有些 PIC單片機在程序空間外還有 ID空間,可用下面的方法來定義:
# include
__IDLOC(x) 其中 x是 ID標(biāo)示,如:
__IDLOC(15F0);
將 ID的四個單元定義為:1, 5, 15, 0. ID的具體位置由所指定的 PIC芯片自動設(shè)定。
三.EEPROM 數(shù)據(jù)
有些 PIC單片機支持用外部編程器對內(nèi)部的 EEPROM 進(jìn)行編程。
__EEPROM_DATA()可以將用于初始化的數(shù)據(jù)放入 HEX 文件中,如:
__EEPROM_DATA(0, 1, 2, 3, 4, 5, 6, 7)
可將 0-7八個數(shù)放入 HEX 文件中,在用外部的編程器進(jìn)行編程時將 這八個數(shù)寫入 PIC單片機中。
__EEPROM_DATA 不是用于運行時寫入 EEPROM 數(shù)據(jù)的,在運行時請用 EEPROM_READ(),
EEPROM_WRITE()。
pic 18 __config 配置位 PIC18 的__CONFIG 設(shè)置與 PIC16 的不一樣。PIC16的如:
__CONFIG(_CP_OFF&_WDT_ON&_BODEN_ON&_PWRTE_ON&_RC_OSC); 是寫在一起的。
PIC18 不寫在一起,CONFIG1..7是分開寫的。如:
__CONFIG(1,IESODIS&FCMDIS&HS);
__CONFIG(2,BOREN&PWRTEN&WDTDIS&WDTWINDIS&WDTPS32K);
__CONFIG(3,MCLREN);
__CONFIG(4,DEBUGEN&XINSTEN&STVRDIS);
__CONFIG(5,UNPROTECT);
__CONFIG(N,X) 函數(shù)原型在 PIC18.H文件中。里面的各項設(shè)置在 PIC18Fxx22.H中。
上面的各項設(shè)置意義是:
//各項內(nèi)容在PIC18FXX22.H文件中定義
//1.振蕩器切換 OFF&故障保護(hù)時鐘監(jiān)視器 OFF&高速模式
//2.欠壓復(fù)位ON&上電延時 ON&看門狗 OFF&看門狗分頻數(shù)
//3.MCLR用于復(fù)位腳
//4.使能后臺調(diào)試器&使能指令集擴展&堆棧溢出不復(fù)位
//5.代碼不保護(hù)
PIC單片機配置位可以在寫程序的時候設(shè)置,也可以在 MPLAB 軟件里設(shè)置。如果用某些 PIC專用的燒錄工具也可以再燒錄界面來設(shè)置。
學(xué)PIC的單片機首先就必須要學(xué) CONFIG配置位等內(nèi)部寄存器。下面是各種設(shè)置配置位的方法:
1:在匯編程序里加入__CONFIG xxxxx(注意下劃線_是兩條不是一條,后面的“xxxxx”是你需要配置的各個配置位信息。比如:__CONFIG _CP_OFF & _DEBUG_ON & _WRT_ENABLE_ON & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC
2:在 C語言程序里加入__CONGFIG(xxxxxx); , (如上面說的 xxxxx是配置信息,config前的下劃線還是兩條,如:__CONFIG(INTOSCIO & WDTDIS & BORDIS & PWRTEN);注意有個分號“;”相關(guān)頭文件可以看到單獨配置位的關(guān)鍵字
3:還有就是在 MPLAB軟件里設(shè)置,建立好項目后,點擊菜單欄的 configure,然后是 configuration bit,打開窗口后修改配置位。
|
|