作者:BerenCamlost

本文针对于MSP430单片机原理与应用课程,请在复习时使用。

参考资料:

  1. PPT
  2. MSP430F6638用户手册
  3. 实验教程

本章最新更新日期:2018.12.21

第一章 CPU 寄存器

1.1 PC——程序计数器

  1. 取完指令后CPU根据该指令的字节数自动增量PC,因此20位的PC(R0)的值总是指向下一条要执行的指令。
  2. PC总是指向偶地址(bit0=0)

1.2 SP——堆栈指针

  1. CPU使用20位堆栈指针(SP,也称为R1)来存储子例程调用和中断的返回地址。
  2. 【作用】:保护现场和恢复现场。
  3. 它使用先进后出方案。
  4. SP由用户初始化为RAM,并且始终与偶数地址对齐。
  5. 堆栈分两种:
    • 向上增长,栈底占用较低地址,栈顶占用较高地址 : 8051
    • 向下增长,栈底占用较高地址,栈顶占用较低地址: MSP430、AVR
    • ARM支持两种增长方式的堆栈。

1.3 SR——状态寄存器

  1. 用作源或目标寄存器的16位状态寄存器(SR,也称为R2)只能用于通过字指令寻址的寄存器模式。 寻址模式的其余组合用于支持常数发生器。
  2. SCG1:系统时钟发生器1该位可用于根据器件系列启用或禁用时钟系统中的功能; 例如,DCO偏置启用或禁用。
  3. SCG0:系统时钟发生器0该位可用于根据器件系列启用或禁用时钟系统中的功能; 例如,FLL(频率锁定环)启用或禁用。
  4. OSCOFF:关闭振荡器。 该位置1时,当LFXT1 CLK不用于MCLK或SMCLK时,它会关闭LFXT1晶体振荡器。
  5. CPUOFF:CPU关闭。 该位置1时,将关闭CPU。
  • CPUOFF,OSCOFF,SCGO和SCG1位请求系统进入低功耗模式。
  1. GIE:中断使能总控制位,可以使能/屏蔽可屏蔽中断。

    可以使用如下指令配置SR寄存器:
//将SR某位置1
__bis_SR_register();
_bis_SR_register();
_BIS_SR();
//将SR某位置0
__bic_SR_register();
_bic_SR_register();
_BIC_SR();

上述都是内置函数,关于更多的内置函数,请查看博客(这两篇博客显然一样并且都是转(抄)的,随便看看吧)。

  • 博客1
  • 博客2

MSP430单片机各种寄存器总结(1)——CPU 寄存器相关推荐

  1. MSP430单片机各种寄存器总结(2)——UCS

    作者:BerenCamlost 本文针对于MSP430单片机原理与应用课程,请在复习时使用. 参考资料: PPT MSP430F6638用户手册 实验教程 本章最新更新日期:2018.12.23 第二 ...

  2. MSP430单片机各种寄存器总结(3)——IO

    作者:BerenCamlost 本文针对于MSP430单片机原理与应用课程,请在复习时使用. 参考资料: PPT MSP430F6638用户手册 实验教程 本章最新更新日期:2018.12.22 第三 ...

  3. 1507_FUSA_单片机的安全测试有哪些常见的测试项以及CPU寄存器测试和PC计数器测试的简介

    全部学习汇总: GitHub - GreyZhang/g_FUSA: some learning notes about function safety. Inlcude both ISO26262 ...

  4. MSP430单片机各种寄存器总结(7)——USCI_A in UART mode

    作者:BerenCamlost 本文针对于MSP430单片机原理与应用课程,请在复习时使用. 参考资料: PPT MSP430F6638用户手册 实验教程 本章最新更新日期:2018.12.23 第七 ...

  5. 通过 RDTSC 指令从 CPU 寄存器中直接获取系统时钟

    很多时候我们使用函数 gettimeofday 以及 clock_gettime 作为我们获取 wall lock的时钟函数. 因为这两种函数是 glibc 提供的用户封装,简单易用,而且能够精确到 ...

  6. 深入iOS系统底层之CPU寄存器介绍

    一弹指六十刹那,一刹那九百生灭. --<仁王经> 组件 计算机是一种数据处理设备,它由CPU和内存以及外部设备组成.CPU负责数据处理,内存负责存储,外部设备负责数据的输入和输出,它们之间 ...

  7. 理解CPU/寄存器/内存三者关系

    CPU/寄存器/内存 CPU,全名Central Processing Unit(中央处理器).这是一块超大规模的集成电路,包含上亿的晶体管,是一台计算机的运算核心(Core)和控制核心(Contro ...

  8. CPU,寄存器,内存三者的关系

    一.皇帝身边的小太监----寄存器 不知道什么是寄存器?那见过太监没有?没有?其实我也没有.没见过不要紧,见过就麻烦大了.^_^,大家都看过古装戏,那些皇帝们要阅读奏章的时候,大臣总是先将奏章交给皇帝 ...

  9. 数据结构是如何装入 CPU 寄存器的?

    作者|码农的荒岛求生 来源|码农的荒岛求生 有同学问了这样一个问题:既然CPU内部的寄存器数量有限,容量有限,那么我们使用的庞大的数据结构是怎样装入寄存器供CPU计算的呢? 这篇文章就为你讲解一下这个 ...

最新文章

  1. HTML iframe 和 frameset 的区别
  2. 每日一皮:都 0202 年了,我怎么可能被骗呢?
  3. lucene4.5近实时搜索
  4. 草莓软件验证系统源码 附带易语言模块
  5. 如何在.NET Core中创建API
  6. hibernate相关知识
  7. 简单快捷的ArcGIS 10.7安装方法
  8. 辐射光电流测试软件,资深工程师告诉你如何使用示波器测试EMI辐射干扰
  9. PCL点云去中心化demean
  10. 信号完整性之Cadence Sigrity TDR仿真操作流程
  11. python多个文件打包成exe_多个py文件生成一个可运行exe文件
  12. 2Wire_2700hg系列无线路由器功率增大方法!
  13. 什么是迁移学习?什么时候使用迁移学习?
  14. 这些前端资源,你值得拥有
  15. Safari(苹果)浏览器和IE浏览器修改UserAgent方法
  16. 如意验证对接TV 神,马搭建 源码,搭建简单,仅供学习交流
  17. 操作系统C语言模拟内存分配算法的模拟实现
  18. java 实现pdf 转word去除水印和去除页数限制
  19. U盘格式化了怎么恢复数据,三步操作轻松完成
  20. HTML5画布行星图像映射

热门文章

  1. python分析销量10w+的车厘子,发现了一个秘密
  2. 著名电子竞技游戏分析
  3. 有效需求分析培训梳理(一)
  4. windows下 python安装pip 简易教程
  5. 解决Python pip下载安装过慢问题
  6. Vue Node vue-socket.io 联合使用 简易聊天程序
  7. 个人关于高考志愿填报的一丁点儿看法
  8. 老年高血压案(知老)
  9. svn分支以及分支合并
  10. 初识物联网开发-硬件开发板选择