1815|0

2014

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

使用MSP430 LaunchPad开发板制作一个激光绊线报警器 [复制链接]

我们将向您展示如何使用MSP430 LaunchPad的ADC模块,并在Energia IDE中建立一个示例应用程序。


MSP430 LaunchPad开发板中的ADC模块的功能包括:

●    10位分辨率

●    200 ksps转换率

●    逐次逼近寄存器(SAR)

●    8个独立的输入通道

●    可编程内部参考电压

●    外部参考电压输入

●    可编程采样和保持电路


10位ADC模块将输入电压转换为0到1023之间的数字量,分别对应电压下限值VR-和电压上限值VR +。 MSP430允许用户选择不同的参考电压值,可以是电源电压(VCC)和地、外部参考输入VREF + / VEREF +和VREF- / VEREF-以及内部电压2.5V和1.5V。假设我们使用电源电压VCC(3.6V)和GND作为参考限值,读数0和1023将分别代表0和3.6V,它们之间的任何ADC读数都可以使用下面的公式计算。




在Energia中,可以使用analogReference(option)函数选择ADC参考源。该函数的参数可以是DEFAULT(VR + = VCC,VR- = 0V)、INTERNAL1V5(VR + = 1.5V,VR- = 0V)、INTERNAL2V5(VR + = 2.5V,VR- = 0V)和EXTERNAL(VR + = VREF, VR- = 0V)。通过直接访问ADC10CTL0寄存器可以实现更多选项。


施加到模拟输入引脚的电压必须在VR-到VR +的电压范围内,才能获得有效的转换结果。模拟输入引脚的绝对最大额定电压为VCC。


LaunchPad有8个模拟输入引脚,从A0到A7,如下图所示。它们没有在LaunchPad的PCB上标注。



在Energia中,analogRead()函数用于读取应用于所选通道的模拟电压,并返回0到1023之间的整数。此函数需要通道编号作为输入参数。硬件多路复用器在内部将所选通道连接到ADC模块,而其余通道保持隔离。例如,“adcreading = analogRead(A4);”命令读取施加到引脚P1.4(A4)的模拟电压,并将结果写入int类型变量“adcreading”。每次转换大约需要100微秒。


在模数转换期间,模拟信号上的噪声可能会使转换结果失真并导致错误的读数。为了提高信噪比(SNR),使用过采样和平均技术是一种很好的做法。例如,连续读取五个样本并取其平均值将得到更准确的结果而不是读取单个样本。


内部还有一些其他通道连接到ADC模块(更多信息请参见ADC10CTL1寄存器)。其中之一是内部温度传感器的输出。要读取温度传感器数据,只需使用analogRead(TEMPSENSOR);命令。

代码

使用Energia IDE编写的代码如下:

// the setup routine runs once when you press reset:
void setup() {
analogRefrence(DEFAULT); // Set VR+ = VCC:3.6B, VR- = GND:0V as the upper and the lower limits
pinMode(3,OUTPUT); // set the buzzer pin mode
}

// the loop routine runs over and over again forever:
void loop() {

  // read the analog voltage at A0
  int sensorValue = analogRead(A0);
  // convert the ADC reading to voltage
  float voltage = sensorValue * (3.6 / 1023);  


  if (voltage < 3.0) {

    // tripwire is cut: activate the buzzer with oscillation
    digitalWrite(3,HIGH);
    delay(150);
    digitalWrite(3,LOW);
    delay(100);
  }


  else {
    // tripwire is not cut: de-activate the buzzer
    digitalWrite(3,LOW);
  }

}

 
点赞 关注(1)

回复
举报
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表