找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1323|回复: 0
收起左侧

MSP430F5529涡流金属探测器代码

[复制链接]
ID:1038285 发表于 2022-7-11 18:19 | 显示全部楼层 |阅读模式
#include <msp430f5529.h>
void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // 关闭看门狗
  ADC12CTL0 = ADC12SHT02 + ADC12ON;     // 选择采样周期,打开ADC12模块
  ADC12CTL1 = ADC12SHP;                     // 使用采样定时器作为采样触发信号
  ADC12IE = 0x01;                           // 使能ADC采样中断
  ADC12CTL0 |= ADC12ENC;                    // 置位ADC12ENC控制位
  P6SEL |= 0x01;                            // 将P6.0引脚设为ADC输入功能
  P1DIR |= 0x01;                            // 将P1.0引脚设为输出功能
  while (1)
  {
    ADC12CTL0 |= ADC12SC;                   // 启动采样转换
__bis_SR_register(LPM0_bits + GIE);    // 进入LPM0并启用全局中断
  }
}
#pragma vector = ADC12_VECTOR
__interrupt void ADC12_ISR(void)
{
  switch(__even_in_range(ADC12IV,34))
  {
  case  0: break;                           // Vector  0:  无中断
  case  2: break;                           // Vector  2:  ADC溢出中断
  case  4: break;                           // Vector  4:  ADC转换时间溢出中断
  case  6:                                      // Vector  6:  ADC12IFG0
    if (ADC12MEM0 >= 0x3ff)                 // ADC12MEM = A0 > 0.未知AVcc?
     P1OUT &= ~BIT0;                        // P1.0 = 1
    else
     P1OUT |= BIT0;                       // P1.0 = 0
  case  8: break;                           // Vector  8:  ADC12IFG1
  case 10: break;                           // Vector 10:  ADC12IFG2
  case 12: break;                           // Vector 12:  ADC12IFG3
  case 14: break;                           // Vector 14:  ADC12IFG4
  case 16: break;                           // Vector 16:  ADC12IFG5
  case 18: break;                           // Vector 18:  ADC12IFG6
  case 20: break;                           // Vector 20:  ADC12IFG7
  case 22: break;                           // Vector 22:  ADC12IFG8
  case 24: break;                           // Vector 24:  ADC12IFG9
  case 26: break;                           // Vector 26:  ADC12IFG10
  case 28: break;                           // Vector 28:  ADC12IFG11
  case 30: break;                           // Vector 30:  ADC12IFG12
  case 32: break;                           // Vector 32:  ADC12IFG13
  case 34: break;                           // Vector 34:  ADC12IFG14
  default: break;
  }
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表