《Freescale8位單片機(jī)入門與實(shí)踐》第五章_codewarrior應(yīng)用綜述_第1頁
《Freescale8位單片機(jī)入門與實(shí)踐》第五章_codewarrior應(yīng)用綜述_第2頁
《Freescale8位單片機(jī)入門與實(shí)踐》第五章_codewarrior應(yīng)用綜述_第3頁
《Freescale8位單片機(jī)入門與實(shí)踐》第五章_codewarrior應(yīng)用綜述_第4頁
《Freescale8位單片機(jī)入門與實(shí)踐》第五章_codewarrior應(yīng)用綜述_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第五章CodeWarrior應(yīng)用綜述(在線調(diào)試、VisualTools的使用、專家系統(tǒng)可選學(xué))修改圖形編號(hào)5.1在線編程注意:實(shí)驗(yàn)電路板電源開關(guān)斷開。JP2的3、4兩個(gè)端子短接。1、確立目標(biāo)在“True-TimeSimulator&Real-TimeDebUg工具界面,點(diǎn)擊:Component-SetTarget在Processor欄,選擇HC08,在Target欄,選擇P&ETargetInterface,然后點(diǎn)擊OK,如圖5-1所示圖5-1確立目標(biāo)最后關(guān)閉“True-TimeSimulator&Real-TimeDebug”工具界面,在主界面中重新按下“Debug”,進(jìn)入“True-Tim

2、eSimulator&Real-TimeDebug”調(diào)試。2、在線調(diào)試重新進(jìn)入后,PEDebug-Mode:FullChipSimulation-In-Circuit如圖5-2所示。Ctrl+LCtrl+RI.ommandFilesDevice:HL-dIJUU14FullL-hipb1mulat】IrL-l_.1rcmtSimill注11unFiVlEFilicroHardw:areHocuitimtlt:九tionFortF1nsMijdilleLi0CKEMIjdilleIRUModuleAIICModuleFLASHModuleD:QY4paomadeiltDebuK.11Frogra

3、irimingSymtiGlobal統(tǒng)將自動(dòng)彈出如下的界面,如圖5-3所示。圖5-3連接界面點(diǎn)擊ClosePort。出現(xiàn)界面如圖5-4。圖5-4關(guān)閉串口界面閉合目標(biāo)板電源開關(guān),給目標(biāo)板供電,最后點(diǎn)擊Contacttargetwiththesesettings。出現(xiàn)圖5-5界面,最后點(diǎn)擊YES,程序就下載到實(shí)驗(yàn)板上了。注:如果此時(shí)不出現(xiàn)圖5-19,斷開目標(biāo)板電源,再次點(diǎn)擊圖5-18中RefreshList然后再給目標(biāo)板供電。圖5-5查詢是否擦除、下載程序然后在DEBUG界面上進(jìn)行調(diào)試,如圖5-6所示。圖5-6DEBUG界面點(diǎn)擊上圖所示:單步運(yùn)行(singlestep)程序;單步運(yùn)行(stepin

4、to)程序;I跳出運(yùn)行(stepout)函數(shù);1跟蹤(trace)程序;程序停止(halt)運(yùn)行;I目標(biāo)板復(fù)位(resettarget)??梢酝ㄟ^圖5-7中的界面隨時(shí)檢查寄存器、RAM中的內(nèi)容,便于檢查出程序中的錯(cuò)誤。址。仿真運(yùn)行狀態(tài)參考表2-2中斷矢量表。比如在線編程調(diào)試或?qū)崟r(shí)運(yùn)行狀態(tài)使用復(fù)位向量定義如下:ORG$FDFD;復(fù)位向量地址JMPEntry當(dāng)使用脫機(jī)仿真時(shí),必須把上面兩句作如下修改:ORG$FFFE;復(fù)位向量地址DC.WEntry其他中斷向量參考該修改進(jìn)行。在進(jìn)行在線調(diào)試和脫機(jī)仿真相結(jié)合的時(shí)候,不同調(diào)試狀態(tài)下中斷進(jìn)行上面的交替修改。程序編譯通過之后,系統(tǒng)將自動(dòng)進(jìn)入Debug調(diào)試界

5、面(如圖5-8所示),在這個(gè)界面里面我們既可以直接寫入程序調(diào)試,也可以利用單步運(yùn)行隨時(shí)檢查寄存器的內(nèi)容,便于尋找程序中的錯(cuò)誤,還可以利用Visualizationtool進(jìn)行脫機(jī)仿真。下邊將重點(diǎn)講述利用Visualizationtool進(jìn)行脫機(jī)仿真。圖58DEBUG界面在“True-TimeSimulator&Real-TimeDebUg工具界面,點(diǎn)擊:Component-SetTarget在Processor欄,選擇HC08,在Target欄,選擇SimulatorTargetInterface,然后點(diǎn)擊OK,如圖5-9所示。圖5-9確立目標(biāo)界面設(shè)置完成,關(guān)閉“True-TimeSimula

