數(shù)字電子基礎(chǔ)技術(shù)應(yīng)用 8_第1頁
數(shù)字電子基礎(chǔ)技術(shù)應(yīng)用 8_第2頁
數(shù)字電子基礎(chǔ)技術(shù)應(yīng)用 8_第3頁
數(shù)字電子基礎(chǔ)技術(shù)應(yīng)用 8_第4頁
數(shù)字電子基礎(chǔ)技術(shù)應(yīng)用 8_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

編程語言及CCS簡介

(如果有學(xué)生已完成“跑馬燈”項目,且PPT經(jīng)過老師修改完善,可以先安排學(xué)生翻轉(zhuǎn)課堂,然后根據(jù)學(xué)生講的情況,補充介紹基本概念)西安交通大學(xué)電氣工程學(xué)院寧改娣回顧總計MCU內(nèi)部結(jié)構(gòu)框架2026/1/30掩膜ROM、SRAM、Flash等CPU是微處理器的大腦,位數(shù)和主頻是主要指標。指令像大腦的思維與神經(jīng)系統(tǒng),指揮系統(tǒng)的硬件工作。CPU結(jié)構(gòu)后續(xù)介紹?。ú恢酪部捎茫┲饕獌?nèi)容CPU的指令集機器語言匯編語言高級語言CCS簡介參考第14章軟件系統(tǒng)和編程語言2026/1/30軟件的重要性基于CPU的電子設(shè)備能夠提供比FPGA更靈活的工作模式,可以通過修改指令,改變系統(tǒng)的操作方式。如果說硬件是物質(zhì)基礎(chǔ),軟件則是靈魂。實現(xiàn)軟、硬件有機結(jié)合,協(xié)同工作,是開發(fā)這些電子設(shè)備的前提。2026/1/30CPU的指令集CPU的指令集合是CPU功能的體現(xiàn)——分兩大類:“ComplexInstructionSetComputer”,CISC即復(fù)雜指令系統(tǒng)計算機——比如,命令某人吃飯:“吃飯”——CPU執(zhí)行一串吃飯動作,“吃菜”?指令多結(jié)構(gòu)就復(fù)雜。常用指令可能20%。IntelX86,AMD,Motorola68K,TI和IBM部分處理器至今使用CISC?!癛educedInstructionSetComputer”,RISC即精簡指令集計算機——比如,“洗手,盛飯,端菜.”ARM是RISC代表,TIC2000系列,IBMPowerPCCISC和RISC正逐步融合,如Nx586,K5等,對使用者了解即可。編譯工具會將C程序指令翻譯為對應(yīng)CPU的指令集包含的微指令。2026/1/30CPU的指令集MSP430的CPU是字長為16位的RISCCPU。應(yīng)用者了解即可。2026/1/30機器語言——原生碼(Native

Code)機器語言是用二進制代碼表示的指令集合、CPU能直接識別和執(zhí)行。語法結(jié)構(gòu)包含操作碼和操作數(shù):功能和性質(zhì)→←地址數(shù)或運算數(shù)2026/1/30操作碼操作數(shù)…不同系列的CPU語言不同:比如,要將一個立即數(shù)20H傳送給CPU的累加器,以下三種處理器的機器語言為:Intel8085:

0011111000100000IntelMCS-51:

0111010000100000MotorolaM68HC08:

