历史上的今天
返回首页

历史上的今天

今天是:2025年06月21日(星期六)

2018年06月21日 | Keil C51对C语言的关键词扩展之十七: sbit

2018-06-21 来源:eefocus

sbit用来定义一个特殊功能寄存器的某一位。


sbit name = sfr-name ^ bit-position;
sbit name = sfr-address ^ bit-position;
sbit name = sbit-address;
    name   特殊功能寄存器某一位的名称
    sfr-name 已定义的特殊功能寄存器名称
    bit-position 特殊功能寄存器比特位置
    sfr-address 特殊功能寄存器的地址
    sbit-address     特殊功能寄存器的比特地址

sbit提供了访问可位寻址特殊功能寄存器以及其他可位寻址对象的方法。



sbit EA = 0xAF;

该语句将EA定义为特殊功能寄存器某位,地址为0XAF,在8051单片机中代表开启中断使能寄存器的所有位。


以sbit访问的对象与sfr16相同为小端模式存储,而int、long型以大端模式存储。

为sbit 名称指定地址的三种方法:

1)


sbit name = 特殊功能寄存器名称^比特位置;

比如:



sfr  PSW = 0xD0;
sfr  IE = 0xA8;

sbit OV = PSW^2;
sbit CY = PSW^7;
sbit EA = IE^7;

2)



sbit name = 特殊功能寄存器地址^比特位置;

sbit OV = 0xD0^2;
sbit CY = 0xD0^7;
sbit EA = 0xA8^7;

特殊功能寄存器地址必须能被8整除。

3)

sbit name = 位地址;

比如:


sbit OV = 0xD2;
sbit CY = 0xD7;
sbit EA = 0xAF;

只有地址能够被8整除的特殊功能寄存器才是可位寻址的。
sbit用来访问bdata类型变量的某一比特位。
sbit变量不能在函数内部声明。


推荐阅读

史海拾趣

奇力新(chilisin)公司的发展小趣事

奇力新公司自创立之初,就专注于电感器的研发与生产。创始人凭借对电感技术的深入理解和市场需求的敏锐洞察,确定了公司的发展方向。在创业初期,奇力新积极引进先进的生产设备和技术人才,建立了一套完整的技术研发和生产体系。通过不断的技术积累和创新,奇力新逐渐在电感器领域取得了领先地位。

亿晶源(ekinglux)公司的发展小趣事

随着市场的逐步扩大,亿晶源于2013年在东莞成立东莞市亿晶源光电科技有限公司,进一步扩大生产规模。公司高度重视技术创新,不断投入研发资金,引进高端人才,成功推出多款具有竞争力的LED半导体产品。同时,公司还通过了ISO9001质量体系认证,为产品质量的稳定提升提供了有力保障。

ARCOL公司的发展小趣事

ARCOL公司的创立,标志着电子行业中一颗新星的诞生。在公司成立之初,ARCOL就专注于电子元器件的研发和生产。凭借创始团队深厚的技术背景和敏锐的市场洞察力,公司成功开发出了一系列高质量的电子元器件产品,并很快在市场上赢得了良好的口碑。初步的成功为ARCOL公司的后续发展奠定了坚实的基础。

DAESAN公司的发展小趣事

在电子行业中,技术创新是企业发展的核心驱动力。DAESAN公司深知这一点,因此一直致力于技术研发和创新。他们投入大量资金和资源,引进先进的生产设备和技术人才,不断推出具有竞争力的新产品。其中,一款高性能的电子芯片引起了行业的广泛关注。这款芯片采用了最新的纳米技术和低功耗设计,不仅性能卓越,而且节能环保。DAESAN公司凭借这一技术创新,成功打开了高端电子市场的大门。

Display Elektronik GmbH公司的发展小趣事

为了进一步扩大市场份额,Display Elektronik GmbH实施了国际化战略。公司积极开拓海外市场,与多个国家和地区的客户建立了合作关系。同时,Display Elektronik GmbH还在海外设立了研发中心和生产基地,以便更好地满足当地市场的需求。这种国际化战略的实施,让Display Elektronik GmbH的产品逐渐走向世界。

Free2Move公司的发展小趣事

随着环保意识的日益增强,Display Elektronik GmbH将绿色环保理念融入到了公司的发展中。公司采用环保材料和生产工艺,减少了对环境的污染。同时,Display Elektronik GmbH还积极推广绿色显示技术,为客户提供更加环保、节能的显示解决方案。这种对环保的关注和投入,让Display Elektronik GmbH在行业中树立了良好的形象。

问答坊 | AI 解惑

偶又来晒板了,感觉每次来水平都有点提高.

感觉自己不像某些天才,刚开始就能做出很票票的LAYOUT作品来.. 2008的第一次晒板比以往来得都晚一些, 大家一笑了之啊! …

查看全部问答>

航模电机

用51怎样驱动航模直升机的电机,需要电流太大2-3A,一般驱动板太大了,而且电流达不到,请问有什么好办法,能否用MOS管或晶闸管,做开关管?先谢谢了…

查看全部问答>

准备开NO.3方案

准备开第三种方案,做一个便携式的温度湿度检测计 大家可以看看我的方案,我主要想做一个便携式的,袖珍型的,可以挂在钥匙圈上的,所以尽量的简单,C8051F系列中选一款单片机,特点就是简单方便性能强大,再加上湿度传感器芯片和LCD液晶即可 &nb ...…

查看全部问答>

求单片机控制LED点阵屏动态显示的开发实例资料。

我现能固定显示几个字的点阵屏,要求用电脑作为上位机,随时改变内容让它显示在LED屏上。谢谢了!…

查看全部问答>

有采用STM32v3.1.0固件库的FreeRTOS的移植吗?

                                 FreeRTOS 6.0.1也是基于STM32 2.0.3固件库…

查看全部问答>

此DSP学习论坛~

这个DSP学习论坛真的很好,不仅运行速度快,论坛维护好,而且还是不是地设置了一些奖项,比如30周年DSP的征文大赛。非常好!!!这个论坛是我看到的有关DSP最好的论坛了,必须强顶!!!管理员人也不错,呵呵~~…

查看全部问答>

招聘资深应用工程师-上海

猎头公司为某外资企业招聘招聘资深应用工程师(工作地点:上海) 职责: 售前售后技术支持。 技术培训等。 要求: 熟悉通信、电子、安防等行业; 熟悉嵌入式系统开发、FPGA、HDL编码和验证、DSP数字信号处理、通讯算法等相关知识。 如果有兴 ...…

查看全部问答>

MSP430PWM脉冲占空比调节LED光亮

/*实验板 MSP430 LaunchPad * 利用定时器编写PWM电路,驱动LED,并可以通过按键调节亮度 * MCLK=SMCLK=DCOCLK=32×ACLK=1.048576MHz, */ #include void main(void) { P1DIR |= BIT6+BIT0; P1DIR &=~BIT3;     &nb ...…

查看全部问答>

EEWORLD大学堂----TI微控制器硬件驱动支持

TI微控制器硬件驱动支持:https://training.eeworld.com.cn/course/402…

查看全部问答>