MSP430單片機入門課件講解_第1頁
MSP430單片機入門課件講解_第2頁
MSP430單片機入門課件講解_第3頁
MSP430單片機入門課件講解_第4頁
MSP430單片機入門課件講解_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

MSP430專題2005年11月本講稿可以在電子中心網(wǎng)站或

課件欄目下載什么是單片機單片機也叫微控制器單片機就是單片計算機一個芯片就是一臺計算機

計算機CPU兩大營:INTELAMD

單片機五花八門按總線寬度分:4位機;8位機;

16位機;

32位機;運行速度可以調(diào)整:32K12M266M等有很多國際大公司參與設(shè)計生產(chǎn):51系列幾十個公司生產(chǎn)PIC系列美國微芯摩托羅拉臺灣大陸蘇州飛利浦的系列8位51系列以及32位ARM系列德州儀器的系列430十六位單片機南京東大可以生產(chǎn)ARM單片機應(yīng)用舉例我們周圍的單片機應(yīng)用有:空調(diào)洗衣機電視機微波爐電子手表手機食堂消費機計算機外圍:鼠標(biāo)、鍵盤、硬盤、光碟一輛汽車有40片左右單片機等等以上列舉都是單片機應(yīng)用??照{(diào)機控制系統(tǒng)框圖CPU單元溫度采集單元壓縮機風(fēng)機鍵盤顯示學(xué)習(xí)MSP430單片機推薦參考書《MSP430系列超低功耗16位單片機接口技術(shù)及系統(tǒng)設(shè)計實例》

北航出版社魏小龍編著《MSP430系列單片機C語言程序設(shè)計與開發(fā)》

北航出版社胡大可編著MSP430單片機學(xué)習(xí)方法強化理論知識大量做實驗勤于思考多動手已經(jīng)與MSP430廠家———TI(德州儀器)建立了聯(lián)合實驗室,擁有60套實驗設(shè)備。地點:3410。其中40套為贈送,20套購買MSP430F449單片機結(jié)構(gòu)

MSP430F449片內(nèi)資源16-BitRISC結(jié)構(gòu),12-BitA/D16-BitTimer_B

16-BitTimer_A6*8I/O比較器USART160SegmentsLCD60KB+256BFlashMemory,2KBRAM看門狗基本定時器

MSP430F449內(nèi)部有什么?上頁內(nèi)容MSP430F449全有在仿真環(huán)境內(nèi),我們可以清楚地看到他們打開仿真環(huán)境的對應(yīng)窗口即可。MSP430開發(fā)流程編寫源代碼修改程序硬件準(zhǔn)備結(jié)束仿真調(diào)試滿意?修改硬件軟件不滿意硬件不滿意滿意MSP430開發(fā)調(diào)試過程1、建立工程項目2、編寫源代碼3、將源代碼添加到項目文件4、選擇器件5、選擇仿真方式6、編譯下載代碼到芯片7、仿真調(diào)試(演示)

數(shù)據(jù)類型字節(jié)數(shù)數(shù)據(jù)表示范圍注釋sfrb,sfrw1

聲明字節(jié)或字長度的I/O類型char(默認(rèn)類型)10—255等價于unsignedcharchar(使用-c選項)1-128—127等價于signedcharsignedchar1-128—127

unsignedchar10—255

short,int2-32768—32767

unsignedshortunsignedint20—65535

long412147483648—2147483647

unsignedlong 40—4294967295pointer 2

指針類型float418E-38—39E+38浮點類型double,longdouble 418E-38—39E+38

表達(dá)式語句(結(jié)構(gòu))

條件語句

開關(guān)語句

循環(huán)語句

返回語句

條件語句

語句表達(dá)形式有3種(a、b、c):a if(條件表達(dá)式)語句b if(條件表達(dá)式)語句1 else語句2c if(條件表達(dá)式)語句1 elseif(條件表達(dá)式)語句2 elseif(條件表達(dá)式)語句3

……開關(guān)語句

switch(表達(dá)式) { case常量表達(dá)式1:語句1 break; case常量表達(dá)式2:語句2 break; case常量表達(dá)式3:語句3 break;

…… default:語句d }循環(huán)語句

while(條件表達(dá)式)語句; 當(dāng)條件滿足時,就反復(fù)執(zhí)行后面的語句,一直執(zhí)行到條件不滿足時。以軟件延時程序為例說明該語句是如何執(zhí)行的。voiddelay(longv){while(v!=0)v--;}do語句while(條件表達(dá)式) 先執(zhí)行一次循環(huán)體的語句,再判斷條件是否滿足,以決定是否再執(zhí)行循環(huán)體。下面的程序?qū)?shù)組BUFF[20]中的全部數(shù)據(jù)相加。