1010011000100000不同廠家甚至同一廠家不同系列處理器機器語言都不同。匯編語言匯編語言是利用與機器語言代碼實際功能含義相近的英文縮寫詞(常稱為助記符)、字母、數(shù)字等符號來取代指令代碼編寫程序,亦稱為符號語言。語法:[標號:]操作碼助記符[第一操作數(shù)][,第二操作數(shù)][;注釋]比如,同樣將一個立即數(shù)20H傳送給CPU的累加器,以下三種不同處理器對應(yīng)的匯編指令如下:Intel8085: MVIA,20H IntelMCS-51: MOVA,#20H MotorolaM68HC08: LDA#%00100000匯編語言也是面向機器的一種低級語言,移植性差。2026/1/30MSP430雙操作數(shù)指令了解機器語言是用二進制代碼表示的指令集合、CPU能直接識別和執(zhí)行。語法結(jié)構(gòu)包含操作碼和操作數(shù):2026/1/30高級語言(C與匯編混合編程!√√)高級語言是一種與我們的自然語言相近并為計算機所接受和執(zhí)行的編程語言,是面向用戶而不是面向機器的語言。比如,count=2+3//無需關(guān)心底層硬件。移植性強。編譯器的代碼效益越來越好,CPU時鐘頻率也越來越高,使C語言廣泛使用。2026/1/30C語言入門對單片機進行編程實際上就是改寫寄存器的值。單片機各個外設(shè)的功能其實是預(yù)先固定的,而控制寄存器就像是這些功能的控制接口,通過改變寄存器的值就可以在這些功能中進行選擇。還有一些寄存器直接對應(yīng)引腳的狀態(tài),例如GPIO的輸入/輸出寄存器。P1OUT=0x01實際上是把P1.0賦值為1,P1.1-P1.7賦值為0。但實際上經(jīng)常只需要對個別位操作。2026/1/30MSP430的位操作在對某字節(jié)使用“=”進行寫操作時,所有位的值都將被改變。如果先將原字節(jié)讀出來,再使用按位操作符對原字節(jié)進行賦值,則可“等效”實現(xiàn)對單個位的寫操作。下面舉例說明MSP430中最重要的3個寫位操作語句。例:將P1.0置1,P1.1置0,P1.2取反,不影響其他位。P1OUT|=0x01;//按位“或”,相當于置1P1OUT&=~0x02;//取反后再按位“與”,相當于置0P1OUT^=0x04;//按位“異或”,相當于取反2026/1/30在CCS新建工程時,都會包含“MSP430.h”,這個頭文件其實相當于一個目錄,會根據(jù)當前工程所選的芯片型號鏈接到對應(yīng)的頭文件,例如MSP430G2553芯片就會鏈接到“MSP430G2553.h”。這些頭文件都在“C:\ti\ccsv5\ccs_base\msp430\include”目錄下,其中包含了許多宏定義,利用這個宏定義可以幫助我們用更直觀的方式來寫寄存器,不用每次都把要寫的值換算成16進制了。例如MSP430G2553.h中有如下宏定義:#defineBIT0(0x0001)#defineBIT1(0x0002)#defineBIT2(0x0004)#defineBIT3(0x0008)#defineBIT4(0x0010)2026/1/30P1OUT|=0x01;//按位“或”,相當于置1P1OUT&=~0x02;//取反后再按位“與”,相當于置0P1OUT^=0x04;//按位“異或”,相當于取反就可以改為:P1OUT|=BIT0;//按位“或”,相當于置1P1OUT&=~BIT1;//取反后再按位“與”,相當于置0P1OUT^=BIT2;//按位“異或”,相當于取反也可以用加號對多位同時操作。例如要將P1.0、P1.1、P1.2均置1,不影響其他位,可以寫:P1OUT|=BIT0+BIT1+BIT2;2026/1/30讀位操作讀位操作主要是通過if語句判斷的方式得到的。同樣,這種變通的方法不意味著MSP430單片機可以對位進行讀取,這種方法同樣需要對1個字節(jié)的8位都操作。例:將P2.0的輸出設(shè)置成P1.1輸入相反,讀取P1.0輸入狀態(tài)到變量temp:unsignedchartemp=0;if((P1IN&BIT1)==0)P2OUT|=BIT0;//讀P1.1寫P2.0elseP2OUT&=~BIT0;if(P1IN&BIT0)temp=1;//讀P1.0寫tempelsetemp=0;2026/1/30MSP430寄存器的宏定義配置方法例如下圖中給出了BCSCTL2寄存器中DIVMx控制位的位置,下方代碼中給出了MSP430頭文件中DIVMx的宏定義。圖中rw-0表示該位可讀可寫,復(fù)位后初始值為0。2026/1/30MSP430寄存器的宏定義配置方法這個8位寄存器中的DIVMx是用來控制MCLK的分頻系數(shù)的,分頻系數(shù)依次為1/2/4/8。例如我們要設(shè)置MCLK的時鐘8分頻,下列3條代碼均可實現(xiàn)該功能:2026/1/303.6開發(fā)環(huán)境CCS使用硬件電路+軟件編程+集成開發(fā)環(huán)境集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment,IDE)不同廠家處理器有不同的IDE軟件都是基于工程的概念,管理編輯文件、翻譯、調(diào)試等MSP430可以用TI公司CCS(CodeComposerStudio)開發(fā),見教材的14.6節(jié)。磨刀不誤砍柴工?。?!2026/1/3019CCS的基本界面DSP/BIOS工具條項目瀏覽窗當前工程編譯工具條當前編輯的源文件主菜單調(diào)試工具條編輯窗圖3.6.1CCS集成開發(fā)環(huán)境的工作界面

進入界面很簡單,要設(shè)置,有圖形,可以保存2026/1/30圖3.6.3TMS320C28x的C/C++語言程序開發(fā)流程2026/1/30匯編語言源文件CCS源文件編輯及代碼生成過程File Edit View Project Options

C

sourceASMsourceHeaderandIncludefilesCompilerandAssemblerLinker.map.outProjectmanagesanautomaticmakefile

BuildLibrariesCommandfileIntegratedEditorSeparateEditorCCS.out文件下載及調(diào)試FileEditViewProjectDebugProfilerOptionOutputwindowGraphicalDisplaysMemorybufferMemoryDisplaysCPURegistersRun/AnimateStepIn/Over/OutBreakPointsWatchWindowsMonitorCPUconsumptionOptimizecodeLoad.OUTexecutableontotheDSPProbePointsFILEI/OSIMDSKEVMThirdPartyXDSDSPBoardJTAGTest/Emulation低通濾波器輸入信號、輸出時域與頻域圖形

課外作業(yè)2-1安裝CCS軟件(實驗室6.2版)建立工程文件,編寫跑馬燈C語言程序!完成實驗,掌握軟件調(diào)試方法。軟件開發(fā)往往需要處理器結(jié)構(gòu)的一些細節(jié),編程和調(diào)試花費時間也很多——也是需要訓(xùn)練提高的技能。2026/1/30準備第一次翻轉(zhuǎn)課堂內(nèi)容每次可以多個組分別介紹之前的不同作業(yè)內(nèi)容①CCS下載、安裝、存在問題

②硬件最小系統(tǒng)、時鐘模塊、GPIO原理介紹③看門狗狀態(tài),跑馬燈實驗和結(jié)果展示一定要清楚原理后再上電!2026/1/30翻轉(zhuǎn)課堂要求1)熟悉相關(guān)內(nèi)容、實驗、準備PPT、錄制演示視頻等2)講課前兩天將PPT發(fā)我郵箱(nancy@)3)講課之后將最終PPT、工程文件、總結(jié)報告發(fā)我郵箱4)總結(jié)報告:組長寫出各人詳細分工和建議成績(0~5),每個成員寫出自己的實驗體會,遇到問題以及解決方法等。翻轉(zhuǎn)課堂與開放實驗一樣對待。5)每組可以做多個翻轉(zhuǎn)課堂內(nèi)容。2026/1/30end2026/1/30Grace使用介紹電氣71

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論