レッスンTOPへ

//*****************************************************************************
// タイトル: LesssonC_06
// 作者 : ioio
// 移植 : sec
// 目的 : ソフト遅延関数の引数で遅延時間を設定します。
// マイコン: AT90S2313
// クロック: 10MHz
// Compiler: gcc winAVR
// :
//*****************************************************************************
// 変更履歴
// 2007.05.27(日) 作成
//
//*****************************************************************************
#include "io.h" // デバイス関連の定義を展開

#define DLY_TIME 524 // 500msecソフト遅延カウント

void delay_msec(unsigned int); // 関数を宣言

void main(void)
{
DDRB = 0xFE; // PortB b0=Out. b1,b2,b3,b4,b5,b6,b7=In

// 繰り返し実行
while(1){ // 繰り返し
// LED ON
PORTB = PORTB | _BV(PB0); /* PB0ピンをHighにし、残りは変化させない */


// ソフト遅延
delay_msec(DLY_TIME);

// LED OFF
PORTB = PORTB & ~_BV(PB0); /* _BV(PB0)のビット反転とandする。PB1ピンをLowにし、残りは変化させない */


// ソフト遅延
delay_msec(DLY_TIME);
}
}


//-----------------------------------------------------------------------------
// 機能 : 引数で遅延時間を設定
// 引数 : unsigned int。 遅延時間をmsec単位で設定。
// 戻値 : なし
// 作成 : 2007.05.02(水)
//-----------------------------------------------------------------------------
#define T1MS 500 // 1msecソフト遅延カウント
void delay_msec(unsigned int cnt1)
{
unsigned int cnt2;

while(cnt1--){
cnt2 = T1MS;
while(cnt2--); // 1msecの遅延
}
}

//*****************************************************************************
//*****************************************************************************

データダウンロード・・・圧縮ファイル








































inserted by FC2 system