在本教程中,我們將了解代碼編輯器工作室以及如何使用它來編程 MSP430。本教程是為初學(xué)者編寫的,除了 MSP430 板和計算機(jī)外,不需要任何硬件。在本教程結(jié)束時,我們將能夠閃爍MSP430的板載LED。
MSP-EXP430G2 開發(fā)板:
華麗的紅色板是MSP-EXP430G2開發(fā)板。該板可以對屬于 MSP430 系列的 TI 微控制器進(jìn)行編程。該板的主要目的是將代碼從計算機(jī)上傳到MCU,并從MCU讀取串行數(shù)據(jù)以進(jìn)行調(diào)試。它還為MCU的每個引腳提供引腳布局,以及兩個LED和一個按鈕,使開發(fā)變得容易。自推出以來,該板已經(jīng)發(fā)展了很多,下面顯示的是MSP_EXP430G2 Rev1.5。
MSP430G2553 具有比其他系列更好的規(guī)格,它還具有一個 UART 模塊,在使用代碼編輯器工作室進(jìn)行調(diào)試時非常方便。因此,在本系列教程中,我們將使用 MSP430G2553 來探索該開發(fā)套件的所有功能。
為開發(fā)板供電和測試:
在我們開始之前,TI 已經(jīng)在您的 MSP430G2553 微控制器上上傳了一個示例程序,因此讓我們?yōu)殡娐钒骞╇姴z查它是否正常工作。您可以通過迷你 USB 插孔為電路板供電,完成后,您應(yīng)該注意到主板左下角的 LED(紅色和綠色)交替發(fā)光。然后,您可以按下連接到P1.3的按鈕,檢查內(nèi)部溫度傳感器是否正常工作。是的,MSP2553 有一個內(nèi)部溫度傳感器,按下按鈕后只需揉搓手指將其預(yù)熱并將其放在 IC 上,您就可以注意到紅色 LED 亮起以指示溫度升高。涼?。∮???好了,現(xiàn)在讓我們繼續(xù)討論軟件環(huán)境。
適用于 MSP430 LaunchPad 的編程軟件 (IDE):
德州儀器允許我們通過各種環(huán)境對他們的微控制器進(jìn)行編程。官方的是一個代碼編輯器工作室,通常被稱為CCS。該軟件是免費提供的。此外,它需要一些最低水平的微控制器經(jīng)驗。不用擔(dān)心,我們將涵蓋熟悉CCS的每一步。
還有一個IDE可用于編寫我們的程序,即Energia IDE。那么,CCS和Energia IDE有什么區(qū)別呢?我們已經(jīng)在之前的教程中介紹了Energia IDE。
Energia IDE vs. Code Composer Studio:
Energia是一個開源和免費的環(huán)境,使我們能夠輕松地對TI微控制器進(jìn)行編程。Energia的主要目的是使TI MCU的編程像在Arduino中編程一樣簡單。因此,Energia相當(dāng)于支持德州儀器微控制器的Arduino。使用過Arduino的人一旦下載并啟動Energia IDE,就會更加同意這一點。
Code Composer Studio (CCS)是一個更通用的專業(yè) IDE,在訪問微控制器的內(nèi)部架構(gòu)方面具有更多的功能和能力。它具有內(nèi)置的調(diào)試功能,可以檢查代碼中的錯誤,您可以逐行運行代碼,這有助于查找錯誤而不會令人頭疼。適應(yīng)CCS需要一些時間。一旦你設(shè)置了這個很棒的軟件,相信我,你會對特定的微控制器有所了解。您必須借助微控制器的數(shù)據(jù)表來編寫程序。
如果您完成了Arduino iDE或Energia IDE,請將編碼環(huán)境更改為CCS,這是工業(yè)中最苛刻的軟件。
下載并啟動代碼編輯器工作室:
該軟件可在德州儀器的網(wǎng)站上免費獲得。因此,您可以從給定的鏈接下載它 下載鏈接 .我們將使用Code Composer Studio V7,但您也可以下載最新版本,過程保持不變。
您可以使用 Web 安裝程序下載整個軟件,也可以下載安裝程序/離線安裝程序。該軟件在1GB左右非常重,因此您需要等到下載完成。
下載軟件后,打開并安裝。
當(dāng)您單擊安裝程序時,就像任何其他軟件一樣,系統(tǒng)會要求您同意條款和條件并選擇安裝文件夾。之后,您必須選擇要為其下載文件的板。在我們的例子中,我們使用的是MSP430 MCU,請單擊第一個選項。您可以下載多個電路板文件。
下一個窗口是選擇調(diào)試探針。默認(rèn)情況下,有一個選項可用,因此,單擊它并完成。現(xiàn)在,您的安裝將開始,所以只需等待它完成。
安裝后,它會詢問工作區(qū)文件夾,因此選擇要保存文件的文件夾,然后單擊確定。
因此,讓我們看一下我們將看到的第一個窗口。
這是一個簡單的界面,您可以在其中看到入門菜單,您可以在其中開始制作項目,在入門旁邊有一個資源瀏覽器。這是該軟件的一項很棒的功能,您可以在其中找到 TI 產(chǎn)品的每個細(xì)節(jié),例如數(shù)據(jù)表、文檔等。無需在互聯(lián)網(wǎng)上查找數(shù)據(jù)表,只需單擊資源瀏覽器并單擊要探索的設(shè)備,然后您就可以看到有關(guān)產(chǎn)品的所有詳細(xì)信息。
在代碼編輯器工作室中創(chuàng)建第一個項目:閃爍 LED:
在CCS中創(chuàng)建項目:
第 1 步:-單擊“文件 ->新建 -> CCS 項目”。如下圖所示
Step 2:-Next, you have to choose MSP board that you are using. I am using MSP430G2553 so, I will choose this as shown.
為您的項目命名,然后單擊完成。
單擊完成后,將打開一個新窗口,其中已經(jīng)寫入了一些行代碼。
在 CCS 中編寫代碼:
讓我們看看已經(jīng)給出的代碼的結(jié)構(gòu)。第一行是我們的頭文件,它取決于我們在創(chuàng)建項目時選擇的變體。正如我所說,我使用的是 MSP430G2553,所以我將頭文件重命名為
#include
下一行是主要功能。在主函數(shù)中,您將看到看門狗定時器的初始化。MSP430和其他基于TI的微控制器具有特殊類型的定時器,稱為看門狗定時器。該定時器的工作是在微控制器開始掛起或停止發(fā)出響應(yīng)時重置微控制器。在我們的代碼中,我們不會使用看門狗計時器,因為它高于初學(xué)者的觀點。當(dāng)我們打開微控制器時,看門狗定時器默認(rèn)打開,因此我們必須通過編寫此行來關(guān)閉此計時器
WDTCTL = WDTPW | WDTHOLD;
現(xiàn)在,我們必須編寫代碼來閃爍連接到P1.0的板載LED。另一個指示燈連接到P1.6。我們將僅使用第一個 LED。在了解閃爍程序后,您也可以編寫用于切換這兩個 LED 的代碼。
首先,我們必須聲明這些 PIN,因為我們將它們用作 INPUT 或 OUTPUT。
有許多類型的寄存器,即用于控制端口的內(nèi)存塊。因此,對于將端口定義為輸入或輸出,PXDIR(X是端口號)。(數(shù)據(jù)方向寄存器)寄存器使用。如果 PXDIR 為 1,則充當(dāng)輸出,0 表示輸入。我們的 LED 位于端口號 1,因此我們將寫為P1DIR 。
我們需要配置 PIN 0,因為我們的 LED 連接到此 PIN 并且它是輸出的。每個端口有 8 位,我們希望 Bit0 作為 HIGH 以使其輸出。因此,我們將 P1DIR 分配為
P1DIR = 0b00000001;
it is in binary , we can also write it in Hexadecimal i.e.
P1DIR = 0x01;
接下來,我們必須將特定端口的特定引腳設(shè)置為高或低。為此,我們必須使用P1OUT寄存器,1 表示高電平,0 表示低電平。最初,我通過將 BIT0 設(shè)置為 1 個保持零來使 LED 亮起。
P1OUT=0b00000001
;
P1OUT = 0x01; //
in hexadecimal
由于MSP430中沒有內(nèi)置的延遲功能,因此我們必須使用for循環(huán)來提供延遲。
因此,在下一步中,我們必須聲明一個變量'i'用于延遲目的,它可以寫為
Unsigned int i;
首先,我們將使 PIN0 為高電平,并使用 FOR 循環(huán)給出一些延遲,然后使引腳為低電平。這樣,我們得到了閃爍效果。我們像這樣編寫程序:
P1OUT=0X01; //make bit0 HIGH
for
(i=0;i<20000;i++){ ? // ? ?delay till you make LED HIGH ? ?} ? ? ? ?P1OUT=0X00; ? //make bit0 LOW ? ? ? ?
for
(i=0;i<20000;i++){ ? // delay till you make LED LOW ? ? ? ? ? ? ? }
您也可以以其他方式編寫此代碼。可以使用按位運算符來減少代碼行數(shù)。有 OR、AND 和 XOR 位運算符可用。您可以使用異或運算符 (^)。當(dāng)兩個位都相等時,XOR 運算給出 1,例如 1 和 1、0 和 0。我們這樣寫
P1OUT ^= 0x01;
這意味著P1OUT = P1OUT xor 0b00000001;
因此,最初我們將 P1OUT 初始化為 0b00000001,如果我們使用 0b00000001 進(jìn)行異或運算,輸出將為 0b00000000 表示我們的 LED 將熄滅。在此之后,我們出于延遲目的放置了 for 循環(huán)。
while
(1) { P1OUT ^=0X01; //toggle the bits
for
(i=0;i<20000;i++){ ? // delay till you make LED LOW HIGH ? ? ?} ? ?}
將代碼上傳到 MSP430:
CCS的完整程序在頁面末尾給出。因此,我們的代碼已準(zhǔn)備好在 MSP430 中刻錄。因此,請使用USB電纜將MSP與筆記本電腦連接。
現(xiàn)在,我們必須編譯/構(gòu)建我們的代碼,為此單擊項目 -> 全部構(gòu)建。在窗口底部的控制臺框中檢查編譯報告。它將顯示“構(gòu)建完成”。
是時候上傳程序了。單擊“運行”->“調(diào)試”。單擊調(diào)試后,您將獲得一個與省電相關(guān)的窗口,只需單擊繼續(xù)即可。在調(diào)試選項中,轉(zhuǎn)到“運行>恢復(fù)”。如果選項已清空,則無需擔(dān)心,請轉(zhuǎn)到“查看>調(diào)試”,然后再次轉(zhuǎn)到“運行>恢復(fù)”。
調(diào)試代碼后,程序?qū)⒘⒓瓷蟼鞯?MSP 中。一種快捷方法是簡單地單擊屏幕上的播放/暫停按鈕。調(diào)試屏幕如下所示,如下所示
如果 LED 不閃爍,則重置主板或再次連接 USB。
這就是如何在代碼編寫器工作室中編寫一個簡單的程序來使用 MSP430 閃爍 LED。
-
led
+關(guān)注
關(guān)注
242文章
23347瀏覽量
662933 -
msp430
+關(guān)注
關(guān)注
180文章
2403瀏覽量
229584 -
編輯器
+關(guān)注
關(guān)注
1文章
806瀏覽量
31282
發(fā)布評論請先 登錄
相關(guān)推薦
評論