閲覧総計:19262  (本日:2  昨日:1)

16F628A PORTAスイッチ入力

16F628AのPORTAをスイッチ入力(スイッチのオン(ON)、オフ(OFF)信号をPICに取り込む)
に利用する際、2点の注意事項がありますので紹介します。  07/02/12

1.プルアップ抵抗が必要
16F628AのPORTAには「内部プルアップ」する機能がないので、プルアップ抵抗を付ける
必要があります。(PORTBには内部プルアップ機能がある。)
(10KΩを推奨(0.1mA以上の電流を確保したい為50KΩ以下))

2.PORTAをデジタル利用にする設定が必要
16F628AのPORTAはデフォルトでは「アナログコンパレータ」として利用する設定になっている。
スイッチ入力利用時には、この設定を「アナログコンパレータは使用しない」すなわち
「PORTAをデジタル入出力に使用」の設定に変更する必要がある。  07/02/12
(書式)
CMCON = 0b00000111; //コンパレータを使用しない

P1010294.JPG
/**
* スイッチ入力
* (スイッチを押している間だけON、はなすとOFF)
* (PORTAをスイッチ入力に利用する場合)
*
* PIC16F628A   内蔵4MHz
* LED: RB3 スイッチ: RA1
* 電源:乾電池3本(4.5V)
*
* Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON _WDT_OFF
*        _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
* MikroC 2.1
*/
void main() {
    PORTA = 0b00000000; //PORTAの中身をきれいにする
    PORTB = 0b00000000; //PORTBの中身をきれいにする
    TRISA = 0b00000010; //RA1を1:入力、他は0:出力に設定
    TRISB = 0b00000000; //PORTB 全てを0:出力に設定

    CMCON = 0b00000111; //コンパレータを使用しない

    do {
        if(Button(&PORTA, 1, 1, 0)) { //スイッチONの場合
            PORTB.F3 = 1; //LED ON
        } else {              //スイッチOFFの場合
            PORTB.F3 = 0; //LED OFF
        }
    }while(1);
}

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

選択肢 投票
はい 25  
普通 8  
いいえ 6  

添付ファイル: fileP1010294.JPG 3094件 [詳細]