6、tor&Real-TimeDebug”工具,在主界面中重新按下“Debug”,進(jìn)入“True-TimeSimulator&Real-TimeDebug”調(diào)試界面,點(diǎn)擊Simulater-Reset,如圖5T0。圖5-10仿真狀態(tài)復(fù)位選擇Component-0pen,如圖5T1。圖5-11將會(huì)出現(xiàn)如下的界面,如圖5-12所示圖5-12選擇Visualizationtool界面點(diǎn)擊OK,進(jìn)入Visualizationtool界面,如圖5-13所示。圖5-13Visualizationtool界面如上圖所示在空白處點(diǎn)擊右鍵,選擇要添加的元件。由于該示例事要做一個(gè)跑馬燈的演示實(shí)驗(yàn),所以選擇“7Segm

7、entDispla”y。所示。設(shè)置:RefreshMode:PeriodicalRefreshTime(100ms):1或者選擇:CPUcycles。設(shè)置完成,關(guān)閉窗口。在空白處點(diǎn)擊右鍵,選擇Properties,如圖5T4圖5-14Visualizationtool屬性界面雙擊7SegmentDisplay,如圖5-15所示設(shè)置:KindofPort:MemoryPorttoDisplay:0 x01設(shè)置完畢,關(guān)閉窗口。圖5-15七段數(shù)碼管屬性界面點(diǎn)擊右鍵,取消選擇EditMode,在“True-TimeSimulator&Real-TimeDebug”調(diào)試界面,按下Sart/Continu

8、e,運(yùn)行程序,在本示例中,用7SegmentDisplay來演示跑馬燈實(shí)驗(yàn),可以看到七段數(shù)碼的每一段在交替閃爍,如圖5-16。圖5-16仿真界面點(diǎn)擊保存,可以將這個(gè)Visualizationtool的工程保存下來,下次運(yùn)行的時(shí)候只要用DisplayMode,然后運(yùn)行程序就可以了。保存配置:FileSaveConfiguration,如圖5T7所示。圖5-17保存配置界面運(yùn)行程序,可以按照?qǐng)D5-6中運(yùn)行或單步執(zhí)行程序,可以看到仿真狀態(tài)下程序運(yùn)行情況。5.3ProcessorExpert應(yīng)用5.3.1創(chuàng)建工程本工程使用一個(gè)電位器和一個(gè)數(shù)碼顯示管,電位器用于表示模擬信號(hào),如:罐里的液面位置、溫度等,

9、數(shù)碼顯用于顯示其值。下面我們將一步一步演示創(chuàng)建工程的過程。啟動(dòng)CodeWarrior:StartProgramsMetrowerksCodeWarriorCW08V3.0CodeWarriorIDE在CodeWarrior界面中,選擇菜單FileNew,如圖5-18所示。圖5-18開始創(chuàng)建在Project欄里選擇HC(S)08NewProjectWizardProjectName中填入:MyQY4如果需要更改存入目錄請(qǐng)點(diǎn)Location欄的Set按鈕按下確定,進(jìn)入一下步,如圖5-19所示圖5-20選擇芯片類型選擇以C語言為開發(fā)語言,如圖521所示。圖5-19新建工程選擇CPU類型,找到MC68

10、HC908QY4,點(diǎn)擊選取,按“下一步”,如圖520所示。圖5-22使用ProcessorExpert不使用PC-Lint,如圖5-23所示。圖5-22使用ProcessorExpert不使用PC-Lint,如圖5-23所示。圖5-22使用ProcessorExpert不使用PC-Lint,如圖5-23所示。圖5-21選擇C語言使用ProcessorExpert,如圖5-22所示。2dVevProjectVizard一PageWouldyouliketouseFrocesEorExpert?ProcessorExper+c:=ltlgerLeraforyouallthmdeviceinitia

11、liz:=ltioncode.工tinclud皀呂m:inylow_leveliirivers.metrowerks上一步下一步)|取消|圖5-24選擇標(biāo)準(zhǔn)啟動(dòng)代碼不需要浮點(diǎn)支持,如圖5-25所示。圖5-23不使用PC-Lint選擇標(biāo)準(zhǔn)啟動(dòng)代碼,如圖5-24所示。圖5-26選擇內(nèi)存使用模式連接方式,使用缺省值,如圖5-27所示。圖5-25不需要浮點(diǎn)支持內(nèi)存使用模式選擇Tiny,如圖5-26所示圖5-27選擇連接方式點(diǎn)擊“完成”,如圖5-28所示。在左邊的導(dǎo)航欄里選擇ProcessorExpert選擇Beans,點(diǎn)右鍵,選擇“AddBean(s)”,如圖5-29所示。圖5-29內(nèi)核選擇選取并雙擊

