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

スイッチ入力(24FJ64)

24FJ64GA002でスイッチ入力(スイッチのオン(ON)、オフ(OFF)信号をPICに取り込む)
の稼働を確認しました。 08/03/19

1.内部発振器を8MHzで使用
2.I/O入力ピンの内部プルアップ機能を利用する。
  24F系は、入力ピン毎に内部プルアップ機能を利用する、しないの設定が出来る
  仕様になっています。

基本回路はこちらの「24Fシリーズの最も簡単な製作例」を参考にした。
http://picfun.com/PIC24F/PIC24F08.html

P1010616.JPG
/**
* 24F64の稼働テスト スイッチ入力
* (スイッチを押している間だけON、はなすとOFF)
*
* スイッチ:RB7 LED:RB15
*
*Clock: 8.0MHz 内蔵発振器使用
*電源: 乾電池2本(3V)
*Device Flags:
*_IESO_OFF _FNOSC_FRC _FCKSM_CSDCMD _OSCIOFNC_OFF _POSCMOD_NONE
*_JTAGEN_OFF _GCP_OFF _GWRP_OFF _BKBUG_OFF _COE_OFF _ICS_PGx1 _FWDTEN_OFF
*
*_IESO_OFF 2速度スタートアップ無効
*_FNOSC_FRC クロックは内蔵オシレータを利用(8MHz)
*_FCKSM_CSDCMD 動作中のクロック切り替え&監視OFF
*_OSCIOFNC_OFF RA3はI/Oとして利用 _POSCMOD_NONE 主発信機無効
*_JTAGEN_OFF  JTAG無効    _GCP_OFF  コードプロテクト無効
*_GWRP_OFF  プログラムメモリ書込み禁止 _BKBUG_OFF デバッグモードにリセット
*_COE_OFF  Clip-onエミュレーション無効
*_ICS_PGx1  ICSP書き込みにPGC1/PGD1を使う FWDTEN_OFF  ウォチドック無効
*
* MikroC dsPIC v4.0.0.0
* コンパイルサイズ: 706byte (6,000Byte以下なら無料利用)
*/
void main()
{
    PORTB = 0b0000000000000000; //PortBの中身ををきれいにする
    ADPCFG = 0b1111111111111111; //全ピンをデジタルで使用
    CNPU2 = 0b0000000010000000; //CN23(RB7)ピンをプルアップ
    TRISB = 0b0000000010000000; //PORTBのRB7を1:入力に、他は全て0:出力に設定
    
    while (1)
    {
        if (Button(&PORTB, 7, 1, 0)) //スイッチONの場合
        {
            LATBbits.LATB15 = 1; //LED(RB15)をON
        }
        else        //スイッチOFFの場合
        {
            LATBbits.LATB15 = 0; //LED(RB15)をOFF
        }
    }
}

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

選択肢 投票
はい 11  
普通 13  
いいえ 21  

添付ファイル: fileP1010616.JPG 1866件 [詳細]