① MPLAB IDE v8.60下載程序要注意什麼問題
兄弟,我勸你別在網路知道上問這么專業的問題,這里的問題全TMD是沒病瞎哼哼的。我上次問了個PIC單片機的問題,200分,愣是沒一個人回答的。你上專業的PIC單片機的論壇上,那裡面的才專業,給你推薦幾個:風雲PIC(專門的PIC單片機論壇),還有就是搜一下就OK了!
② MCD1的第二章MPLAB-ICD的安裝和使用
2.1MPLAB-ICD對計算機主機的要求
為了更好地發揮調試系統的性能,必須把MPLAB-IDE軟體包安裝到符合以下要求的計算機里:
奔騰(PENTIUM)系列PC或兼容計算機
微軟公司的操作系統:WINDOWS95/98,WINDOWS-NT,或者WINDOWS2000
至少16MB的系統內存,推薦使用32MB系統內存
45MB可使用的磁碟空間
一個空餘的串列通訊口
2.2安裝硬體
請按下列步驟安裝MCD1硬體系統:
2.2.1安裝模擬MCU
按三種不同情況安裝模擬MCU。
1、目標板上沒有安裝RJ-6插座:將模擬MCU(PIC16F87X)插入到MPLAB-ICD模擬頭上模擬MCU插座(40腳IC座)裡面。(參見表2-1)
用戶目標板上的MCU型號模擬頭上相應的MCU型號
PIC16F870(A)PIC16F871(A)
PIC16F871(A)PIC16F871(A)
PIC16F872(A)PIC16F871(A)
PIC16F873(A)PIC16F874(A)
PIC16F874(A)PIC16F874(A)
PIC16F876(A)PIC16F877(A)
PIC16F877(A)PIC16F877(A)
表2-1
2、目標板上已安裝RJ-6插座:將模擬MCU-PIC16F87X直接插入目標上的MCU插座裡面。
3、目標板上沒有安裝RJ-6插座:將模擬MCU-PIC16F87X直接插入目標上的MCU插座裡面,用配套6PIN連接線連接MCD1主機和用戶板[各線功能如下:黑線:Vpp,紅線:+VDD,綠線:GND,黃線RB7,白線RB6,棕線RB3(若模擬器使用自身電源則VCC不用接用戶板)]。
2.2.2連接主機、模擬頭和目標(教學實驗)板
1、安裝模擬頭:把模擬頭插入應用目標(教學演示)板的MCU插座里。如果調試的MCU是28引腳,則需將模擬頭的引出腳調整成28腳,然後插到目標(教學實驗)板上的28腳的鎖緊座里。
如目標板上有安裝RJ-6插座或用配套6芯排線連接,則不需此步驟。
RJ-6電纜內部各芯的分配如下表2-2:
J2各芯編號信號
6RB3
5RB6
4RB7
3接地
2+VDD
1Vpp
表2-2
2、用六芯扁平電纜連接MCD1主機和MCD1-DEMO教學實驗板(或用戶應用目標板)。
3、用RS-232串列口專用九芯電纜連接計算機的串列口和MCD1主機。
4、接上教學實驗板(或用戶應用目標板)的電源。使用的電源為9V、0.5A的電源適配器(插頭中心為電源負極)。
5、打開計算機主機電源。
2.3安裝軟體
MPLAB-ICD是MPLAB-IDE集成開發環境的一個可插入(ADD-ON)工具。用戶應按如下步驟安裝MPLAB-IDE集成開發環境軟體包:
1.進入WINDOWS環境里,把MCD1的CD-ROM插入光碟驅動器里。在光碟里找到MPLAB-IDE5.70.40的軟體包.
2.執行安裝程序:
在WINDOWS操作界面上找到安裝文件後,直接點擊運行即可。
3.按指導過程來安裝MPLAB-IDE集成開發環境軟體包。一定記住安裝過程中當出現要求選擇MPLAB-ICD部件的會話窗口時,要點擊並選擇該部件,以便系統安裝。
2.4使用(MCD1)MPLAB-ICD
連接硬體並安裝完軟體之後,用戶可以先在MPLAB-IDE的純編輯模式下編寫程序。在*.ASM程序編輯完成後就可以開始使用ICD。以下將以源程序tut877.asm為例說明使用過程。
2.4.1建立一個16進制調試文件
用戶需要建立一個新「項目」(*.pjt),以便將源文件*.asm和建立的十六進制文件*.hex包含在內進行調試。
2.4.1.1新「項目」目錄
為這個新項目建立一個目錄:MPLAB ut877。將tut877.asm文件從MPLAB目錄移動到該目錄下面(注意:MPLAB5.XX要求項目*.pjt必須和載入源文件*.asm處於同一個文件夾)。
2.4.1.2新「項目」
選擇Project>NewProject,選擇新項目所在的路徑,然後在文件名會話窗口裡輸入tut877.prj。
點擊「OK」按鈕(圖2-1)之後編輯項目會話窗口(EditProjectdialog)將會打開(如圖2-2所示)。
圖2-1:建立新項目-tut877.prj
圖2-2:設置開發模式前編輯項目會話窗口
2.4.1.3項目會話窗口
用戶將會在如圖2-2所示的編輯項目會話窗口看到開發模式設置(DevelopmentMode)。圖中顯示出當前工作於軟體模擬(MPLAB-SIM)方式,MCU是PIC12C508處理器。這些狀態都是用戶以前使用MPLAB-IDE集成開發環境時的設置。而現在則需要改變這些設置。
點擊「Change」按鈕後將會出現開發模式設置(DevelopmentMode)對話框(如圖2-3所示)。
圖2-3:設置開發模式
在Tools菜單條里選擇「MPLAB-ICDDebugger」。在處理器(processor)窗口選擇PIC16F877,然後點擊「OK」(注意:如果模擬或燒寫PIC87XA晶元,則只需要選取對應的不帶A型號。比如調試16F877A時,只需要將模擬頭晶元替換為16F877A,並選取晶元型號為16F877)。
這時MPLAB-IDE將和MPLAB-ICD主機之間建立通訊。在這個過程中,MPLAB-ICD會話窗口將會同時出現。
假如你看到一條錯誤報告信息,請重新檢查一下電源連線、插座是否牢固可靠、電纜是否連接正確。
注意在編輯項目會話窗口(EditProjectdialog)里是否正確選擇了開發模式和處理器設置。
在編輯項目會話窗口裡的項目文件(ProjectFile)區域里用滑鼠選取tut877.hex文件,然後點擊節點屬性(NodeProperty)按鈕(如圖2-4)。執行這項操作後系統將會彈出一個節點屬性(NodeProperty)窗口。
圖2-4:編輯項目會話窗口
2.4.1.4設置節點屬性
節點屬性會話窗口顯示出涉及到MPLAB-ICD的參數開關,這些參數都是MPASM匯編器的。當你首次打開該會話窗口時,所看到的設置均為該開發工具的默認設置。對於本範例中的應用,沒有必要修改該默認設置。
點擊「OK」按鈕(如圖2-5),返回到編輯項目會話窗口(EditProjectdialog)。
圖2-5:節點屬性會話窗口
圖2-6:增加節點
2.4.1.5增加節點
在編輯項目會話窗口裡點擊增加節點(AddNode),打開添加節點會話窗口。選擇tut877.asm,然後點擊OK即可(如圖2-6)。
2.4.1.6完成對項目的設置
在這個簡單的例子里,在路徑選擇框里沒有指定目錄。隨著你的應用越來越復雜,用戶將有可能需要在相應的選擇框里指定包含相應文件的目錄路徑。
MPASM通常會把十六進制文件的文件名(a.hex)取得和源文件(a.asm)的文件名一樣。當建立(BUILT)tut877.prj項目的時候,項目管理器將會生成一個十六進制文件tut877.hex。
圖2-7:帶節點的編輯項目會話窗口
點擊「OK」按鈕,關閉編輯項目會話窗口(EditProjectdialog),然後從MPLAB-IDE菜單項里選擇選擇命令:Project>SaveProject保存新的項目。這樣就完成了對項目的設置。
2.4.1.7建立項目(MakeProject)
現在您要從MPLAB-IDE的菜單項里選擇Project>MakeProject,使用MPASM宏匯編來程序來匯編應用程序。創建(BUILDALL)以後的結果窗口中可以看到發送給匯編器的命令行和結果信息(如圖2-8所示)。
圖2-8:創建(BUILT)以後的結果窗口
其中主要有以下三種提示信息:
1、錯誤(error):表示源文件在…有錯誤,用戶應根據提示修改源程序;
2、警告(warring);
3、信息(Message):這並不一定是錯誤,用戶的程序代碼仍然會被正確地編譯。例如:信息[302]是提示,在指示的行號(31,32和34)里用戶指定了一個並不位於第0頁面(BANK0)的通用寄存器。
點擊創建結果(BUILTRESULTS)窗口右上角的圖標X將關閉窗口。
2.4.2設置MPLAB-ICD和MPLAB
這時候,MPLAB-ICD會話窗口將會出現在計算機的桌面上。用戶須選擇適當的選擇項來設置MPLAB-IDE,使之能和MPLAB-ICD的硬體一起工作(圖2-9)
圖2-9:MPLAB-ICD會話窗口
選項選項說明
狀態(Status)菜單(不可選擇項)狀態欄顯示被執行的MPLAB-ICD函數和狀態。當編程時,可以從這里看到進程。當操作完成後,狀態欄將顯示信息「Waitingforusecommand」(等待用戶命令)
串列口和波特率菜單要確信這些設置合乎你的系統要求
上載(Upload)選項菜單現在選擇最小值,往後的範例中將會調試改變該數值
時鍾選擇范圍菜單選擇工作頻率范圍:2MHZ~10MHZ
表2-1:MPLAB-ICD會話窗口
2.4.2.1設置ICD的編程和調試選項
為了對PIC16F87X晶元進行編程,必須先對ICD選項會話窗口(ICDOptionsdialog)進行設置工作,為編程作好准備。在MPLAB-ICD的會話窗口裡點擊Options,打開ICD選項會話窗口(圖2-10)。
圖2-10:MPLAB-ICD選項會話窗口
注意:使用MCD1配套實驗板時,該實驗板默認是在晶體振盪方式,故要選擇Oscillator為XT模式(因4M晶振剛處於XT與HS的臨界狀態,所以如果你用XT振盪調試不順利可換成HS再重新PROGRAM試試).
2.4.2.2配置位和晶元類型選擇
用戶將要在這個ICD選項會話窗口中設置PIC16F87X處理器的各種配置位。
點擊圖中相應的箭頭圖標,將彈出一個對應的列表,用戶應根據需要從該列表中選擇相應的選擇項。可選項及相應說明如表2-2所示。
其中,晶元(Device)欄在本例中顯示的是PIC16F877,這是在開發模式設置(DevelopmentMode)中設定好的。要想改變這一設定,用戶需退出當前設置,輸入命令:Options>DevelopmentMode,然後正確選擇晶元。
可選項選項說明
Oscillator
振盪器本範例里使用4.000Mhz的晶體振盪器,應選擇為XT.
WatchdogTimer
看門狗定時器對於本範例里,看門狗定時器(WDT)應關閉
PowerUpTimer
上電延時定時器對於本範例里,上電延時定時器(PWRT)應關閉
BrownOutDetect
電源掉電監測對於本範例里,電源掉電監測(BOD)應關閉
LowVoltageProgram
低電壓編程當使用MPLAB-ICD時,低電壓燒寫應禁止。可以用RB3作為數字I/O。
CodeProtectData
EEPROM數據保護本範例關閉了EEPROM數據保護
FlashMemoryWrite
閃速存儲器寫本範例沒有使能通過EECON寄存器對FLASH存儲空間進行擦寫
CodeProtect
代碼保護本範例關閉了代碼保護
表2-2:配置位和晶元類型的選擇
2.4.2.3晶元ID碼和代碼校驗和
在圖2-10所示的MPLAB-ICD選項會話窗口中,用戶還會看到代碼校驗和(CHECHSUME)及ID代碼(IDCode)這兩個窗口。在本範例中,我們選擇「UseChecksumasID」,使用代碼校驗和(CHECHSUME)作為ID代碼。
2.4.2.4電壓選擇
用滑鼠點擊更新(Update)按鈕即可檢查目模擬器主機上電源Vdd(晶元供電)和Vpp(編程電源)的電壓值。
MPLAB-ICD的編程電壓大約為13伏特,該電壓是將電源電壓Vdd通過開關升壓電路(BoostConverter)升壓後得到的。
2.4.2.5編程選項
程序地址范圍(起始地址和結束地址)是可以被讀取、編程或校驗的程序或數據存儲器地址范圍。默認的程序地址范圍被設定為用戶所選晶元的程序存儲器的最大范圍。本範例將使用默認的程序地址范圍。
確信程序選擇項(ProgramOptions)下的所有檢查項都已經選中(有「√」符號為選中)。這意味著所有存儲器、ID代碼、配置位都將被編程。而且所有的存儲器都將會在編程之前被全部清除;晶元被設置為調試(Debug)模式。
2.4.3對PIC16F877進行編程
點擊Program按鈕,這時候就會將tut877.hex這個十六進制文件和調試代碼(DebugCode)寫入MPLAB-ICD模擬頭或用戶目標板(教學實驗板)中的PIC16F87X里。編程過程可能要用幾分鍾。在編程過程中,狀態欄(Statusbox)里將會顯示當前的操作順序。當編程過程結束後狀態欄里將會顯示信息「Waitingforusercommand」(等待用戶命令)。
注意:調試代碼(DebugCode)是PIC16F87X微控制器里地址范圍1F00h~1FFFh的一組特殊代碼,這些區域用來存放MPLAB-ICD在線調試功能的監控程序。
用戶可以最小化或移動MPLAB-ICD會話窗口而不能關閉它:關閉MPLAB-ICD會話窗口將退出MPLAB-ICD開發環境。假如想重新進入MPLAB-ICD,使用命令:Options>DevelopmentMode選擇MPLAB-ICD並點擊OK即可重新使用ICD環境。
2.4.4運行及調試
最後要做的就是運行程序,並對其進行調試。MPLAB為方便使用,把常用的一些運行、調試命令及窗口選項以小圖標的形式置於工具欄中。當用戶滑鼠移至小圖標上時,背景窗體的左下角將會顯示相應的說明。
以下對常用運行、調試命令及窗口選項進行簡要的介紹。
運行(Run):點擊此項後晶元將全速運行片內程序,直至遇到斷點或是接到了停止命令。圖標:
停止(HalttheProcessor):點擊此項後晶元將停止運行當前程序。圖標:
單步(Step):點擊此項後晶元將執行當前行的指令。圖標:
連續單步(StepOver):點擊此項後晶元將由當前行開始,連續執行單步操作,直至遇到斷點或是接到停止命令。圖標:
復位(ResetProcessor):點擊此項後晶元將被復位。圖標:
程序存儲器窗口(ProgramRegisterWindow):點擊此項後將打開程序存儲器窗口。圖標:
通用寄存器窗口(FileRegisterMemory):點擊此項後將打開通用寄存器窗口。圖標:
特殊功能寄存器窗口(SpecialFunctionRegisterWindow):點擊此項後將打開特殊功能寄存器(SFR)窗口。圖標:
增加新變數窗口(CreateNewWatchWindow):點擊此項後將打開觀察變數窗口,並允許用戶添加新的觀察變數。圖標:
合理運用運行調試手段將有助於更快更好的調試用戶程序。例如:
使用變數觀察窗可以集中觀察用戶關心的變數寄存器內的數據變化情況
特殊寄存器窗口集中顯示了特殊功能寄存器內的數據,用戶根據其變化可以判斷出各功能模塊的運行狀況
使用單步可以觀察到執行該行指令後的效果
使用連續單步可以較為直觀的觀察到程序的運行路徑,子程序的跳轉情況
設置斷點可以讓程序在某一句上停下,因此可以用來判斷某一子程序的入口條件是否准確,可以讓程序迅速的停在要分析的程序段上
各個運行調試手段的作用遠不止上述的幾點,這需要用戶在實際運行調試中自己體會。
注意:使用MCD1配套DEMO板實驗此程序時,須將實驗板S13的第2位置ON,在運行過程中調整實驗板上VR1的值會將A/D轉換後取得的不同值在實驗板上RC口的LED上顯示.
③ 大家好,我是學習pic單片機新手,這幾天我用mplab sim調試程序發現斷點在用單步執行調試時斷不了啊
首先PIC單片機的中斷在C中只能寫一個中斷函數,進中斷後判斷是什麼中斷標志然後再執行不同的功能。
然後保證你中斷的使能都開正確。
我覺得有可能是你單步調試步數不夠,遠沒有到定時的時間,所以一直沒跳入中斷。你可以在中斷內部設置一個斷點,然後運行,看是否能進入。
④ mplab中如何取消所有斷點
沒有用過這個IDE,IDE的操作方式都差不多。設置和取消斷點(breakpoint)都應該在DEBUG菜單下可以找到相應工具,keil c51為DEBUG-》SET / REMOVE BREAKPOINT。
⑤ MPlabX如何調試程序,選擇哪一個調試工具不能看到單步調試的箭頭
對,是先用手型圖標設置斷點,然後F5是運行到斷點處,F10和F11是逐條語句運行,區別在於F11會進到子程序里,F10不會 ORMAT(1X,I3,3X,F12.0) 70,Fydjtg
⑥ 為什麼MPLAB不能單步運行 設置完斷點後 按運行,不能單步運行
可以啊,只是斷點好像只能設置一個。
⑦ MPLAB ICD2的功能
◇其通信介面方式同時具備USB2.0高速介面(最高可達12Mbit/s)與RS-232串列介面;工作電壓范圍 為2.0~5.5V.
◇源程序編輯.
◇直接在源程序界面調試.
◇可設置一個1次斷點.
◇變數和寄存器觀察.
◇程序代碼區觀察.
◇修改寄存器.
◇停止凍結(當上位機停止運行程序時,凍結晶元的運行).
◇過電壓短路保護電路,過流保護電路,輸出反相保護電路.
◇實時背景調試.
◇晶元的燒寫或編程.
◇可支持的目標器件電壓范圍為2.0~5.5V,方便較多低壓器件的燒寫與調試(國內較多其它同類產品無法調試或燒寫低壓器件).其
⑧ 在MPLAB IDE 里怎麼設置條件斷點
在MPLAB IDE 里怎麼設置條件斷點
REAL ICE 對PIC12F/16F/16F1xxx devices 只支持1個硬體斷點,不支持軟體斷點和高級斷點。