mplab編譯匯編設置
㈠ MPLAB編譯出錯
新建x.h和x.c文件後點擊保存,可將文件保存到指定工程目錄。在x.c文件中一般都需要寫
#include<x.c>,但是編譯時經常會出現找不到該.h文件的錯誤,我們需要將該.h文件的絕對路徑包含進去#include<x:\...\x.h>或者寫成#include
"x.h"。
發現在mplab
x
ide
2.20版本里,xc8沒有設置包含路徑的話,都是會提示找不到"x.h",還是在編譯器裡面設置好路徑比較保險。
㈡ 用MPLAB IDE編譯PIC單片機程序,如何才能生成.hex文件
如果是匯編程序,直接點擊build圖標即可編譯成HEX文件。如果是C語言,因為MPLAB上沒有C編譯器,所以你還需要下載並安裝一個C編譯器。如果是PIC10/12/16等系列單片機的程序,可以用HI-TECH的PICC編譯器。如果是PIC18系列,則需要裝MICROHIP出的MCC18或者HTITECH的PICC18編譯器,如果是PIC24系列或者dsPIC系列,則需要裝MICROHIP出的MCC30或者HTITECH的PICC24編譯器
㈢ mplab x ide匯編配置位源代碼復制到哪裡
在講基於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 就是 電阻加電容。就可以做出一個便宜但精度不高的是振盪器了。
㈣ 怎樣建立mplab ide編譯器可以使用的庫文件
首先,你用的C18編譯器只能編譯PIC高端的8位單片機PIC18系列單片機。
不建議初學者開始就先學PIC18單片機,建議先學PIC10、PIC12、PIC16系列單片機。如需要編譯C文件,可以在Microchip的官網下載HT-PICC for PIC12/16那個。
但也不建議初學者開始學就用C編寫。如果你不了解單片機內部結構和指令(指令就是匯編),那你永遠也沒法學懂單片機(不管是否PIC的)。
啰嗦的話說完了,現在說一下你的問題。裝好以後,先要建立好一個項目,在建立項目的時候需要你指定編譯器,則找到Microchip C18 toolsuite,並且確認下面的編譯器和連接器的路徑都指向MCC18目錄下。
建立好項目後,載入的頭文件不是PIC.H(這個是PIC12/16系列的頭文件),而是你用什麼單片機則載入什麼頭文件,比如說PIC18F4680這款單片機,那就載入PIC18F4680.H這個文件需要注意的是並不是所有的單片機都有「自己名字.H」這樣的文件,你需要查看具體的單片機的數據手冊,這可以在Microchip網站上免費下載。
然後還需要把對應的LIB文件載入上比如說PIC18F4680.LIB,還有對應lkr文件,比如PIC18F4680.lkr。
還需要配置的是「Project」—》「Build Options」—》「Project」,在在彈出的對話框中找到「Directories」標簽,看到一個Show directories for:旁邊的下拉選項,分別找到「Include Search Path」「Library Search Path」「Linker-Script Search Path」,這三個選項,這三個分別是指定頭文件目錄(Mcc18\h)、Lib庫文件目錄(Mcc18\lib)和LKR目錄(Mcc18\bin\lkr)的。點擊那個「New」按鈕建立路徑。
如果還不行,把編譯的錯誤信息發給我看看。
不過如果你是為了長期從事PIC單片機開發的話,我還是建議你先學PIC12、PIC16,並先學匯編開始。不管單片機還是計算機,不都是從匯編指令開始學起的么!
㈤ 如何用MPLAB進行PIC反匯編
MPLAB
應該就可以。
所謂的機器碼應該就是二進制文件吧?
MPLAB IDE 可以進行反匯編(相信它也是最准確最全的PIC反編譯工具)
。具體步驟如下:
1.
啟動MPLAB IDE 執行Configure菜單下的Select Device選擇好晶元
.
2. File菜單下Import導入要反編譯的HEX文件
.
3.View菜單下Program Memory 查看程序存儲器的內容
,
在程序存儲器內容顯示窗口的左下角切換到Machine或Symbolic,
在這個窗口上就可以看到每一個地址和HEX文件對應的ASM「反編譯」就是察看源代碼,其實最佳的PIC「
反編譯」工具就是MPLAB-IDE,也具有察看源代碼的功能。不過大家要注意
,
由於PIC採用分頁技術,「反編譯」後的源程序再次編譯後一般FILE--> IMPORT-->IMPORT TO MEMORY -->調入.HEX文件(你的機器碼應該是bin文件或者hex文件,都差不多了!)
然後再WINDOW中打開PROGRAM MEMORY窗口,就得到了源程序
注意所有未用的程序段反匯編後全部成了XORLW 0FFH