|
你這個(gè)是那本書 “手把手教你學(xué)51單片機(jī)” KST-51學(xué)習(xí)板 的點(diǎn)亮 LED程序
程序是根據(jù)硬件來篇寫的。
網(wǎng)站里面有很多關(guān)于那本書的資料
sfr P0 = 0x80;
sfr 這個(gè)關(guān)鍵字,是 51 單片機(jī)特有的,他的作用是定義一個(gè)單片機(jī)特殊功能寄存器(special
function register)。 51 單片機(jī)內(nèi)部有很多個(gè)小模塊,每個(gè)模塊居住在擁有唯一房間號的房間內(nèi),
同時(shí)每個(gè)模塊都有 8 個(gè)控制開關(guān)。 P0 就是一個(gè)功能模塊,就住在了 0x80 這個(gè)房間里,我們
就是通過設(shè)置 P0 內(nèi)部這個(gè)模塊的 8 個(gè)開關(guān),來讓單片機(jī)的 P0 這 8 個(gè) IO 口輸出高電平或者
低電平的。而 51 單片機(jī)內(nèi)部有很多寄存器,如果我們想使用的話必須提前進(jìn)行 sfr 聲明。不
過 Keil 軟件已經(jīng)把所有這些聲明都預(yù)先寫好并保存到一個(gè)專門的文件中去了,我們要用的話
只要文件開頭添加一行#include<reg52.h>即可。
sbit LED = P0^0;
這個(gè) sbit,就是對剛才所說的 SFR 里邊的 8 個(gè)開關(guān)其中的一個(gè)進(jìn)行定義。經(jīng)過上邊第二
條語句后,以后只要在程序里寫 LED,就代表了 P0.0 口(“^”這個(gè)符號在數(shù)字鍵 6 上邊),
注意這個(gè) P 必須大寫,也就是說我們給 P0.0 又取了一個(gè)更形象的名字叫做 LED。
sbit ADDR0 = P1^0; //,其中輸入是 A2 、 A1 、 A0 的順序,輸出是從Y0、 Y1 Y7 的順序。
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3; //就是控制使這個(gè) 74HC138 使能的。
sbit ENLED = P1^4; //就是控制使這個(gè) 74HC138 使能的。
|
|