亚洲综合图片区自拍_思思91精品国产综合在线观看_一区二区三区欧美_欧美黑人又粗又大_亚洲人成精品久久久久桥本

MSP430FR6989單片機(jī)學(xué)習(xí)之點(diǎn)亮LED

2023-06-26 15:18:09 來(lái)源:LemonTechnology

今天開(kāi)始跟大家一起分享MSP430FR6989的系列教程


(資料圖片)

教程用到的硬件平臺(tái):TI官方的MSP430FR6989 LaunchPad

編譯器:IAR ForMSP430。

廢話不多說(shuō),直接上干貨。

1,MSP430FR6989的概述

高達(dá) 16MHz 的 16 位 RISC架構(gòu)優(yōu)化的超低功耗模式高達(dá)128KB的FRAM五個(gè)16位定時(shí)器,7個(gè)捕捉/比較日歷和鬧鐘功能的 RTC16位和32位CRC校驗(yàn)(CRC16、CRC32)16個(gè)外部通道的12位ADC集成 LCD 驅(qū)動(dòng)器增強(qiáng)型串行通信UART、IIC、SPI)靈活的時(shí)鐘系統(tǒng)(DCO、VLO、LFXT、HFXT)AES安全加密、ESI等等

2,基本運(yùn)算符的回顧

對(duì)于寄存器的操作,大部分就是 &、|、~的操作,這里我們簡(jiǎn)單回顧一下。

與 & :與 相當(dāng)于“乘”,任何數(shù)乘以0,都等于0,只有1與1才是1

與是拉成0;a & 0x1f 就是把a(bǔ)的高三位拉成0,別的位不變。

與0 會(huì)拉成0 與1 不變

或 | :或 相當(dāng)于“加”,任何數(shù)加上1,都等于1,只有0或0才是0

或是拉成1;a | 0x1f 就是把a(bǔ)的低五位拉成1,別的位不變。

或1 會(huì)拉成1 或0 不變

取反~:所有的位都進(jìn)行 非 運(yùn)算。

3,寄存器配置IO口點(diǎn)亮LED

msp430的IO采用傳統(tǒng)8位端口,每個(gè)IO口控制8個(gè)IO引腳。寄存器中的每一位對(duì)應(yīng)一個(gè)IO引腳,實(shí)現(xiàn)該引腳的獨(dú)立控制。如下:

寄存器PxDIR為方向控制寄存器,比如我們要控制P13口的方向?yàn)檩敵?,我們可以直接操作寄存? P1DIR |= 0x08;把第三位置1,別的位保持不變,這樣可以實(shí)現(xiàn)P13引腳的獨(dú)立控制。在官方頭文件中,其實(shí)已經(jīng)定義第三位BIT3=0x80;所以配置P13方向代碼我們可以直接如下配置:

P1DIR |= BIT3;

IO口的基礎(chǔ)寄存器包括以下四個(gè):

PxDIR :0--端口輸出低電平,1--端口輸出高電平。

PxIN :0--端口輸入低電平,1--端口輸入高電平。

PxOUT:端口輸入輸出方向。0--輸入,1--輸出。

PxREN:0--禁止使能上下拉電阻,1--使能上下拉電阻。

PxOUT決定拉電阻是上拉還是下拉。

IO口解鎖:

要想使配置完成的IO口生效, 必須從LPMx.5退出。在一個(gè)電源循環(huán)之后,IO引腳是被鎖定在高阻狀態(tài)下,必須由軟件清零,解鎖IO口配置。解鎖寄存器如下:

PM5CTL0 &= ~LOCKLPM5;

開(kāi)發(fā)板中的led部分原理圖如下:

我們要點(diǎn)亮LED,只需要P10和P97引腳置1即可。

4,代碼實(shí)現(xiàn)

#include "io430.h"int main( void ){    unsigned int i;    /* 關(guān)閉看門(mén)狗*/    WDTCTL = WDTPW | WDTHOLD;    P1DIR |= BIT0;              // 設(shè)置P10方向?yàn)檩敵?   P1OUT |= BIT0;              // P10輸出為1,點(diǎn)亮LED1    P9DIR |= BIT7;              // 設(shè)置P97方向?yàn)檩敵?   P9OUT |= BIT7;              // P97輸出為1,點(diǎn)亮LED2    PM5CTL0 &= ~LOCKLPM5;       // 使配置完成的IO口生效, 從LPMx.5退出    while(1)    {        P9OUT |= BIT7;                  // 點(diǎn)亮LED2        for(i = 0; i < 30000; i++);     // 延時(shí)作用        P9OUT &= ~BIT7;                 // 關(guān)閉LED2        for(i = 0; i < 30000; i++);     // 延時(shí)作用    }    return 0;}

代碼下載進(jìn)去就可以看到LED1點(diǎn)亮,LED2閃爍。

標(biāo)簽:

上一篇:MSP430FR6989單片機(jī)學(xué)習(xí)之系統(tǒng)時(shí)鐘-環(huán)球新動(dòng)態(tài)
下一篇:最后一頁(yè)