Intx=0; CharI=0; Do{ x=BUFF[I]+x; I=I+1; } while(I<20);……for([初值設(shè)定表達(dá)式];[循環(huán)條件表達(dá)式];[條件更新表達(dá)式])語句

for語句常用于需固定循環(huán)次數(shù)的循環(huán)。下面的程序段同樣實現(xiàn)將數(shù)組BUFF[20]中的全部數(shù)據(jù)相加的功能。Intx=0; CharI=0;for(I=0;I<20;I++) x=BUFF[I]+x;

……goto語句標(biāo)號

goto語句常用于跳轉(zhuǎn)到一個固定的地址標(biāo)號。其中固定的地址標(biāo)號是一個帶“:”的標(biāo)志符。比如:

……MM:……

…… gotoMMM

……函數(shù)的定義與調(diào)用

函數(shù)類型函數(shù)名(形式參數(shù)表) 形式參數(shù)說明

{

局部變量定義 函數(shù)體語句

}[存儲變量類型]interrupt[中斷矢量變量]函數(shù)類型函數(shù)名(形式參數(shù)表) 形式參數(shù)說明

{

局部變量定義 函數(shù)體語句

}經(jīng)常使用的延時函數(shù) voiddelay(longv){while(v!=0)v--;}delay(100)究竟延時多久呢?就是這句話執(zhí)行需要的時間。時間等于:機器周期×需要的機器周期數(shù)(在仿真環(huán)境中可以測試出來)MSP430單片機的輸入輸出P1P2P3P4P5P6引腳控制寄存器PnDIR 方向寄存器 1為輸出、0為輸入PnOUT 輸出寄存器 1輸出高、0為低PnIN 輸入寄存器 讀出口線的狀態(tài)PnSEL 第二功能寄存器

n=1,2,3,4,5,6引腳使用舉例控制連接在P5.1口線的發(fā)光二極管的亮與熄:首先、 P51為輸出 ---P5DIR=0x02;亮 輸出1 ---P5OUT=2;熄滅 輸出0 ---P5OUT=0;如何讓發(fā)光二級管閃爍?1、亮2、延時1秒鐘3、熄滅4、延時1秒鐘5、跳轉(zhuǎn)到步驟1(演示)如何改變發(fā)光二級管閃爍的速度?改變延時的時間參數(shù)1、亮2、延時1秒鐘3、熄滅4、延時1秒鐘5、跳轉(zhuǎn)到步驟1(演示)如何讓一只發(fā)光管閃快、另一只慢?增加一個變量xxxx為模5計數(shù)器只有當(dāng)xx為1的時候第一發(fā)光管亮只有當(dāng)xx小于4的時候第二發(fā)光管亮其余時間兩個都熄滅(5分鐘時間學(xué)生自己編寫程序)第三個按鈕控制前兩個按鈕Charkey_en=0;If(key==2)key_en=~key_en;If((key==0)&(key_en==0)){}If((key==1)&(key_en==0)){}串行密碼鎖設(shè)計按照順序:KEY0-KEY1-KEY2;

