STEP09_ShiftRemodel
(1)STEP09_ShiftRemodelソースプログラム
STEP09_ShiftRemodelソースプログラムを以下に示します。
/*****************************
STEP09_ShiftRemodel.c
*****************************/
#define _LEGACY_HEADERS
// インクルードファイルの読み込み
#include <pic.h>
// コンフィギュレーションワードの設定
__CONFIG ( UNPROTECT & LVPDIS & BOREN & MCLREN & PWRTEN & WDTDIS & INTIO );
// プロトタイプ宣言
void WaitTime (int cnt);
// メイン関数
void main (void)
{
// 1,2,17,18端子を入出力端子に設定
CMCON = 0x07;
// 電圧レベルの初期設定
PORTA = 0xFF;
PORTB = 0xFF;
// 入出力設定
TRISA = 0x20;
TRISB = 0x00;
// LED1のみ点灯
PORTB = 0b11111110;
// 永久ループ
while(1)
{
// 待ち時間関数の呼び出し
WaitTime(10000);
// LEDの点灯箇所を左に1つずらす
PORTB = PORTB << 1;
// PORTBレジスタが "0b11111110" ではない場合
if (PORTB != 0b11111110)
{
// PORTBレジスタに1プラスする(LED1消灯)
PORTB = PORTB + 1;
}
}
}
// 待ち時間関数
void WaitTime (int cnt)
{
while(cnt > 0)
cnt--;
}