




已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章 EM78系列單片機(jī)的開(kāi)發(fā)工具及編程器EM78單片機(jī)的開(kāi)發(fā)工具一般包括:(1)宏匯編(交叉匯編)(2)仿真器(3)程序燒寫(xiě)器。單片機(jī)的開(kāi)發(fā)過(guò)程如下:1) 用編輯軟件(如:EDIT、PE2等)輸入源程序(擴(kuò)展名DT)2) 用宏匯編(ASM456/ASM447)對(duì)源程序(*。DT)進(jìn)行匯編。3) 使用仿真器(ICE456/447)進(jìn)行程序調(diào)試。仿真調(diào)試正確轉(zhuǎn)向下一步,不正確則修改源程序再轉(zhuǎn)向“2”開(kāi)始。4) 將調(diào)試完畢的目標(biāo)碼(*.CDS)用燒寫(xiě)器燒入EM78單片機(jī)中。5) 將燒好的單片機(jī)插入實(shí)際電路中檢查,若正確則開(kāi)發(fā)完畢,否則修改程序轉(zhuǎn)向“2”開(kāi)始。下面分別介紹上述三種開(kāi)發(fā)工具。6.1. 宏匯編(交叉匯編)與匯編語(yǔ)言格式6.1.1. 宏匯編程序ASM456是EM78154/156/256/456的匯編程序。ASM447是EM78247/447的匯編程序。ASM456/447是臺(tái)灣義隆電子公司設(shè)計(jì)的針對(duì)EM78單片機(jī)的匯編軟件,該軟件也包含在仿真器(E8-ICE)的集成調(diào)試軟件中,也可以直接在仿真器軟件中匯編,也可以單獨(dú)使用。對(duì)源程序匯編后會(huì)產(chǎn)生如下文件:*.dt:源程序*.std:提供給程序設(shè)計(jì)者參考的標(biāo)準(zhǔn)文件*.cds:即一般所謂的目標(biāo)文件(object文件).ice:提供給仿真器(E8-ICE)顯示使用*.lin 及*.adr:提供給仿真器(E8-ICE)的數(shù)據(jù)庫(kù)使用注:*.ice 及*.std為可讀的文本文件,其余為不可讀。若匯編失敗,將產(chǎn)生一個(gè)*.err文件,內(nèi)為錯(cuò)誤信息,以便設(shè)計(jì)者排錯(cuò)用。6.1.2. 匯編語(yǔ)言格式以下就該編譯器的語(yǔ)法,作一詳盡介紹。(1)鍵入格式本編譯器並不對(duì)字之大寫(xiě)或小寫(xiě)作區(qū)別,如 MOV, Mov, mOV,和 MoV 在解釋上是不做區(qū)別的。(2)在常數(shù)之前請(qǐng)加小鼠標(biāo),其它如寄存器(r) 及位(b)之前則不加。例如MOV A, 0x55;add before constant 0x55 BC 0x7, 0x4;no before both register;7 and bit4 SUB 0x10,A ;no before register 0x10(3)數(shù)字格式a、十六進(jìn)位制之前先加 0x,例如 0xA、 0x55、 0x11。PS 只處理二位。 b、十進(jìn)位制之前不加辨識(shí)字元。(4); 請(qǐng)置于備忘陳述或註解之前。 例如;*;This is an example of how to write;an EMC 8_bit program;Date of programming: March 12, 1996;*(5)ORG 定義起始位址。 其語(yǔ)法為ORG ADDR。 例如ORG0x000;address begins from 0x000NOPNOP:ORG0x600;another address starts from 0x600NOPNOP:(6)= 定義一代號(hào)值。其語(yǔ)法為“SYMBOL = K”,例如TCC =0x01PC =0x02BUFFER = 0x20COUNTER = 0x21 a、代號(hào)字串長(zhǎng)度不得大于11個(gè)字母。 b、定義代號(hào)不一定在程序一開(kāi)始,只要在使用之前定義即可。(7)面向寄存器型指令的語(yǔ)法可分為以下三類:a、直接對(duì)寄存器做運(yùn)算。其語(yǔ)法為INST REG。 例如 IOW 0x05 INC 0x10 DJZ 0x10 RRC 0x10b、與 A 做運(yùn)算,結(jié)果存入 A 中。其語(yǔ)法為 INST A, REG。例如 MOV A, 0x15 AND A, 0x15 SUB A, 0x15c、與 A 做運(yùn)算,結(jié)果存入寄存器中。其語(yǔ)法為 INST REG, A。例如 MOV 0x15, A AND 0x15, A SUB 0x15, A(8)位處理型指令的語(yǔ)法為 INST REG, BIT。 例如 BC 0x05, 0x1 BS 0x05, 0x1 JBC 0x05, 0x1 JBS 0x05, 0x1(9)標(biāo)號(hào)的用法a、標(biāo)號(hào)字串長(zhǎng)度不得大于11個(gè)字母。b、標(biāo)號(hào)字串之后要加一個(gè)冒號(hào)“:”。冒號(hào)之后要換行。本資源來(lái)自【明天的陽(yáng)光 QQ:380615448】更多CAD機(jī)械制圖資料,請(qǐng)加QQ:380615448更多三維模型,請(qǐng)加QQ:380615448定做畢業(yè)設(shè)計(jì),請(qǐng)加QQ:3806154486.1.3. 錯(cuò)誤信息說(shuō)明:信息 1:16 characters at most for a name/label。說(shuō)明:當(dāng)定義代號(hào)或標(biāo)號(hào)名大于 16 個(gè)字母時(shí)。信息 2: out of range, it must be from 0x5 to 0x7。說(shuō)明:在試圖定義一不存在的輸出輸入口 ( I/O PORT )時(shí)信息 3: unknown instruction, or syntax。說(shuō)明:在編譯某一行之陳述( statement )時(shí), 發(fā)現(xiàn)指令以外之字元,或語(yǔ)法不符規(guī)定。信息 4:out of range, it must be from 0 to 0xFF。說(shuō)明: 在設(shè)定一常數(shù)值時(shí),其值大于上限 255。信息 5: digits only。說(shuō)明:以數(shù)字開(kāi)頭的字( word),會(huì)被解釋成 十進(jìn)位的語(yǔ)法。信息 6:out of range, it must be from 0 to 0x400。說(shuō)明:在 EOP 之前,或 EOP 兩之間程序長(zhǎng) 度大于 1K( 1024 )。信息 7:out of range, it must be from 0 to 0x3F。說(shuō)明:當(dāng)企圖使用寄存器的位置超過(guò) 63。信息 8:reserved word or comma ,, required。說(shuō)明:使用之代號(hào)名稱或標(biāo)號(hào)明是指令保留字。 如 com, tbl.等等。信息 9: argument does not assign a value。說(shuō)明:在編譯某一行之陳述(statement )時(shí),發(fā)現(xiàn) 代號(hào)名稱之值並未事先以予設(shè)定。信息 10:name/label duplicates。說(shuō)明:代號(hào)名稱或標(biāo)號(hào)名重複使用。信息 11:name can not match with label。說(shuō)明:某一代號(hào)名稱與某一標(biāo)號(hào)名雷同。信息 12:out of range, it must be less than 0x1FFF。說(shuō)明:程序長(zhǎng)度大于該一系列可編程的地址上限。信息 13:too many pages。說(shuō)明:使用過(guò)多之 EOP。信息 14:the current page is overlapping with the last page。說(shuō)明:在 EOP 之前,或 EOP 兩之間程序 長(zhǎng)度大于 1K( 1024 )。信息 15:the ORG overlaps with the address before it。說(shuō)明:目前 ORG 所定義之起始位址小于其 上一行指令之位址。6.1.4. 編譯結(jié)果說(shuō)明:(1)當(dāng)編譯失敗時(shí),會(huì)產(chǎn)生一個(gè) .ERR檔,內(nèi)容記載如上所述之錯(cuò)誤信息。其格式如下:Compiling: dirfname.dtError ln_no instruction statement: error message說(shuō)明:dir: 路徑,fname: 文件名稱,ln_no: 發(fā)生語(yǔ)法錯(cuò)誤之行數(shù),instruction statement:該行之原始指令陳述,error message: 錯(cuò)誤信息。例如:Compiling:.emcdataexample.dtError 100 IOW 0x08: out of range,.Error 125 Ad A, 0x10: unknown . (2)當(dāng)編譯成功時(shí),會(huì)產(chǎn)生如下幾個(gè)文件:a、 .cds:即一般所說(shuō)的目標(biāo)文件( object file),b、.ice:提供 E8-ICE 顯示使用,c、.std:提供程序設(shè)計(jì)者參考的標(biāo)準(zhǔn)文件。d、.lin、和 .adr:提供E8-ICE內(nèi)容庫(kù) 使用。 .ice 和 .std 為可讀的 Text file,其余 則為不可讀的 Binary file。6.2. 軟件仿真器使用說(shuō)明6.2.1. 軟件仿真器WIM156基本介紹WIM156的設(shè)計(jì)是針對(duì)單片機(jī)的初學(xué)者它提供了一個(gè)簡(jiǎn)單的使用環(huán)境以及學(xué)習(xí)環(huán)境。WIM156軟件設(shè)備中包括兩個(gè)部分第一個(gè)為編譯器第二個(gè)為軟件仿真器。上述兩個(gè)軟件設(shè)備是相輔相成的並不能分開(kāi)。當(dāng)使用者進(jìn)入WIM156並打開(kāi)文件之后WIM156就完成編譯的動(dòng)作並且已經(jīng)進(jìn)入仿真的功能了。開(kāi)發(fā)這套設(shè)備的工程師所使用的工作環(huán)境如下:PC: ACERpower DX4vp視窗環(huán)境: windows 3.1英文版. (若是使用中文版會(huì)降低執(zhí)行的速度)屏幕解析度: 640 * 480 pixel. 鼠標(biāo): PS2 mouseCPU: INTEL80486 DS-75模擬對(duì)象: 義隆電子公司的EM78156 & EM78P156八位單片機(jī)WIM156是針對(duì)初學(xué)者所設(shè)計(jì)的一個(gè)單片機(jī)仿真器, 並且提供一個(gè)簡(jiǎn)易的操作環(huán)境. 我們所用的單片機(jī)主體是國(guó)內(nèi)義隆電子所生產(chǎn)的8位單片機(jī), EM78156 & EM78P156.6.2.2. 硬件設(shè)備介紹搭配WIM156的硬件裝備是由PRINTER PORT所延伸, 在此我們稱它為ADOPT. ADOPT的主要控制器為義隆電子公司的EM78447B或EM78P447B. ADOPT接受從PC PRINTER PORT過(guò)來(lái)的資料, 真實(shí)的模擬各種不同的I/O動(dòng)作, 包括floating , input, output等. 在ADOPT中, 有一個(gè)插槽可以讓你連接排線以便于控制外部的電路. 此外在ADOPT板面上也有超過(guò)300個(gè)萬(wàn)用孔可供使用者接一些簡(jiǎn)易的電路.下為PC外接ADOPT的簡(jiǎn)圖圖 6.1 軟件仿真器WIM156系統(tǒng)構(gòu)成6.2.3. 屏幕瀏覽器圖 6.2 WIM156進(jìn)入時(shí)的畫(huà)面執(zhí)行WIM156之后,在屏幕上會(huì)產(chǎn)生三塊區(qū)分明顯的方塊,如下圖所示 分別是:1. 原始程序?yàn)g覽區(qū) ( source code viewer ) 2. 通用寄存器以及特殊寄存器瀏覽區(qū) ( general register & special register viewer )3. 寄存器塊瀏覽區(qū) (bank register viewer )原始程序?yàn)g覽區(qū)主要的目的就是要觀看使用者所寫(xiě)的組合語(yǔ)言. 原始程序?yàn)g覽區(qū)會(huì)在原先的程序之前加數(shù)字, 代表程序指令執(zhí)行的順序. 不過(guò)有一點(diǎn)是要各位使用者注意的. 原始程序?yàn)g覽區(qū)的瀏覽程度大小是限制于32k bytes以下. 並且有效的指令敘述也不要超過(guò)1000行, 因?yàn)樗M的單片機(jī)是EM78156 & EM78P156, 它們的記憶體大小等于1 k words.其他的兩個(gè)瀏覽器分別顯示各個(gè)寄存器的內(nèi)含值, 在這兩個(gè)區(qū)域中, 除了R3, R4之外其他的寄存器都可以在屏幕上直接修改.6.2.4. 功能描述功能名稱快速鑑說(shuō)明Brkpt-F2F2Brkpt是Break point的縮寫(xiě). 當(dāng)使用者執(zhí)行這個(gè)功能時(shí)會(huì)產(chǎn)生一個(gè)如下圖所示的對(duì)話窗.你可以在這個(gè)對(duì)話窗中加入中斷的位址使用者可以輸入位址設(shè)定中斷位址也可以用標(biāo)記設(shè)定中斷點(diǎn)分別使用對(duì)話窗的左方兩個(gè)輸入框。請(qǐng)注意在輸入完每一個(gè)中斷位址都必須要按下OK鍵。中斷點(diǎn)的設(shè)定是沒(méi)有限制的使用者可以將中斷點(diǎn)設(shè)在任何須要的地方若是所有的程序碼都設(shè)成了中斷點(diǎn)那程序執(zhí)行起來(lái)就像是單步執(zhí)行了。在對(duì)話窗的左邊所顯示的中斷位址是以16進(jìn)位的方式來(lái)顯示的。Clear-F3F3這個(gè)功能會(huì)讓使用者清除所有的中斷點(diǎn)。Run-F5F5當(dāng)始用者執(zhí)行這個(gè)功能時(shí)會(huì)產(chǎn)生如下圖的對(duì)話窗如果你按下continue的按鈕WIM156就會(huì)不停的執(zhí)行程序直到碰到中斷點(diǎn)為才會(huì)停下來(lái)使用者可以按下continue鍵繼續(xù)往下執(zhí)行也可以按下stop按鍵跳出這個(gè)功能。使用者請(qǐng)注意當(dāng)你啟動(dòng)這個(gè)功能時(shí)請(qǐng)記得要按下continue按鍵程序才會(huì)開(kāi)始起動(dòng)。使用者可以在執(zhí)行此功能的同時(shí)加上新的中斷位址。Goto-F4F4當(dāng)使用者執(zhí)行這個(gè)功能時(shí)會(huì)產(chǎn)生一個(gè)對(duì)話窗如下。使用者必須要輸出一個(gè)有效的位址可以用10進(jìn)位或16進(jìn)位的方式輸入數(shù)值。如果使用者采用16進(jìn)位的輸入方式請(qǐng)?jiān)跀?shù)值之前加上0x的符號(hào)。輸入完畢之后按下OK按鍵即可執(zhí)行。此時(shí)會(huì)產(chǎn)生另一個(gè)顯示盒如下圖如果使用者設(shè)定的中斷點(diǎn)並不能使程序停止下來(lái)那麼有兩種可能的原因1可能程序要執(zhí)行很久才執(zhí)行得到。2可能程序永遠(yuǎn)執(zhí)行不到始用者所執(zhí)行的位址。若是使用者等不急或是不想等可以按下STOP鍵就可以停止這個(gè)功能。Step-F6F6 單步執(zhí)行的功能一次只執(zhí)行一個(gè)指令敘述。使用者可以在原始程序?yàn)g覽器上看到一條藍(lán)色的標(biāo)記行這行就是程示下一個(gè)要執(zhí)行的地方。Next-F7F7這個(gè)功能和上述的Step function功能差不多。不一樣的地方是當(dāng)Next function遇到子程序時(shí)會(huì)執(zhí)行完也就是任何時(shí)候Next function的下一個(gè)指令位址就是目前的執(zhí)行位址加一。FRun-F8F8FRun就是free run的縮寫(xiě)當(dāng)使用者執(zhí)行這個(gè)功能時(shí)WIM156會(huì)一直執(zhí)行到使用者按下STOP鍵時(shí)WIM156才會(huì)停下來(lái)。當(dāng)使用者執(zhí)行此功能時(shí)會(huì)產(chǎn)生如下的信息窗。 Reset-F9F9當(dāng)使用者執(zhí)行這個(gè)功能時(shí)程序計(jì)數(shù)器會(huì)被清除成0另一方面所有的中斷點(diǎn)都會(huì)被清除掉。Return-F10F10當(dāng)使用者執(zhí)行這個(gè)功能時(shí)可以回到主要的功能表在主功能表中使用者可以再開(kāi)啟一個(gè)新的文件進(jìn)行模擬。File-F11F11使用者若是想要修改目前執(zhí)行的文件可以利用這個(gè)功能。當(dāng)使用者執(zhí)行這個(gè)功能時(shí)會(huì)將目前在WIM156中執(zhí)行的文件關(guān)閉然后在開(kāi)啟編輯程序NOTEPAD並將使用者所要修改的文件載入NOTEPAD中。當(dāng)使用者編輯完畢時(shí)請(qǐng)記得要將所修改的文件存起來(lái)並且結(jié)束NOTEPAD的執(zhí)行。接著進(jìn)入WIM156中在開(kāi)啟已修正過(guò)的文件。Demo-F12F12當(dāng)使用者想看清楚指令執(zhí)行的順序可以利用這個(gè)功能改變程序執(zhí)行的速度執(zhí)行本功能時(shí)會(huì)產(chǎn)生一個(gè)對(duì)話窗如下所示使用者若按下FAST的按鍵則程序會(huì)以每秒執(zhí)行8個(gè)指令的速度執(zhí)行如果使用者按下MIDDLE的按鍵程序會(huì)以每秒執(zhí)行4個(gè)指令的速度執(zhí)行如果使用者按下SLOW的按鍵程序會(huì)以每秒執(zhí)行2個(gè)指令的速度執(zhí)行。如果以上這三種速度使用者都不滿意使用者可以利用延遲時(shí)間欄自行調(diào)整速度時(shí)間的基數(shù)為125ms。若使用者在時(shí)間延遲基數(shù)中輸入0則是Demo run中的最高速度。ModRegnoneModReg是modify register的縮寫(xiě)使用者執(zhí)行這個(gè)功能時(shí)會(huì)產(chǎn)生一個(gè)很大的對(duì)話窗讓使用者輸入數(shù)值。這是設(shè)計(jì)給沒(méi)有mouse的使用者用的。使用者若是有安裝mouse那麼若要修改寄存器的資料就在屏幕上點(diǎn)一下進(jìn)行輸入就行了。6.3. 義隆電子E8-ICE硬件仿真器E8-ICE是義隆電子原廠的Ic實(shí)時(shí)(Real Time)仿真器,專為工程師設(shè)計(jì)的超強(qiáng)ICE,若是使用者想在EM78的使用上有更進(jìn)一步的突破,E8-ICE的選購(gòu)是必須的。E8-ICE 有多種款式,在這里只介紹EM78156的Real Time ICE。6.3.1. 設(shè)備需求:1. EGA以上的顯示器。2. 1M RAM3. 80386 (含)以上的IBM PC或相容產(chǎn)品。4. 打印機(jī)口及接線。5. 在線仿真器(ICE)。6. ICE驅(qū)動(dòng)程序(如ICE456)。7. 715 V 350mA的 電源。圖6.3 ICE系統(tǒng)構(gòu)造圖。6.3.2. 仿真器的安裝E8-ICE仿真器是通過(guò)并行口與計(jì)算機(jī)之間傳送數(shù)據(jù)的,其構(gòu)成示意圖如圖6.4所示。下面說(shuō)明兩點(diǎn):1. 將PE2或EDIT編輯器在autoexec.bat 中設(shè)定path,如此本軟件就可以從事編輯的工作。2. 使用本軟件之前,需要將ICE硬件部份開(kāi)啟,否則軟件因檢測(cè)不到硬件設(shè)備會(huì)產(chǎn)生錯(cuò)誤的信息。圖6.4 當(dāng)ICE無(wú)法正確與電腦連線時(shí)所出現(xiàn)的錯(cuò)誤畫(huà)面。圖6.5 正確進(jìn)入ICE模擬程序的畫(huà)面。6.3.3. 仿真程序操作說(shuō)明執(zhí)行ICE456或ICE447仿真調(diào)試程序即可進(jìn)入仿真調(diào)試狀態(tài)?,F(xiàn)以ICE-78447為例來(lái)說(shuō)明仿真器的使用功能。ICE456的使用與ICE447基本相同?!癊SC”鍵的功能:1. 程序視窗與主MENU之間的切換。2. 取消下拉視窗回到主MENU。3. 仿真運(yùn)行時(shí)可按”ESC”鍵二至三下,跳出Waiting循環(huán)。4. 當(dāng)Free Run或程序無(wú)法到中斷點(diǎn)條件時(shí),可用ESC鍵結(jié)束菜單功能說(shuō)明:1. File:(a) Open:開(kāi)啟一個(gè)文件。(b) Dump to ICE (F3):將程序碼輸出至ICE。(c) Trace log (F2):將Trace Buffer的內(nèi)容讀出來(lái),並顯示于程序視窗中。(d) DOS Shell:將操作權(quán)交給DOS,鍵入”EXIT”即可回至本程序。圖6.6 File功能下拉視窗。(e) Window:BANK視窗的開(kāi)關(guān)。(f) Quit:結(jié)束。 上述功能()中為功能鍵,例如按下”F3”時(shí),系統(tǒng)會(huì)將CODE直接輸入ICE的RAM中。2. Modify:(a) Program:將執(zhí)行PE2程序進(jìn)行程序修改,修改完成后直接回本程序。(b) I/O Control Register:可設(shè)定I/O PORT為輸入或輸出。(c) Register:可修改內(nèi)部寄存器。圖6.7 Modify的下拉視窗。3. RUN:(a) Free Run (F10):執(zhí)行程序,斷點(diǎn)( Break Point)將不在發(fā)生作用。(b) Reset (F6):重置,將程序計(jì)數(shù)器(Program Counter)歸零。(c) Trace Into (F7):?jiǎn)尾綀?zhí)行,子程序亦然。請(qǐng)參考FIGURE2.6示例一。(d) Step Over (F8):?jiǎn)尾綀?zhí)行,子程序則跳過(guò)。請(qǐng)參考FIGURE2.6示例二。(e) Go to Cursor (F4):將游標(biāo)移至所欲暫停的位址,程序會(huì)由目前的PC位址,執(zhí)行到游標(biāo)的位址,游標(biāo)所在的位址會(huì)執(zhí)行完畢。(f) Run From:() Initial with 8K-step log (F5):從頭執(zhí)行至斷點(diǎn)滿足為止,Trace Buffer 8K。() Current PC with Counter (PC):從目前的Program Counter執(zhí)行,其于同上。() Initial with 4K-4K step log:從頭執(zhí)行至斷點(diǎn)滿足后,繼續(xù)執(zhí)行4K才停止。() Current PC with 4K-4K step log:自目前Program Counter(PC) 執(zhí)行,其余同()。執(zhí)行順序程序執(zhí)行順序程序1 JMP BEGIN1 JMP BEGINTABLE:TABLE:4 ADD 0X02,A ADD 0X02,A5 RETL 0X4 RETL 0X4 RETL 0X5 RETL 0X5BEGIN:BEGIN:2 MOV A, 02 MOV A, 03 CALL TABLE3 CALL TABLE6 NOP4 NOP7 JMP BEGIN JMP BEGIN示例一示例二圖6.8 Trace Into(左),以及Step Over(右)的差異。圖6.9 Run Form下拉視窗。4. Compile:(a) Program (F9):將選修過(guò)的程序重新編譯,產(chǎn)生正確的Code,當(dāng)Compiler成功信號(hào)產(chǎn)生時(shí),視窗及ICE RAM會(huì)自動(dòng)更新。(b) Piggy Back:可以產(chǎn)生Piggy Back Piggy Back是一種ROMLESS的產(chǎn)品,CHIP內(nèi)部並沒(méi)有ROM在裡面,而是外接的。所需要的文件。(c) Line:?jiǎn)涡芯幾g,產(chǎn)生碼並執(zhí)行。 單行編譯乃是臨時(shí)性的,原始程序並不會(huì)改變。圖6.10 Compiler的下拉視窗。5. Debug:在E8-ICE中有四種功能強(qiáng)大的斷點(diǎn)(Break Point)設(shè)定功能,可以縮短寫(xiě)程序除錯(cuò)的時(shí)間,同時(shí)也提供使用者可以檢視所執(zhí)行過(guò)的程序(history record 有8K)。(a) Breakpoint View:查看已使用過(guò)的斷點(diǎn),選擇有用的斷點(diǎn)按下”ENTER”鍵,否則按下”ESC”鍵。(b) Breakpoint At: 設(shè)定一個(gè)斷點(diǎn),最多可設(shè)定63個(gè)斷點(diǎn);斷點(diǎn)之后可以跟隨一個(gè)小于255的數(shù)字(若未說(shuō)明中斷次數(shù),內(nèi)定值為 1),在程序執(zhí)行時(shí)每經(jīng)過(guò)斷點(diǎn)一次,就會(huì)將跟隨的數(shù)字減一,直到任何一斷點(diǎn)所跟隨的數(shù)值為0時(shí),程序停止執(zhí)行。中斷的次數(shù)(c) Breakpoint Group (Alt-6):指定某一區(qū)域?yàn)閿帱c(diǎn),可跟隨壹個(gè)小于255的中斷次數(shù)。最多設(shè)定63個(gè)區(qū)域,寫(xiě)法如下第二個(gè)位址第一個(gè)位址逗點(diǎn)之后可以在加其它的組。語(yǔ)法:0xAAAA 0xAAAA 0xPP,例:設(shè)定一組斷點(diǎn),位址在0x20 - 0x40,且程序執(zhí)行進(jìn)入組8次后,程序停止執(zhí)行。Ans.:0x20 0x40 0x08,(d) Breakpoint Or (Alt-B):若是使用者的組並不是一個(gè)連續(xù)的位址,可以指定許多的位址為同一個(gè)組(最多不可超過(guò)63個(gè)位址),中斷次數(shù)不可以超過(guò)255。中斷次數(shù)小于255次。語(yǔ)法:(0xAAAA 0xAAAA .,0xPP)最多63個(gè)位址。第二個(gè)位址。第一個(gè)位址。例:設(shè)定一個(gè)組包含位址0x10、0x20、0x30,若經(jīng)過(guò)這個(gè)組8次,程序立即停止執(zhí)行。Ans.:(0x10 0x20 0x30, 0x08)只要程序執(zhí)行到組中任何一個(gè)位址時(shí),斷點(diǎn)次數(shù)就會(huì)減1。例:設(shè)定二個(gè)組,第一個(gè)組包含位址0x10、0x20、0x30,中斷次數(shù)為8次;第二個(gè)組包含位址0x15、0x17、0x19,中斷次數(shù)為5次,滿足上述條件程序即停止執(zhí)行。Ans.:(0x10 0x20 0x30,0x08) (0x15 0x17 0x19,0x05)(e) Breakpoint Next:語(yǔ)法:同上。與上例不同的是,組二必須先滿足,組一才會(huì)發(fā)生功效,而當(dāng)組一的中斷次數(shù)為0時(shí),程序才會(huì)停止。6. Option:?jiǎn)纹瑱C(jī)內(nèi)部功能及特性的設(shè)定:(a) Watch Dog Timer:Enable/Disable(Default值為Enable)。看門(mén)狗計(jì)時(shí)器,使用在意外發(fā)生的時(shí)候,若是在單片機(jī)執(zhí)行中,有外界的干擾(例如突波干擾),因而產(chǎn)生錯(cuò)誤的執(zhí)行,這時(shí)看門(mén)狗計(jì)時(shí)器就會(huì)產(chǎn)生Reset信號(hào),讓芯片重新啟動(dòng)。使用看門(mén)狗計(jì)時(shí)器,要注意在計(jì)數(shù)器產(chǎn)生溢位之前就要清除計(jì)數(shù)器,否則會(huì)不斷的發(fā)生Reset的現(xiàn)象。(b) Instruction Cycle:1 cycle / 2 cycles (Default值為1 cycle)。指令周期的設(shè)定。(c) Oscillator:RC circuit / Crystal. (Default值為Crystal)。振蕩器的選擇。(d) Voltage detector:Enable / Disable (Default值為Disable)。低電源檢測(cè) 低電緣檢測(cè)-若使用者的環(huán)境所給的電壓源並不穩(wěn)定,若開(kāi)啟了低電源檢測(cè)的功能,就可以在電源低于2.2V自動(dòng)啟動(dòng)Reset信號(hào),以防止Reset不良。是否要開(kāi)啟。(e) Power for Target:ON / OFF(Default值為OFF)。 1. Default值為系統(tǒng)啟動(dòng)或H/W RESET時(shí)的設(shè)定值。2. Instruction Cycle 選2 Cycle時(shí),指CALL、JMP等條件判斷跳轉(zhuǎn)指令為二個(gè)指令周期。3. Power for Target為”O(jiān)N”時(shí),乃指ICE經(jīng)由VOC pin 提供電源給Target Board。最大的電流為200mA。反之,為OFF時(shí),及ICE與Target board各自使用自己的電源。6.3.4. E8-ICE顯示信息說(shuō)明當(dāng)使用E8-ICE進(jìn)行仿真調(diào)試時(shí),可能會(huì)因操作不當(dāng)而顯示一些信息,現(xiàn)就所會(huì)出現(xiàn)的信息作一些說(shuō)明。Error:File open Failed說(shuō)明:錯(cuò)誤的路徑或文件名Error:EICE not found說(shuō)明:仿真器未發(fā)現(xiàn)。Error:Code read Failed說(shuō)明:讀代碼錯(cuò)誤。Error:Dump Failed說(shuō)明:下載數(shù)據(jù)錯(cuò)誤。Error:Dump OK說(shuō)明:下載數(shù)據(jù)OK。Error:Memory allocation Failed說(shuō)明:存儲(chǔ)器定位錯(cuò)誤。Error:Invalid drive or directory說(shuō)明:無(wú)效的驅(qū)動(dòng)器或目錄。Wait:or hit”ESC” to break the program說(shuō)明:敲“ESC”中斷程序。Error:Too many breakpoints說(shuō)明:斷點(diǎn)太多了。Error:Breakpoint duplicate說(shuō)明:斷點(diǎn)重復(fù)了。Error:pass count can not be less than 1說(shuō)明:斷點(diǎn)經(jīng)過(guò)的次數(shù)不能少于1。Error:pass count can not be greater than 0xFF說(shuō)明:斷點(diǎn)經(jīng)過(guò)的次數(shù)不能大于0xFF。Error:pass count can not be less than 0x0說(shuō)明:斷點(diǎn)經(jīng)過(guò)的次數(shù)不能少于0。Error:pass count can not be greater than 0x1FF說(shuō)明:斷點(diǎn)經(jīng)過(guò)的次數(shù)不能大于0x1FF。Error:The group of Bps cotain other Bps說(shuō)明:兩個(gè)不同的斷點(diǎn)族含有重復(fù)的斷點(diǎn)位置。Error:The address contradict each other說(shuō)明:地址相互沖突。Error:expression error說(shuō)明:表達(dá)式錯(cuò)誤。Error:Address required說(shuō)明:需要地址。Error:No code generated for this line說(shuō)明:該行無(wú)代碼產(chǎn)生。Error:Program counter overflowed說(shuō)明:程序計(jì)數(shù)器溢出。Error:The first address must be less than the second one說(shuō)明:第一個(gè)地址必須小于第二個(gè)地址。Error:The number of breakpoints must be less than 63說(shuō)明:斷點(diǎn)的數(shù)量必須小于63。Trace buffer reading,wait a moment please說(shuō)明:正在讀跟蹤緩沖區(qū),請(qǐng)等待。Compile successful說(shuō)明:編譯源程序,完全正確6.4. EM78燒寫(xiě)器使用說(shuō)明針對(duì)EM-78系列單片機(jī)一次性燒寫(xiě)(OTP)芯片,義隆公司推出了高性能的燒寫(xiě)器EM78 WRITER,與E8-ICE一起構(gòu)成一整套單片機(jī)開(kāi)發(fā)系統(tǒng)。6.4.1. 燒寫(xiě)器的結(jié)構(gòu)、安裝與版本燒寫(xiě)器的結(jié)構(gòu)圖6.11為EM78燒寫(xiě)器系統(tǒng)結(jié)構(gòu)。其中,微控制器為EM78247;程序存儲(chǔ)器為EEPROM電可檫除,掉電保存。個(gè)人電腦程序代碼和用戶的選項(xiàng)設(shè)置(結(jié)構(gòu)碼)進(jìn)行編碼和打包,形成特殊的數(shù)據(jù)結(jié)構(gòu),通過(guò)打印口下載到燒寫(xiě)器的程序存儲(chǔ)器;再由微控制器讀取和分析程序存儲(chǔ)器的內(nèi)容,寫(xiě)往待燒定的芯片。基本這種獨(dú)到的設(shè)計(jì)EM78燒寫(xiě)器可以達(dá)到最高的燒寫(xiě)而了最大能地減少數(shù)據(jù)干擾;既可以聯(lián)機(jī)燒寫(xiě)也可以脫機(jī)燒寫(xiě)。個(gè)人電腦程序存儲(chǔ)器燒錄座微控制器 圖6.11 EM78燒寫(xiě)器系統(tǒng)結(jié)構(gòu)燒寫(xiě)器的安裝參照?qǐng)D6.11,EM78燒寫(xiě)通過(guò)打印口與微機(jī)相連,自帶電源(160V/350mA)。用戶無(wú)須指定打印口,燒寫(xiě)程序自動(dòng)檢測(cè)澆寫(xiě)器所在的打印口。參照?qǐng)D6.12,說(shuō)明如下:1紅色LED為電源狀態(tài)指示: 2紅色按鈕為脫機(jī)燒寫(xiě)按鈕。個(gè)人電腦將程序代碼下載后,該按鈕與綠色LED相配合,完成脫機(jī)燒寫(xiě)。脫機(jī)燒寫(xiě)燒寫(xiě)器的程序存儲(chǔ)器為EEPROM掉電保存,用戶可脫開(kāi)個(gè)人電腦,按紅色按鈕完成自動(dòng)燒寫(xiě):燒寫(xiě)程序碼和結(jié)構(gòu)碼+校驗(yàn)-保密位燒寫(xiě)(如果在選項(xiàng)設(shè)置中選擇保密功能)。綠色LED為燒寫(xiě)狀態(tài)指示。1)插上電源時(shí),燒寫(xiě)器先自檢,綠色LED會(huì)閃爍5至6下。此時(shí)不要將芯放在燒錄座上。2)不亮?xí)r表示空閑,隨晨可以按鍵燒錄。3)亮?xí)r表示燒錄中。4)閃爍時(shí)表進(jìn)示燒寫(xiě)錯(cuò)誤,按鍵后可以重新燒錄。 燒寫(xiě)器的版本說(shuō)明現(xiàn)有的燒寫(xiě)器及其驅(qū)動(dòng)程序如下表所示:燒寫(xiě)器版本 驅(qū)動(dòng)軟件 適用芯片WIR156 FWIR154.EXE/FWTR156.EXE 燒寫(xiě)EM78P154/EM78P156WIR447 FWIR44.7EXE 燒寫(xiě)78P247/EM78P447A/BMWIR MWTR 燒寫(xiě)EM78全系列備注:對(duì)于全系列燒寫(xiě)器,參照?qǐng)D6.12,用戶應(yīng)將相應(yīng)的芯片選擇短接。6.4.2. 燒寫(xiě)器的使用說(shuō)明運(yùn)行EM78燒寫(xiě)程序的格式如下:格式:燒寫(xiě)程序 目標(biāo)舉代碼文件說(shuō)明:燒寫(xiě)程序是指FWTR156.EXE、FWTR44.7.EXE、MWTR.EXE等,目標(biāo)代碼文件要加后綴后名*CDS。備注:對(duì)于MWTR.EXE,不加目標(biāo)代碼文件時(shí),可讀取程序存儲(chǔ)器的內(nèi)容。MWTR全系列燒寫(xiě)器的使用與MWTR全系列燒寫(xiě)器相對(duì)應(yīng)的燒寫(xiě)程序?yàn)镸WTR.EXE程序支持燒寫(xiě)EM78P154、EM78P156、EM78P247/EM78P447A/B等OTP型芯片。 啟動(dòng)MWTR全系列燒寫(xiě)程序 假設(shè)燒寫(xiě)DEMO.CDS目標(biāo)程序代碼、EM78P447A芯片,鍵入: MWTR DEMO.CDS燒寫(xiě)程序先查詢打印口。如果沒(méi)有查找到MWTR燒寫(xiě)器,屏幕將出現(xiàn)錯(cuò)誤信息。用戶應(yīng)仔細(xì)檢查打印電纜是否連接完好,燒寫(xiě)器電源是否正常。排除故障后重新執(zhí)行。與燒寫(xiě)器握手成功后,屏幕揭示用戶選擇所要燒寫(xiě)的芯片型號(hào),選擇項(xiàng)的高亮字母或數(shù)字為選擇輸入鍵。如:按下數(shù)字鍵“7”選擇燒寫(xiě)的芯片型號(hào)“EM78P447 A”B”。屏幕第一行顯示所要燒寫(xiě)的目標(biāo)文件名和校驗(yàn)和;第二行為芯片型號(hào)和OTP芯片ROM的檢驗(yàn)和;第三行為菜單項(xiàng),高亮字母為選擇輸入鍵;第四行為當(dāng)前的選項(xiàng)設(shè)置(結(jié)構(gòu)碼)。燒寫(xiě)程序接著提示輸入選項(xiàng)設(shè)置(結(jié)構(gòu)碼),并將程序碼和結(jié)構(gòu)碼打包、下載到燒寫(xiě)器的程序存儲(chǔ)器。屏幕更新選項(xiàng)設(shè)置(結(jié)構(gòu)碼),同時(shí)顯示從燒寫(xiě)器的程序存儲(chǔ)回讀出來(lái)的內(nèi)容。MWTR全系列燒寫(xiě)程序的菜單說(shuō)明 Load:重新設(shè)定選項(xiàng)設(shè)置(結(jié)構(gòu)碼),并將程序碼和結(jié)構(gòu)碼下載到燒寫(xiě)器的程序存儲(chǔ)器。屏幕更新選項(xiàng)設(shè)置,同時(shí)顯示從燒寫(xiě)器的程序存儲(chǔ)器回讀出來(lái)的內(nèi)容。Read:讀取OTP芯片程序和結(jié)構(gòu)碼。屏幕更新選項(xiàng)設(shè)置,同時(shí)顯示讀取的程序碼。Write:將保存于程序存儲(chǔ)器的程序碼和結(jié)構(gòu)碼寫(xiě)往OTP芯片。Blank check: 對(duì)OTP芯片進(jìn)行空白檢測(cè)。Verify:校驗(yàn),即讀取OTP芯片的程序碼和結(jié)構(gòu)碼,與原始的目標(biāo)文件做 比較。屏幕顯示結(jié)果。Auto:空白檢測(cè)+燒寫(xiě)程序碼和結(jié)構(gòu)碼+校驗(yàn)+保密位燒寫(xiě) (如果在選項(xiàng)中選擇保密功能)。Protect:保
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車(chē)從業(yè)合同協(xié)議書(shū)
- 項(xiàng)目爛尾承接協(xié)議書(shū)
- 項(xiàng)目分包框架協(xié)議書(shū)
- 赴港定居夫妻協(xié)議書(shū)
- 公租房委托分配協(xié)議書(shū)
- 護(hù)理氧氣吸入操作規(guī)范與臨床應(yīng)用
- 音箱設(shè)備購(gòu)買(mǎi)協(xié)議書(shū)
- 車(chē)位收據(jù)丟失協(xié)議書(shū)
- 上海比亞迪購(gòu)車(chē)協(xié)議書(shū)
- 酒店定制窗簾協(xié)議書(shū)
- 餐廳水單萬(wàn)能模板-可打印
- 中國(guó)城市中英文對(duì)照
- 作業(yè)治療學(xué)題庫(kù)第七章
- 醫(yī)學(xué)信息檢索與利用智慧樹(shù)知到答案章節(jié)測(cè)試2023年杭州醫(yī)學(xué)院
- 并網(wǎng)前設(shè)備電氣試驗(yàn)、繼電保護(hù)整定、通訊聯(lián)調(diào)
- 用表格為網(wǎng)頁(yè)布局教學(xué)設(shè)計(jì)
- 病原微生物實(shí)驗(yàn)室生物安全管理手冊(cè)
- 上消化道出血病人的觀察與護(hù)理-課件
- 光纜測(cè)試報(bào)告
- 初中物理教育科學(xué)八年級(jí)下冊(cè)第十一章 機(jī)械與功《功》教學(xué)設(shè)計(jì)
- 神經(jīng)病學(xué)人衛(wèi)版習(xí)題集題庫(kù)
評(píng)論
0/150
提交評(píng)論