历史上的今天
返回首页

历史上的今天

今天是:2024年10月09日(星期三)

正在发生

2019年10月09日 | MSP430--ADC程序

2019-10-09 来源:eefocus

1.ADC和P6是复用的。所以要设置P6.0为AD功能,要确保P6DIR=0X00,即为输入。


其次P6SEL |= 0X01;设置需要的A0端口PIN为AD功能。


2.ADC时钟问题,通过ADCSSEL选择进入的时钟源默认为ADC12OSC,经过分频之后才是ADC12CLK.


当SHP=1时,t_sample是由采样定时器来决定的,整个采样周期的长度是4n倍的ADC12CLK,n由SHT决定。


  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT

  ADC12CTL0 = SHT0_2 + ADC12ON;             // 设置采样保持的时间为8倍的ADC时钟,Set sampling time, turn on ADC12

  ADC12CTL1 = SHP;                          // 由采样定时器决定采样的时间,Use sampling timer

  ADC12IE = 0x01;                           // 只使能ADC12MEM0中断,即转换的数据存入MEM0时中断可处罚,Enable interrupt

  ADC12CTL0 |= ENC;                         // Conversion enabled

  P6SEL |= 0x01; 


2.ENC只是使能转换。真正的触发转换需要采样触发信号。


当ADC12CTL中SHS为0时,由采样触发信号为软件触发ADC12SC。



  for (;;)

  {

    ADC12CTL0 |= ADC12SC;                   // Sampling open

    _BIS_SR(CPUOFF + GIE);                  // LPM0, ADC12_ISR will force exit

  }


3.中断程序:转换期间CPU是OFF的,在中断时唤醒了,在中断结束时又CPUOFF。

ADC只有12位,因此最大值为0XFFF,一半为0X7FF。


默认的SREF为AVCC,AVSS。所以0X7FF为AVCC/2。程序含义为当采样到的电压小于AVCC/2,点亮LED。



// ADC12 interrupt service routine

#pragma vector=ADC_VECTOR

__interrupt void ADC12_ISR (void)

{

    if (ADC12MEM0 < 0x7FF)

      P2OUT &= ~0x01;                       // Clear P1.0 LED off

    else

      P2OUT |= 0x01;                        // Set P1.0 LED on

    _BIC_SR_IRQ(CPUOFF);                    // Clear CPUOFF bit from 0(SR)

}


PS:

板子上顺时针悬RV4,灯会亮,这时P6.0输入的电压是越来越小,并且小于1.65V。


逆时针转RV4,等会灭,这时P6.0输入电压越来越大,大于1.65V。

推荐阅读

史海拾趣

Emerging Display Technolgies公司的发展小趣事

随着虚拟现实(VR)、增强现实(AR)等技术的快速发展,微型显示技术的需求日益增加。一家新兴显示技术公司,凭借其在微纳加工和光学设计方面的技术优势,成功研发出了高性能的微型显示屏。这种显示屏具有体积小、分辨率高、功耗低等特点,为VR/AR设备提供了更加逼真的视觉体验。

Advanced Photonix公司的发展小趣事

在光电技术不断发展的背景下,Advanced Photonix开始研发太赫兹传感器产品。这种传感器产品主要针对无损检测和质量控制市场,如行李和货物的安全检查等。经过长时间的努力,公司成功开发出了一系列高性能的太赫兹传感器,这些产品凭借其高可靠性和精确性,迅速赢得了市场的青睐。通过与各大航空公司和物流企业的合作,Advanced Photonix的太赫兹传感器产品在全球范围内得到了广泛应用,为公司的快速发展注入了新的动力。

Ferroxcube公司的发展小趣事

随着全球电子行业的竞争日益激烈,Ferroxcube公司意识到,要想保持领先地位,就必须不断创新。于是,公司决定投入巨资建立一个新的研发中心,专注于磁性元件的前沿技术研究。

研发中心的建立吸引了大批优秀的科研人才加入Ferroxcube。在新的研发团队的带领下,公司相继推出了多款具有自主知识产权的新型磁性元件,这些元件在性能、稳定性和可靠性方面都达到了行业领先水平。

