4章:LED点灯

    作成2014.02.27

  1. STEP06_LightsPtn1
    (1)STEP06_LightsPtn1ソースプログラム
    STEP06_LightsPtn1ソースプログラムを以下に示します。
    /*****************************
     STEP06_LightsPtn1.c
    *****************************/
    #define _LEGACY_HEADERS
    // インクルードファイルの読み込み
    #include <pic.h>
    // コンフィギュレーションワードの設定
    __CONFIG ( UNPROTECT & LVPDIS & BOREN & MCLREN & PWRTEN & WDTDIS & INTIO );
    
    // メイン関数
    void main (void)
    {
    	// 1,2,17,18端子を入出力端子に設定
    	CMCON = 0x07;
    	
    	// 電圧レベルの初期設定
    	PORTA = 0xFF;
    	PORTB = 0xFF;
    	
    	// 入出力設定
    	TRISA = 0x20;
    	TRISB = 0x00;
    	
    	// 永久ループ
    	while(1)
    	{
    		// LED8〜5点灯
    		PORTB = 0b00001111;
    	}
    }
    
    *非常にシンプルで簡潔に纏まったソースプログラムです。
    (2)実行結果
     実行結果を下図に示します。

     上図からbitの値が0のときLEDが点灯することが確認できます。


  2. STEP06_LightsPtn2
    (1)STEP06_LightsPtn1ソースプログラム
    STEP06_LightsPtn2ソースプログラムを以下に示します。
    /*****************************
     STEP06_LightsPtn1.c
    *****************************/
    #define _LEGACY_HEADERS
    // インクルードファイルの読み込み
    #include <pic.h>
    // コンフィギュレーションワードの設定
    __CONFIG ( UNPROTECT & LVPDIS & BOREN & MCLREN & PWRTEN & WDTDIS & INTIO );
    
    // メイン関数
    void main (void)
    {
    	// 1,2,17,18端子を入出力端子に設定
    	CMCON = 0x07;
    	
    	// 電圧レベルの初期設定
    	PORTA = 0xFF;
    	PORTB = 0xFF;
    	
    	// 入出力設定
    	TRISA = 0x20;
    	TRISB = 0x00;
    	
    	// 永久ループ
    	while(1)
    	{
    		// LED8,6,4,2点灯
    		PORTB = 0b01010101;
    	}
    }
    
    *非常にシンプルで簡潔に纏まったソースプログラムです。
    (2)実行結果
     実行結果を下図に示します。

     上図からLEDが交互に点灯することが確認できます。











5章:LED点滅に行く。

トップページに戻る。