历史上的今天
返回首页

历史上的今天

今天是:2024年12月06日(星期五)

正在发生

2020年12月06日 | 如何采用MSP430单片机的ADC12功能实现代码和输出

2020-12-06 来源:elecfans

1.前言

这几天实践了MSP430的ADC12功能,虽然片内AD功能比较简单但是还学出了点“门道”来,这个“门道”便是MSP430F5438A和MSP430F5438的区别。这里通过一个例子说明片内ADC的使用,首先实现UART和定时器1S溢出的功能,在上述功能的基础上每1S打印一次AD转换结果,转换通道定向到通道11,该通道对应AVCC和AVSS插值的一半,由于AVCC和LDO的输出之间只有一个电感连接,可以理解转换的结果为LDO输出电压的一般,若扩大两倍便是LDO的实际输出结果,在本文所用的开发板LDO输出为3.3V,所有打印的结果越接近3.3V越好。

如何采用MSP430的ADC12功能实现代码和输出
 

2.代码实现和输出结果

代码实现

//时钟默认情况

//FLL时钟FLL选择XT1

//辅助时钟ACLK选择XT132768Hz

//主系统时钟MCLK选择DCOCLKDIV8000000Hz

//子系统时钟SMCLK选择DCOCLKDIV8000000Hz

//TA1选择ACLK,最大计数值为32768,中断频率为1HZ

#include

#include

#include

voidclock_config(void);

voidselect_xt1(void);

voiddco_config(void);

voidadc12_config(void);

voiduart_config(void);

charsecond_flag=0;//1S标志

intmain(void)

{

clock_config();//初始化时钟

adc12_config();//初始化ADC12

uart_config();

TA1CCTL0=CCIE;//使能TA1CCR0,比较匹配中断

TA1CCR0=32768;//初始化最大值,发生比较匹配中断频率32768/32768=1Hz

TA1CTL=TASSEL_1+MC_1+TACLR;//选择ACLK,最大值为CCR0,清除计数值

_EINT();//初始化全局中断

while(1)

{

if(second_flag)

{

second_flag=0;//1s时间到

ADC12CTL0|=ADC12SC;//启动转换

while(!(ADC12IFG&BIT0));//等待转换完成

//被转换的通道为通道11(AVCC-AVSS)/2;

//此时转换的精度为12位——4096

//AVCC通过一个电感和LDO的输出端连接

//打印LDO输出电压,保留3位精度

floatldo_voltage=ADC12MEM0/4096.0*3.3*2;

printf(“LDOVoltage%.3frn”,ldo_voltage);

}

}

}

voidclock_config(void)

{

WDTCTL=WDTPW+WDTHOLD;//停止看门狗

select_xt1();//选择XT1

dco_config();//ACLK=XT1=32.768K

//MCLK=SMCLK=8000K

}

voidselect_xt1(void)

{

//启动XT1

P7SEL|=0x03;//P7.0P7.1外设功能

UCSCTL6&=~(XT1OFF);//XT1打开

UCSCTL6|=XCAP_3;//内部电容

do

{

UCSCTL7&=~XT1LFOFFG;//清楚XT1错误标记

}while(UCSCTL7&XT1LFOFFG);//检测XT1错误标记

}

voiddco_config(void)

