001MSP430概述
1、MSP430系列单片机的特点
(1)超低功耗:生来就是为超低功耗设计的,从CPU内核结构到片上外设,以及整个芯片的生产制造都是本着超低功耗的原则来进行的,所以是一款实实在在的超低功耗单片机;
(2)强大的处理能力:16位的单片机,内部还有DMA控制器,还有硬件存卡器;
(3)高性能的模拟技术及丰富的片外资源;
(4)系统稳定工作;
(5)方便高效的开发环境;
(6)著名大厂商的产品,有丰富的开发资源和强大的技术支持;

更加完整的内部结构图:

2、单片机的CPU

三部分组成:寄存器文件堆,16位的累加单元ALU,两条总线(一条地址总线,一条数据总线);
16个寄存器文件里面,
R0-R3作为特殊用途,
R0用作程序指针PC(Program Counter,单片机在运行时,需要从程序存取区读取指令代码,就是根据PC中的值读取的);
R1作为SP,堆栈指针,单片机在运行过程中经常会发生中断,这时就需要保存现场数据,在保存现场数据的过程中,其实就是把CPU的寄存器和用到的临时变量都压入堆栈,CPU转去处理其他的东西,中断处理完后,再恢复现场,把压入堆栈的一些临时数据或CPU寄存器的一些内容弹出来,恢复到以前的状态,让程序继续执行;
R2作为SR,叫做状态寄存器,里面大概有8个标志位,或者是有一些控制位,用来显示逻辑运算的基本状态,比如加法状态是不是溢出,减法运算有没有产生负值,或者寄存器中是不是零等;
R3作为CG,常数发生器,主要用来在汇编语言中提高汇编的编译效果,MSP430实际上只有27条核心的汇编指令,可以大幅减少汇编指令的长度,提高执行效率;
R4-R15作为通用寄存器,都是单周梯度区的,操作非常快;
16位的ALU,比8位的大了一倍,数据总线与地址总线是分开的,加快了指令的执行速度,比8051的CPU的数据处理能力不只提高了2~3倍;
整个CPU就是为C语言设计的,因为是精简指令集,在设计时就考虑到编译器产生的结果,所以用C语言开发单片机效率是非常高的;写更少的代码,使用更少的周期;
3、MSP430应用

低功耗的重要性:
延长电池寿命、低电池花费、便携式应用、持久的电池减少责任、降低EMI(电池干扰)简化PCB、简单的供电设备;
001MSP430概述的更多相关文章
- 【AR实验室】ARToolKit之概述篇
0x00 - 前言 我从去年就开始对AR(Augmented Reality)技术比较关注,但是去年AR行业一直处于偶尔发声的状态,丝毫没有其"异姓同名"的兄弟VR(Virtual ...
- Recurrent Neural Network系列1--RNN(循环神经网络)概述
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
- Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
- .Net 大型分布式基础服务架构横向演变概述
一. 业务背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便于运维及监控. 二. 基础 ...
- [C#] 进阶 - LINQ 标准查询操作概述
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...
- 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
- Java消息队列--JMS概述
1.什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送 ...
- [AlwaysOn Availability Groups]健康模型 Part 1——概述
健康模型概述 在成功部署AG之后,跟踪和维护健康状况是很重要的. 1.AG健康模型概述 AG的健康模型是基于策略管理(Policy Based Management PBM)的.如果不熟悉这个特性,可 ...
- μCos-ii学习笔记1_概述
一.μCos-ii _概述 网上关于μCosii的文章多不胜数,本人学习的过程中也参考了很多人的理解和想法,看的是卢有亮老师的<嵌入式实时操作系统-μC/OS原理与实践>(第2版),同时也 ...
随机推荐
- 关于htmlspecialchars实体字符转码的问题
php对post过来的数据进行实体字符转码,我的页面编码是gb2312,刚开始是这样: $post = htmlspecialchars ( $post); 取到的$post值为空,但是有时候是好的( ...
- gerrit 使用笔记
添加git hooks git库的钩子目录中有一个commit-msg脚本文件,可以在git执行commit时,在提交信息中自动添加一个唯一的Change-Id scp -P 29419 admin@ ...
- java虚拟机参数设置
-Xms8000M 初始化的堆大小 -Xmx8000M 堆的最大值 -XX:+HeapDumpOnOutOfMemoryError 堆溢出时Dump出当前内存堆转储快照以便事后分析 -XX:P ...
- 解决insmod: error inserting 'hello.ko': -1 Invalid module format
编译自己的内核模块后,insmod出现error:error inserting 'hello.ko': -1 Invalid module format 出现这种情况的原因是因为Makefile种使 ...
- springmvc对请求执行流程
doService-->getHandlerMapping-->handlerMapping-->getHandler-->HandlerExecutionChain--> ...
- VisualVM 的 OQL 的一些例子
Visual VM的OQL语言是对HeapDump进行查询,类似于SQL的查询语言,它的基本语法如下: select <JavaScript expression to select> [ ...
- Wireshark的时间格式设置
默认是自捕获开始经历的秒数,如下图: 要调整的设置步骤: step1.打开wireshark step2.选择view->Time Display Fommat step3.选择你所需要的时间格 ...
- memcpy、memmove、memset
void * memcpy(void * dst, const void * src, size_t count) { void *res=dst; while (count--) { *(char* ...
- Sqoop实现自定义job的增量导入
需求:redis缓存的数据隔段时间往MySQL中写入一次.如果按照job的增量导入,比如上次redis向mysql导入数据时间为8:00,下一次导入时间为9:00,8:20sqoop进行增量导入,导入 ...
- (转)adb shell am 的用法
原文地址:http://blog.csdn.net/fulinwsuafcie/article/details/8092459 adb shell am 的功能 adb shell am 使用此命 ...