1599|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

MSP430F149最小系统板利用1602液晶显示的正弦波示波器程控 [复制链接]

 首先,讲一下 MSP430F149 的结构。MSP430 系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低功耗、具有精准指令集(RISC)的混合信号处理器(Mixed Signal Processor)。单个芯片的价格在 20 元左右。MSP430F149 是最小系统板,其中自带了 12 位的ADC模块,液晶显示屏我们可以另加,采集到单片机内部也就是 4096 个不同的读数。再由单片机引脚的最高电压是2.5V,易得理论精度为 0.6 mV,也就是说ADC的位数越多,数据采集精度越高。需要什么样的ADC模块也可以根据需求另外加上。另外提示一点 MSP430F149 的RAM只有 2K。以上都是一些用的上的常识,我们当初写程控的时候出过一些相关的问题,在这里写在前面,希望读者引以为鉴。

    示波器的制作主要分为三部分:ADC采集,数据处理和显示。今天主要讲解ADC模块和数据处理。

    首先说一下采用系统板自带的ADC的采集。ADC采集首先分为选择输入通道,选择采样频率。MSP430F149有很多功能和51不太一样,引脚全都要先定义后使用,这一点对初学者来说很不方便,但是相信通过视频课学习掌握。那么来点干货放在附录里,这是我们参加TI杯比赛的时候的一个程控,这里是一个ADC初始化的程控,仅供大家学习和参考。

    第二部分是数据处理。笔者提供一种思路,采用定时中断的方式将将ADC模块采集到的数据存放到一个数组里,然后对整个数组进行数据处理。在处理整个数组的数据时要注意数据的精度和位数,笔者在这里不再赘述。自带的 12 位 ADC 模块一定会有失真,具体表现就是如果把所有采集的数据绘图,会发现图形上有很多小锯齿,这就需要我们处理这些数据,留下失真较小和不失真的数据,推荐大家去学习一下 SMOOTH 函数,这是一个可以把曲线变平滑的函数(现在又学了很多相关的知识关于滤波)。在这些都处理完了以后我们才可以进行真正意义上的数据分析处理。示波器所要显示的信息有两个:波幅和频率。波幅我们可以用一个排序然后求峰峰值的方法得到。频率则可以比较两个最大值出现的时间来得到。如果有杂波的信号可以用傅里叶变换(FFT)来分离基波和各次谐波,从而求出频率和波幅。

    我们在比赛的时候也出现了很多问题,理论上我们可以显示 0 ~ 1000 Hz 的频率, 600 Hz 以上的频率无法显示,而且峰峰值测量误差较大,欢迎大佬留言讨论。

附录(ADC模块初始化函数):

void ADC_Init()

{

P6SEL|=0x01;

ADC12CTL0 &= ~(ENC);

ADC12MCTL0= SREF0 + INCH_0+EOS;

ADC12CTL0 =0x00;

ADC12CTL0|= ADC12ON + SHT0_1+REFON+REF2_5V + MSC ;

ADC12CTL1 =0x00;

ADC12CTL1|= CSTARTADD_0 + SHP + CONSEQ_2 + ADC12SSEL_0 + ADC12DIV_0;

ADC12IE = 0;

ADC12IE = 0x00;

ADC12CTL0|= ENC + ADC12SC;

return;

}
 

 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
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
快速回复 返回顶部 返回列表