|
|
| HOME |
| 回路チェック | SWICH|シリアル出力 | シリアル入力 | RESPONSE | WEB | |
|
|
|
|
/*********************************************************/
/* SWICH */
/*********************************************************/ |
|
|
|
swich.c |
今度はスイッチのチェックです。
スイッチを押したり放したりするたびにLEDが交互に点滅を繰り返します。
/********************************************************/
/* スイッチ(RA0)により 交互に点灯消灯します */
/* swich.c
*/
/* pic16F84A */
/********************************************************/
#include<pic.h>
__CONFIG(UNPROTECT & PWRTEN & WDTEN & XT );
main()
{
unsigned int i; //変数の宣言
TRISA=0x01; //入出力設定 A0ポートを入力他は出力に
TRISB=0x00; //入出力設定 Bポートすべて出力に
for(i=2000;i>0;i--); //動作安定のためのウェイト
while(1){
if(RA0){ //スイッチが押されたか
RB0 = 1; //RB0点灯
RB2 = 1; //RB2点灯
RB4 = 1; //RB4点灯
RB6 = 1; //RB7点灯
RB1 = 0; //RB1消灯
RB3 = 0; //RB3消灯
RB5 = 0; //RB5消灯
RB7 = 0; //RB7消灯
}
else{
RB1 = 1; //RB1点灯
RB3 = 1; //RB3点灯
RB5 = 1; //RB5点灯
RB7 = 1; //RB7点灯
RB0 = 0; //RB0消灯
RB2 = 0; //RB2消灯
RB4 = 0; //RB4消灯
RB6 = 0; //RB7消灯
}
}
}
|
注)CONFIG の先頭はアンダーバー2つです。
注)for(i=2000;i>0;i--);のi の最後の後ろはマイナスが2つです。
if 以下は下のようにも簡単に書けます。
if(RAO){
PORTB=b10101010;
}
else{
PORTB=b01010101;
}
|
|
|
|
|
|
|
|
|
⇒Next |
|
|