keil编程时sbit的意义及用法

如题,keil编程时sbit的意义及用法。例如,sbitLED=P0^6;这一句是什么意思?有什么用?还有,为什么这一句要写在main函数的前面?... 如题,keil 编程时sbit的意义及用法。例如,sbit LED=P0^6;这一句是什么意思?有什么用?还有,为什么这一句要写在main函数的前面? 展开
 我来答
tianxie洛洛
2018-04-09 · TA获得超过1.9万个赞
知道小有建树答主
回答量:183
采纳率:100%
帮助的人:7.6万
展开全部
  • keil编程时sbit的意义及用法:

  1. 定义 P0.6为LED ,程序中的P0.6都用LED表明 。

  2. 编译器不识别P0.6(P0.6用P^6表明)。

  3. 用LED程序比较易读,知道这个口是接1个LED。

  4. sbit是C51扩展的变量类型。

  5. 典型应用是sbit P0_0=P0^0://即定义P0_0为P0口的第1位,以便进行位操作。

  6. sbit一定要写在MAIN函数前面,不然主函数里不识别未定义的这些。

  • Keil C51简介:

  1. 是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。

  2. 与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

  3. Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。

  4. 运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

  5. 如果使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

  • sbit简介:

  1. 是定义特殊功能寄存器的位变量。

  2. bit和sbit都是C51扩展的变量类型。

  3. 典型应用是:sbit P0_0=P0^0;//即定义P0_0为P0口的第1位,以便进行位操作。

  4. bit和int char之类的差不多,只不过char=8位,bit=1位而已。

  5. 都是变量,编译器在编译过程中分配地址。

  • sbit的用法:

  1. sbit 位变量名=地址值。

  2. sbit 位变量名=SFR名称^变量位地址值。

  3. sbit 位变量名=SFR地址值^变量位地址值。

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
匿名用户
推荐于2018-02-27
展开全部
sbit是定义一个变量类型,而P0^6则是单片机上的6号IO口管脚
如果程序中只是使用P0^6、P0^1、P0^3这种写法,很可能就记不住每个管脚都是什么功能的了,所以把P0^6定义成LED,就是为了方便记忆和明确——P0^6链接的是一个LED设备,而不是其他的什么

sbit LED=P0^6
所以就用这种格式将P0^6这个管脚定义成LED变量,这样在程序中使用LED这个变量和直接使用P0^6是一样的效果

至于为什么写在main前面,这么说吧,程序是从main开始运行的,在它运行之前,你要告诉它要做哪些前期准备工作(比如你和朋友一起到饭店吃饭前要先点菜吧,你是想好吃什么再点快呢,还是拿了菜单再边想边点快?),所以一般写在main前面就是先告诉程序,运行时要用到LED这个东西,你先准备好~~

如果你不写在main前面也是可以的,这就是全局变量和局部变量的问题了,说白了就是LED这道菜你是打算点了自己吃,还是和大家一起吃……
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ca...6@163.com
2017-07-30 · 超过28用户采纳过TA的回答
知道答主
回答量:228
采纳率:50%
帮助的人:41万
展开全部
sbit是定义一个变量类型,而P0^6则是单片机上的6号IO口管脚
如果程序中只是使用P0^6、P0^1、P0^3这种写法,很可能就记不住每个管脚都是什么功能的了,所以把P0^6定义成LED,就是为了方便记忆和明确——P0^6链接的是一个LED设备,而不是其他的什么

sbit LED=P0^6
所以就用这种格式将P0^6这个管脚定义成LED变量,这样在程序中使用LED这个变量和直接使用P0^6是一样的效果

至于为什么写在main前面,这么说吧,程序是从main开始运行的,在它运行之前,你要告诉它要做哪些前期准备工作(比如你和朋友一起到饭店吃饭前要先点菜吧,你是想好吃什么再点快呢,还是拿了菜单再边想边点快?),所以一般写在main前面就是先告诉程序,运行时要用到LED这个东西,你先准备好~~

如果你不写在main前面也是可以的,这就是全局变量和局部变量的问题了,说白了就是LED这道菜你是打算点了自己吃,还是和大家一起吃……
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式