访问电脑版页面

导航:老古开发网手机版单片机MSP430单片机

基于MSP430系列单片机的常用程序编写总结

导读:
关键字:
单片机,

前一段时间一直在用TI公司的MSP430系列的单片机,总结了点430常用的程序框架。

基于MSP430系列单片机的常用程序编写总结

a.循环低功耗、中断服务程序唤醒

void main()

{

关闭开门狗;

初始化时钟;

初始化端口;

初始化屏幕;

其他外围必要的初始化;

开中断;

while(1)

{

进入低功耗模式;

执行某函数;

}

}

中断函数1

{

退出低功耗;

中断服务程序;

}

例如:

1 #pragma vector=ADC12_VECTOR

2 __interrupt void ADC12ISR (void) //AD转换中断服务程序

3 {

4 staTIc unsigned char index = 0;

5 LPM3_EXIT;

6 switch(__even_in_range(ADC12IV,34))

7 {

8 case 0: break; // Vector 0: No interrupt

9 case 2: break; // Vector 2: ADC overflow

10 case 4: break; // Vector 4: ADC TIming overflow

11 case 6: // Vector 6: ADC12IFG0

12 if(index < 8)

13 {

14 results[index] = (ADC12MEM0*2.048/4096);

15 index++;

16 }

17 if(8==index) { index=0; }

18 S_judge=1;

19 break;

20 default: break;

21 }

22 }

23

24 void main()

25

26 {

27

28 WDTCTL = WDTPW + WDTHOLD;

29 Init_CLK() ;

30 LCD_Init() ;

31 Clear_LCD(Color_BK);

32 Init_Port() ;

33 Init_RTC();

34

35 _EINT();  //开全局中断

36

37 Init_ADC();

38 ADC12CTL0 |= ADC12SC;  //开始AD转换

39 while(1)

40 {

41 LPM3;

42 Show_Clock();

43 if(S_judge==1)

44 {

45 for(int n=0;n

46 {

47 fsum+=fresults[n];

48   }

49 m=fsum/Num_of_Results;

50 sprintf(str,"%02.1f",m);

51 PutStringEN24(104,260,str);

52 fsum=0;

53 S_judge=0;

54 ADC12CTL0 |= ADC12SC;

55

56  }

57 }

b.低功耗、中断服务程序

该种结构比较简单,与第一种结构的差别在于主程序没有循环执行某函数。

void main()

{

关闭开门狗;

初始化时钟;

初始化端口;

初始化屏幕;

其他外围必要的初始化;

开全局中断;

进入低功耗;

}

中断服务程序1

{

退出低功耗;

中断服务程序;

}

c.开机设定、低功耗、中断服务程序

void main()

{

关闭开门狗;

初始化时钟;

初始化端口;

初始化屏幕、键盘;

初始化其他外围;

开全局中断;

键盘设定数据,开机初始化;

键入低功耗;

}


中断服务程序1

{

退出低功耗;

中断服务程序;

}

比如在第一种模式里加入开机设定的部分。

d.菜单按键方式

void main()

{

关闭开门狗;

初始化时钟;

初始化端口;

初始化屏幕、键盘;

初始化其他外围;

开全局中断;

while(1)

{

扫描按键;

switch(键值)

{

case...

}

更改显示;

}

}

来源:未知   作者:工程师周亮  2018/10/1 9:00:00
栏目: [ MSP430单片机]

相关阅读

基于MSP430和USB的数据采集系统

通用MSP430—I2C程序

msp430软件安装破解过程

基于MSP430与ATT7022B的四遥测量模块

基于MSP430F149电机保护算法的实现

在通用微控制器MSP430™中集成多种功能

德州仪器线性稳压器将MSP430待机功耗减半

浅谈MSP430单片机的8大输出方式

MSP430单片机对步进电机的驱动控制设计

MSP430F13X系列的单片机ADC要外加电阻、电容? 

AD9850驱动程序--MSP430版本

基于MSP430微控制器的电容触摸实现方案和LED PWM驱动

MSP430F147无线温度接收

MSP430对上MSP432,谁才是最强王者

基于MSP430系列单片机的常用程序编写总结

MSP430电容触摸转轮

MSP430单片机Flash存储器的特性及应用

计数器能否在低功耗模式下工作?

MSP430 单芯片实现低成本、低功耗电感邻近度感测

浅谈TSS-5单板控制器的功能应用及MSP430的特性