12、ADC,ProcessorExpert導(dǎo)航欄里Beans中增加了AD1:ADC選取并雙擊BitsIO,ProcessorExpert導(dǎo)航欄里Beans中增加了Bits1:BitsIO選取并雙擊BitIO,ProcessorExpert導(dǎo)航欄里Beans中增加了Bit1:BitIO選取并雙擊BitIO,ProcessorExpert導(dǎo)航欄里Beans中增加了Bit2:BitIO編輯AD1的屬性,如圖5-30Interruptservice:disabledConversionTime21.25uS|BeauInspectorADI:JLDC-1nJx|BeanItemsVisibilityHel

13、pripheralInitializationPropertiesMethodsEventsComment1EnabledontgenelaDisabledontgeneEnableEventdontgeneDisableEventdontgeneStartdontgene図Stopdontgeneral0h4已a(bǔ)suregenerate網(wǎng)MeasureChandontgene0GetValuegenerateqQGetChanValuedontgeneGetValueSdontgeneGetChanValueSdontgeneGetValue16dontgeneGetChanValue16d

14、ontgeneQBABIC|百口甘宜訊CED11EXFEFITBeanLevelN圖5-31AD1屬性編輯設(shè)置Measure和GetValue為generatecode.其它均為dontgeneratecode.如圖5-31所示圖5-30AD1屬性編輯Beanname:DispNumPins:7Pin0:PTB0Pin1:PTB1Pin2:PTB2Pin3:PTB3Pin4:PTB4Pin5:PTB5Pin6:PTB6編輯Bits1的屬性,如圖5-32。圖5-32Bits1屬性編輯Pullresistor:NoPullresistorDirection:Output編輯Bitl的屬性:Bean

15、name:BitPta4PinforIO:PTA4_OSC2_AD2_KBI4Pullresistor:NoPullresistorDirection:Output編輯Bit2的屬性:Beanname:BitPtb7PinforIO:PTB7Pullresistor:NoPullresistorDirection:OutputBeauInspectorBitsl:BitsIO|0GetDirg已門已日t已codea兇SetDirdontgener.atecodeGetValdontgen已EitEcod已DPutValgeneral已codeQGetBitdontgeneratecod已QPu

16、tBitdontgen已EitEcod已oSetBitdontgeneratecodeQClrBitdontgeneratecod已NegElitdontgeneratecodeQBeanItemsVisibilityHelpripheralInitializationProperties:MethodsEventsComment日宜SIC|宜DVANCED11EXFERTBeanLevel必圖5-33Bitsl屬性編輯分別進(jìn)入其Methods頁設(shè)置PutValgeneratecode.其它均為dontgeneratecode.如圖5-33所示選擇菜單ProjectMake產(chǎn)生所需文件,如圖5

17、-34所示打開“MyQY6.c”可以看到主程序:Main()函數(shù)voidmain(void)PE_low_level_init();for(;)打開“MyQY6.c”可以看到主程序:Main()函數(shù)voidmain(void)PE_low_level_init();for(;)圖5-34編譯界面現(xiàn)在我們編寫應(yīng)用程序代碼Constchardecode0_9=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F;chardisp4;chardisp_bit;staticbytemyValues1;/*Numberofchannels

18、*/voiddisplay(chardbit)chari;DispNum_PutVal(0);BitPtb7_PutVal(dbit/2);BitPta4_PutVal(dbit&1);DispNum_PutVal(dispdbit);for(i=255;i=0;i-);voidmain(void)byteerr;PE_low_level_init();for(;)disp_bit+;disp_bit&=3;display(disp_bit);err=AD1_Measure(TRUE);err=AD1_GetValue(byte*)myValues);disp3=decode0_9myValu

19、es0%10;disp2=decode0_9(myValues0/10)%10;disp1=decode0_9myValues0/100;5.3.2編譯調(diào)試接下來,點(diǎn)“Make”編譯。點(diǎn)“Debug”進(jìn)入調(diào)試。如圖5-35所示。在“True-TimeSimulator&Real-TimeDebug”工具界面,選擇菜單:Component-SetTargetProcessor欄,選擇HC08,Target欄,選擇SimulatorTargetInterface,按“OK”。圖5-35確立目標(biāo)關(guān)閉“True-TimeSimulator&Real-TimeDebug”工具界面,在主界面中重新按下“Debug”,進(jìn)入“True-TimeSimulator&Real-TimeDebug”調(diào)試界面。選擇Component-0pen,如圖5-36所示。圖5-36選擇Visualizationtool選擇Visualizationtool,如圖,點(diǎn)擊OK,如圖5-37所示。圖5-37添加元件點(diǎn)擊右鍵,選擇Properties,如圖5-38所示。圖5-38編輯屬性設(shè)置:RefreshMode:PeriodicalRefreshTime(100ms):3點(diǎn)擊右鍵,選擇AddNewInstrument-Bar,在界面下放置虛擬元件點(diǎn)擊右鍵,選擇AddNewInstrument-7Seg

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論