閲覧総計:12535  (本日:1  昨日:0)

【目次】(項目をクリックすると飛べます)


スイッチ入力(18F2320)

18F2320は、16F系と同様に「PORTB内部プルアップ機能」が装備されている。この機能
を利用し、18F2320におけるスイッチのオン(ON)、オフ(OFF)信号をPICに取り込む方法
(スイッチ入力)と稼動を確認した。 07/09/29

・「PORTB 内部プルアップ機能」を利用
   (INTCON2.NOT_RBPU = 0; //PORTBを内部プルアップ)
・MikroCで用意されている、スイッチのチャタリングを回避できる「Button()関数」を
用いる。

※C18のプログラムを追記 07/10/04

P1010550.JPG

MikroCのプログラム

/**
* 18F2320の稼働テスト スイッチ入力
* (スイッチを押している間だけON、はなすとOFF)
*
* スイッチ:RB6  LED:RC1
*
*Clock: 8.0MHz 内蔵発振器使用
*Device Flags:
* _INTIO2_OSC_1H _WDT_OFF_2H _MCLRE_OFF_3H _LVP_OFF_4L
* (その他はデフォルト設定でOK)
*
* MikroC v7.0.0.3
*/
void main()
{
    //PICの初期化
    PORTB = 0b00000000; //PortBの中身をきれいにする
    PORTC = 0b00000000; //PortCの中身をきれいにする
    OSCCON = 0b01110000; //内蔵発信機 8MHz使用に設定
    INTCON2.NOT_RBPU = 0; //PORTBを内部プルアップ
    TRISB = 0b01000000; //PortBのRB6を1:入力に他は0:出力に設定
    TRISC = 0b00000000; //PortC 8個全て0:出力設定
    
    while (1)
    {
        if(Button(&PORTB, 6, 1, 0)) //スイッチONの場合
        {
            PORTC.F1 = 1; //LED ON
        }
        else        //スイッチOFFの場合
        {
            PORTC.F1 = 0; //LED OFF
        }
    }
}

★この情報は役に立ちましたか?

選択肢 投票
はい 8  
いいえ 8  

C18のプログラム

/**
* 18F2320の稼働テスト スイッチ入力
* (スイッチを押している間だけON、はなすとOFF)
*
* スイッチ:RB6  LED:RC1
* Clock: 8.0MHz 内蔵発振器使用
*
* C18 StudentEdition v3.12
*/
#include <p18f2320.h>
#include <delays.h>

//config設定
#pragma config OSC = INTIO2 //内部発振器を利用
#pragma config WDT = OFF //ウォッチドッグタイマOFF
#pragma config MCLRE = OFF //MCLRを内部プルアップ
#pragma config LVP = OFF //低電圧ICSP制御OFF
//その他のconfigはデフォルト設定のまま

void main(void)
{
    //初期化
    PORTB = 0b00000000; //PortBの中身をきれいにする
    PORTC = 0b00000000; //PortCの中身をきれいにする
    OSCCON = 0b01110000; //内蔵発振器を8MHz使用に設定
    INTCON2bits.NOT_RBPU = 0; //PortBを内部プルアップ
    TRISB = 0b01000000; //PortBのRB6を1:入力に他は0:出力に設定    
    TRISC = 0b00000000; //PortC 8個全て0:出力設定

    while(1)
    {
        if (PORTBbits.RB6 == 0) //スイッチON(Low)の場合
        {
            LATCbits.LATC1 = 1; //LED ON
        }
        else  //スイッチOFF(Hight)の場合
        {
            LATCbits.LATC1 = 0; //LED OFF
        }
    }
}

★この情報は役に立ちましたか?

選択肢 投票
はい 7  
いいえ 2  

添付ファイル: fileP1010550.JPG 1775件 [詳細]