http://blog.csdn.net/superanters/article/details/8541171
在講基於MPLAB X IDE 配置位配置前我先講講如何配置配置位。
比如PICLF1823的數據手冊 可以再器件配置中找到兩個寄存器。一個是配置字1 ,一個是配置字2.
對於初學者來說如此多的配置選項,該如何配置呢?我們要抓主重點。
配置字中最重要的配置選項就是:
看門狗配置 如:WDTE<1;0>; 一般選擇關閉看門狗
MCLRE復位腳的配置 如:MCLRE;一般選擇復位腳作I/O
震盪器的選擇: 如:FOSC<2:0>;根據實際情況配置,我這里一般選擇用 INTOSC 內部振盪器.
因為如果這三個沒有配置好的話程序根本無法運行。其他配置可以看數據手冊此不贅述。
MPLAB X IDE和MPLAB IDE 8不同。
MPLAB IDE 8 可以再界限中選擇配置位就行。配置選項可以不寫在代碼中。
MPLAB X IDE 如果要配置的話必須在代碼中寫出配置。
實例介紹:
1.打開MPLAB X IDE 在菜單欄中 點擊Window->PIC Memory Veiws->Configuration bits
2 在出現的Configuration Bits中的改變每個配置中的option選項,紅色的就是我們改變過的配置選項
3 配置完成后 點擊 Genarate Source Code to Output 產生配置源代碼。
將其中的 __CONFIG(FOSC_INTOSC & WDTE_OFF & PWRTE_ON & MCLRE_OFF & CP_ON & CPD_ON & BOREN_ON & CLKOUTEN_OFF & IESO_ON & FCMEN_ON);
__CONFIG(WRT_OFF & PLLEN_OFF & STVREN_ON & BORV_LO & LVP_OFF);復制到源代碼中去。源代碼中必須包涵頭文件#include<pic.h>.
此處我指出一出MPLAB X IDEv1.10 的一處錯誤 在配置中的 BORV_LO 這個配置編譯器是不認的,這可能是編寫軟件的程序員和編寫頭文件的程序猿沒有配合好:
編譯器只認得頭文件,在pic16f1823.h這個頭文件中沒有定義BORV_LO 而是把他定義為BORV_19.把BORV_HI定義成BORV_25. 總之把BORV_LO修改成BORV_19就行了。
下面應網友的要求對16F877A的配置位進行講解:
CP :程序區保護 該位置1將開啟 。(這個位是必須開啟的以防止程序被讀取)
DEBUG: 使能調試功能。如果不使能RB6 RB7腳作為普通的I/O口(根據需求)
WRT1:WRT0:寫保護位。防止程序區被意外寫入。(一般建議開啟)
CPD:EEPROM保護,(這個位必須開啟以防止EEPROM中的數據被讀取)
LVP:低電壓編程使能位。如果不使用低電壓編程 RB3將做普通I/O.MCLR必須用於編程。(根據需求)
BOREN:掉電檢測。掉電檢測的作用是單片機發現電壓不足的時候會及時的停止工作。防止一些意外操作的發生。比如 EEPROM 或者FLASH中的數據丟失(這個一般必須開啟防止丟碼)
PWRTEN:上電延時。開啟后單片機會延時72MS開始工作。保證上電后電路穩定后單片機才開始工作。不要求單片機一上電就馬上工作,這個位建議開啟。(建議開啟)
WDTEN:看門狗。 這個位根據你自己需要吧。開啟之后程序必須 不停的喂狗。喂不好程序就會復位。(根據需求)
FOSC1:FOSC0:振盪器選擇位。如果你用高速的就選擇HS.中速度的就用XT,希望速度低功耗低就用LP。希望用便宜且對精度要求不高的振盪器就用RC。(根據需求選擇)
20MHz~4MHz (包括4MHz)的石英晶振配置HS.
4MHz(包括4MHz)~200KHz(包括200KHz) 的石英晶振配置XT.
200KHz(包括200KHz)~32KHz的石英晶振配置LP.
RC 就是 電阻加電容。就可以做出一個便宜但精度不高的是振盪器了。