1338|0

2015

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

MSP430F1232最小系统测试单片机AD10的编程 [复制链接]

测试单片机程序,包括单片机初始化设置,时钟等,主要是AD模块的设置,通过TI官网的1232例程进行程序的编写。

1、创建IAR项目,对项目的option进行设置,添加TI的例程c文件,编译。没有问题就可以连接JTAG向单片机中烧程序了。

2、单片机程序需要解决的几个问题:


(1) 单片机时钟


        上电默认情况下,主系统时钟(MCLK)和子系统时钟(SMCLK)采用的是内部DCO(采用内部电阻)产生的800KHz的时钟,辅助系统时钟采用的是片内超低功耗12KHz的内部振荡器(VLOCLK)产生的12KHz时钟。


       Msp430F1232时钟源有两个,一个是LFXT1CLK,一个是内部的DCOCLK。ACLK只能选择LFXT1CLK,如果单片机没有外接晶振的话,ACLK会采用片内超低功耗12KHz的内部振荡器(VLOCLK)产生的12KHz时钟。


       关于LFXT1CLK的低频和高频模式:


              (1) 低频模式:采用32768Hz的外接晶振,不需要接任何的外部元件,也就是不用接电容,同时寄存器设置XTS=0,其实默认就是0的,也就是不用设置。


              (2) 高频模式:最大支持8MHz的晶振,需要外接电容,寄存器设置XTS=1。


        问题:主系统时钟到底采用多大的频率合适???暂定设置成上电默认的时钟频率吧。如果使用内部的DCO作为主系统时钟源,那么外接的32768Hz有什么用???


       本系统中采用的是100K的外接电阻,DCO默认频率大约是2MHz。


       根据需求设置,如果要求系统跑得快些,时钟精准些,就设置成XT2一般是8MHz;如果没什么特别的要求,就用系统DCO提供的1M的频率,如果是要求低功耗或时间相关的时钟源,最好用32768Hz的外部晶振。
      ACLK是辅助时钟,一般是低频的时钟,使用32768Hz的低频振荡或者12KHz的VLO。
      MCLK是主时钟,给CPU提供,这个需要根据实际情况来,可以是DCO或者是HF的振荡器。
      SMCLK是外设时钟,常用的是从DCO获取时钟源。


       本系统中主系统时钟采用DCO生成,涉及到几个问题,Rosc引脚应该外接多大的电阻,电阻大小对DCO频率有什么影响,现在接的是100K。外接电阻不仅可以抑制DCO的系数,还可以增大DCO能够到达的最大频率。内部300K的电阻对应5MHz,当使用外接的100K电阻时,DCO能够达到10MHz。


       DCO靠内部或者外部电阻定义基频,凭借DCOR位来确定基频是参考内部还是外部的电阻。3个RSELx位为DCO选择8个标称频率中的一个,通过寄存器设置RSELx只能是采用内部电阻的时候,如果采用外部电阻,那么根据你连接的电阻阻值不同,DCO产生的频率自然不同(是这样的吗,这里不太确定)。3个DCOx位为选择的标称频率进行分段,也就是在8个标称值两两中间分成8个值,具体看数据手册。MODx的使用还没有看明白。。。






(2) ADC10设置


       设置ADC10的时钟源,可以是MCLK、SMCLK、ACLK、ADC10OSC其中一个,其中ADC10OSC是专门给ADC使用的时钟源,频率大概5M左右,因为本系统中,是针对脉搏信号的采样频率,所以200Hz就够了,最多500Hz,多了没什么用。所以在单片机的上外接了一个32768Hz(32KHz)的晶振,专门用作ADC采样用。显而易见,单片机驱动频率越高的晶振,功耗越大,这里采用32768Hz的频率比自带的ADC10OSC要功耗少很多。


       SHTx用来设置AD时钟源分频。


       采样和转换时间:采样时间是AD时钟周期的分频倍,转换时间是13乘以AD时钟周期。


       AD通道:8个外部通道和4个内部通道。


       参考电压:REFON=1,使能内部参考电压,设置REF2_5=1,使能2.5V参考电压


       ADC转换模式:单通道单次、多通道单次,单通道多次,多通道多次。


              本系统中采用多通道单次转换,两个通道的模拟输入,多通道单次转换就是第一次采样转换完成之后,不需要再给一个SHI信号来触发采样,直接进行下一通道的采样和转换。寄存器设置:CONSEQx(选择几个通道,这里选CONSEQ1,对应多通道)和MSC置1(对应多通道单次转换)


       通道选择:选择A0和A1作为输入通道,设置INCH_1


       中断使能:ADC10IE


       转换结果寄存器:不同于F5438,1232只有一个转换结果寄存器,总共两个字节,16位,可以选择前10位后者后10位存储转换结果

 
点赞 关注

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

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