STC12系列单片机的位变量

2019-05-20来源: eefocus关键字:STC12系列  单片机  位变量

在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。


关键字:STC12系列  单片机  位变量 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic462287.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:STC12系列单片机的空闲模式、休眠模式
下一篇:KEIL v3添加STC系列单片机库文件 方法+头文件库

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

STC15系列单片机ADC函数库的20200208优化版
参考:STC官网函数库优点:初始化P1任何端口后,main函数只需要循环调用ADC_Convert()函数即可循环完成所有配置的ADC端口模拟量采集。ADC转换结果放置在Dpj_ZongCunChu[]数组中,用于其他功能取用。目的:免费共享,互相提升。先在ADC.c文件中写入以下内容:#define _ADC_C_                //预定义名称用于ADC.h中#include        "all.h"         
发表于 2020-02-11
STC15系列电压测试+LCD12864显示
最近使用15做电压测试,顺便使用下12864显示,程序如下:    #include <STC15F2K60S2.H>    #include <intrins.h>    #include <stdio.h>        #define uchar unsigned char    #define uint  unsigned int    #define ulint unsigned long int 
发表于 2020-01-29
stc15系列STC内部EEPROM的读写
STC单片机利用IAP技术实现了EEPROM功能,相比外置存储芯片而言,在操作上比较方便。 涉及STC单片机EEPROM操作的特殊功能寄存器有6个,地址分别是E2H、E3H、E4H、E5H、E6H和E7H。在STC单片机使用手册中,作者分别将它们定义为:一、IAP_DATA  (E2H)二、IAP_ADDRH  (E3H)三、IAP_ADDRL  (E4H)四、IAP_CMD  (E5H)五、IAP_TRIG  (E6H)六、IAP_CONTR  (E7H)本人认为,手册中给每个地址单元定义的英文
发表于 2020-01-18
(51基础篇) - 021 STC89C51系列单片机 内部EEPROM 驱动
; EEPROM_BASE_ADDRESS+0x0E000            //STC90C/LE514RC/RD+ 66 //STC12xx052AD系列 67 #define STC12xx052AD_EEPROM_Start_ADDRESS       EEPROM_BASE_ADDRESS+0x00000        //STC12xx052AD 68  69  70 //EEPROM SIZE 71
发表于 2020-01-07
(51基础篇) - 021 STC89C51系列单片机 内部EEPROM 驱动
STC15F2系列单片机UART1使用定时器1做波特率发生器
;        AUXR |= AUXR_T2x12        AUXR |= AUXR_S1ST2;//使用定时器2 作为串口1的波特率发生器        ES = 1;    EA = 1;        uart1_SendString("rn stc15f2k08s uart1 test rn");        while
发表于 2019-10-30
单片机PWM输出控制直流电机(89c51系列、stc12c5a60s2系列)
= 0; if(time < PWM) pwm = 1; else if(time >= PWM) pwm = 0; }}proteus仿真结果由仿真结果来看,所得波形还是不算很精准,实际应用过程中还会有很多误差,但是这样已经比延时函数产生pwm的结果可靠的多。【STC12C5A60S2系列单片机输出PWM】我在做循迹小车时使用的是stc12c5a60s2单片机。stc12c5a60s2单片机集成了两路可编程计数器阵列(PCA)模块,可用于软件定时器、外部脉冲的捕捉、高速输出以及脉宽调制(PWM)输出。使用stc12c5a60s2单片机的PCA模块可通过程序设定,使其工作于8位PWM模式,通过P13和P14输出
发表于 2019-05-22
单片机PWM输出控制直流电机(89c51系列、stc12c5a60s2系列)
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved