1首先區(qū)分bit和sbitbit和int char之類的差不多,只不過(guò)char=8位, bit=1位而已。都是變量,編譯器在編譯過(guò)程中分配地址。除非你指定,否則這個(gè)地址是隨機(jī)的。這個(gè)地址是整個(gè)可尋址空間,RAM+FLASH+擴(kuò)展空間。bit只有0
//實(shí)例7:通過(guò)對(duì)P0口地址的操作流水點(diǎn)亮8位LED#include //包含單片機(jī)寄存器的頭文件 //sfr x=0x80; //P0口在存儲(chǔ)器中的地址是80H, 通過(guò)sfr可定義8051內(nèi)核單片機(jī) //的所有內(nèi)部8位特殊功能寄存器,對(duì)地址x的操作也就
51單片機(jī)中_有_4EH這個(gè)位地址。51單片機(jī)片內(nèi)RAM的20H~2FH,這十六字節(jié),可以按照“位”來(lái)尋址。這里面共有128個(gè)“位地址”,分別為00H~7FH。位地址4EH,是在“字節(jié)地址為29H的字節(jié)單元”中的第6位。后記
(1)位尋址區(qū)在80C51中,有一部份RAM和一部份SFR是具有位尋址功能的,也就是說(shuō)這些RAM的每一個(gè)位都有自已的地址,能直接用這個(gè)地址來(lái)對(duì)此進(jìn)行操作。
sbit與sfr用法類似,只是sbit是位操作,用于將某個(gè)sfr中具體位賦值給一個(gè)變量,這樣后面程序就可用通過(guò)該變量為該位清0或置1。