基本環(huán)境介紹和跑馬燈_第1頁(yè)
基本環(huán)境介紹和跑馬燈_第2頁(yè)
基本環(huán)境介紹和跑馬燈_第3頁(yè)
基本環(huán)境介紹和跑馬燈_第4頁(yè)
基本環(huán)境介紹和跑馬燈_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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)介

1、MSP430實(shí)驗(yàn)基礎(chǔ)知識(shí)李丹丹主要內(nèi)容C430與標(biāo)準(zhǔn)C的區(qū)別開(kāi)發(fā)集成環(huán)境CCSV5FFTB6638實(shí)驗(yàn)板介紹LED跑馬燈實(shí)例一、C430與標(biāo)準(zhǔn)C的區(qū)別#include#includemain( ) double x,s; printf(input number:n); scanf(%lf,&x); s=sin(x); printf(sine of %lf is %lfn,x,s);#include msp430f6638.hvoid main (void)volatile unsigned int i; WDTCTL = WDTPW +WDTHOLD; P3DIR |=BIT0; while(

2、1) for (i=0;i20000;i+) P3OUT=0 x00; for (i=0;i20000;i+) P3OUT=0 x01; 標(biāo)準(zhǔn)C程序C430程序一、C430與標(biāo)準(zhǔn)C的區(qū)別C430變量類型及描述在定義變量時(shí),增加某些關(guān)鍵字可以給變量賦予某些特殊性質(zhì):在定義變量時(shí),增加某些關(guān)鍵字可以給變量賦予某些特殊性質(zhì):const:定義常量。定義常量。const關(guān)鍵字定義的常量實(shí)際上被被放在了關(guān)鍵字定義的常量實(shí)際上被被放在了ROM中。中。static:相當(dāng)于本地全局變量,可以避免全局變量混亂。相當(dāng)于本地全局變量,可以避免全局變量混亂。volatile:定義定義“揮發(fā)性揮發(fā)性”變量,對(duì)該變量的任何

3、操作都不會(huì)被優(yōu)化過(guò)變量,對(duì)該變量的任何操作都不會(huì)被優(yōu)化過(guò)程刪除。程刪除。一、C430與標(biāo)準(zhǔn)C的區(qū)別C430位操作運(yùn)算符例例1 將將 P1.0 置置 1、P1.1 置置 0、P1.2 取反,不影響其他位。取反,不影響其他位。P1OUT |= 0 x01; /“按位或按位或”,相當(dāng)于置,相當(dāng)于置1P1OUT &= 0 x02; /取反后再取反后再“按位與按位與”,相當(dāng)于置,相當(dāng)于置0P1OUT = 0 x04; /“按位異或按位異或”,相當(dāng)于取反,相當(dāng)于取反一、C430與標(biāo)準(zhǔn)C的區(qū)別在包含了頭文件#include msp430f6638.h以后,可以使用各種宏定義來(lái)輔助按位操作。#define B

4、IT0 (0 x0001) #define BIT1 (0 x0002)#define BIT2 (0 x0004) #define BIT3 (0 x0008)#define BIT4 (0 x0010) #define BIT5 (0 x0020)#define BIT6 (0 x0040) #define BIT7 (0 x0080)#define BIT8 (0 x0100) #define BIT9 (0 x0200)#define BITA (0 x0400) #define BITB (0 x0800)#define BITC (0 x1000) #define BITD (0

5、x2000)#define BITE (0 x4000) #define BITF (0 x8000)例 1 代碼可改寫為:P1OUT |= BIT0; /“按位或”,相當(dāng)于置1P1OUT &= BIT1; /取反后再“按位與”,相當(dāng)于置0P1OUT = BIT2; /“按位異或”,相當(dāng)于取反一、C430與標(biāo)準(zhǔn)C的區(qū)別如何寫好程序一段能正確運(yùn)行實(shí)現(xiàn)功能的代碼,水平分 3 個(gè)層次。1) 隔一段時(shí)間連自己都不懂。俗稱“連親媽都認(rèn)不出來(lái)”。2) 自己懂,別人不懂。3) 是人就懂。如何寫出可讀性強(qiáng)的代碼:1)善加注釋2)函數(shù)名、變量名應(yīng)該具有說(shuō)明性3)采用模塊化編程思想1) 按功能模塊劃分 c 文件,

