C51 bit和sbit的区别
2013-12-08 13:57
274 查看
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大部分是用在寄存器中的,方便对寄存器的某位进行操作的。
sbit 要在最外面定义,就是说必须定义成外部变量.
sbit定义的是SFR(特殊功能寄存器)的bit
sbit更像是类型定义,不像是变量定义。
bit 可以在外部或内部定义。
bit 动态分配的,有编译器来指定内存地址。
sbit: 指示说明性说明
bit : 编译时分配空间
SFR 是特殊功能寄存器的总称,是单片计算机中的一组特殊的临时存储区域,用于动态存放计算机运行过程的一些状态信息、并依此做相应的控制。如楼上介绍的一样,MCS-51单片机就设有18个专用寄存器,P0-P3端口,定时/计数器T0、T1,TMOD、TCON、PCON、SCON 、PSW、IE、A、B、IP等等。SFR越多,编和控制功能越强、越灵活,但需要硬资源,所以系统设计时会根据需要来确定。
转自:/article/9391317.html
bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。
sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。
sbit 要在最外面定义,就是说必须定义成外部变量.
sbit定义的是SFR(特殊功能寄存器)的bit
sbit更像是类型定义,不像是变量定义。
bit 可以在外部或内部定义。
bit 动态分配的,有编译器来指定内存地址。
sbit: 指示说明性说明
bit : 编译时分配空间
SFR 是特殊功能寄存器的总称,是单片计算机中的一组特殊的临时存储区域,用于动态存放计算机运行过程的一些状态信息、并依此做相应的控制。如楼上介绍的一样,MCS-51单片机就设有18个专用寄存器,P0-P3端口,定时/计数器T0、T1,TMOD、TCON、PCON、SCON 、PSW、IE、A、B、IP等等。SFR越多,编和控制功能越强、越灵活,但需要硬资源,所以系统设计时会根据需要来确定。
转自:/article/9391317.html
相关文章推荐
- Big endian 与 Little endian
- QTimer定时器以及QTime获取时间
- dasd
- 安装iftop
- 在网页中插入flash
- The import javax.servlet cannot be resolved解决方法
- LA 3971 Assemble / 二分
- debian修改ssh端口
- MySQL GROUP BY 操作的优化
- (*(volatile unsigned long *)详解
- HTML中诡异的空文本
- 使用Libcef创建基于浏览器的应用程序(1)
- QT容器类
- 【译】用Arduino制作爱情指示计
- PowerDesigner 15设置mysql主键自动增长及基数
- 【Android】报表、线图、饼图、柱状图 (工具整理)
- #ifndef、#def、#endif说明
- PowerDesigner 15设置mysql主键自动增长及基数
- .Net开发笔记(十九) 创建一个可以可视化设计的对象
- 使用PowerDesigner设计建造MySQL数据库