久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
MSP430F149程序模板
[打印本頁(yè)]
作者:
悟不出來(lái)
時(shí)間:
2021-12-21 17:23
標(biāo)題:
MSP430F149程序模板
可以用,電賽就是用這個(gè)東西寫了好多程序
單片機(jī)源程序如下:
/*****************************************************************************\
文件名:main.c
描述:MSP430框架程序。適用于MSP430F149,其他型號(hào)需要適當(dāng)改變。
不使用的中斷函數(shù)保留或者刪除都可以,但保留時(shí)應(yīng)確保不要打開(kāi)不需要的中斷。
保留中斷函數(shù),編譯器將會(huì)為BSL密碼填充所有的字節(jié)。
版本:1.0 2005-1-13
\*****************************************************************************/
//頭文件
#include <MSP430x14x.h>
//函數(shù)聲明
void InitSys();
int main( void )
{
WDTCTL = WDTPW + WDTHOLD; //關(guān)閉看門狗
InitSys(); //初始化
start:
//以下填充用戶代碼
LPM3; //進(jìn)入低功耗模式n,n:0~4。若不希望進(jìn)入低功耗模式,屏蔽本句
goto start;
}
/*****************************************************************************
系統(tǒng)初始化
******************************************************************************/
void InitSys()
{
unsigned int iq0;
//使用XT2振蕩器
BCSCTL1&=~XT2OFF; //打開(kāi)XT2振蕩器
do
{
IFG1 &= ~OFIFG; // 清除振蕩器失效標(biāo)志
for (iq0 = 0xFF; iq0 > 0; iq0--); // 延時(shí),等待XT2起振
}
while ((IFG1 & OFIFG) != 0); // 判斷XT2是否起振
BCSCTL2 =SELM_2+SELS; //選擇MCLK、SMCLK為XT2
//以下填充用戶代碼,對(duì)各種模塊、中斷、外圍設(shè)備等進(jìn)行初始化
_EINT(); //打開(kāi)全局中斷控制,若不需要打開(kāi),可以屏蔽本句
}
/*****************************************************************************
端口2中斷函數(shù)
******************************************************************************/
#pragma vector=PORT2_VECTOR
__interrupt void Port2()
{
//以下為參考處理程序,不使用的端口應(yīng)當(dāng)刪除其對(duì)于中斷源的判斷。
if((P2IFG&BIT0) == BIT0)
{
//處理P2IN.0中斷
P2IFG &= ~BIT0; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT1) ==BIT1)
{
//處理P2IN.1中斷
P2IFG &= ~BIT1; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT2) ==BIT2)
{
//處理P2IN.2中斷
P2IFG &= ~BIT2; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT3) ==BIT3)
{
//處理P2IN.3中斷
P2IFG &= ~BIT3; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT4) ==BIT4)
{
//處理P2IN.4中斷
P2IFG &= ~BIT4; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT5) ==BIT5)
{
//處理P2IN.5中斷
P2IFG &= ~BIT5; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P2IFG&BIT6) ==BIT6)
{
//處理P2IN.6中斷
P2IFG &= ~BIT6; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else
{
//處理P2IN.7中斷
P2IFG &= ~BIT7; //清除中斷標(biāo)志
//以下填充用戶代碼
}
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
USART1發(fā)送中斷函數(shù)
******************************************************************************/
#pragma vector=USART1TX_VECTOR
__interrupt void Usart1Tx()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
USART1接收中斷函數(shù)
******************************************************************************/
#pragma vector=USART1RX_VECTOR
__interrupt void Ustra1Rx()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
端口1中斷函數(shù)
多中斷中斷源:P1IFG.0~P1IFG7
進(jìn)入中斷后應(yīng)首先判斷中斷源,退出中斷前應(yīng)清除中斷標(biāo)志,否則將再次引發(fā)中斷
******************************************************************************/
#pragma vector=PORT1_VECTOR
__interrupt void Port1()
{
//以下為參考處理程序,不使用的端口應(yīng)當(dāng)刪除其對(duì)于中斷源的判斷。
if((P1IFG&BIT0) == BIT0)
{
//處理P1IN.0中斷
P1IFG &= ~BIT0; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT1) ==BIT1)
{
//處理P1IN.1中斷
P1IFG &= ~BIT1; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT2) ==BIT2)
{
//處理P1IN.2中斷
P1IFG &= ~BIT2; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT3) ==BIT3)
{
//處理P1IN.3中斷
P1IFG &= ~BIT3; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT4) ==BIT4)
{
//處理P1IN.4中斷
P1IFG &= ~BIT4; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT5) ==BIT5)
{
//處理P1IN.5中斷
P1IFG &= ~BIT5; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else if((P1IFG&BIT6) ==BIT6)
{
//處理P1IN.6中斷
P1IFG &= ~BIT6; //清除中斷標(biāo)志
//以下填充用戶代碼
}
else
{
//處理P1IN.7中斷
P1IFG &= ~BIT7; //清除中斷標(biāo)志
//以下填充用戶代碼
}
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
定時(shí)器A中斷函數(shù)
多中斷中斷源:CC1~2 TA
******************************************************************************/
#pragma vector=TIMERA1_VECTOR
__interrupt void TimerA1()
{
//以下為參考處理程序,不使用的中斷源應(yīng)當(dāng)刪除
switch (__even_in_range(TAIV, 10))
{
case 2:
//捕獲/比較1中斷
//以下填充用戶代碼
break;
case 4:
//捕獲/比較2中斷
//以下填充用戶代碼
break;
case 10:
//TAIFG定時(shí)器溢出中斷
//以下填充用戶代碼
break;
}
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
定時(shí)器A中斷函數(shù)
中斷源:CC0
******************************************************************************/
#pragma vector=TIMERA0_VECTOR
__interrupt void TimerA0()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
AD轉(zhuǎn)換器中斷函數(shù)
多中斷源:摸擬0~7、VeREF+、VREF-/VeREF-、(AVcc-AVss)/2
沒(méi)有處理ADC12TOV和ADC12OV中斷標(biāo)志
******************************************************************************/
#pragma vector=ADC_VECTOR
__interrupt void Adc()
{
//以下為參考處理程序,不使用的中斷源應(yīng)當(dāng)刪除
if((ADC12IFG&BIT0)==BIT0)
{
//通道0
//以下填充用戶代碼
}
else if((ADC12IFG&BIT1)==BIT1)
{
//通道1
//以下填充用戶代碼
}
else if((ADC12IFG&BIT2)==BIT2)
{
//通道2
//以下填充用戶代碼
}
else if((ADC12IFG&BIT3)==BIT3)
{
//通道3
//以下填充用戶代碼
}
else if((ADC12IFG&BIT4)==BIT4)
{
//通道4
//以下填充用戶代碼
}
else if((ADC12IFG&BIT5)==BIT5)
{
//通道5
//以下填充用戶代碼
}
else if((ADC12IFG&BIT6)==BIT6)
{
//通道6
//以下填充用戶代碼
}
else if((ADC12IFG&BIT7)==BIT7)
{
//通道7
//以下填充用戶代碼
}
else if((ADC12IFG&BIT8)==BIT8)
{
//VeREF+
//以下填充用戶代碼
}
else if((ADC12IFG&BIT9)==BIT9)
{
//VREF-/VeREF-
//以下填充用戶代碼
}
else if((ADC12IFG&BITA)==BITA)
{
//溫度
//以下填充用戶代碼
}
else if((ADC12IFG&BITB)==BITB)
{
//(AVcc-AVss)/2
//以下填充用戶代碼
}
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
USART0發(fā)送中斷函數(shù)
******************************************************************************/
#pragma vector=USART0TX_VECTOR
__interrupt void Usart0Tx()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
USART0接收中斷函數(shù)
******************************************************************************/
#pragma vector=USART0RX_VECTOR
__interrupt void Usart0Rx()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
看門狗定時(shí)器中斷函數(shù)
******************************************************************************/
#pragma vector=WDT_VECTOR
__interrupt void WatchDog()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
比較器A中斷函數(shù)
******************************************************************************/
#pragma vector=COMPARATORA_VECTOR
__interrupt void ComparatorA()
{
//以下填充用戶代碼
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
定時(shí)器B中斷函數(shù)
多中斷源:CC1~6 TB
******************************************************************************/
#pragma vector=TIMERB1_VECTOR
__interrupt void TimerB1()
{
//以下為參考處理程序,不使用的中斷源應(yīng)當(dāng)刪除
switch (__even_in_range(TBIV, 14))
{
case 2:
//捕獲/比較1中斷
//以下填充用戶代碼
break;
case 4:
//捕獲/比較2中斷
//以下填充用戶代碼
break;
case 6:
//捕獲/比較3中斷
//以下填充用戶代碼
break;
case 8:
//捕獲/比較4中斷
//以下填充用戶代碼
break;
case 10:
//捕獲/比較5中斷
//以下填充用戶代碼
break;
case 12:
//捕獲/比較6中斷
//以下填充用戶代碼
break;
case 14:
//TBIFG定時(shí)器溢出中斷
//以下填充用戶代碼
break;
}
LPM3_EXIT; //退出中斷后退出低功耗模式。若退出中斷后要保留低功耗模式,將本句屏蔽
}
/*****************************************************************************
定時(shí)器B中斷函數(shù)
……………………
…………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
51hei.png
(7.55 KB, 下載次數(shù): 67)
下載附件
2021-12-22 23:27 上傳
所有資料51hei附件下載:
MSP430框架程序.zip
(130.77 KB, 下載次數(shù): 22)
2021-12-21 17:23 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产一区中文
|
国产精品久久久亚洲
|
999视频在线播放
|
青青操av
|
黄色大片在线免费观看
|
91精品国产高清一区二区三区
|
欧美日韩一区在线
|
97精品超碰一区二区三区
|
国产成人免费视频网站视频社区
|
亚洲精品888
|
国产一区二区久久久
|
成人三级在线观看
|
国产精品二区三区
|
久久爱黑人激情av摘花
|
四虎影院免费在线
|
精品国产一区二区三区久久久四川
|
日本激情视频中文字幕
|
剑来高清在线观看
|
国内精品久久久久久久影视简单
|
91精品一区
|
亚洲高清一区二区三区
|
91精品国产91久久久久久最新
|
国产精品久久久久一区二区三区
|
欧美一区二区三区在线观看
|
91视频免费视频
|
www.婷婷
|
日韩欧美黄色
|
91精品国产欧美一区二区
|
一区二区中文
|
亚洲一区二区三区在线
|
亚洲一区免费在线
|
91av在线电影
|
国产精品夜夜夜一区二区三区尤
|
亚洲美女一区
|
日韩黄色小视频
|
精品国产乱码久久久久久图片
|
91在线一区
|
色综合色综合网色综合
|
精品国产乱码久久久久久闺蜜
|
亚洲视频在线看
|
欧美a在线
|