6、比如片內(nèi)的時(shí)鐘、定時(shí)器、UART 收發(fā)器、Flash 控制器、ADC 模數(shù)轉(zhuǎn)換器、片外的 12864 液晶、矩陣鍵盤,可以分別設(shè)為 System_clock.c、Timer_A.c、UART.c、Flash.c、ADC10.c、LCD.c、Key.c。2) 將隸屬于各模塊的代碼函數(shù)都放進(jìn)各自的 c 文件中。3) 建立與 c 文件同名的 h 頭文件,在 h 文件中聲明可能被調(diào)用到的函數(shù)。4) 在 main.c 中包含 h 頭文件,就可以使用外部 c 文件中的函數(shù)了。模塊化編程思想如何操作?MSP430單片機(jī)軟件流程示意圖MSP430單片機(jī)軟件編程方法 CCS(Code Composer Stud

7、io)是TI公司研發(fā)的一款具有環(huán)境配置、源文件編輯、程序調(diào)試、跟蹤和分析等功能的集成開(kāi)發(fā)環(huán)境。它能夠幫助用戶在一個(gè)軟件環(huán)境下完成編輯、編譯、鏈接、調(diào)試和數(shù)據(jù)分析等工作。二、MSP430軟件開(kāi)發(fā)集成環(huán)境CCSv5CCSv5的下載及安裝(1/2)CCSv5的安裝步驟 (1)運(yùn)行安裝程序ccs_setup_0031.exe,當(dāng)運(yùn)行到圖1處時(shí),選擇Custom選項(xiàng),進(jìn)入手動(dòng)安裝選擇通道。 (2)單擊Next得到圖2所示窗口,為了安裝快捷,在此只選擇支持MSP430 Low Power MCUs的選項(xiàng)。單擊Next,保持默認(rèn)配置,繼續(xù)安裝,安裝完成后,彈出如圖3所示窗口。圖1 安裝過(guò)程1圖

8、2 安裝過(guò)程2圖3 軟件安裝完成CCSv5的下載及安裝(2/2) (3)單擊“Finish”按鈕,將運(yùn)行CCSv5,彈出如圖4所示窗口,打開(kāi)“我的電腦”圖標(biāo),在某一磁盤下,創(chuàng)建工作區(qū)間文件夾路徑:F:MSP-EXP430F5529Workspace(注意,任意名稱的文件夾均可,就是不能使用中文名),單擊“Browse” 按鈕,將工作區(qū)間鏈接到所建文件夾,不勾選“Use this as the default and do not ask again”選項(xiàng)。 (4)單擊“OK”按鈕,第一次運(yùn)行CCSv5需進(jìn)行軟件許可的選擇,如圖5所示。 在此,選擇“CODE SIZE LIMITED(MSP43

9、0)”選項(xiàng),在該選項(xiàng)下,對(duì)于MSP430單片機(jī),CCSv5免費(fèi)開(kāi)放16KB的程序空間;若讀者有軟件許可,可以選擇第一個(gè)選項(xiàng)(ACTIVATE)進(jìn)行軟件許可的認(rèn)證,單擊“Finish”按鈕即可進(jìn)入CCSv5軟件開(kāi)發(fā)集成環(huán)境,如圖6所示。圖4 Workspace選擇窗口圖5 軟件許可選擇窗口 圖6 CCSv5軟件開(kāi)發(fā)集成環(huán)境界面利用CCSv5導(dǎo)入已有工程(1/2) (1)首先打開(kāi)CCSv5,選擇“FileImport”命令,彈出如圖7所示對(duì)話框,單擊展開(kāi)“Code Composer Studio”選項(xiàng),選擇“Existing CCS/CCE Eclipse Projects”。 (2)單擊“Nex