{

__bis_SR_register(SCG0);//禁止FLL功能

UCSCTL0=0x0000;//SetlowestpossibleDCOx,MODx

UCSCTL1=DCORSEL_5;//DCO最大频率为16MHz

UCSCTL2=FLLD_1+243;//设置DCO频率为8MHz

//MCLK=SMCLK=Fdcoclkdiv=(N+1)X(Ffllrefclk/n)

//N为唯一需要计算的值

// Ffllrefclk FLL参考时钟,默认为X


推荐阅读

史海拾趣

Gustav Klauke GmbH公司的发展小趣事

Gustav Klauke GmbH在电子行业中的五个发展故事

故事一:创立与电气时代的崛起

1879年,Gustav Klauke GmbH在德国雷姆沙伊德成立,正值第二次工业革命带来的“电气时代”大爆发。创始人Gustav Klauke凭借其对精工品质的执着追求,将公司的业务聚焦于电气连接技术和电缆作业工具的研发。随着全球电气工业的迅速发展,Klauke迅速成为该领域的佼佼者,为供电系统的各个环节提供可靠且实用的解决方案,满足了社会对电气产品日益增长的多元化需求。

故事二:产品创新与多元化发展

历经百年开拓,Klauke的产品线不断丰富和完善。从最初的钟表维修钳子,到电缆接线端子的生产,再到电池驱动的液压工具的研发,Klauke始终走在行业前沿。特别是1994年推出的首款电池驱动液压工具,标志着公司在电气连接技术上的重大突破。至今,Klauke已拥有多达280种工具,2000多个型号,超过10000个优质部件,广泛应用于电力、铁路和工业等多个领域。

故事三:品质与认证的国际认可

Klauke深知电气连接作业对安全可靠性的极高要求,因此始终将产品质量放在首位。公司不仅拥有IEC(国际电工委员会)、UL(美国保险商试验所)、DNV(挪威船级社)和GL(德国劳氏船级社)等特殊行业的权威资质认证,还通过严格的产品测试报告,确保每一款产品都能达到国际最高标准。这种对品质的坚持,让Klauke在全球客户中赢得了极高的信誉和口碑。

故事四:全球化布局与业务拓展

随着全球市场的不断扩大,Klauke积极实施全球化战略。从德国本土出发,公司在全球范围内设立了多个分公司和销售办事处,如印度、奥地利、西班牙等。同时,公司还通过并购和合作等方式,不断拓展业务领域和市场份额。例如,2018年Gustav Klauke GmbH被艾默生收购,现隶属于“专业工具”部门,这一举措进一步提升了公司在全球电气工具市场的竞争力。

故事五:未来展望与技术创新

面对未来,Klauke继续秉承德国精工品质的优良传统,致力于技术创新和服务优化。公司正密切关注物联网和工业4.0等下一代趋势,并制定相应的战略计划。例如,新型电池供电液压工具配备了蓝牙接口,实现了移动数据读取和工具配置的便捷性。此外,Klauke还计划推出更多高适应性、精准性的电气连接解决方案,以更好地满足全球日益多元的施工作业需求。展望未来,Klauke将继续向下一个百年目标迈进,为电子行业的发展贡献更多力量。

AMI [American Megatrends Inc]公司的发展小趣事

AMI(American Megatrends Inc)是一家全球领先的硬件和软件解决方案提供商,主要专注于计算机主板固件、嵌入式系统管理和云计算服务。以下是关于AMI公司发展的五个相关故事:

  1. 公司创立与起步阶段:AMI公司于1985年成立于美国佐治亚州的诺克罗斯,并在当地建立了总部。公司创始人为S. Shankar和Pat Sarma。最初,AMI专注于为个人计算机和服务器等设备提供BIOS(基本输入/输出系统)固件,为计算机硬件行业奠定了基础。

  2. BIOS技术创新:AMI在BIOS领域进行了持续的技术创新,不断推出新的功能和改进。公司开发了多个版本的AMI BIOS,包括AMI WinBIOS、AMI Aptio和AMI UEFI BIOS等。这些BIOS版本在计算机硬件市场上得到了广泛应用,为用户提供了稳定可靠的固件解决方案。

  3. 嵌入式系统管理解决方案:除了BIOS固件,AMI还致力于开发和提供嵌入式系统管理解决方案。这些解决方案包括远程管理、监控、诊断和维护等功能,用于企业服务器、网络设备、嵌入式系统和物联网(IoT)设备等领域。

  4. 合作伙伴关系与生态系统建设:AMI与全球各种硬件和软件供应商建立了紧密的合作伙伴关系,共同推动技术创新和产品发展。公司与主板制造商、芯片厂商、系统集成商和软件开发商等合作,为客户提供全面的解决方案和支持服务。

  5. 云计算服务和新兴技术领域:随着云计算和人工智能等新兴技术的发展,AMI也开始拓展业务领域,提供云计算服务和相关解决方案。公司致力于为客户提供高性能、高可靠性的云计算平台和服务,以满足不断增长的数据处理和存储需求。

这些故事展示了AMI公司从创立初期到如今在BIOS技术创新、嵌入式系统管理、合作伙伴关系建设和拓展新兴技术领域等方面取得的重要进展。AMI作为一家全球知名的硬件和软件解决方案提供商,持续致力于为客户提供创新的产品和卓越的服务。

Eby Company公司的发展小趣事

eBay的成功不仅仅局限于美国市场。从早期开始,eBay就积极寻求全球化扩张。通过与不同国家和地区的合作伙伴建立合作关系,eBay逐步进入了欧洲、亚洲和拉丁美洲等市场。这种全球化战略使eBay能够接触到更广泛的用户群体,进一步巩固了其在全球在线拍卖市场的领先地位。

微芯(CMOSIC)公司的发展小趣事

作为一家以技术创新为核心竞争力的企业,微芯生物始终保持着对新技术和新领域的关注和研究。他们不断投入资金和资源用于研发创新药物和新技术平台,并积极探索新的治疗方法和应用领域。通过持续的创新和突破,微芯生物在生物医药领域取得了显著的成绩和贡献,也为公司的发展注入了源源不断的动力。

以上五个故事是基于微芯生物的发展经历而虚构的,但它们也反映了电子行业中许多公司可能面临的发展挑战和机遇。在电子行业中,技术的创新、市场的拓展、并购整合、国际合作以及持续的创新与突破都是推动公司发展的重要因素。

乾坤(Cyntec)公司的发展小趣事

随着科技的不断进步,电子行业的发展日新月异。乾坤公司意识到,要想保持领先地位,就必须不断进行技术创新。于是,公司加大了对研发团队的投入,引进了一批高水平的科研人才,并与多所高校和研究机构建立了紧密的合作关系。在一次偶然的实验中,研发团队发现了一种新型材料,可以显著提升电子元器件的性能。经过一系列严格的测试和验证,这种新材料被成功应用于产品生产中,使得乾坤的电子元器件在性能上实现了质的飞跃。这一技术创新不仅为公司带来了丰厚的利润,更让乾坤在电子行业中声名鹊起。

Bellin Dynamic Systems公司的发展小趣事

随着公司规模的扩大和业务范围的拓展,Bellin Dynamic Systems开始注重品牌建设和市场推广。公司加大了对品牌形象的宣传力度,通过参加行业展会、举办技术研讨会等方式提升品牌知名度。同时,公司还加强了与媒体和客户的沟通互动,积极传递公司的价值观和企业文化。这些举措有效地提升了Bellin Dynamic Systems在市场上的影响力和竞争力。

问答坊 | AI 解惑

无线收发模块汇总

本帖最后由 paulhyde 于 2014-9-15 09:06 编辑 :P :P :P :P :P :P :P :P :P :P :P 好东西大家一起分享!!!  …

查看全部问答>

盘点2009:中国光伏十大年度关键词

这个世界已经越来越有方向感,一群远见的精英思想正在汇聚成一张清晰的低碳线路图,供人类未来抵达。拯救地球环境,不能或缺中国力量。2009年度,中国光伏正在赶往一条叫做社会责任的低碳大道上。…

查看全部问答>

哪位大侠能提供一下nor flash M29W128G 的fast program 的代码

nor flash M29W128G 可以32个words fast program, 哪位大哥有这个写的代码,能否给小弟一下,谢谢了。…

查看全部问答>

Camera 应用开发

平台:6410+WINCE6.0 新开一个贴,再讨论一下这个CAMERA应用开发,因为本人一直是做驱动的,现在要写应用,而且是COM接口的directshow,所以有很多东西要向大家请教,    用640X480分辩进行preview 和 拍照都没有问题,但是,我驱动给di ...…

查看全部问答>

6410硬件编解码的一点疑问?

我主要想知道硬件编解码之前的数据是什么格式或者封装的?之后应该就是H.264,MPEG-4之类的吧。之前呢?通过以太网接口的以太网数据帧(应该包含视频流的)能直接通过硬件编解码进行播放吗? 还有TV-in,进来的是什么数据?那个接口是接什么的? ...…

查看全部问答>

如何禁用蓝牙、红外线等设备?

想写一个过滤驱动,实现禁用蓝牙,红外线等设备, 请问要将过滤驱动挂载在注册表的什么地方? 我发现过载在 注册表HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentConrolSet\\Control\\Class\\{E0CBF06C-CD8B-4647-BB8A-263B43F0F974},在这个位置并不能完 ...…

查看全部问答>

无线遥控控制直流电机

按键控制无线遥控发送是脉冲 现在我想对接收板接收到无线模块发送的信号进行分析 1.如果只是单个脉冲电机就微动一下 2.如果是连续的脉冲,电机就保持转动状态,再发一个脉冲,电机才停止 现在不知道如何判断发送的是单个脉冲还是连续脉冲 请高 ...…

查看全部问答>

楼主,我能不能用DMA实现这个功能

我用双路AD同步采集,采集后的数据通过DMA传送的一个32位数组空间内,采集100次,100次后AD采样自动从从数组的开始位置存放。是不数不能实现这个功能啊?我怎么做不出来啊,我的数据只能采集16个,而且数据好像不是按我的要求去转换不同的通道…

查看全部问答>

TI 原厂LM3S8962板上调试部分的 CPLD 起到什么样的作用呢

TI  原厂LM3S8962板上调试部分的 CPLD 起到什么样的作用呢? 设计调试仿真器的时候,是否可以不用它?…

查看全部问答>