历史上的今天
返回首页

历史上的今天

今天是:2025年05月31日(星期六)

2021年05月31日 | MSP430F14x的内部结构(2)

2021-05-31 来源:eefocus

简介:本章主要讲解MSP430F14x的内部结构,主要包括以下内容:
1、MSP430F14x的系统时钟
2、MSP430F14X内部结构概述
3、MSP430F14x的CPU
4、MSP430F14x的硬件乘法器


1,MSP430F14x的CPU



MSP430系列单片机的CPU采用16位精简指令系统,集成有16位寄存器和常数发生器,能够发挥代码的最高效率。外围模块通过数据、地址和控制总线与CPU相连,CPU可以很方便的通过所有对存储器的指令对外围模块进行控制。


2,MSP430的主要特性:


※RISC指令集,27条内核指令和7种寻址模式;


※寄存器资源丰富;


※寄存器操作为单周期;


※16位地址总线;


※常数发生器;


※直接的存储器到存储器访问;


※位,字和字节操作方式。



3,MSP430单片机内部由一个16位的ALU(算数逻辑单元)、16个寄存器和一个指令控制单元构成。


16个寄存器中有4个为特殊用途,他们分别是:程序寄存器、堆栈指针、状态寄存器和常数发生器。


R4-R15作为通用寄存器,而且都是单周期读取的,操作非常快。它们可以进行算术逻辑运算,也可以作为临时的暂存单元;可以字操作,也可以字节操作。与80C51相比,MSP430没有累加器A,所以,在MSP430中R4-R15都可以作为累加器,也就是去掉了累加器这个单元。


然后ALU算数逻辑单元,首先位宽是16位的,比8位的就大了1倍。然后就是数据总线和地址总线是分开的,加快了指令的执行速度。所以,它的速度要比8051快很多。


其次呢,硅面积比8051小30%,可以使它的功耗更低。并且该款CPU在设计时,就考虑到C语言的问题,可以说是,专门为C语言开发的CPU。可以说,与51相比,做同样的事情,用MSP430可以写更少的代码,用更少的周期。


程序流程通过程序计数器控制,而程序执行的现场状态体现在程序状态字中。


4,程序计数器PC/R0



程序计数器是MSP430 CPU中最核心的寄存器,根据其操作数的多少,其指令长度分别为1、2或3字长。程序计数器指示出下一条即将执行的指令的地址。程序计数器PC的内容总是偶数,指向偶字节地址。程序计数器PC可以像其他寄存器一样用所有指令和所有寻址方式访问,但对程序寄存器的访问必须以字为单位,否则,会清除高位字节。程序计数器PC的变化轨迹决定程序的流程,程序计数器PC的宽度决定了存储器可以直接寻址的范围。MSP430的程序计数器是16位的计数器,最多直接寻址的存储空间高达64KB。


5,堆栈指针




系统堆栈在系统调用子程序或进入中断服务程序时,能够保护程序计数器PC,然后将子程序的入口地址或者中断矢量地址送程序计数器,执行子程序或中断服务程序。子程序或者中断服务程序执行完毕,遇到返回指令时,将堆栈的内容送到程序计数器中,程序流程又返回到原来的地方,继续执行。此外,堆栈可以在函数调用期间保存寄存器变量。局域变量和参数等。


堆栈指针SP总是指向堆栈的顶部。系统在将数据压入堆栈时,总是先将堆栈指针SP的值减2,然后再将数据送到SP所指的RAM单元。将数据从堆栈中弹出正好与压入过程相反,先将数据从SP所指示的内存单元取出,再将SP值加2。


6,状态寄存器SR/R2



状态寄存器记录记录程序执行过程的现场情况,在程序设计中有相当重要的地位。


MSP430的状态寄存器为16位,目前只用到前9位。


状态寄存器各位的含义,见状态寄存器说明表。


分别为:第0位,进位标志;第1位,零标志;第2位,负标志;第3位,中断控制位;第4位,置位CPUOFF;第5位,置位OscOFF;第6位,SCG0置位;第7位,SCG1置位;第8位,溢出标志。


7,常数发生器CG1,CG2/R2,R3




在16位寄存器中R2和R3为常数发生器,经常使用的常数可以用常数发生器产生,而不必占用一个16位字。利用CPU的27条内核指令配合常数发生器可以生成一些简洁高效的模拟指令,这样使CPU变的异常简单。我们来看这张表格,可以看到,常数发生器所用常数的数值由寻址位As来定义。

推荐阅读

史海拾趣

Dynawave Incorporated公司的发展小趣事

在快速发展的过程中,Dynawave意识到企业文化的重要性。他们注重培养员工的团队合作精神和创新能力,鼓励员工积极参与公司的各项活动。同时,公司还建立了完善的激励机制和福利制度,为员工提供了良好的工作环境和发展空间。这些举措增强了员工的归属感和忠诚度,为公司的长期发展奠定了坚实的基础。

B+B SmartWorx公司的发展小趣事

B+B SmartWorx的前身是B&B Electronics,一个在1981年成立的公司,起初主要为无线和有线网络提供设备连接解决方案。随着技术的快速发展,物联网和M2M连接的需求日益增长,B&B Electronics意识到必须进行创新以应对市场的变化。于是,公司开始致力于开发“边缘智能”技术,使网络连接设备更加智能、自主和响应迅速。这一创新转型使得公司在物联网行业中崭露头角,并在2015年决定将公司名称更改为B+B SmartWorx,以更好地反映其业务重心和技术方向。