10、t”按鈕,彈出圖8所示對(duì)話框。圖7 導(dǎo)入新的CCSv5工程文件圖8 選擇導(dǎo)入工程目錄 利用CCSv5導(dǎo)入已有工程(2/2)(3)單擊“Browse”按鈕,選擇需導(dǎo)入的工程所在目錄,如圖9所示。(4)單擊“Finish”按鈕,即可完成已有工程的導(dǎo)入。圖9 選擇導(dǎo)入工程利用CCSv5新建工程(1/3) (1)首先打開(kāi)CCSv5并確定工作區(qū)間,然后選擇“FileNewCCS Project”命令,彈出如圖10所示的對(duì)話框。 (2)在“Project name”中輸入新建工程的名稱,在此輸入myccs1。 (3)在“Output type”中有兩個(gè)選項(xiàng):Executable和Static librar

11、y。前者為構(gòu)建一個(gè)完整的可執(zhí)行程序,后者為靜態(tài)庫(kù)。在此保留Executable。 (4)在“Device”部分選擇器件的型號(hào):在“Family”中選擇MSP430;“Variant”中選擇MSP430 x5xx Family,芯片選擇MSP430F5529;“Connection”保持默認(rèn)。 (5)選擇空工程,然后單擊“Finish”按鈕完成新工程的創(chuàng)建。 (6)創(chuàng)建的工程將顯示在“Project Explorer”對(duì)話框中,如圖11所示。圖10 新建CCS工程對(duì)話框圖11 初步創(chuàng)建的新工程 利用CCSv5新建工程(2/3) 特別提示:若要新建或?qū)胍延?h或.c文件,步驟如下: (7)新建.

12、h文件:在工程名上右擊,選擇“NewHeader File”命令,彈出如圖12所示對(duì)話框。在“Header file”中輸入頭文件的名稱,注意必須以.h結(jié)尾,在此輸入my01.h。 (8)新建.c文件:在工程名上右擊,選擇“NewSource File”命令,得到如圖13所示對(duì)話框。在“Source file”中輸入c文件的名稱,注意必須以.c結(jié)尾,在此輸入my01.c。圖12 新建.h文件對(duì)話框圖13 新建.c文件對(duì)話框利用CCSv5新建工程(3/3) (9)導(dǎo)入已有.h或.c文件:在工程名上右擊,選擇“Add Files”命令,彈出如圖14所示對(duì)話框。找到所需導(dǎo)入的文件位置并單擊,彈出如圖

13、15所示對(duì)話框。選中“Copy files”,單擊“OK”按鈕,即可將已有文件導(dǎo)入工程中。 工程移植步驟:若已用其他編程軟件(例如IAR)完成了整個(gè)工程的開(kāi)發(fā)。該工程無(wú)法直接移植入CCSv5,但是,可以通過(guò)在CCSv5中新建工程,并根據(jù)步驟(7)、(8)和(9)新建或?qū)胍延?h和.c文件,從而完成整個(gè)工程的移植。圖14 導(dǎo)入已有文件對(duì)話框圖15 添加或鏈接現(xiàn)有文件利用CCSv5調(diào)試工程(1/2)(1)首先將所需調(diào)試工程進(jìn)行編譯:選擇“ProjectBuild Project”命令,編譯目標(biāo)工程。編譯結(jié)果可通過(guò)圖16所示窗口查看。若編譯沒(méi)有錯(cuò)誤產(chǎn)生,可以進(jìn)行下載調(diào)試;如果程序有錯(cuò)誤,將會(huì)在Pr

14、oblems窗口顯示。讀者要針對(duì)顯示的錯(cuò)誤修改程序,并重新編譯,直到無(wú)錯(cuò)誤提示。(2)單擊綠色的Debug 按鈕 進(jìn)行下載調(diào)試,得到如圖17所示的界面。調(diào)試窗口變量、觀察及寄存器窗口程序窗口控制臺(tái)窗口圖17 調(diào)試窗口界面圖16 工程調(diào)試結(jié)果Problems窗口利用CCSv5調(diào)試工程(2/2)運(yùn)行停止暫停單步進(jìn)入(c語(yǔ)言調(diào)試)單步跳過(guò)(C語(yǔ)言調(diào)試)單步退出復(fù)位CPU重新開(kāi)始刷新單步跳過(guò)(匯編語(yǔ)言調(diào)試)單步進(jìn)入(匯編語(yǔ)言調(diào)試)三、 MSP430F6638 實(shí)驗(yàn)板概述 MSP430F6638是MSP430F6系列新一代集成USB、LCD等模塊的超低功耗單片機(jī),可以認(rèn)為是430系列外設(shè)模塊最多的芯片,

