开发版型号:SEED—MSP430F5529A
开发工具 :CCS 5.4v
以下内容是CCS中ADC12操作的一些简单的demo,现整理如下:
有关MSP430F5529芯片ADC12相关资料,可参考《MSP430x5xx and MSP430x6xx Family User's Guide (Rev. M)——Chapter 28 ADC12_A》
1:demo描述
Description: A single sample is made on A0 with reference to AVcc.
Software sets ADC12SC to start sample and conversion - ADC12SC
automatically cleared at EOC. ADC12 internal oscillator times sample (16x)
and conversion. In Mainloop MSP430 waits in LPM0 to save power until ADC12
conversion complete, ADC12_ISR will force exit from LPM0 in Mainloop on
reti. If A0 > 0.5*AVcc, P1.0 set, else reset.
参考AVcc电压、以A0定时器作为采样输入信号源的、单通道单次模式采样,当采样信号大于0.5*AVcc时,P1.0置位,否则为0。
代码如下:
1 #include 2 3 int main(void) 4 { 5 WDTCTL = WDTPW + WDTHOLD; // Stop WDT 6 ADC12CTL0 = ADC12SHT02 + ADC12ON; // Sampling time, ADC12 on 7 ADC12CTL1 = ADC12SHP; // Use sampling timer 8 ADC12IE = 0x01; // Enable interrupt 9 ADC12CTL0 |= ADC12ENC; 10 P6SEL |= 0x01; // P6.0 ADC option select 11 P1DIR |= 0x01; // P1.0 output 12 13 while (1) 14 { 15 ADC12CTL0 |= ADC12SC; // Start sampling/conversion 16 17 __bis_SR_register(LPM0_bits + GIE); // LPM0, ADC12_ISR will force exit 18 __no_operation(); // For debugger 19 } 20 } 21 22 #pragma vector = ADC12_VECTOR 23 __interrupt void ADC12_ISR(void) 24 { 25 switch(__even_in_range(ADC12IV,34)) 26 { 27 case 0: break; // Vector 0: No interrupt 28 case 2: break; // Vector 2: ADC overflow 29 case 4: break; // Vector 4: ADC timing overflow 30 case 6: // Vector 6: ADC12IFG0 31 if (ADC12MEM0 >= 0x7ff) // ADC12MEM = A0 > 0.5AVcc? 32 P1OUT |= BIT0; // P1.0 = 1 33 else 34 P1OUT &= ~BIT0; // P1.0 = 0 35 36 __bic_SR_register_on_exit(LPM0_bits); // Exit active CPU 37 case 8: break; // Vector 8: ADC12IFG1 38 case 10: break; // Vector 10: ADC12IFG2 39 case 12: break; // Vector 12: ADC12IFG3 40 case 14: break; // Vector 14: ADC12IFG4 41 case 16: break; // Vector 16: ADC12IFG5 42 case 18: break; // Vector 18: ADC12IFG6 43 case 20: break; // Vector 20: ADC12IFG7 44 case 22: break; // Vector 22: ADC12IFG8 45 case 24: break; // Vector 24: ADC12IFG9 46 case 26: break; // Vector 26: ADC12IFG10 47 case 28: break; // Vector 28: ADC12IFG11 48 case 30: break; // Vector 30: ADC12IFG12 49 case 32: break; // Vector 32: ADC12IFG13 50 case 34: break; // Vector 34: ADC12IFG14 51 default: break; 52 } 53 } 2:代码分析 1)主函数中代码: 1 ADC12CTL0 = ADC12SHT02 + ADC12ON; // Sampling time, ADC12 on 2 ADC12CTL1 = ADC12SHP; // Use sampling timer 3 ADC12IE = 0x01; // Enable interrupt 4 ADC12CTL0 |= ADC12ENC; 5 6 ADC12CTL0 |= ADC12SC; // Start sampling/conversion 参考控制寄存器如下: ADCSHT0x :采样保持定时器0,该四位定义了保存在转换存储寄存器中转换结果的采样周期; ADC12ENC:转换允许 ADC12SHP:选择采样定时器A0输出 ADC12IE:中断允许 (来自中断允许寄存器) 2)中断部分代码: 中断寄存向量ADC12IV中的数字(0-36)用来判断中断标志寄存器中相关位是否置位,此时表明转换结果已经装入转换存储寄存器中,具体数字的含义参见下图: 3) 1 if (ADC12MEM0 >= 0x7ff) // ADC12MEM = A0 > 0.5AVcc? 2 P1OUT |= BIT0; // P1.0 = 1 3 else 4 P1OUT &= ~BIT0; // P1.0 = 0 参考电压使用VCC,因为ADC精度为12位(4095),所以0x7FF(2047)就是0.5Vcc的AD值
上一篇:如何使用MSP430的ADC测量模拟电压?
下一篇:MSP430(F5529)学习笔记——UCS配置详解
推荐阅读
史海拾趣
机顶盒,全称为数字视频变换盒,是现代家庭娱乐中不可或缺的重要设备。从广义上讲,凡是与电视机连接的网络终端设备均可视为机顶盒,其功能已远不止于简单的信号转换。机顶盒不仅能够接收来自有线电缆、卫星天线、宽带网络及地面广播的数字电视信号,并将其转换为适合电视机播放的格式,还集成了众多增值服务,如电子节目指南、因特网网页浏览等。
在数字电视时代,机顶盒扮演了至关重要的角色。它不仅让用户能够在模拟电视上观看高清乃至4K的超高清电视节目,享受更为细腻的画面和震撼的音效,还赋予了电视机网络交互的能力。通过机顶盒,用户可以轻松接入互联网,进行在线购物、观看网络视频、玩游戏等多元化活动,使电视机从单向接收信息的设备转变为与用户互动的智能终端。
随着技术的不断进步,机顶盒的功能也在不断扩展。智能化技术的应用,如语音助手、智能推荐等,进一步提升了用户体验。同时,高清、超高清技术的普及,以及云计算、边缘计算等技术的结合,为机顶盒提供了更为高效的内容分发和管理能力。未来,随着5G、虚拟现实和增强现实等新技术的融入,机顶盒的娱乐、教育等应用将更加广泛,为用户带来更为沉浸式和互动式的观影体验。
综上所述,机顶盒作为连接电视与外部信号源及互联网的桥梁,正以其丰富的功能和不断升级的技术,为现代家庭娱乐生活带来前所未有的便捷与享受。
随着公司的发展,义隆电子不断加大研发投入,致力于技术创新和产品多元化。公司拥有一支高素质的研发团队,拥有多项自主知识产权和核心技术。通过不断的技术创新和产品升级,义隆电子成功推出了微控制器、个人计算机外设芯片、数字显示器芯片等一系列具有市场竞争力的产品。同时,公司还积极拓展智能型人机接口技术之应用芯片等新兴领域,为未来的发展奠定了坚实的基础。
1962年,Futaba推出了无线电控制设备和冲压金属模用部件,旨在提升工业品质并缩短模具开发周期。这一举措不仅解决了当时工业控制领域中的供应商问题,还引领了模具制造行业的标准。随着技术的不断进步,Futaba开始涉足无线电传输模组(R/C)的生产和销售,并逐渐在无线遥控领域崭露头角。特别是高频无线展频通讯技术的实现,使Futaba的无线遥控技术在工业用机器人和工业控制设备上得到了广泛应用,进一步巩固了其在该领域的领先地位。
在发展过程中,安路科技积极寻求与产业链上下游企业的战略合作,通过技术合作、市场共享等方式,共同推动FPGA产业的发展。同时,公司也吸引了多家知名投资机构的关注,成功获得了多轮融资。这些资本的注入为安路科技的技术研发和市场拓展提供了强有力的支持。
在电子行业的初期,Cadeka公司凭借一项革命性的半导体技术突破,迅速崭露头角。公司研发团队经过数年的努力,成功开发出一种新型的集成电路,大大提高了电子设备的性能和效率。这一技术突破迅速吸引了市场的关注,Cadeka公司的订单量激增,公司规模迅速扩大。