单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗

单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗,第1张

vc里面可以定义bit的数据类型么?

vc里不能定义bit数据类型,但是可以定义bool类型,bool类型占用4字节内存空间

要引用哪个头文件?

不需要引用

c语言存储的最小单元不是byte么?

一般来说是byte,但是像51这类单片机具有位寻址功能,所以允许使用bit类型

c里面定义的话是不是先要定义一个byte常量,然后再在这个byte上面进行位 *** 作吧,也不能直接定义bit类型吧

keil

c51里面可以直接定义bit类型,但是像vc这些pc上的应用程序不允许,bit类型是keil

c51里面对标准c的一个扩展,在其他编译器上是无法编译的

计算机里的B,Bit,Byte分别指的是:

Bit:在计算机中,数据的最小单位是位,位是指一位二进制数,英文名称是Bit。也称比特,1位信息只能表示2个状态(0或1)中的1个。

B或Byte:字节,记为Byte或B,是计算机中信息的基本单位,表示8个二进制数位。在计算机编码中,每1个字节可编码二个数字或1个字母,每二个字节可编码1个汉字。字节的容量分别表示有;1KB=1024B(或字节);1MB=1024KB; 1GB=1024MB; 1T=1024GB。

bit Timerout=0; 这里的bit本质上和char、int一样的(功能一样,类型不一样),char是8位,int是16位,bit是1位。

每个字节是8位,就可以包含8个bit,bit只有两个值,1和0

bit Timerout=0;

bit keypress;

就是定义两个长度为1位的变量。

1、可以作为参数传递:比如

uchar test(bit flag)

{

if(flag)

{//传递来的是1则返回3,否则返回2

return 3;

}

else

{

return 2;

}

}

main()

{

uchar x;

bit flag = 1;

x = test(falg);

}

2、可以作为函数的返回值

bit test1(uchar a,uchar b)

{

if(a>b)

{//如果a>b则返回真,否则返回假

return 1;

}

else

{

return 0;

}

}

main()

{

bit flag;

flag = test1(2,3);

}

C51中没有位变量指针一说,比如 bit flag1;的定义就是非法的。除此之外使用中和其它类型没什么区别。

应用最多的情况:执行一个函数,只是想知道 *** 作是否成功,这时就可以用bit变量作为返回值,这样占用资源少,判断起来也快。

当然,如果返回值是char型,判断速度上和bit型差不多,但如果是int型,由于是双字节,就要多花些时间了。

追问:

你做过595的程序吗 那里用一位数据线输出8位数据 就用到bit

bit a;

bit testbit(unsigned char a,char n)

{

if(((0x01<<n)&a)==0)

{

return 0;

}else

return 1;

}

51单片机里面新增了一下数据类型

bit 位标量是 c51 编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义 位指针,也不能定义位数组。它的值是一个二进制位,不是 0 就是 1,类似一些高级语 言中的 Boolean 类型中的 True 和 False。

sfr 也是一种扩充数据类型,点用一个内存单元,值域为 0~255。利用它能访问 51 单片机内部的所有特殊功能寄存器。如用 sfr P1 = 0x90 这一句定 P1 为 P1 端口在片内 的寄存器,在后面的语句中用以用 P1 = 255(对 P1 端口的所有引脚置高电平)之类的 语句来 *** 作特殊功能寄存器。

sfr16 占用两个内存单元,值域为 0~65535。sfr16 和 sfr 一样用于 *** 作特殊功能寄存 器,所不一样的是它用于 *** 作占两个字节的寄存器,如定时器 T0 和 T1

sbit 同样是 单片机c语言 中的一种扩充数据类型,利用它能访问芯片内部的 RAM 中的可寻址

位或特殊功能寄存器中的可寻址位

以上就是关于单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗全部的内容,包括:单片机c语言程序设计中,用关键字bit定义单片机的端口.对吗、计算机里的B,Bit,Byte分别指的是什么、bit用法——单片机C语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9865471.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存