找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5186|回复: 1
收起左侧

我做的课程,MSP430 adc采样的程序

[复制链接]
ID:183629 发表于 2017-3-26 20:57 | 显示全部楼层 |阅读模式
我们的课程设计,单片机采样程序。

0.png

  1. #include<MSP430G2553.h>

  2. /*初始化函数,
  3. * BIT为选择输入端口可累加输入即BIT=BIT0+BIT1...由P1.0到P1.7口可作为AD采样。
  4. * SREF_0是电压选择基准。有0——7,七个基准。
  5. * ADC10SSEL_0为ADC10时钟源选择。0为ADC10OSC,1为ACLK,2为MCLK,3为SMCLK
  6. * CONSEQ_0为转换序列模式选择。0为单通道单次转换,1为单序列单次转换,2位单通道重复转换     ,3为单序列重复转换
  7. */
  8. void init_ADC10(unsigned char BIT)
  9. {
  10.         P1DIR &=~ BIT;
  11.         P1SEL |= BIT;
  12.         ADC10AE0 |= BIT;
  13.         ADC10CTL0 = ADC10ON + MSC + SREF_0 + REFON;
  14.         //开AD内核,选择电源为参考电压
  15.         ADC10CTL1 = ADC10SSEL_0 + CONSEQ_0; //采用单通道次采用分时复用
  16. }
  17. /*开始函数,在开始函数中自行选择所用通道*/
  18. unsigned int start_ADC10(unsigned int INCH)
  19. {
  20.             unsigned int temp;
  21.             ADC10CTL1 |= INCH;       //Channal 0
  22.                 ADC10CTL0 |= ADC10SC + ENC; // 开始转换  开转换允许
  23.                 while (ADC10CTL1 & ADC10BUSY != 0); //判断是否转换完毕
  24.                 temp = ADC10MEM;
  25.                 ADC10CTL0 &= ~(ADC10SC + ENC); //关转换允许才能选择通道
  26.                 ADC10CTL1 &= ~INCH_0; //通道清0
  27.                 return temp;//实际电压值=[3.3/(2^10)]*temp
  28. }
复制代码

下载:
ADC10.zip (1.23 KB, 下载次数: 17)
回复

使用道具 举报

ID:198617 发表于 2017-5-9 16:06 | 显示全部楼层
学习学习 感谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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