15、很適合初學(xué)者全面掌握MSP430。1、 MSP430F6638 實(shí)驗(yàn)板系統(tǒng)框圖 2、MSP430F6638 說(shuō)明 MSP430F663x 是微控制器系列產(chǎn)品,配置有一個(gè)高性能12位模數(shù) (A/D )轉(zhuǎn)換器,比較器,2個(gè)通用串行通信接 口 (USCI),USB 2.0,硬件乘法器,DMA,4個(gè)16位定時(shí)器,具有報(bào)警功能的實(shí)時(shí)時(shí)鐘模塊,LCD驅(qū)動(dòng)器和多達(dá)74 I/O引腳。 這款設(shè)備的典型應(yīng)用包括模擬和數(shù)字傳感器系統(tǒng),數(shù)字電機(jī)控制,遙控,恒溫器,數(shù)字時(shí)鐘,手持儀表等 3、硬件設(shè)計(jì) LED 3、硬件設(shè)計(jì) 用戶獨(dú)立按鍵 3、硬件設(shè)計(jì) 8位數(shù)碼管與矩陣鍵盤 3、硬件設(shè)計(jì) 段式LCD 3、硬件設(shè)計(jì) TFT

16、LCD 3、硬件設(shè)計(jì) 電容式觸摸 3、硬件設(shè)計(jì) ADDA示例-電位器麥克風(fēng)喇叭設(shè)計(jì) 3、硬件設(shè)計(jì)串行異步通訊設(shè)計(jì)(232&485&IrDA) 3、硬件設(shè)計(jì)串行外設(shè)接口設(shè)計(jì)(LCD&SD&無(wú)線模塊) 3、硬件設(shè)計(jì)通訊串行IIC設(shè)計(jì)(數(shù)字溫度傳感器) 3、硬件設(shè)計(jì) BP模塊示例-步進(jìn)電機(jī)與直流電機(jī) 3、硬件設(shè)計(jì) BP模塊示例-溫濕度測(cè)量 3、硬件設(shè)計(jì)調(diào)試仿真接口及USB接口 四、LED跑馬燈實(shí)例實(shí)驗(yàn)任務(wù):使開(kāi)發(fā)板上的3個(gè)LED燈閃爍。 四、LED跑馬燈實(shí)例 三個(gè)LED燈分別與MSP430F6638 的P4.4、P4.5、P4.6三個(gè)IO相連 R603.3KR593.3KR583.3KLED_YEL

17、LOWLED_REDLED_GREEND10LED_YELLOW12D9LED_GREEN12D8LED_RED12三種程序?qū)崿F(xiàn)方法 LED跑馬燈實(shí)現(xiàn)方法有很多,這里例舉3種不同的方法來(lái)說(shuō)明;1. 配置寄存器法2. 直接調(diào)用頭文件#include 法3. 通過(guò)使用固件庫(kù)driverlib配置GPIO引腳控制法#define P3P4_BASE_Address 0 x0220#define BIT1 (0 x0002)#define BIT2 (0 x0004)#define BIT3 (0 x0008)#define P4DIR ( (volatile unsigned char )(P3P4

18、_BASE_Address + 0 x05)#define P4OUT(*(volatile unsigned char*)(P3P4_BASE_Address + 0 x03)void main(void) volatile unsigned int i; volatile unsigned int count=0; P4DIR |= BIT4 + BIT5 + BIT6; / P4.4,P4.5,P4.6 set as output while(1) / continuous loop P4OUT = BIT4 + BIT5 + BIT6; / XOR P4.4,P4.5,P4.6 for(i=20000;i0;i-); / Delay 配置寄存器法#include void main(void) volatile unsigned int i; WDTCTL = WDTPW+WDTHOLD; / Stop WDT P4DIR |= BIT4 + B

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論