两者区别大了。
#define 就是通常说的宏定义,它可以将一个资源命名。我看到的有两类应用:
第一:将IO口换一个名字,如:#define LED P2 意思就是将P2口重新命名为LED;
第二:宏定义,将一个语句集合命名,例如:#define goto {ML1=1;ML2=0;MR1=1;MR2=0}

sbit特殊功能寄存器的一个位的声明,如:sbit LED0=P2^0;

看看,完全没有共同之处吧。

#define是宏定义,是一个预编译指令。
如#define PI 3.14 在预编译阶段,会将PI替换为3.14

sbit是C51扩展的变量类型

一个在编译期替换,一个在运行期生效

首先,sbit led= P2,这个写法是错误的,虽然编译时不报错,但编译后执行程序时却是错误的。
sbit 是定义一个引脚的,注意,只是定义一个引脚,而 P2是一个并行口,有8个引脚,是不能sbit 来定义,可以用 sfr 定义。
#define 并不是定义引脚的,也不是定义并行口,只是一个宏替换,就是程序中的led 换成P2后再编译。
所以,sbit 和 #define根本就不是一回事,更谈不上什么替换了。
两者毫无关系。

define和sbit的区别相关推荐

  1. #define与typedef的区别!

    #define与typedef的区别! #define dPS struct s * typedef struct s * tPS; 以上两种情况的意图都是要定义 dPS 和 tPS 作为一个指向结构 ...

  2. typedef和#define的用法与区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...

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

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

  4. C语言中sbit字节操作方法,c语言中bit和sbit的区别

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

  5. C语言 #define 与 typedef 的区别

    C语言 #define 与 typedef 的区别与用法 (qq.com) 在C语言编程中,typedef 和 #define是最常用语句,可能很多工作过几年的工程师都没有去深究过它们的一些用法和区别 ...

  6. typedef和define具体的详细区别

    1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错.例如: #define PI 3.141 ...

  7. PHP常量详解:define和const的区别

    常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5.3.0以后 ...

  8. #define 和typedef的区别

    typedef和define的详细区别 2011-04-19 15:11 firnow firnow 字号:T | T 对于都可以用来给对象取一个别名的Typedef和define来说,是有区别的.本 ...

  9. volatile,可变参数,memset,内联函数,宽字符窄字符,国际化,条件编译,预处理命令,define中##和#的区别,文件缓冲,位域

     1.volatile:要求参数修改每次都从内存中的读取.这种情况要比普通运行的变量需要的时间长. #include <stdio.h> #include <stdlib.h&g ...

最新文章

  1. Linux的档案权限及目录配置(3)
  2. OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks
  3. Java Learning Path(四) 方法篇
  4. 查看手机是否安装微信客户端
  5. 二维码提升对比度文献调研(3)--A Low-Complexity Algorithm for Contrast Enhancement of Digital Images
  6. 13 岁不可能创建出 RISC-V 内核?Nicholas Sharkey:我可以
  7. UVA 2519 Radar Installtion
  8. PostgreSQL——不仅仅是监控
  9. 【selenium 模拟拼图】滑动拼图验证码10分钟教程
  10. 有点理解Google为什么要退出中国市场了
  11. git的使用以及gitgub的使用(Git)
  12. 洛谷 P3987 我永远喜欢珂朵莉~(Splay+BIT+无限卡常)
  13. 华为nova5i计算机有计算记录吗,华为nova5i评测 值不值得买
  14. 关于excel选定任意行截图的操作
  15. 尚硅谷01 数据结构与算法_数据结构与算法介绍+稀疏数组
  16. Python 中 list 和 deque 性能对比
  17. ElasticSeach详细安装教程--图文介绍超详细
  18. angular关于select的留白问题
  19. c语言 strchr 返回int,为什么strchr需要一个int来找到char?
  20. 开源工具:OpenPR

热门文章

  1. 南非醉茄来源的天然产物之活性大盘点
  2. n卡图像锐化最佳设置方法
  3. 上证50基金有哪些_上证50指数基金哪个好?怎么选?
  4. 【操作系统】第一章 绪论
  5. pyqt5可以写手机apk吗_不需要写代码,直接在unity实现手机可以跑的毛发效果
  6. 华为2288HV5使用U盘安装ESXI6.7.0
  7. python实现同时显示两条曲线_python matlibplot绘制多条曲线图
  8. qt读取文件里的数据并做折线图 并鼠标触碰显示
  9. 分享一些手机的测试点
  10. 什么是 RADIUS 服务器?