msp430超低功耗單片機原理與應用實驗教學3msp430按鍵跑馬燈_第1頁
msp430超低功耗單片機原理與應用實驗教學3msp430按鍵跑馬燈_第2頁
msp430超低功耗單片機原理與應用實驗教學3msp430按鍵跑馬燈_第3頁
msp430超低功耗單片機原理與應用實驗教學3msp430按鍵跑馬燈_第4頁
msp430超低功耗單片機原理與應用實驗教學3msp430按鍵跑馬燈_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、MSP430F6638_LED跑馬燈張立為版本管理Ø 修改Ø 審核版本號.職務簽名修改日期版本號.作者描述修改日期V01張立為2012 11 2輪廓Ø GPIO的基本概念Ø LED跑馬燈硬件實現(xiàn)Ø LED跑馬燈簡單軟件編程實現(xiàn)GPI基本概Ø GPIO通用輸入輸出GPIO是MCU數(shù)據(jù)輸入輸出的基本模塊,可以實現(xiàn)MCU與外部電路進行。Ø GPIO功能數(shù)字輸入/輸出,并行/串行通訊,器擴展通用輸入輸出端MSP430F663U1175P6.4/CB4/A4P9.7/S0274P6.5/CB5/A5P9 6/S1373P6.6/CB6

2、/A6/DAC0P9 5/S2472P6.7/CB7/A7/DAC1P9.4/S3571P7.4/CB8/A12P9 3/S4670P7.5/CB9/A13P9 2/S5769P7.6/CB10/A14/DAC0P9.1/S6868P7.7/CB11/A15/DAC1P9 0/S7967P5.0/VREF+/VEREF+P8.7/S81066P5.1/VREF-/VEREF-P8.6/UCB1SOMI/UCB1SCL/S91165AVCC1P8.5/UCB1SIMO/UCB1SDA/S101264AVSS1DVCC21363XINDVSS21462MSP430F6638XOUTP8.4/UCB

3、1CLK/UCA1STE/S111561AVSS2P8.3/UCA1RXD/UCA1SOM /S121660P5.6/ADC12CLK/DMAE0P8.2/UCA1TXD/UCA1SIMO/S131759P2.0/P2MAP0P8.1/UCB1STE/UCA1CLK/S141858P2.1/P2MAP1P8.0/TB0CLK/S151957P2.2/P2MAP2P4.7/TB0OUTH/SVMOUT/S162056P2.3/P2MAP3P4.6/TB0 6/S172155P2.4/P2MAP4P4.5/TB0 5/S182254P2.5/P2MAP5P4.4/TB0.4/S192353P2.6

4、/P2MAP6/R03P4.3/TB0 3/S202452P2.7/P2MAP7/LCDREF/R13P4.2/TB0 2/S212551DVCC1P4.1/TB0.1/S2226100DVSS1P6.3/CB3/A32799VCOREP6.2/CB2/A22898P5.2/R23P6.1/CB1/A12997LCDCAP/R33P6.0/CB0/A03096COM0RST/NMI/SBWTDIO3195P5.3/COM1/S42PJ 3/TCK3294P5.4/COM2/S41PJ.2/TMS3393P5.5/COM3/S40PJ.1/TD /TCLK3492P1.0/TA0CLK/ACLK

5、/S39PJ.0/TDO3591P1.1/TA0.0/S38TEST/SBWTCK3690P1.2/TA0.1/S37DVSS33789P1.3/TA0.2/S36DVCC33888P1.4/TA0.3/S35P5.7/RTCCLK3987P1.5/TA0.4/S34VBAT4086P1.6/TA0.1/S33VBAK4185P1.7/TA0.2/S32P7 3/XT2OUT4284P3.0/TA1CLK/CBOUT/S31P7.2/XT2IN4383P3.1/TA1.0/S30AVSS34482P3.2/TA1.1/S29V184581P3.3/TA1.2/S28VUSB4680P3.4/T

6、A2CLK/SMCLK/S27VBUS4779P3.5/TA2.0/S26PU.1/DM4878P3.6/TA2.1/S25PUR4977P3.7/TA2.2/S24PU.0/DP5076P4.0/TB0.0/S23VSSUMSP430F66介紹Ø MSP430F663x是微器系列,配置有一個高性能12位模數(shù)(A/D)轉換器,比較器,2個通用串行通口(USCI),USB2.0,硬件乘法器,DMA,4個16位計時器,具有功能的實時時鐘模塊,LCD驅動器和多達74I/O引腳。Ø 這款的典型應用包括模擬和數(shù)字傳感器系統(tǒng),數(shù)字電機,恒溫器,數(shù)字時鐘,手持儀表等。功能塊圖解功能塊圖解

