1首先区分bit和sbitbit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0
//实例7:通过对P0口地址的操作流水点亮8位LED#include //包含单片机寄存器的头文件 //sfr x=0x80; //P0口在存储器中的地址是80H, 通过sfr可定义8051内核单片机 //的所有内部8位特殊功能寄存器,对地址x的操作也就
51单片机中_有_4EH这个位地址。51单片机片内RAM的20H~2FH,这十六字节,可以按照“位”来寻址。这里面共有128个“位地址”,分别为00H~7FH。位地址4EH,是在“字节地址为29H的字节单元”中的第6位。后记
(1)位寻址区在80C51中,有一部份RAM和一部份SFR是具有位寻址功能的,也就是说这些RAM的每一个位都有自已的地址,能直接用这个地址来对此进行操作。
sbit与sfr用法类似,只是sbit是位操作,用于将某个sfr中具体位赋值给一个变量,这样后面程序就可用通过该变量为该位清0或置1。