1.bit和sbit都是C51扩展的变量类型。 bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。

  2.bit位标量 bit位标量是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似一些高级语言中的Boolean类型中的True和False。

  3.sfr特殊功能寄存器 sfr也是一种扩充数据类型,点用一个内存单元,值域为0~255。利用它可以访问51单片机内部的所有特殊功能寄存器。如用sfr P1 = 0x90这一句定P1为P1端口在片内的寄存器,在后面的语句中我们用以用P1 = 255(对P1端口的所有引脚置高电平)之类的语句来操作特殊功能寄存器。 sfr P1 = 0x90; //定义P1 I/O 口,其地址90H sfr 关键定后面是一个要定义的名字,可任意选取,但要符合标识符的命名规则,名字最好有一定的含义如P1 口可以用P1 为名,这样程序会变的好读好多.等号后面必须是常数,不允许有带运算符的表达式,而且该常数必须在特殊功能寄存器的地址范围之内(80H-FFH),具体可查看附录中的相关表. sfr 是定义8 位的特殊功能寄存器而sfr16 则是用来定义16 位特殊功能寄存器, 如8052 的T2 定时器,可以定义为: sfr16 T2 = 0xCC; //这里定义8052 定时器2,地址为T2L=CCH,T2H=CDH

在8位单片机C语言编程中,sfr用来定义特殊功能寄存器,一般占一个字节,8位;sbit用来定义特殊功能寄存器中可以位寻址的位,占1位。
在51单片机中,特殊功能寄存器只有16进制地址尾数为0或者8,其包含的各个位才可以位寻址。

转载自https://zhidao.baidu.com/question/648581769347815405.html

单片机 sfr 和 sbit 的区别相关推荐

  1. c语言编程单片机中的sbit,单片机sfr和sbit的用法

    描述 单片机sfr和sbit详解 sfr用于将一个单片机的特殊功能寄存器(special function register)赋值给一个变量,这样在后面的程序中就可以中这个变量指引(refer to) ...

  2. 单片机 单片机sfr和sbit关键字

    bit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1. sfr用于将一个单片机的特殊功能寄存器(special funct ...

  3. 请写出sfr和sbit的语句格式_单片机sfr和sbit关键字,详解

    sfr用于将一个单片机的特殊功能寄存器(special function register)赋值给一个变量,这样在后面的程序中就可以中这个变量指引(refer to)该寄存器. sbit与sfr用法类 ...

  4. 请写出sfr和sbit的语句格式_单片机关键字sfr和sbit区别

    单片机关键字sfr和sbit的理解 在单片机C语言编程中,扩充了两个关键字sfr和sbit. sfr(Special Function Register特殊功能寄存器的缩写),sbit(特殊功能寄存器 ...

  5. 请写出sfr和sbit的语句格式_单片机c语言的sbit和sfr

    本文引用地址:http://www.eepw.com.cn/article/201611/320082.htm bit和int char之类的差不多,只不过char=8位, bit=1位而已.都是变量 ...

  6. 单片机c语言关键字 id,单片机关键字sfr和sbit的理解

    在单片机C语言编程中,扩充了两个关键字sfr和sbit. sfr(Special Function Register特殊功能寄存器的缩写),sbit(特殊功能寄存器位),与定义一般的int.char型 ...

  7. c语言编程单片机中的sbit,单片机c语言的sbit和sfr

    bit和int char之类的差不多,只不过char=8位, bit=1位而已.都是变量,编译器在编译过程中分配地址.除非你指定,否则这个地址是随机的.这个地址是整个可寻址空间,RAM+FLASH+扩 ...

  8. 单片机关键字sfr和sbit的理解

    本文转载自 链接:https://blog.csdn.net/Lorain_Lynies/article/details/52013611 在单片机C语言编程中,扩充了两个关键字sfr和sbit. s ...

  9. c语言中sbit什么意思,c语言中bit和sbit的区别.doc

    c语言中bit和sbit的区别 c语言中bit和sbit的区别?? 1.bit和sbit都是C51扩展的变量类型. ??????? bit和int char之类的差不多,只不过char=8位, bit ...

最新文章

  1. 公司Joomla项目笔记1
  2. 科学教师与实验教师工作计算机,计算机实验指导教师工作职责
  3. Measurements 和 Units,第三部分
  4. java nio channel原理_Java NIO 选择器(Selector)与通道(Channel) 原理 | 学步园
  5. 容器 vector :为何要有reserve
  6. python3 检测端口是否开放
  7. contourArea函数
  8. oracle的工具cmd,数据库命令行工具DBCLI
  9. 用双边模式,让生意立刻火爆
  10. c语言蓝桥删除多余的括号,蓝桥杯 括号问题
  11. ueditor imageup.php,ThinkPHP整合百度Ueditor,thinkphpueditor_PHP教程
  12. 本科毕业设计|简易三维扫描仪
  13. html5正在加载数据,JSP如何做正在加载数据,请稍等...这样的提示页面 loding。。。...
  14. 资产新增ccid的问题
  15. 分享一个 Excel 做的三国杀 游戏 ,想学EXCEL的绝对受用。
  16. 【堆】 大根堆和小根堆的建立
  17. html翻牌动画效果,js+css3翻牌动画效果
  18. 高级转录组分析和R数据可视化技术研讨会(2023.2)
  19. 微信小程序不显示base64位图片
  20. 免费的PCB打样平台汇总,每月免费打8块板!【建议收藏】

热门文章

  1. Python实现函数可视化--快捷显示数学函数图像的轻量级工具制作教程
  2. javascript实现仿苹果电脑窗口最小化效果、css实现不规则图形的div
  3. 腾讯2018Q4:手游立功 广告支付不乐观
  4. 使用rpm安装telnet软件并实现远程登录
  5. ubuntu中如何将一个文件夹里面的所有文件夹和文件添加777权限
  6. 我们是如何成为在视频分析的基础上做到应用于联合收割机的自动驾驶系统的世界领先公司
  7. CSK与KCF算法推导(五)
  8. android百战经典,1.1 Android系统免费阅读_Android开发入门百战经典免费全文_百度阅读...
  9. 医专需要学计算机课吗,教学条件
  10. 2016全球大数据战略版图剖析(5):应用篇