第一個(gè)程序點(diǎn)亮一個(gè)LED燈
#include
sbit P1_0 = P1^0; // 定義P1管腳0
void main()// 主程序 C語言所必需要有的
{
P1_0 = 0; // 點(diǎn)亮P1第0管腳連接的LED
}
===============以下非程序代碼===================
上面的程序,首先引用reg52.h,這里有對(duì)操作單片機(jī)相關(guān)數(shù)據(jù)的封裝,方便用戶使用
接著,用P1_0這個(gè)sbit類型的變量,引用P1口的第1個(gè)引腳(P1^0)
接著,主程序開始
將P1口的第1個(gè)引腳置為低電平(亮)
結(jié)束程序
在reg52.h上右鍵菜單(Keil中)open document
sfr 是用于定義特殊寄存器(Special Function Register)的關(guān)鍵字,是單片計(jì)算機(jī)中的一組特殊的臨時(shí)存儲(chǔ)區(qū)域,用于動(dòng)態(tài)存放計(jì)算機(jī)運(yùn)行過程的一些狀態(tài)信息、并依此做相應(yīng)的控制。51系列單片機(jī)中,通常每個(gè)寄存器也就一個(gè)字節(jié),這個(gè)字節(jié)是P1(通用寄存器1)P1有8個(gè)位,但0x91~0x97與P1毫無關(guān)系,同理其他3個(gè)寄存器P0, P2, P3也是這個(gè)道理。MCS-51單片機(jī)就設(shè)有18個(gè)專用寄存器,P0-P3端口,定時(shí)/計(jì)數(shù)器T0、T1,TMOD、TCON、PCON、SCON 、PSW、IE、A、B、IP等等。SFR越多,編和控制功能越強(qiáng)、越靈活,但需要硬資源,所以系統(tǒng)設(shè)計(jì)時(shí)會(huì)根據(jù)需要來確定。
sbit(Set Bit)與sfr用法類似,只是sbit是位操作,用于將某個(gè)sfr中具體位賦值給一個(gè)變量,這樣后面程序就可用通過該變量為該位清0或置1。
要點(diǎn):
1.sfr和sbit的含意,特殊功能寄存器的含意
2.如何用位控制引腳