单片机如8051有21个SFR,地址为80H~0FFH的128个字节中,可以直接用寻址方式来操作SFR。(类似于sbit)

为了能直接访问这些SFR,keil提供饿了一种自汉族形式的定义方法。这种方法只适用于8051系列单片机进行C编程。

方法:引入关键字“sfr”,语法为:sfr sfr_name=int address

如:sfr SCON=0x98;

  sfr TMOD=0x89;

具体值应该参照SFR表。

关于sbit的使用有三种方式:

1、sfr PSW=0xD0;//

   sbit OV=PSW^2;

   sbit CY=PSW^7;

2、sbit OV=0xD0^2;

   sbit CY=0xD0^7;

3、sbit OV=0xD2;

  sbit CY=0xD7;

在工作中,这个sfr定义都包括在头文件<reg51.h>等头文件中了,不需要再自己定义。但是很多工程上的文件,都加上了这些定义,是为了防止<reg51.h>没有定义到这些寄存器

单片机特殊功能寄存器(SFR)的更多相关文章

  1. 关于单片机特殊功能寄存器(SFR)和内存(RAM)公用地址:80-FF 如何区分

    RAM 的 80-FF 需要间接寻址进行访问 如:  MOV R0,#80H;    MOV A,@R0 ;  (内存 80H地址内的数据放到A中) SFR的80-FF需要直接寻址进行访问如: MOV ...

  2. MCS-51特殊功能寄存器(SPR)的C51定义

    MCS - 51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址范围为80H~0FFH.SFR中有11个寄存器具 ...

  3. 51单片机SRF寄存器

    1.21个寄存器介绍        51系列单片机内部主要有四大功能模块,分别是I/O口模块.中断模块.定时器模块和串口通信模块(串行I/O口),如其结构和功能如下图: 图1 51单片机结构和功能图 ...

  4. 寄存器、特殊功能寄存器和ram之间的区别联系

    存储器在CPU外,一般指硬盘,U盘等可以在切断电源后保存资料的设备,容量一般比较大,缺点是读写速度都很慢,普通的机械硬盘读写速度一般是50MB/S左右. 内存和寄存器就是为了解决存储器读写速度慢而产生 ...

  5. MCS-51系列特殊功能寄存器(摘录)

    MCS-51系列特殊功能寄存器(80H~FFH) 1. P0 (80H) P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 2.SP 栈指针(81H) 3.DPTR 数据 ...

  6. Cortex-M3 R0~R15寄存器组 & 特殊功能寄存器组

    [R0~R15寄存器组] Cortex-M3处理器拥有R0~R15的寄存器组,如: [R0~R12通用寄存器]R0~R12都是32位通用寄存器,用于数据操作.其中: R0~R7为低组寄存器,所有的指令 ...

  7. stm32 中库函数、结构体、地址的强制类型转换、相应特殊功能寄存器之间的关系

    以一个挂接在APB2上的外设函数使能为例 A : RCC_APB2PeriphClockCmd():时钟使能函数 1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFI ...

  8. PIC单片机状态寄存器中的C(进位/借位位标志)

    查阅PIC单片机芯片手册,关于进位/借位位的说明为: C:进位/借位位. 1 = 结果的最高位发生了进位 0 = 结果的最高位未发生进位 同时有一条标注:借位的极性是相反的. 通过以上说明,可以将C的 ...

  9. 以ARM和RISC-V为内核的单片机写寄存器

    我以为这是个很简单的问题,没想到还有一些初学者不会.可能他们也是跟我一样是直接学的如何操作单片机并没有学微机原理么. ARM和RISC-V的机器的系统架构都是哈佛结构的,意思是程序存储器.数据存储器和 ...

随机推荐

  1. explode and implode

    [PHP源码阅读]explode和implode函数   explode和implode函数主要用作字符串和数组间转换的操作,比如获取一段参数后根据某个字符分割字符串,或者将一个数组的结果使用一个字符 ...

  2. iphone设置铃声

    iphone同步铃声 1.下载itunes 2.打开itunes.文件->将文件添加到资料库...选择一首歌曲加进去 3.右击新加的歌曲,显示简介->选项.调整结束开始时间.不得超过40秒 ...

  3. 对OpenGL的GLFrame框架进行的扩展截至2014年11月29日

    框架源自<OpenGL游戏编程>,增加了此框架的部分功能.其中有些小错误,尤其是MD2模型的那章,给出的框架只支持载入一个BOSS,当再载入一个BOSS时,就会发现两个模型的帧速会乱套. ...

  4. jQuery触发<a>标签的点击事件后URL不跳转的解决办法

    有HTML代码如下: <a id="workFrame" href="pages/work.html" target="FrameBox&quo ...

  5. 使用JWPlayer在网页中嵌入视频

    首发:个人博客,持续更新和纠错 我一直以为在网页中嵌入视频是件复杂的事,一研究才知道原来非常简单. 实际就是在页面中嵌入个控件.社区里已有很多解决方案了.jwplayer是最受欢迎的(之一).控件包括 ...

  6. css中的选择器

    选择器            说明    *                通用元素选择器,匹配任何元素    E                标签选择器,匹配所有使用E标签(所有HTML元素)的元 ...

  7. java总结第三次//类和对象2、3

    四.类和对象2 主要内容:Java类的继承.方法的重写.覆盖.访问控制.super 关键字.多态性及其应用 1.继承 要求:Java只支持单继承,不允许多重继承 一个子类只能有一个父类 一个父类可以派 ...

  8. TI CC254x BLE教程 3

    通用属性配置(Generic Attribute Profiles) 1. 数据在services里面以特征字(characteristics)的形式展示出来 如你所见, 特征字包含属性(Proper ...

  9. Java字符串转换

    public class StringConvertToInt{ public static void main(String[] args) { String a ="12a34bW()5 ...

  10. android listview万能适配器

    参考    Android 快速开发系列 打造万能的ListView GridView 适配器 Hongyang public class CommonViewHolder { private Con ...