Keil C51 关键字sfr sbit相关知识

发布时间:2024-04-07  

SFR 不是标准C 语言的关键字,而是Keil 为能直接访问80C51而提供了一个新的关键词。

 

功能:

用来定义硬件寄存器地址的关键字,具有定义硬件特性。

 

举个例子:

sfr P0 =0x80;

sfr P1 = 0x90;

 

(C语言,这样就定义了51系列MCU中0x80地址,在编程时可以用P0符号代替地址0x80,具有定义硬件特性,一般在SFR的定义在头文件reg51.h或reg52.h或者stc8g.h内。

 

经过定义之后,编程的时候可以直接使用p0=0xff p1=0xff来实现控制端口IO。

 

===============================================================================================================================

在C51里,利用sbit可访问RAM中可寻址位或SFR中可寻址位。

如果直接写P1.0,C 编译器并不能识别,而且P1.0也不是一个合法的C语言变量名,所以得给它另起一个名字,比如P1_0,可是P1_0 是不是就是P1.0呢?

C编译器可不这么认为,所以必须给它们建立联系,这里使用了Keil C的关键字sbit 来定义,sbit 的用法有三种:

第一种方法:sbit 位变量名=地址值

第二种方法:sbit 位变量名=SFR 名称^变量位地址值

第三种方法:sbit 位变量名=SFR 地址值^变量位地址值

 

例如,

定义P1 中的P1.1脚可以用以下三种方法:

sbit P1_1=0x92     //(1)说明:0x92是P1.1的位地址值

sbit P1_1=P1^1     //(2)说明:其中P1必须先用sfr定义好

sbit P1_1=0x90^2    //(3)说明:0x90就是P1的地址值

 

因此这里用sfr P1_0=P1^0;就是定义用符号P1_0 来表示P1.0引脚。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    以是“Region”和“End_Region”。这些关键字可根据当前的设置进行自动转换。要查找关键字“REGION”和“END_REGION”的配对部分,可单击“REGION”或“END_REGION”。系统将高亮突出显示这两个关键字......
    可以通过自然语音命令方式进行。 以寻找关于“IT之家”的图片和文档为例,当前用户可能需要打开文档管理器,然后在搜索框中输入关键词让其寻找。而在未来用户可以直接下达语音命令:“帮我查找关于 IT 之家的内容”,除了......
    【STM32】keil软件常用使用技巧;01. 文本美化 文本美化,主要是设置一些关键字、注释、数字等的颜色和字体。前面我们在介绍 MDK5新建工程的时候看到界面,这是 MDK 默认的设置,可以看到其中的关键字......
    Keil C51 关键字sfr sbit相关知识;SFR 不是标准C 语言的关键字,而是Keil 为能直接访问80C51而提供了一个新的关键词。   功能: 用来定义硬件寄存器地址的关键字,具有......
    有像 IAR 里面的这个关键字,而且会有版本的区别,下面分别介绍: 图1.Keil 不同编译版本 为了防止未初始化的变量被初始化为 0,要将未初始化的变量放在一个特殊段内,这个段满足是 ZI 数据......
    可能会将Keil MDK 升级为 Keil Studio,后台回复关键字Keil系列教程】查看更多内容。 2.IAREWARM 网址: https://www.iar.com/ 后台回复关键字......
    Keil C51 采用ANSIC标准关键字(共32个); 序号 关键字 用途 说明 1 auto 存储器类型说明 用以说明局部变量,缺省值为此 2 break 程序语句 退出......
    正的芯片外扩展则很少用到了,虽然它还叫片外 RAM,但实际上它现在也是在单片机芯片内部的,我们的 STC89C52 就是这样。以下是几个 Keil C51 语言中的关键字,代表了 RAM 不同......
    际上它现在也是在单片机芯片内部的,我们的 STC89C52 就是这样。以下是几个 Keil C51 语言中的关键字,代表了RAM不同区域的划分,大家先记一下。 data:片内 RAM 从 0x00......
    对地址必须经过BL51连接定位后才能确定。 为了能够在C51程序中直接对任意指定的存储器地址进行操作,可以采用扩展关键字“at”、指针、预定义以及连接定位控制命令。 在这些方法中,本人......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>