EICHHOFF公司的发展小趣事

在电子行业的快速发展中,EICHHOFF公司始终保持着对技术创新的追求。XX年代,公司成功研发出了一款具有革命性意义的连接器产品,该产品凭借其独特的设计和卓越的性能,迅速在市场上获得了广泛认可。这一创新不仅为EICHHOFF带来了丰厚的利润,也进一步巩固了其在行业中的领先地位。

此后,EICHHOFF公司继续加大研发投入,不断推出具有竞争力的新产品。这些产品不仅在性能上有所提升,还在设计和功能上进行了创新,满足了客户日益增长的需求。

Daburn公司的发展小趣事

Daburn公司一直将研发创新作为公司发展的核心动力。公司拥有一支专业的研发团队,不断推出具有创新性和竞争力的新产品。同时,Daburn还注重客户需求,提供定制化的解决方案。这种以客户为中心的服务理念让Daburn赢得了众多客户的青睐。

General Transistor Corp公司的发展小趣事

面对日益激烈的市场竞争,GTC及时调整市场策略,加强品牌建设。公司注重提升产品质量和服务水平,积极参与国内外各类电子产品展会和论坛,提高品牌知名度和影响力。同时,GTC还建立了完善的销售网络和售后服务体系,为客户提供更加便捷、高效的服务。这些举措有力地推动了公司业务的快速增长和市场份额的扩大。

友盟(AP)公司的发展小趣事

友盟(AP)公司在电子行业的崛起,始于其坚持不懈的技术创新。在创立初期,友盟就敏锐地捕捉到了移动互联网快速发展的趋势,投入大量资源进行技术研发。公司团队深入研究用户行为分析、大数据分析等前沿技术,不断推出具有创新性的产品和服务。通过精准的数据分析和个性化推荐,友盟成功帮助众多合作伙伴提升了用户体验和业务效率,逐渐在行业内树立起了良好的口碑。

问答坊 | AI 解惑

无源雷达技术的发展

无源雷达技术的发展 人们在一般情况下提到的雷达,指的是有源雷达。这是一种自身定向辐射出电磁脉冲照射目标,进行探测,定位和跟踪的传统雷达。有源雷达发射的电磁信号会被敌方发现,定位,暴露自己。引来“杀身之祸”,子是人们开始研究自身不辐 ...…

查看全部问答>

年纪大了,脑子不好使了

觉得自己现在脑子越来越不好使,明显的症状就是老忘东西。工作这么多年,要变成脑残了。 具体说起来就是,明天要出差,今天收拾东西。在公司时就明显发现老忘东西,是凯哥主动提醒我装好录音笔,最后对着单子看时才发现一家重要的采访提纲忘了打印 ...…

查看全部问答>

推荐几款高速单片机,越高越好,越简洁越好,越便宜越好,多多谢谢!

推荐几款高速单片机,越高越好,越简洁越好,越便宜越好,多多谢谢!…

查看全部问答>

我是大学生我学过模拟电子但实际有很多电路图看不懂是怎么回事???初学者

在这一点上我可能比不上没知识的电工,请问有什么办法或有什么书推荐一下学习学习   [ 本帖最后由 boofeng2002 于 2012-3-31 11:18 编辑 ]…

查看全部问答>

proteus8.0新调试功能---革命性的改变

本帖最后由 平湖秋月 于 2013-12-31 11:53 编辑 单步调试和运行结果一目了然…

查看全部问答>

MSP430G2303的RAM地址范围是多少?

RAM大小是256bitys,起始地址是0X200,结束地址不应该是0X2FF吗?我用IAR把链接文件改到0x300到0x3ff,下了个led灯的运行正常,又改到0x400到0x4ff不能运行,是我计算有问题吗?…

查看全部问答>

STM32串口通讯调试问题。!感谢各位大大

小弟刚开始用STM32F103VET6。现在要实现从AD采集模拟量,然后希望通过串口在visual scope上显示实时的波形! 请问:1,串口通讯用什么样的协议?USB转串口是用的 USB转UASRT转换器么? 2,AD采集的模拟量是通过DMA直接通过串口与电脑通讯还是怎样 ...…

查看全部问答>

msp430G2553如何设计迟滞比较器

项目使用launchPAD。 这是GRACE配置的COMP_A+功能图,如果要配置成迟滞比较器,可以用电阻搭外围电路吗?如何设计? …

查看全部问答>

MSP430F5299时钟设置(24M)和计数器A使用

///////////////24MHZ时钟设置//////////////////////////////////////////////////////////////   UCSCTL3 |=SELREF__REFOCLK;    __bis_SR_register(SCG0);     //disable the FLL control loop &nbs ...…

查看全部问答>

TMS320C5402 DSP开发调试过程中的问题及解决方案

1、  关于开发工具CCS3.3向下载程序后,出现错误提示“Unable to determine default Pin/Port configuration.” 解决方案:该错误提示是由于CCS软件版本的兼容性问题造成的,可以不管,不会对程序下载造成影响。 2、  XDS5 ...…

查看全部问答>