KEY1-KEY0-KEY2;K0-K0-K0-K1-K2-K0-K2;K2-K2-K0-K1-K2;錯誤狀態(tài)的清除很重要?。∪绾巫寙纹瑱C發(fā)聲?聲音是什么?——聲音是震動產(chǎn)生的;揚聲器發(fā)聲的原理:處在磁場中的有電流的線圈產(chǎn)生震動,繼而發(fā)聲。不同的頻率產(chǎn)生不同的聲音;MSP430的端口可以輸出不同的頻率;繼而可以推動揚聲器產(chǎn)生不同的聲音。下頁的程序?qū)l(fā)出什么聲音呢?第一段程序voidgun(void){for(ff=40;ff<200;ff++){P6OUT^=BIT0;//對輸出置反

for(tmp=0;tmp<ff;tmp++);//延時

}}第二段程序voids1(void){for(ff=30;ff<500;ff++){P6OUT^=BIT0;//對輸出置反

for(tmp=0;tmp<ff;tmp++);//延時

}}第三段程序voids2(void){for(ff=50;ff<100;ff++){P6OUT^=BIT0;//對輸出置反

for(tmp=0;tmp<ff;tmp++);//延時

}}總結(jié)以上三段程序的結(jié)構(gòu)完全一樣,但是效果完全不一樣!主要為:頻率不一樣;各頻率段的延時不一樣。第三段頻率高,延時短。數(shù)碼管的顯示CBEGAFDEGAFD以上為數(shù)碼管的原理,實質(zhì)為8只發(fā)光二級管,地端連接在一起,當(dāng)給ADEG高電平時將顯示數(shù)字“2”。CAEDBFGNDHG01111101如何顯示實驗系統(tǒng)有6只數(shù)碼管連接在端口上。程序舉例(演示)液晶顯示器的使用液晶顯示器的控制寄存器LCDCTLLCDMEMI常用:LCDCTL=0XDF;液晶顯示原理與顯示碼表CBEGAFDCBEGAFD如果紅色顯示將顯示數(shù)字“2”如果HGFEDCBA對應(yīng)一個字節(jié)的高到低位則顯示碼為:HGFEDCBA 010110110x5b常用數(shù)字的液晶段碼HGFEDCBA0123456789液晶碼表什么是碼表?就是一個數(shù)組,用于查找對應(yīng)數(shù)字的顯示碼LCD_TAB[10]={0x3f,0x06,0x5b…….};當(dāng)要顯示“1”的時候,使用語句:LCDMEM[N]=LCD_TAB[1];為什么?在液晶屏上顯示數(shù)據(jù)依次顯示0-6:charI;For(I=0;I<7;I++)LCDMEM[I]=LCD_TAB[I];如何在液晶上循環(huán)顯示作為思考題自己編寫程序為上機內(nèi)容如何在液晶上顯示閃動的數(shù)字作為思考題上機內(nèi)容定時器TATA的原理:TA的工作方式4種工作模式:連續(xù)增減停定時器TA的寄存器控制寄存器TACTL捕獲/比較寄存器定時器應(yīng)用舉例產(chǎn)生1秒的定時信號:首先、選擇輸入信號來源其次、選擇工作模式最后、設(shè)定比較值開啟中斷、啟動定時器等待時間的到達(dá)。時鐘的設(shè)計作為上機內(nèi)容,請同學(xué)們自己編寫完整程序要點:1、定時器設(shè)置為1秒中斷一次2、寫時間程序兩個60進制,一個24進制,7進制3、時間送液晶顯示4、顯示:星期時分秒

5、每秒發(fā)光二極管閃爍設(shè)計鬧鐘要點:

1、基于前面的時鐘程序

2、增加時間控制

3、到達(dá)規(guī)定的時間點,發(fā)光二極管亮5秒掃描鍵盤鍵盤原理掃描鍵盤為行列掃描掃描鍵盤的完整程序為:1、判斷是否有按鍵按下;2、判斷是哪個按鍵按下;3、判斷是否按鍵松開。按鍵原理圖電路原理圖行線P11、P12、P13