其中一款名为“XX磁芯”的产品,凭借其超高的磁导率和极低的损耗,在市场上引起了轰动。这款产品不仅被广泛应用于各类电子设备中,还成为了许多高校和科研机构的研究对象。Ferroxcube因此成为了行业内技术创新的佼佼者。

Aavid Niagra公司的发展小趣事

为了拓展市场份额,Aavid Niagra公司开始实施全球化战略布局。公司先后在多个国家和地区设立了生产基地和研发中心,以便更好地服务当地客户。同时,公司还积极参与国际电子行业的交流与合作,不断提升自身的国际影响力。全球化战略的实施为公司带来了更多的发展机遇,也使其在全球电子散热市场上占据了重要地位。

Fuji Electric Co Ltd公司的发展小趣事

在快速发展的同时,Aavid Niagra公司始终关注企业社会责任和可持续发展。公司积极参与环保事业,推广绿色生产和消费理念。同时,公司还注重员工培训和福利保障,为员工创造一个良好的工作环境和发展空间。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。


这些故事框架主要围绕公司的初创、技术创新、全球化战略、行业变革应对以及企业社会责任等关键节点进行构建。您可以根据Aavid Niagra公司的实际情况和公开资料,对每个故事进行具体化和个性化的描述,以确保故事的准确性和可信度。

AK-Nord_GmbH公司的发展小趣事

为了确保产品质量和客户满意度,AK-Nord_GmbH投入大量资源建设质量管理体系。公司引入了国际先进的质量管理标准和流程,对产品的研发、生产、测试等各个环节进行严格把控。同时,公司还建立了完善的客户服务体系,及时响应客户需求和处理问题。这些举措有效提升了公司的产品质量和客户满意度,为公司赢得了良好的口碑。

问答坊 | AI 解惑

电子镇流器原理与制作

我找到的一点资料。希望各位能够喜欢!…

查看全部问答>

casio dt930 扫描问题

对于扫描方式:               0:激光/按键               1:激光               2: ...…

查看全部问答>

quartusII中 如何设置rom大小?

现已有4k rom大小,现因为程序大于4k了我想换成8k,改了地址线和相关配置,但是程序(5k左右)下进去运行不正常,请问怎么才能正确设置rom大小呢?fpga芯片是EP2C5T144C8…

查看全部问答>

MmMapIoSpace的问题!!

我在程序中使用MmMapIoSpace操纵GPIO, 可是貌似没有效果,请各位老大帮忙看看!谢拉。          volatile static  S5PC100_GPIO_REG * pGPIOReg = NULL;           &nbs ...…

查看全部问答>

温湿度控制器

我女朋友要做一个花房的温湿度控制系统, 可是不知道怎么下手, 谁有这方面的资料, 电路图,编码的等等, 嵌入式我不会, 老是让我给她想办法,头都大了,大家帮帮忙。 立刻结分。 谢谢…

查看全部问答>

高价求购DK3200开发套件.(二手也可)

项目所限,必须用UPSD3234A-40U6来开发, 不熟,拿个开发板来熟悉一下. 我找新的很难找到,有谁知道再哪里搞到,不胜感激. 价格没问题 电话联系我: 13560625340…

查看全部问答>

win 7 64位旗舰版不识别cc2430仿真器,无法驱动,有没有64位的驱动?

RT,在网上都找不到解决方案,要么就是说已经解决了又不说怎么解决的,受不了了,被个驱动拆腾得,有没有人告诉我一下是怎么解决的。已经解决了,下了一个IAR EW8051 V8.1,装驱动的时候就会有X64的选项,把那个上传一下,不过不知道这样有没有用, ...…

查看全部问答>

关于风火轮的官方指导文档中的取样时间

Capacitive Touch BoosterPack (430BOOST-SENSE1) for the LaunchPad User\'s Guide (Rev. B) slau337b 第15页 The User Experience application starts in sleep mode, sampling the proximity sensor approximately every 8.3 ms (VLO / 100 = ...…

查看全部问答>