单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗相关的知识,希望对你有一定的参考价值。
bit 是声明一个位变量的,定义单片机端口的是sbit.如:
sbit led=P2^1; //定义引脚P2.1为led
bit flag; //声明一个位变量 参考技术A sbit,不是bit
而且只有51类型的单片机合适
sbit led1 = P1^1; 参考技术B 不对,用sbit
bit申明位变量。 参考技术C 用sbit定义
C语言中sbit是啥意思,与bit有啥区别?
是在51单片机的C语言编程中
1.C语言中没有sbit关键字,这个是编译器里面的关键字。 sbit应该是keil c51中的关键字,表示位寄存器。一个端口8位,用这个关键字,可以单个位操作。2.bit和sbit都是C51扩展的变量类型。典型应用是:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 参考技术A sbit是位声明 bit是定义一个只有0和1状态的变量 参考技术B 这个只有在c51使用吧。
sbit 要在最外面定义,就是说必须定义成外部变量.sbit定义的是SFR(特殊功能寄存器)的bit
sbit更像是类型定义,不像是变量定义。
bit 可以在外部或内部定义。
分析编译前后的信息, sbit: 指示说明性说明 bit : 编译时分配空间
通俗一点讲就是:sbit 只能在外部定义全局变量。SFR(特殊功能寄存器)的bit。SFR是系统指定的内存地址。
bit 动态分配的,有编译器来指定内存地址。
参考资料:CSDN论坛
本回答被提问者采纳以上是关于单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗的主要内容,如果未能解决你的问题,请参考以下文章