列線P14、P15、P16、P17全上拉P13P14P16P17P15P12P11如何判斷是否有按鍵按下首先、設(shè)置端口:行線為輸出、列線為輸入。然后、行線輸出為低電平最后判斷:如果有按鍵按下,則列線不全為高電平,如果沒有鍵按下,則列線全部為高電平。charKeyj(void){ P1DIR=0x0E;//setp1.1~p1.3設(shè)置為輸出模式P1OUT=0x00;//p1.1~p1.3輸出值清零return(P1IN&0xf0);}如果返回值為0xf0

則有按鍵按下嗎?以后直接調(diào)用這個函數(shù),即可判斷有否按鍵按下。注意:有鍵按下后,需要消抖動使用延時再判斷的方法即可消除抖動If(Keyj()!=0xf0){delay(200); //延時消除抖動

If(Keyj()==0xf0)exit; //沒有按鍵未抖動

else //確實有鍵按下

{ //處理

}檢查程序正確性測試方法:如果有按鍵按下則發(fā)光管亮If(Keyj()!=0xf0){delay(200); //延時消除抖動

If(Keyj()==0xf0)exit; //沒有按鍵為抖動

else //確實有鍵按下

{P1OUT=1; //處理DELAY(10000);P1OUT=0;}如何查找哪個按鍵按下方法為:一個一個地查找。先第一行輸出0,檢查列線是否非全高否則第二行輸出0,檢查列線是否非全高否則第三行輸出0,檢查列線是否非全高如果某行輸出0時,查到列線非全高,則該行有按鍵按下。根據(jù)第幾行線輸出0與第幾列線讀入為0,即可判斷在具體什么位置的按鍵按下。下頁具體程序。voidcheck_Key(void){unsignedcharrow,col,tmp1,tmp2;//tmp1用來設(shè)置P1OUT的值,使P1.1~P1.3中有一個為0tmp1=0x08;for(row=0;row<3;row++){P1OUT|=0x0E;//p1.1~P1.3=1P1OUT-=tmp1;//P1.1~p1.3中有一個為0tmp1=tmp1/2;//tmp1右移一位

if((P1IN&0xf0)<0xf0){//是否P1IN的P1.4~P1.7中有一位為0tmp2=0x80;//tmp2用于檢測出那一位為0for(col=0;col<0x04;col++){//列檢測

if((P1IN&tmp2)==0x00){//是否是該列

key_val=key_Map[row*4+col];//獲取鍵值

return; //退出循環(huán)

}tmp2/=2; //tmp2右移

}}}}完整的鍵盤程序de鍵盤程序過程:判斷按鍵消除抖動判斷位置等待松開voidkey(void){If(Keyj()!=0xf0){delay(200); //延時消抖

If(Keyj()!=0xf0) //確實按下

check_Key();Wait:if(Keyj()==0xf0)gotowait;//等待松開}將鍵盤的鍵碼液晶顯示設(shè)計時間控制器要求:(2、3同學(xué)討論設(shè)計)時間可以調(diào)整控制點5個可以鍵盤輸入控制時間到,發(fā)光管亮可以輸入每個控制點的發(fā)光管亮的時間5-20秒計算器設(shè)計要求:(鍵盤與液晶)(2、3同學(xué)討論設(shè)計)被操作數(shù)2位,結(jié)果4位運算:+-×/操作規(guī)則:1、輸入兩個數(shù)字為第一操作數(shù)2、輸入運算:1、2、3、4

+-×/3、輸入兩個數(shù)字為第二操作數(shù)4、#為取消5、※為回車運算(等號)ADC12的使用deMSP430內(nèi)含12路12位200KPS的ADC:模擬輸入端為P6,將P6設(shè)置為第二功能則為ADC12;A10為內(nèi)部溫度傳感器;ADC12框圖ADC12 使用舉例首先設(shè)置ADC12:ADC12CTL0=ADC12ON+REFON+REF2_

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論