2012年4月26日

摘要: 来源:单片机及嵌入式系统应用 作者:金海龙摘要:用MSP430P315单片机的A/D转换器,实现阻性温度传感器的电阻检测;用查表和线性插值结合的方法,简化标度变换的算法结构。对电池电压的降低进行补偿的同时分析补偿电阻的精度对温度检测的影响。关键词:单片机 线性插值 补偿 温度检测引言长期以来,人们在测量温度时,大部分使用常规的测量方法测量。检测精度要求较高时,调理电路复杂、A/D的位数高,使设计的系统成本居高不,很难普及。随着电子技术的发展,出现了很多功能完备的低功耗、低电压大规模集成电路,为设计便携式高精度测温系统提供了硬件基础。本文介绍的高精度便携式测温仪,使用了非常适合作低功耗便携式测试 阅读全文
posted @ 2012-04-26 14:10 可见光 阅读(964) 评论(0) 推荐(0) 编辑
摘要: 转载自yangbme最终编辑ms森林 MSP430根据型号的不同最多可以选择使用3个振荡器。我们可以根据需要选择合适的振荡频率,并可以在不需要时随时关闭振荡器,以节省功耗。这3个振荡器分别为:(1)DCO 数控RC振荡器。它在芯片内部,不用时可以关闭。DCO的振荡频率会受周围环境温度和MSP430工作电压的影响,且同一型号的芯片所产生的频率也不相同。但DCO的调节功能可以改善它的性能,他的调节分为以下3步:a:选择BCSCTL1.RSELx确定时钟的标称频率;b:选择DCOCTL.DCOx在标称频率基础上分段粗调;c:选择DCOCTL.MODx的值进行细调。在430F2系列中DCO(最大16M 阅读全文
posted @ 2012-04-26 14:02 可见光 阅读(1247) 评论(0) 推荐(0) 编辑
摘要: 转载于lfb189的博客关于MSP430中断机制--我的理解2008-12-15 11:05:50|分类:默认分类|标签:|字号大中小订阅因DC的邀请写一个有关中断的东东,我也接触430不久只能以自己的心得体会更大家分享,若有纰漏恳请见谅。MSP430用户手册上有的中断介绍我就不赘述了,大家可以看User Guider.我讲的主要是书上没有的,或者是点的不透的。希望对大家有用。1.中断嵌套,优先级430总中断的控制位是状态寄存器内的GIE位(该位在SR寄存器内),该位在复位状态下,所有的可屏蔽中断都不会发生响应。可屏蔽中断又分为单中断源和多中断源的。单中断源的一般响应了中断服务程序中断标志位就 阅读全文
posted @ 2012-04-26 14:01 可见光 阅读(4205) 评论(0) 推荐(1) 编辑
摘要: 转载于半岛鱼的学习博客msp430的中断优先级和中断嵌套(及容易理解错误的说明)(2011-06-09 09:18:35)转载标签:杂谈分类:MCU单片机msp430的中断优先级和中断嵌套MSP430的中断优先级按所在的向量的大小排列,中断向量地址越高优先级就越大,但是默认的MSP430是不能中断嵌套的,要想在执行某一中断时能够响应更高优先级的中断,需要在低优先级的中断程序中手动打开全局中断便能位,因为在进入中断服务子程序时全局中断便能位被清零,即禁止响应其它中断。msp430的指令中,DINT和EINT分别指关和开所有中断,也就是包涵P1IE、P2IE、WDTIE、TAIE、TBIE、ADC 阅读全文
posted @ 2012-04-26 14:00 可见光 阅读(3833) 评论(0) 推荐(1) 编辑
摘要: MSP430F149的ADC12模块转自:http://hi.baidu.com/ms%C9%AD%C1%D6/blog/item/2fd0d355e0e71f59faf2c099.html1 概述 MSP430F149的ADC12为SAR型12位AD,共有16路输入通道,其中8路独立的外部输入通道,2路接外部Vref+,Vref-,3路内部通道可分别测内部温度传感器、AVCC、和外部参考源。 P6口第二功能为AD输入端。MSP430F149的10、11分别接外部电压参考源正负极,7脚可将内部电压参考源输出。 ADC12共有18个中断源,公用一个中断向量ADC12_VECTOR。AD的参考源可 阅读全文
posted @ 2012-04-26 13:58 可见光 阅读(755) 评论(0) 推荐(0) 编辑

2012年4月20日

摘要: http://blog.csdn.net/atec2000/article/details/6627909Mov 是把立即数赋给一个寄存器,但对立即数的范围有要求。只能是由8bit连续有效位通过偶数次移位能得到的数。如果立即数超出这个范围,就没办法用一条MOV指令给寄存器赋值。LDR除了普通的读数之外,也有给寄存器赋立即数的功能。你只要写 LDR R0,=0xabcdef它没有立即数范围的限制。因为这是一条伪指令。如果立即数在MOV的要求内,那就用一条汇编来实现。如果不在Mov的范围内,就用其它方式实现,如变成两条指令,或从PC偏移地址读一个32位数给寄存器。MOV是从一个寄存器或者移位的寄存 阅读全文
posted @ 2012-04-20 18:15 可见光 阅读(1295) 评论(0) 推荐(1) 编辑
摘要: volatile对应的变量可能在你的程序本身不知道的情况下发生改变 比如多线程的程序,共同访问的内存当中,多个程序都可以操纵这个变量 你自己的程序,是无法判定何时这个变量会发生变化 还比如,他和一个外部设备的某个状态对应,当外部设备发生操作的时候,通过驱动程序和中断事件,系统改变了这个变量的数值,而你的程序并不知道。 对于volatile类型的变量,系统每次用到他的时候都是直接从对应的内存当中提取,而不会利用cache当中的原有数值,以适应它的未知何时会发生的变化,系统对这种变量的处理不会做优化——显然也是因为它的数值随时都可能变化的情况。 -------------------... 阅读全文
posted @ 2012-04-20 13:03 可见光 阅读(1553) 评论(0) 推荐(0) 编辑

2012年4月18日

摘要: 来自:http://www.51hei.com/mcu/634.html从单片机指针说到黑客程序纯C51复位功能函数:一个大三学生,让人又爱又怕现单列复位部分如下:main(){unsigned char code rst[]={0xe4,0xc0,0xe0,0xc0,0xe0,0x32}; // 复位代码(*((void (*)())(rst)))(); // 执行上一行代码,将rst数组当函数调用}本来我告诉他嵌入如下代码:clr apush accpush accreti结果他却玩了前面哪一段,而数组rst[]中的内容恰恰是上面的汇编机器码,他的做法是将rst数组的数据当作代码保存,然后 阅读全文
posted @ 2012-04-18 20:21 可见光 阅读(899) 评论(0) 推荐(0) 编辑
摘要: B或BL指令引起处理器转移到“子程序名”处开始执行。两者的不同之处在于BL指令在转移到子程序执行之前,将其下一条指令的地址拷贝到R14(LR,链 接寄存器)。由于BL指令保存了下条指令的地址,因此使用指令“MOV PC ,LR”即可实现子程序的返回。而B指令则无法实现子程序的返回,只能实现单纯的跳转。用户在编程的时候,可根据具体应用选用合适的子程序调用语句。 AREA Init,CODE,READONLY;该伪指令定义了一个代码段,段名为Init,属性只读ENTRY ;程序的入口点标识..bl delay ;调用延迟..mov pc,lr ;返回下面的在BLOG中看到觉得讲得比较详细就拷过来了 阅读全文
posted @ 2012-04-18 19:47 可见光 阅读(16768) 评论(0) 推荐(2) 编辑
摘要: 压缩:tar -jcv -f filename.tar.bz2查询:tar -jtv -f filename.tar.bz2解压缩:tar -jxv -f filename.tar.bz2(j:bz2 z:gz)复制:cp -t wh wh(包括复制目录,默认情况是将权限修改为当前用户)chown juju:juju wh -R(将目录下的所有文件 权限修改)安装软件方法:1、apt-get install sthapp(安装软件在Ubuntu,首先确认是否最新apt-get update!)2、针对压缩包的软件,先解压缩,vi INSTALL; 检查configure支持参数,生成makef 阅读全文
posted @ 2012-04-18 15:28 可见光 阅读(343) 评论(0) 推荐(0) 编辑

导航