7、Ø 由上圖可見(此圖從MSP430F663x datasheet中截?。〨PIO口可簡單分為兩類(帶中斷IO和不帶中斷IO):1. PA和PB端口具有中斷功能2. PC、PD、PE端口不具有中斷功能常用寄存器介紹Ø 方向選擇寄存器 PxDIRØ 輸入寄存器 PxIN0:輸入;1:輸出檢測IO的邏輯狀態(tài)Ø 輸出寄存器 PxOUT 0:低電平輸出;1:輸出高電平Ø 功能選擇寄存器 PxSEL 0:普通I/O口;1:選擇第二功能端口Ø 上拉/下拉電阻使能寄存器 PxREN0:上/下拉功能Ø 驅動力選擇 PxDS;1:上/下拉功能使

8、能0:低驅動力模式;1:高驅動力模式常用寄存器介紹Ø 中斷寄存器 PxIE0:中斷;1:中斷Ø 中斷邊沿選擇寄存器 PxIES 0:上升沿;1:下降沿Ø 中斷標志寄存器 PxIFG0:觸發(fā)沒有發(fā)生;1:觸發(fā)發(fā)生了GPITPUEQUENCØ GPIO輸出頻率LE跑馬燈硬件實Ø R、G、Y紅綠黃三色發(fā)光二極管驅動電路以及接口如下圖所示:由MSP430F6638 的P4.1、P4.2、P4.3三個IO驅動D8R583.3K12LED_REDLEDREDD9R596.2K12LED_GREENLED_GREEND10R603.3K12LED_Y ELL

9、OWLED_Y ELLOW限流電阻選材算Ø 上圖中三個電阻(R58、R59、R60)的阻值選擇:假設VDD為I/O口高電平電壓,對于MSP430F6638平臺是3.3V,通常,2mA的正向電流 IF足以讓LED發(fā)光,此時下列根據(jù)公式,LED的正向壓降VF約為 .(具體參數(shù)參照的LED發(fā)光管datasheet)所以,取LED限流電阻阻值為:DD-=VVFØRIFØ 注:根據(jù)電阻常用規(guī)格 和 實際需要 來選擇匹配電阻,LE跑馬燈軟件簡單編Ø LED跑馬燈實現(xiàn)方法有很多,這里例舉3種不同的方法來說明;1. 配置寄存器法2. 直接調用頭文件#include &l

10、t;msp430f6638.h>法3.通過使用固件庫driverlib配置GPIO引腳法配置寄存器法跑馬燈#define P3P4_BASE_Address 0x0220#define BIT1 #define BIT2 #define BIT3 #define P4DIR #define P4OUT(0x0002) (0x0004) (0x0008)(*(volatile unsigned char*)(P3P4_BASE_Addressx05)(*(volatile unsigned char*)(P3P4_BASE_Address + 0x03)void main(void)vol

11、atile unsigned int i;volatile unsigned int count=0;P4DIR |= BIT1 + BIT2 + BIT3;while(1)/ P4.1,P4.2,P4.3 set as output/ continuous loopP4OUT = BIT1 + BIT2 + BIT3;for(i=20000;i>0;i-);/ XOR P4.1,P4.2,P4.3/ Delay調頭文件法實現(xiàn)跑馬燈#include <msp430f6638.h>void main(void)volatile unsigned int i;WDTCTL = W

12、DTPW+WDTHOLD; P4DIR |= BIT1 + BIT2 + BIT3;while(1)P4OUT / Stop WDT/ P4.1,P4.2,P4.3 set as output/ continuous loop. ,. ,.for(i=20000;i>0;i-);/ Delay使用固件庫DRIVERLIB法Ø 介紹:使用driverlib庫的好處:1、可編程各個I/O2、輸入輸出任意組合3、單獨配置P1和P2中斷和包括某些設備額外的端口中斷4、的輸入輸出數(shù)據(jù)寄存器5、可單獨配置上拉/下拉電阻DRIVERLIB中GPIO API函數(shù)Ø The GPIO

13、pins are configured with1.GPIO_setAsOutputPin()2. GPIO_setAsInputPin()3. GPIO_setAsInputPinWithPullDownresistor()4. GPIO_setAsInputPinWithPullUpresistor()5. GPIO_setDriveStrength()6. GPIO_setAsPeripheralModuleFunctionOutp utPin()7. GPIO_setAsPeripheralModuleFunctionInput Pin()DRIVERLIB中GPIO API函數(shù)

14、16; The GPIO interrupts are handled with1.GPIO_enableInterrupt()2. GPIO_disbleInterrupt()3. GPIO_clearInterruptFlag()4. GPIO_getInterruptStatus()5. GPIO_interruptEdgeSelect()DRIVERLIB中GPIO API函數(shù)Ø The GPIO pin state is accessed with1.GPIO_setOutputHighOnPin()2. GPIO_setOutputLowOnPin()3. GPIO_to

15、ggleOutputOnPin()4. GPIO_getInputPinValue()Ø 關于以上函數(shù)具體用法請參照Texas Instruments手冊: MSP430_DriverLib_Users_Guide- 1_20_01_00.pdf使用固件庫DRIVERLIB跑馬燈#include "inc/hw_memmap.h" #include "driverlib/5xx_6xx/gpio.h" #include "driverlib/5xx_6xx/wdt.h"void main (void)volatile uns

16、igned int i;WDT_hold(MSP430_BASEADDRESS_WDT_A);/Stop WDT/P4.x outputGPIO_setAsOutputPin(MSP430_BASEADDRESS_PORT4_R, GPIO_PORT_P4,GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3);使用固件庫DRIVERLIB跑馬燈while(1)for(i=50000;i>0;i-);/ Delay/Sl P4pins LowGPIO_setOutputLowOnPin( MSP430_BASEADDRESS_PORT4_R,GPIO_PORT_P4,GPI

17、O_PIN1 + GPIO_PIN2 + GPIO_PIN3);for(i=50000;i>0;i-);/ Delay/Sl P4pins HIGPIO_setOutputHighOnPin( MSP430_BASEADDRESS_PORT4_R, GPIO PORT P4GPIO_PIN1 + GPIO_PIN2 + GPIO_PIN3);使用固件庫DRIVERLIB跑馬燈使用driverlib注意事項:把driverlib庫加進工程之后,注意在ProjectPropertiesInclude Options 選項中添加driverlib所在的路徑采用按鍵LE編程步驟:1、關閉看門狗2

18、、初始化按鍵,把P2.6(USER_2)設置成為輸入模式3、初始化三個LED(P4.1、P4.2、P4.3三個IO),并讓三個燈默認為熄滅狀態(tài)4、輪詢USER_2按鍵是否按下,如果按下,則點亮三個LED燈,否則三個燈熄滅采用按鍵LE#include"msp430f6638.h" void main voidWDTCTL = WDTPW+WDTHOLD;/ Stop WDT/setting direction P2DIR &= (1<<6);/setting IO for input P2.6(SW4 USER_2)P4DIR = 1<<11&

19、lt;<21<<3/settinIO for out utP4OUT = 0x00;while (1)/led offif (P2IN & 0x40) = 0)/ If key is pressed USER_2按下(低電平有效)P4OUT = 0x0e;/led onelseP4OUT = 0X00;/led off采用消抖動按鍵LE添加少許延時,防止按鍵按下時產生抖動導致的誤操作#include"msp430f6638.h"void main(void)WDTCTL = WDTPW+WDTHOLD;/setting direction/ Sto

20、p WDTP2DIR &= (1<<6);/setting IO for input P2.6(SW4 USER_2) P4DIR |= (1<<1)|(1<<2)|(1<<3);/setting IO for output P4OUT = 0x00;while (1)if (P2IN & 0x40) = 0)/If key is pressed delay_cycles(5000);/ disappears shakesif (P2IN & 0x40) = 0)/If key is pressedP4OUT = 0x0e;/led onelseP4OUT = 0X00;/led off采用按鍵中斷LE編程步驟如下:1、關閉看門狗2、初始化三個LED燈,并默認熄滅LED狀態(tài)3、使能USER_1、USER_2按鍵中斷4、清除中斷標志5、使能中斷6、當有按鍵按下時,產生中斷,使三個LED燈

溫馨提示

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

評論

0/150

提交評論