STC12系列单片机的位变量

本文深入解析了C51编程语言中位变量的存储模式,包括特殊功能寄存器中的可位寻址位和bdata存储模式的位变量。详细解释了如何在C51中声明并使用这些位变量,以及它们的应用场景,如作为标志位。重点突出了bit关键字的引入及其在定义位变量时的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在51中的位变量包含2类,
一类是特殊功能寄存器中的可位寻址的位,比如EA,TR0等;这部分位在C中通过sbit来特殊声明,比如sbit Beep=P1^0; ;
另一种即为bdata存储模式的位变量。
     bdata是布尔变量的存储方式,表示位变量存储在位于单片机内部RAM字节地址0x20~0x2F的16个字节中,每个字节8位,共计16x8=128个可寻址位,位地址从0x00~0x7F。bdata所指只包含这个区域。

   其实一般而言不用去特别声明位变量存储模式,比如bit bdata flag; ,在C51中普通的bit变量只能存放在bdata中,所以只需要bit flag这样去定义变量就行了。
它的取值只能是0或1.通常用来做为标志。
在单片机C语言中,bit是新增的一个关键词,它是用来定义一个“位变量”
bdata是把变量定义到数据RAM的可位寻址区,即51系列的20H~2FH单元中,最后bitflag应该是bit flag(和关键字bit中间有个空格)表示定义一个位变量flag,这个flag变量只能是0或者1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值