版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、MCD1(MPLAB®-ICD) 使用說明書 目 錄第一部分 MCD1(MPLAB-ICD) 3第一章 MPLAB-ICD概述 31.1 什么是MPLAB-ICD 31.2 MPLAB-ICD能幫你做什么? 31.3 MPLAB-ICD使用的資源 41.4 MPLAB-ICD的各組成部件 41.4.1 MPLAB-ICD主機 41.4.2 MPLAB-ICD仿真頭 51.4.3 MPLAB-IDE集成開發(fā)軟件包 51.4.4 ICDDEMO 教學實驗板 51.5 MPLAB-IDE集成開發(fā)環(huán)境 6第二章 MPLAB-ICD的安裝和使用 72.1 MPLAB-ICD對計算機主機的要求
2、72.2 安裝硬件 72.3 安裝軟件 92.4 使用MPLAB-ICD 9 2.4.1 建立一個16進制調(diào)試文件 92.4.2 設置MPLAB-ICD和MPLAB 152.4.3 對PIC16F877進行編程 192.4.4 運行及調(diào)試 20第二部分 MCD1DEMO教學實驗板 22前言MCD1DEMO教學實驗板功能概述 22第三章 用實驗板作一個開發(fā)實驗 23 附錄 MCD-DEMO線路圖 MCD-DEMO元件位置圖(各跳線、拔碼開關編號) MCD-DEMO跳線、拔碼開關操作說明第一部分 MCD1(MPLAB-ICD)第一章 MPLAB-ICD 概 述1.1. 什么是MPLAB-ICDMP
3、LAB-ICD是針對MICROCHIP公司的PIC16F87X系列MCU的廉價開發(fā)工具。MPLAB-ICD既是一個在線調(diào)試器,又是一個編程器。它工作于MPLAB-IDE集成開發(fā)環(huán)境下,利用了MICROCHIP公司的在線串行編程技術(In-Circuit Serial Programming),在所仿真的MCU(PIC16F87X)中嵌入監(jiān)控程序來實現(xiàn)實時仿真。將其仿真頭直接連接到應用系統(tǒng)的MCU插座中,就如同一片PIC16F87X一樣運行用戶的應用程序。MPLAB-ICD可以用于PIC16F87x或其他某些型號(PIC16C/Fxxx) MCU應用產(chǎn)品的電路與程序調(diào)試。MPLAB-ICD有如下
4、特性:l 在線調(diào)試功能l 源程序級的代碼調(diào)試l 實時、單步或斷點運行程序l 寄存器觀察l 可由目標系統(tǒng)提供工作電壓l 工作電壓范圍為3.0V 到 5.5Vl 工作頻率范圍為32KHZ到20MHZl 工作于MPLAB-IDE集成開發(fā)環(huán)境,該軟件兼容Microsoft Windows ® 3.X、Windows 95/98、 Windows NT ® 和 Windows 2000 ®等操作系統(tǒng)。l RS-232 串行接口方式1.2. MPLAB-ICD能幫你做什么?MPLAB-ICD可以讓你:l 實時仿真調(diào)試源程序l 調(diào)試目標板硬件系統(tǒng)l 使用MICROCHIP的“在
5、線串行編程技術(In-Circuit Serial Programming)”對目標應用控制器進行編程。 1.3. MPLAB-ICD使用的資源由于仿真MCU(PIC16F87X(A)內(nèi)嵌調(diào)試監(jiān)控程序和使用MICROCHIP“在線串行編程”功能,MPLAB-ICD將會占用仿真MCU中的以下資源:l MCLR/VPP腳(系統(tǒng)復位/編程電壓腳)l 禁止低電壓“在線串行編程(ICSP)”l RB6和RB7保留為編程和在線調(diào)試用l 六個通用文件寄存器保留給調(diào)試監(jiān)控程序(見表1-1)l 程序存儲器第一條指令(地址0X0000)必須是空操作指令NOPl 程序存儲器的最后256或88個字被保留用來存放調(diào)試代
6、碼。(根據(jù)芯片類型不同而所占字節(jié)不同,見表1-1)。 處理器類型被占用的通用寄存器被占用的程序存儲器PIC16F870/871/872(A)0x70, 0x0BB-0x0BF0x06E0-0x07FFPIC16F873/874(A)0x70, 0x0EB-0x0F00x0EE0-0x0FFFPIC16F876/877(A)0x70, 0x1EB-0x1EF0x1F00-0x1FFF表1-1 不同芯片被占用的資源1.4. MPLAB-ICD的各組成部件MPLAB-ICD由以下部件構成:l MCD1(MPLAB-ICD)主機l MCD1(MPLAB-ICD)仿真頭l MPLAB-IDE集成開發(fā)軟件
7、包(配套光盤內(nèi))l MCD1-DEMO教學實驗板l 9V,0.5A的直流電源適配器1.4.1 MPLAB-ICD主機MPLAB-ICD主機包括RS232接口與主控MCU,掌控與上位機的通訊、控制邏輯和所有的調(diào)試、編程功能。MPLAB-ICD主機上可以用自身輸入電源,也可以來自用戶目標模塊(或教學實驗板)的供電,所需要的電流最大為70mA(不包括目標板自身消耗的電流)。1.4.2 MPLAB-ICD仿真頭MPLAB-ICD仿真頭上有:l RJ-6插座:提供與主機的接口l 40腳IC座:仿真MCU插座l 引出腳:提供與應用目標板的接口(根據(jù)所要仿真的芯片型號選擇40或28引腳)l 跳線J2:用于選
8、擇仿真器主機的供電來自用戶板還是自身外接電源(跳線置1,2時由用戶板供電,置2,3時用自身電源)使用時,仿真頭相當于一實際MCU,插在應用目標板上的MCU插座上。1.4.3 MPLAB-IDE集成開發(fā)軟件包MPLAB-IDE集成開發(fā)軟件包為用戶提供一個開發(fā)、調(diào)試的集成開發(fā)環(huán)境,可運行于WINDOWS95/98或WINDOWS NT,WINDOWS2000等操作系統(tǒng)。1.4.4 MCD1-DEMO教學實驗板MCD1-DEMO教學實驗板和與之配套的學習程序是PIC單片機學習網(wǎng)專門設計的。目的在于使初學者能夠利用它較快地掌握PIC16C/FXXX單片機應用產(chǎn)品的電路與程序設計技術。教學實驗演示板上包
9、括了MCU應用產(chǎn)品中常用的電路模塊。在此基礎上,還為初學者設計了一些足以體現(xiàn)各個常用電路模塊功能的實驗與程序范例,以便于初學者通過自學或在有經(jīng)驗的人員指導下能夠較好的掌握其設計方法。教學實驗板通過MCD1仿真頭,或直接將MCU插在實驗板上并用六芯連接電纜與MCD1主機連接1.5 MPLAB-IDE集成開發(fā)環(huán)境MPLAB-IDE提供一個開發(fā)、調(diào)試用戶目標系統(tǒng)的集成開發(fā)環(huán)境。MPLAB-ICD相應的軟件也嵌入到了MPLAB-IDE軟件包里。本資料主要介紹MPLAB-ICD的設置和基本操作,關于MPLABIDE的詳細介紹,請參考MPLAB-IDE集成開發(fā)環(huán)境用戶指南。(MICROCHIP文檔資料號:
10、DS51025,英文版,需要的用戶可以到MICROCHIP網(wǎng)站或PIC單片機學習網(wǎng)下載)。第二章 MPLAB-ICD的安裝和使用21 MPLAB-ICD對計算機主機的要求為了更好地發(fā)揮調(diào)試系統(tǒng)的性能,必須把MPLAB-IDE軟件包安裝到符合以下要求的計算機里:l 奔騰(PENTIUM)系列PC或兼容計算機l 微軟公司的操作系統(tǒng):WINDOWS95/98,WINDOWS-NT,或者WINDOWS2000l 至少16MB的系統(tǒng)內(nèi)存,推薦使用32MB系統(tǒng)內(nèi)存l 45MB可使用的磁盤空間l 一個空余的串行通訊口22 安裝硬件請按下列步驟安裝MCD1硬件系統(tǒng):2.2.1安裝仿真MCU按三種不同情況安裝仿
11、真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-12、目標板上已安
12、裝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插座里。如果調(diào)試的MCU是28引腳,則需將仿真頭的引出腳調(diào)整成28腳,然后插到目標(教學實驗)板上的28腳的鎖緊座里。如目標板上有安裝
13、RJ-6插座或用配套6芯排線連接,則不需此步驟。RJ-6電纜內(nèi)部各芯的分配如下表2-2:J2各芯編號信號6RB35RB64RB73接地2+VDD1Vpp表2-22、用六芯扁平電纜連接MCD1主機和MCD1-DEMO教學實驗板(或用戶應用目標板)。3、用RS-232串行口專用九芯電纜連接計算機的串行口和MCD1主機。4、接上教學實驗板(或用戶應用目標板)的電源。使用的電源為9V、0.5A的電源適配器(插頭中心為電源負極)。5、打開計算機主機電源。2.3 安裝軟件MPLAB-ICD是MPLAB-IDE集成開發(fā)環(huán)境的一個可插入(ADD-ON)工具。用戶應按如下步驟安裝MPLAB-IDE集成開發(fā)環(huán)境軟
14、件包:1.進入WINDOWS環(huán)境里,把MCD1 的CD-ROM插入光盤驅(qū)動器里。在光盤里找到MPLAB-IDE 5.70.40的軟件包.2.執(zhí)行安裝程序:在WINDOWS操作界面上找到安裝文件后,直接點擊運行即可。3.按指導過程來安裝MPLAB-IDE集成開發(fā)環(huán)境軟件包。一定記住安裝過程中當出現(xiàn)要求選擇MPLAB-ICD部件的會話窗口時,要點擊并選擇該部件,以便系統(tǒng)安裝。 2. 4 使用(MCD1)MPLAB-ICD連接硬件并安裝完軟件之后,用戶可以先在MPLAB-IDE的純編輯模式下編寫程序。在*.ASM程序編輯完成后就可以開始使用ICD。以下將以源程序tut877.asm為例說明使用過程。
15、2.4.1 建立一個16進制調(diào)試文件用戶需要建立一個新“項目”(*.pjt),以便將源文件*.asm和建立的十六進制文件*.hex包含在內(nèi)進行調(diào)試。2.4.1.1新“項目”目錄為這個新項目建立一個目錄:MPLABtut877。將tut877.asm文件從MPLAB目錄移動到該目錄下面(注意:MPLAB5.XX要求項目*.pjt必須和載入源文件*.asm處于同一個文件夾)。2.4.1.2 新“項目” 選擇Project>New Project,選擇新項目所在的路徑,然后在文件名會話窗口里輸入tut877.prj。點擊“OK”按鈕(圖2-1)之后編輯項目會話窗口(Edit Project d
16、ialog)將會打開(如圖2-2所示)。圖2-1:建立新項目- tut877.prj圖2-2:設置開發(fā)模式前編輯項目會話窗口2.4.1.3 項目會話窗口用戶將會在如圖2-2所示的編輯項目會話窗口看到開發(fā)模式設置(Development Mode)。圖中顯示出當前工作于軟件模擬(MPLAB-SIM)方式,MCU是PIC12C508處理器。這些狀態(tài)都是用戶以前使用MPLAB-IDE集成開發(fā)環(huán)境時的設置。而現(xiàn)在則需要改變這些設置。點擊“Change”按鈕后將會出現(xiàn)開發(fā)模式設置(Development Mode)對話框(如圖2-3所示)。 圖2-3:設置開發(fā)模式 在Tools菜單條里選擇“MPLAB-
17、ICD Debugger”。在處理器(processor)窗口選擇PIC16F877,然后點擊“OK”(注意: 如果仿真或燒寫PIC87XA芯片,則只需要選取對應的不帶A型號。比如調(diào)試16F877A時,只需要將仿真頭芯片替換為16F877A,并選取芯片型號為16F877)。這時MPLAB-IDE將和MPLAB-ICD主機之間建立通訊。在這個過程中,MPLAB-ICD會話窗口將會同時出現(xiàn)。l 假如你看到一條錯誤報告信息,請重新檢查一下電源連線、插座是否牢固可靠、電纜是否連接正確。l 注意在編輯項目會話窗口(Edit Project dialog)里是否正確選擇了開發(fā)模式和處理器設置。在編輯項目會
18、話窗口里的項目文件(Project File)區(qū)域里用鼠標選取tut877.hex文件,然后點擊節(jié)點屬性(Node Property)按鈕(如圖2-4)。執(zhí)行這項操作后系統(tǒng)將會彈出一個節(jié)點屬性(Node Property)窗口。圖2-4:編輯項目會話窗口2.4.1.4 設置節(jié)點屬性節(jié)點屬性會話窗口顯示出涉及到MPLAB-ICD的參數(shù)開關,這些參數(shù)都是MPASM匯編器的。當你首次打開該會話窗口時,所看到的設置均為該開發(fā)工具的默認設置。對于本范例中的應用,沒有必要修改該默認設置。點擊“OK”按鈕(如圖2-5),返回到編輯項目會話窗口(Edit Project dialog)。 圖2-5:節(jié)點屬性會
19、話窗口圖2-6:增加節(jié)點2.4.1.5 增加節(jié)點在編輯項目會話窗口里點擊增加節(jié)點 (Add Node),打開添加節(jié)點會話窗口。選擇tut877.asm,然后點擊OK即可(如圖2-6)。2.4.1.6 完成對項目的設置在這個簡單的例子里,在路徑選擇框里沒有指定目錄。隨著你的應用越來越復雜,用戶將有可能需要在相應的選擇框里指定包含相應文件的目錄路徑。MPASM通常會把十六進制文件的文件名(a.hex)取得和源文件(a.asm)的文件名一樣。當建立(BUILT)tut877.prj項目的時候,項目管理器將會生成一個十六進制文件tut877.hex。圖2-7:帶節(jié)點的編輯項目會話窗口點擊“OK”按鈕,
20、關閉編輯項目會話窗口(Edit Project dialog),然后從MPLAB-IDE菜單項里選擇選擇命令:Project>Save Project 保存新的項目。這樣就完成了對項目的設置。2.4.1.7 建立項目(Make Project)現(xiàn)在您要從MPLAB-IDE的菜單項里選擇Project>Make Project,使用MPASM宏匯編來程序來匯編應用程序。創(chuàng)建(BUILD ALL)以后的結果窗口中可以看到發(fā)送給匯編器的命令行和結果信息(如圖2-8所示)。圖2-8:創(chuàng)建(BUILT)以后的結果窗口其中主要有以下三種提示信息:1、錯誤(error):表示源文件在有錯誤,用戶
21、應根據(jù)提示修改源程序;2、警告(warring);3、信息(Message):這并不一定是錯誤,用戶的程序代碼仍然會被正確地編譯。例如:信息302是提示,在指示的行號(31,32和34)里用戶指定了一個并不位于第0頁面(BANK 0)的通用寄存器。點擊創(chuàng)建結果(BUILT RESULTS)窗口右上角的圖標X將關閉窗口。2.4.2 設置MPLAB-ICD和MPLAB這時候,MPLAB-ICD會話窗口將會出現(xiàn)在計算機的桌面上。用戶須選擇適當?shù)倪x擇項來設置MPLAB-IDE,使之能和MPLAB-ICD的硬件一起工作(圖2-9)圖2-9:MPLAB-ICD會話窗口 選項 選項說明狀態(tài) (Status)
22、菜單(不可選擇項)狀態(tài)欄顯示被執(zhí)行的MPLAB-ICD函數(shù)和狀態(tài)。當編程時,可以從這里看到進程。當操作完成后,狀態(tài)欄將顯示信息“Waiting for use command”(等待用戶命令)串行口和波特率菜單要確信這些設置合乎你的系統(tǒng)要求上載(Upload)選項菜單現(xiàn)在選擇最小值,往后的范例中將會調(diào)試改變該數(shù)值時鐘選擇范圍菜單選擇工作頻率范圍:2MHZ10MHZ表2-1:MPLAB-ICD會話窗口2.4.2.1 設置ICD的編程和調(diào)試選項為了對PIC16F87X芯片進行編程,必須先對ICD選項會話窗口(ICD Options dialog)進行設置工作,為編程作好準備。在MPLAB-ICD的
23、會話窗口里點擊Options,打開ICD選項會話窗口(圖2-10)。圖2-10:MPLAB-ICD選項會話窗口注意:使用MCD1配套實驗板時,該實驗板默認是在晶體振蕩方式,故要選擇Oscillator為XT模式(因4M晶振剛處于XT與HS的臨界狀態(tài),所以如果你用XT振蕩調(diào)試不順利可換成HS再重新PROGRAM試試).2.4.2.2 配置位和芯片類型選擇用戶將要在這個ICD選項會話窗口中設置PIC16F87X處理器的各種配置位。點擊圖中相應的箭頭圖標,將彈出一個對應的列表,用戶應根據(jù)需要從該列表中選擇相應的選擇項。可選項及相應說明如表2-2所示。其中,芯片(Device)欄在本例中顯示的是PIC
24、16F877,這是在開發(fā)模式設置(Development Mode)中設定好的。要想改變這一設定,用戶需退出當前設置,輸入命令:Options > Development Mode ,然后正確選擇芯片。可選項選項說明Oscillator振蕩器本范例里使用4.000Mhz的晶體振蕩器,應選擇為XT.Watchdog Timer看門狗定時器對于本范例里,看門狗定時器(WDT)應關閉Power Up Timer上電延時定時器對于本范例里,上電延時定時器(PWRT)應關閉Brown Out Detect電源掉電監(jiān)測對于本范例里,電源掉電監(jiān)測(BOD)應關閉Low Voltage Program低
25、電壓編程當使用MPLAB-ICD時,低電壓燒寫應禁止??梢杂肦B3作為數(shù)字I/O。Code Protect Data EEPROM數(shù)據(jù)保護本范例關閉了EEPROM數(shù)據(jù)保護Flash Memory Write閃速存儲器寫本范例沒有使能通過EECON寄存器對FLASH存儲空間進行擦寫Code Protect代碼保護本范例關閉了代碼保護表2-2:配置位和芯片類型的選擇2.4.2.3 芯片ID碼和代碼校驗和在圖2-10所示的MPLAB-ICD選項會話窗口中,用戶還會看到代碼校驗和 (CHECHSUME)及ID代碼(ID Code)這兩個窗口。在本范例中,我們選擇“Use Checksum as ID”
26、,使用代碼校驗和(CHECHSUME)作為ID代碼。2.4.2.4 電壓選擇用鼠標點擊更新(Update)按鈕即可檢查目仿真器主機上電源Vdd(芯片供電)和Vpp(編程電源)的電壓值。MPLAB-ICD的編程電壓大約為13伏特,該電壓是將電源電壓Vdd通過開關升壓電路(Boost Converter)升壓后得到的。2.4.2.5 編程選項程序地址范圍(起始地址和結束地址)是可以被讀取、編程或校驗的程序或數(shù)據(jù)存儲器地址范圍。默認的程序地址范圍被設定為用戶所選芯片的程序存儲器的最大范圍。本范例將使用默認的程序地址范圍。確信程序選擇項(Program Options)下的所有檢查項都已經(jīng)選中(有“”
27、符號為選中)。這意味著所有存儲器、ID代碼、配置位都將被編程。而且所有的存儲器都將會在編程之前被全部清除;芯片被設置為調(diào)試(Debug)模式。2.4.3 對PIC16F877進行編程點擊Program按鈕,這時候就會將tut877.hex這個十六進制文件和調(diào)試代碼(Debug Code)寫入MPLAB-ICD仿真頭或用戶目標板(教學實驗板)中的PIC16F87X里。編程過程可能要用幾分鐘。在編程過程中,狀態(tài)欄(Status box)里將會顯示當前的操作順序。當編程過程結束后狀態(tài)欄里將會顯示信息“Waiting for user command”(等待用戶命令)。注意:調(diào)試代碼(Debug Co
28、de)是PIC16F87X微控制器里地址范圍1F00h1FFFh的一組特殊代碼,這些區(qū)域用來存放MPLAB-ICD在線調(diào)試功能的監(jiān)控程序。用戶可以最小化或移動MPLAB-ICD會話窗口而不能關閉它:關閉MPLAB-ICD會話窗口將退出MPLAB-ICD開發(fā)環(huán)境。假如想重新進入MPLAB-ICD,使用命令:Options>Development Mode選擇MPLAB-ICD并點擊OK即可重新使用ICD環(huán)境。2.4.4 運行及調(diào)試 最后要做的就是運行程序,并對其進行調(diào)試。MPLAB為方便使用,把常用的一些運行、調(diào)試命令及窗口選項以小圖標的形式置于工具欄中。當用戶鼠標移至小圖標上時,背景窗體
29、的左下角將會顯示相應的說明。 以下對常用運行、調(diào)試命令及窗口選項進行簡要的介紹。運行(Run):點擊此項后芯片將全速運行片內(nèi)程序,直至遇到斷點或是接到了停止命令。圖標: 停止(Halt the Processor):點擊此項后芯片將停止運行當前程序。圖標: 單步(Step):點擊此項后芯片將執(zhí)行當前行的指令。圖標: 連續(xù)單步(Step Over):點擊此項后芯片將由當前行開始,連續(xù)執(zhí)行單步操作,直至遇到斷點或是接到停止命令。圖標: 復位(Reset Processor):點擊此項后芯片將被復位。圖標:程序存儲器窗口(Program Register Window):點擊此項后將打開程序存儲器窗
30、口。圖標: 通用寄存器窗口(File Register Memory):點擊此項后將打開通用寄存器窗口。圖標: 特殊功能寄存器窗口(Special Function Register Window):點擊此項后將打開特殊功能寄存器(SFR)窗口。圖標: 增加新變量窗口(Create New WatchWindow):點擊此項后將打開觀察變量窗口,并允許用戶添加新的觀察變量。圖標: 合理運用運行調(diào)試手段將有助于更快更好的調(diào)試用戶程序。例如:l 使用變量觀察窗可以集中觀察用戶關心的變量寄存器內(nèi)的數(shù)據(jù)變化情況l 特殊寄存器窗口集中顯示了特殊功能寄存器內(nèi)的數(shù)據(jù),用戶根據(jù)其變化可以判斷出各功能模塊的運行
31、狀況l 使用單步可以觀察到執(zhí)行該行指令后的效果l 使用連續(xù)單步可以較為直觀的觀察到程序的運行路徑,子程序的跳轉(zhuǎn)情況l 設置斷點可以讓程序在某一句上停下,因此可以用來判斷某一子程序的入口條件是否準確,可以讓程序迅速的停在要分析的程序段上各個運行調(diào)試手段的作用遠不止上述的幾點,這需要用戶在實際運行調(diào)試中自己體會。 注意:使用MCD1配套DEMO板實驗此程序時,須將實驗板S13的第2位置ON,在運行過程中調(diào)整實驗板上VR1的值會將A/D轉(zhuǎn)換后取得的不同值在實驗板上RC口的LED上顯示.第二部分 MCD1-DEMO教學實驗板前 言MCD1-DEMO教學實驗板是PIC單片機學習網(wǎng)為PIC16F87X系列
32、芯片專門設計的一款多功能的、適于教學及自學用的實驗儀器。MCD1-DEMO教學實驗板為16F87X系列芯片的各個功能模塊提供了相應的實驗電路,以便用戶調(diào)試及驗證。在此基礎上,PIC單片機學習網(wǎng)還為初、中級使用者設計了一些對應于實驗板功能的實驗,并為其編寫了教學實驗程序。實驗板包括以下電路:l 8個LED顯示l 1602 LCD顯示l 6位數(shù)碼管電路l 6個獨立鍵盤l 外部中斷鍵盤輸入l 紅外線遙控接收輸入l RS232通信接口電路l SPI EEPROM通信電路l I2C EEPROM通信電路l DS18B20數(shù)字測溫電路(DS18B20芯片為選購器件,不在MCD1整套范圍內(nèi))l 一路電位器模
33、擬AD輸入.l 一路直流蜂鳴器可做各種發(fā)音實驗.l 所有IO口通過拔碼開關可獨立從DEMO板引出,方便用戶擴充其它資源第三章 用實驗板作一個開發(fā)實驗在本節(jié)中,我們將利用MCD1-DEMO教學實驗板做一個簡單的開發(fā)實驗。在本次實驗中,我們以非常簡單的LED流水燈為例,介紹使用MCD1仿真調(diào)試套件開發(fā)調(diào)試一個項目的全過程. 3.1 開發(fā)前準備工作 開發(fā)前先看看你是否已經(jīng)準備好了:1、 開發(fā)工具:l MCD1(MPLAB-ICD)硬件仿真器及配合硬件使用的MPLAB-IDE軟件2、 實驗板:l MCD1-DEMO教學實驗板. 3.2 實驗開始針對演示板上的硬件資源,我們先用一個小程序作為學習和應用M
34、CD1在線調(diào)試工具套件,進行項目的軟件和硬件聯(lián)合調(diào)試的范例程序,也就是當做一個用戶程序?qū)嵗菔景鍟簳r充當用戶電路的角色。這樣就構成了一個軟件、硬件齊全的自制項目模擬環(huán)境。本程序?qū)崿F(xiàn)的功能是,把端口RC的8條引腳全部設置為輸出模式,依次從引腳RC0到RC7送出高電平,然后再依次從引腳RC7到RC0送出高電平,并且周而復始,從而使得與該端口C相連的8只發(fā)光二極管LED循環(huán)依次點亮,其效果類似于一個簡單的霹靂燈。程序清單:;*;霹靂燈程序。文件名為“LED1.ASM”;*status equ 3h ;定義狀態(tài)寄存器地址portc equ 7h ;定義端口C的數(shù)據(jù)寄存器地址trisc equ 87
35、h ;定義端口C的方向控制寄存器地址flag equ 25h ;定義一個控制左移/右移的標志寄存器org 000h ;定義程序存放區(qū)域的起始地址nop ;放置一條ICD必須的空操用指令bsf status,5 ;設置文件寄存器的體1movlw 00h ;對端口C的方向控制碼00H先送Wmovwf trisc ;再由W轉(zhuǎn)移到方向控制寄存器bcf status,5 ;恢復到文件寄存器體0movlw 01h ;將00000001B先送Wmovwf portc ;再由W轉(zhuǎn)移到數(shù)據(jù)寄存器bsf flag,0 ;將左右移標志位置1,首先進行左移LEDbcf status,0 ;將標志位C先清0loop b
36、tfss status,0 ;測試進位/借位位,是1則修改標志goto loop1 ;是0則不修改標志comf flag,1 ;FLAG的BIT0作為標志位,把它取反loop1 btfss flag,0 ;判斷標志位,是1則跳到循環(huán)左移goto loop2 ;是0則跳到循環(huán)右移rlf portc,0 ;循環(huán)左移端口C數(shù)據(jù)寄存器,結果送Wmovwf portc ;將結果再送回端口C的數(shù)據(jù)寄存器goto loop3 ;跳過下面兩條指令loop2 rrf portc,0 ;循環(huán)右移端口C數(shù)據(jù)寄存器,結果送回Wmovwf portc ;將結果再送回端口C的數(shù)據(jù)寄存器 ;loop3 call delay
37、 ;調(diào)用廷時子程序goto loop ;返回;-廷時子程序-delay ;子程序名,也是子程序入口地址movlw 0ffh ;將外層循環(huán)參數(shù)值FFH經(jīng)過Wmovwf 20h ;送入用作外循環(huán)變量的20H單元lp0 movlw 0ffh ;將內(nèi)層循環(huán)參數(shù)值FFH經(jīng)過Wmovwf 21h ;送入用作內(nèi)循環(huán)變量的21H單元lp1 decfsz 21h,1 ;變量21H內(nèi)容遞減,若為0跳躍goto lp1 ;跳轉(zhuǎn)到LP1處decfsz 20h,1 ;變量20H內(nèi)容遞減,若為0跳躍goto lp0 ;跳躍到LP0處return ;返回主程序end ;源程序結束 進入該實戰(zhàn)演練的工序流程如下: 1.軟硬件的安裝:按照本說明書前面講的”MPLAB-ICD的安裝和使用”一節(jié)內(nèi)介紹的方法操作即可. 2.創(chuàng)建源文件和編輯源文件;在此介紹一種不同于前面講的創(chuàng)建源文件的方法,用Windows附件中的”記事本”這個為大家所熟知和好用的文件編輯器,并且可以方便的加入中文注釋.不過有兩點需要注意,一是注釋前面的分號”;”必須用西文半角輸入;二是必須用”.asm”擴展名存儲到事先建立的一個專用子目錄下. 3.打開MPL
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 年度財務目標達成計劃
- 廣告行業(yè)前臺工作總結
- IT行業(yè)安全管理工作總結
- 礦產(chǎn)資源行業(yè)會計的關鍵職責
- 醫(yī)學美容護士工作心得
- 2024年認識小熊教案
- 2024年牧場之國教案
- 2024年計算機教室管理制度
- 分銷合同范本(2篇)
- 辦公室合同范本(2篇)
- 足球教練員素質(zhì)和角色
- 初中八年級語文課件 桃花源記【省一等獎】
- 名校長工作總結匯報
- 商務接待禮儀流程
- 護理不良事件用藥錯誤講課
- 新教材人教版高中英語選擇性必修第一冊全冊教學設計
- 2024北京大興區(qū)初三(上)期末化學試卷及答案
- 媒體與新聞法律法規(guī)法律意識與職業(yè)素養(yǎng)
- 推土機-推土機構造與原理
- 九年級化學課程綱要
- 國家開放大學2023年7月期末統(tǒng)一試《22064管理學基礎》試題及答案-開放???/a>
評論
0/150
提交評論