我々は最初の回路図LEDライトを見て
図LEDは、私たちのLEDが点灯し、その後、左ダイオードVCC、ある我々はちょうど右に置く低P2xのは、対応する2)の#include点灯することができます行く「reg52.hを」 // このファイルに定義されていますいくつかの特殊機能レジスタをSCM
SBIT LED = P2 ^ 0 ; // 導か定義されるように、マイクロコントローラのP0.0ポート。SBITは、可変ビット特殊機能レジスタを定義し、我々は最初のLEDに対応し、ここで、P20を操作することができます。 / * **************************** ****************************** *関数名:メイン *機能:主な機能 *入力:なし *出力:なし * ************************************************** *************************** * / ボイドメイン() { LED = 0 ; // P2.0ポートはローレベルに設定され、次いで、LEDライトが点灯し 、一方(1); // whileループ、マイクロコントローラ、我々は、通常のプログラムを書いていない、我々は、whileループが起こる必要があり、書き込みコードにあるマイクロコントローラ無限ループを維持する必要が }
.HEXファイルをコンパイルし、その後、あなたは燃え尽きることができます。
2番目のライトをしたい場合は、次に我々は唯一SBIT LED2 = P2 ^ 1が必要です。そして、このLED2はそれで動作します。
私は、すべてのライトがオンになっている場合は、私は、8つのポートを定義するSBITを大量に使用する必要がありますか?
実際に必要とされていない、我々はの#define LED P2 P2ポートを動作させるためにこれを使用することができます。
#include 「reg52.h 」 // このファイルには、マイクロコントローラの特殊機能レジスタ定義 の#define LED P2を; // マイクロコントローラポートP2は、LEDのように定義される 空隙(メイン) { LED = 0X 0 ; // 0x0の16進数は、バイナリは、P2 ^ 0が割り当て表す00万台に変更しなければならない割り当てP2 ^ 1 0 ......
一方、(1 )。
}
私はちょうど少数の光が必要な場合は全体的に明るいので、8つのLEDライトは、次にLEDの割り当ては、例えば、進数にその1011 0010,0対応するLEDが点灯し、1つの手段ない光は、言いますコード(0xB2)など。
LED =コード(0xB2); LEDの上位4ビットに割り当てB、即ちP2 ^ 7〜P2 ^ 4,2 1/4に割り当てられ、最初の結果は1,3,4,7 LEDライト。
(の#define文の後の未セミコロン)