MSP430:AD10】的更多相关文章

使用的MSP430G2553,为AD10,正常有8路输出,P1.0-P1.7为A0-A7 有七个寄存器, 参考电压可以是VCC或者内部参考电压1.5V或者2.5V 参考时钟可以是内部ADC10OSC 最高转换速率达200ksps 转换方式四种:单通道单次,序列通道单次,单通道多次,序列通道多次.多次转换时候会用到DTC功能防止数据还没被取出就被覆盖 单通道的实例程序,开启的为通道5,也就是P1.5 void AD_Channel5_Config(void) { /* Configure ADC…
MSP430内部上拉下拉使用注意——IO口测高低电平     MSP430单片机IO口用来检测高低电平时,是不需要外部上拉下拉的,因为其内部有上拉和下拉.在用作高低电平检测时,需要开启上拉或下拉.     如果有效状态为高电平,则需要配置REN为使能,且配置OUT为0,即设置为下拉:即使没有输入,用万用表测量,该管脚电平为低.     如果有效状态为低电平,则需要配置REN为使能,且配置OUT位1,即设置为上拉:即使没有输入,用万用表测量,该管脚电平为高.       如果不开启内部上拉下拉使能…
MSP430单片机上的SPI总线的实现方式分为两种:硬件实现和软件实现. 二者的抽象层次不同,硬件实现方式下程序员只需要完成总线协议的寄存器层,即一字节(char,8位二进制)数据,而软件实现方式下程序员需要自己编写符合总线协议的位处理的语句. 二者各有利弊,硬件实现方式下程序员省去了位操作的过程,但是需要配置单片机设置寄存器,包括SPI端口复用.高低位.敏感沿等等,而且实现SPI的端口固定在单片机厂商指定的端口上,可能与单片机的其他功能不兼容或编程复杂(MSP430的SPI与UART复用):软…
MSP430单片机属于RISC(Reduced Instruction Set Computer)型处理器.与普通的51单片机的复杂指令集相区别.普通51单片机执行一条指令最少需要12个时钟周期,而RISC单片机最少仅需1个时钟周期.RISC处理器带来的最大不同就是不能进行位操作,内存寻址只能到字不能到位.打个比方,一栋楼只有一个邮政编码,快递员送东西只能送到楼,显然比送到户要快,但具体是那户人家的,就得想想办法了. 1.写位操作. 对某字节使用“=”进行写操作时,所有位的值都将被改变.如果先将…
准备材料 1.在TI官网上下载430的固件库,我用的是msp430f5528的板子,下载的是F5xx_F6xx_Core_Lib 地址http://www.ti.com/tool/msp-exp430f5529 下载后解压得到 2.在ucos官网上下载移植430版本的ucos,地址: http://micrium.com/downloadcenter/download-results/?searchterm=hm-texas-instruments&supported=true 下载安装后得到…
引言     在实际项目大批量生产调试设备时,笔者发现同样版本的程序在不同设备上运行时效果不一致,一部分设备串口通信正常,另外一部分串口通信不正常.通过示波器对多个设备的串口波特率及系统时钟频率测试,发现不同设备之间的系统时钟频率及波特率存在差异,与理论值不一致,用示波器测试出的系统时钟频率及波特率与理论值偏差较大.由于系统时钟频率的偏差导致波特率设置值超过了串口所允许的最大误差值,故而导致串口通信失败.其根本原因是系统的时钟频率会随环境温度.电压或其他因素变化. 1 原因分析     在异步通…
先秀一张解剖照,放大裁剪,小米1S微距拍摄,800万像素摄像头很给力!今天等待被拆的是5个单片机芯片:(1)凌阳16位单片机SPCE061A ,这是我接触的第一个单片机,最高主频49MHz,32KB的FLASH,2KB的RAM,最大的特点就是集成了音频处功能,可以播放音频文件,带语音识别功能.(2)TI的16位低功耗单片机MSP430F149,非常好用的一款单片机,最高主频8MHz,指令为单周期,60KB FLASH,2KB RAM,特点是超低功耗,官方公布的休眠功耗是2uA,本人实测单片机最小…
1.Abstract     做这个是受朋友之邀,用在控制电机转动的方面.他刚好在一家好的单位实习,手头工作比较多,无暇分身,所以找我帮忙做个模型.要求很明晰,PWM的频率在0~1KHz范围内,占空比0~99%范围内,二者均可调.抄下指标以后,回到实验室,细细分析以后,决定用MCU来实现一下,毕竟只分析,无实际结果也不是一个好的交代. 2.Content   2.1 理论分析     归根结底来说,是一个时序逻辑,即PWM输出波形是随着时间的推移而变化.用时序图的方式解释更明晰些. FIG2.1…
在这里, 我来讨论一下关于MSP430单片机使用__delay_cycles延时的问题. IAR for MSP430编译器提供了一个编译器内联的精确延时函数(并非真正的函数)以提供用户精确延时使用, 该函数原型是: __intrinsic void __delay_cycles(unsigned long __cycles);该内部函数实现__cycles个CPU周期的延时,但对于该参数的设置,我要陈述一下: __cycles需要我们传递的是CPU运行的周期个数 网上普遍的用法是: #defi…
----------------------------- 2015.4.28 问题:开发板串口显示的内容为乱码 解决:使用的是原先产品主板的15200的波特率设置,但看来或者是开发板不支持115200或者是设置不正确. 错误的波特率设置: UCA3BR0 = 9; // 1MHz 115200 (see User's Guide) UCA3BR1 = 0; 正确的波特率设置: UCA3BR0 = 0x03 ; // 32kHz/9600=3.41 UCA3BR1 = 0x00 --------…
IAR生成430烧写方法有2种, 第一种是:将工程的debug模式切换成release模式,看图片操作.    那个.d43文件就是仿真调试模式的文件. 这里的test.txt文件就是烧写文件了,不要怀疑它,我们看看它的内容. 第二种方法:按着下图操作.(这是网友提供的)   接下来就是烧写软件了,有2个,你可以二选一,他们都可以到网上下载下来.   MSPFET - FREE MSP430 flash programming utility 说明: 1.几乎支持所有MSP30系列单片机: 2.…
中断很大程度上体现了一款单片机的性能,从这一点将MSP430在中断方面做得很不错,主要是提供了非常丰富的中断源,基本的有IO中断,定时器中断和一些接口中断(SPI,UART,I2C)等等.     现在我就谈谈关于MSP430中断的一些特性,主要是在项目经历中感觉比较有用的问题,跟大家分享下.     第一,MSP430中断的优先级.     MSP430支持中断优先级,但是优先级的高低怎么获知呢?它的用手手册上有个很有意思的说法,我原文引用过来"The nearer a module is t…
Q1. IAR中怎样描述P2OUT.3脚,#define LCD_cs1 P2OUT.3; 对吗?A1:430 不能位寻址,所以一般的位操作,都通过“与”来作用.#define LCD_cs1 (P2OUT&BIT3 ). Q2.__intrinsic是什么意思A2:本征函数,不是C语言标准库,而是和MSP430汇编直接对应的函数,比如:_NOP()_EINT()LPM0引用msp430xxxx.h,默认引用的头文件 Q3:在程序里循环调用了sprintf函数,当循环了几次后程序就跑飞了,是堆栈…
Q1:晶体一般都是接32768,然后使用液晶很正常.我打算将晶体接6M的替换32768,那么液晶还能正常显示吗A1:看你所用的LCM 模块时序极限是多少HZ,然后看6M情况下,MSP430去驱动LCM 时,程序时间会不会超过这个极限频率,如果超过,得加延时. Q2:I/O 怎样直接驱动LCD,如何做?A2:建议采用带LCD 驱动的芯片.可采用MSP430F4xx系列的芯片.如果不用带LCD 驱动的芯片,可以用IO 口仿LCD 的波形,比较复杂些,不过也能做出来.可以到TI 网站上去下载关于LCD…
Q1:用IAR Embedded Workbench for MSP430 通过JTAG往MSP430上写程序.为了知道片内程序的版本,必须读出Flash 中内容.什么工具软件可以通过JTAG口实现这个功能?A1:熔丝未烧断的话,做个空程序的项目,然后在C-SPY选项里选择保留未改变的区域,DEBUG后看MEMORY里的内容!熔丝烧断的话只能用编程器或BSL,如果加密了,只能通过BSL来读了,不过你要知道中断向量表的32个字节的内容,即密码. Q2:MSP430F449中我想把一个整形的数A存入…
Q1. 定时器两个中断TAIE 和CCIE,有什么区别?两个中断的中断向量一样吗?A1:TAIE 和CCIE指的是不同事件.TAIE指TAR 计数器溢出,从65535 到0 的变化,由TAIFG 引起的.CCIE指捕获到相应信号(捕获模式下):定时时间到(比较模式下).由CCIFG引起的.两个中断的中断向量不一样,TAIFG 一般进TIMERA1_VECTOR;CCIFG 的话要看用的是哪个定时器如果是CCR0 的话就进TIMERA0_VECTOR,如果是CCR1,CCR2……则进TIMERA1…
Q1:msp430(我用的4619)的VCC,DVCC,VSS,DVSS怎么接啊?模拟的和数字的一样吗?A1:CC 就是正,SS 就是负,A是模拟电,D 是数字电,A的都接在一起,D 的都接在一起,地线要分开布,中间用000 贴片连接,也就是传说中的单点连接.A 和D 的正电源间如果信号源有固有的频率或频率范围建议中间用适当的电感连接,并在两侧加适当的退耦电容,以防止数字部分的信号干扰模拟信号.要求不是很精的时候,模拟电源和数字电源多数都是连通的. Q2:如果直接用干电池(比如两节AA 电池)不…
Q1: 430 串口中,有个R/D 控制线,在接收上位机的数据,但本身的数据有无发送完毕不知道啊,什么时候才可置低R/d 位来接收数据啊?好像430 没有发送完中断标志A1:字节主动发送,一般都能发出去,除非你的的时钟有问题.可以用程序检测,半双工通讯,可以多发送一个字节,作为判断,当最后个字节(作为判断用)写入发送缓存产生中断时,在中断里改变R/D状态. Q 2: 我想做个6个节点的网络,最远的距离为2mF20 系列的USI 做3 线SPI 模式用是否能满足要求?能否提供其他低端的430芯片?…
Q1:MSP430F149 AD 的输入阻抗有多大?A1:RC<2000欧*30PF Q2:MSP430 ADC12 模块的速度?A2: ADC12 的转换速率是转换所需的ADC12CLK 以及时钟的一项功能.ADC12CLK 的近似最小值与最大值分别为500kHz 及6.5MHZ.速度最快的整个转换过程可以在17 个周期内完成(13 个周期进行转换,4 个周期进行采样及保持).6.5MHz/17 = 382ksps.ADC12 的运行速率不能低于最小值的ADC12CLK,但在软件的控制下,采样…
Q1:请问msp430 怎么手动复位啊?是不是连到RST/NMI 上?但是这个脚不是和JTAG 连吗?我看到一些资料上说复位的话还要上拉电阻或者复位电路.A1:JTAG 功能只在下载程序时候使用,正常工作中RST可以连接一个按键,按下按键实现430手动复位.上拉电阻是上电复位用的,手工复位一个BUTTON就行了.MSP430 单片机低电平复位. Q2上电复位和硬件看门狗复位有什么区别吗,在程序里将两者分开,请问有办法将两者分开吗?A2:上电复位时,内存被清零或为任意值,看门狗清零时并没有断电,内…
Q1:请问430 的I/O 中断能不能可靠的响应60ns 的脉冲信号, 就是来了一个60ns 的脉冲,430 的中断会有丢失吗?A1:端口支持的最高8M的时钟,无法响应这么快的频率. Q2:430是3.3V供电,如果我想使P2.7管脚置高,然后等待低电平中断.接5V左右的电压接上拉电阻行不行?需不需要用分压电路到3.3VA2:你可能要进行电平变换,430I/O口最好不要接5v的 Q3:当Jtag接口把程序下载到单片机之后,Jtag接口还能不能用作普通IO口?A3: 和GPIO端口复用的JTAG引…
今天顺便研究了一下msp430的flash操作,很多人也许看了我的博客,会发现网站上有很多的人总结得比我要好,这点我承认,因为自己能力有限,但是,从这篇博客起,我会参照以前大神们写的博客,添加大神们写过的博客链接,分享给大家,注明:本人从不抄袭他人博客,博客只是个人技术的一个总结~~~,下面进入今天的正题 msp430F149有60k的flash,这个对于51来说,是相当的惊人的了,在涉及到flash的操作的时候,往往涉及到三个寄存器,FCTL1,FCTL2,FCTL3.突然间发现msp430的…
今天下午看了一下MSP430的看门狗的基本用法 看门狗是为了防止程序跑飞而设定的,但是由于看门狗是一个类似于定时器,因此可以把他当作定时器来使用 示例代码:用看门狗定时器使一个led闪烁 #include <msp430x14x.h> void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDT_MDLY_32;//宏定义 IE1 |=WDTIE; //允许看门狗定时器中断 P2DIR |=…
如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可以为cpu提供强劲稳定的时钟 #include <msp430x14x.h> void main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; volatile unsign…
MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11的宽度是3位以外,其他的端口全是8为宽度,为了方便使用,分别命名为PA,PB,PC,……,分别对应P1,P2P3…… 值得注意的是MSP430F5438单片机的P1和P2端口还具有申请中断的功能,而其他的端口则无此功能 每个端口都有控制开关,分别可以控制端口的方向,引脚的功能,每个端口都有自己的输入…
总结一下MSP430给我的印象吧,感觉他就是一个迷你型的arm 1:MSP430采用的是精简指令,他只有27条核心的汇编指令,这一点和arm相同,arm同样是采用精简指令,而80c51采用的是冗余指令,执行 起来要复杂很多 寄存器编 2:MSP430他有16个寄存器,这好像和arm也一样,但是略有不同的是,他的 r0 到 r3 是特殊功能寄存器,其中ro是程序指针(PC); r1是堆栈指针(SP),r2是状态指针(SR),R3是常数发生器 3:堆栈指针(SP)会在中断处理中用到,还有MSP430…
msp430的两本书,pdf版 MSP430系列单片机接口_技术及系统设计实例 MSP430系列16位超低功耗单片机原理与应用 点击此处下载 ourdev_528863.pdf(文件大小:4.21M) (原文件名:MSP430系列16位超低功耗单片机原理与应用.pdf) 点击此处下载 ourdev_528864.pdf(文件大小:14.98M) (原文件名:MSP430系列单片机接口_技术及系统设计实例.pdf)…
在学习MSP430的时候,总是有很多东西记不住,同时又是英文的资料,好多东西也是没怎么看透,英文虽过六级但是看英文资料还是有一种想睡的冲动啊,在学习键盘的时候,我的这块板子有些不同,矩阵键盘和独立键盘公用的,组合式的按键..这是为了节约硬件的成本啊 ... #define keyin    (P1IN & 0x0f)    //低四位保持不变,高4位清零,这个宏定义就是这个意思. 再写主函数的时候有这个语句:    P1DIR = BIT7;               //设置P1.0~P.3…
Q1:1,MSP430进入LP 模式后,CPU 停止运行,那么,进入中断执行退出后,由于SR的恢复,导致还处于LP 模式,是否意味着,CPU 在退出中断后立即停止了呢?2,也就是说,进入LP 模式后,要让非中断流程运行的话,只能在中断退出前把保存在堆栈里面的SR 修改了?3,由于中断自动恢复保存的寄存器,要想在中断程序里面修改堆栈里面的保存的SR,只能用汇编了?Q2:1.是的.2.是的.3.是的._BIS_SR_IRQ() 以及_BIC_SR_IRQ() 函数可用. Q2:有个程序进入LPM3…
Q1:我自己做了一块MSP430F149的试验板,以前用下载线进行调试没有出现过问题,但是,最近我每次make后用下载线调试时,总是弹出一个窗口,给我提示:Could not find target status. 然后就死到那儿了,请问这是什么问题呢?A1:检查Jtag口线是否连接正常,如果JTAG口线连接正常,可能是供电不足,目标板加电再测试. Q2:我用的430f22x学习套件,请问在IAR Embedded Workbench 中仿真时如何看程序运行时间.A2:只有软件模拟下可以看, V…