閲覧総計:23932 (本日:1 昨日:0)
12F683(8ピンPIC)でスイッチ入力(スイッチのオン(ON)、オフ(OFF)信号をPICに取り込む)
を実現する場合、多くの項目の初期設定を行う必要がある。
その実例を紹介します。 07/02/12
1.内部発振器を8MHzで使用
2.各ピンをデジタル入出力で使用
ANSEL = 0b00000000; //GP0-5をデジタル利用に設定
CMCON0 = 0b00000111; //コンパレータを使わない
3.信号入力ピンを内部プルアップする
OPTION_REG.NOT_GPPU = 0; //内部プルアップ利用に設定
WPU = 0b00000100; //GP2を内部プルアップ
/** * スイッチ入力 * (スイッチを押している間だけON、はなすとOFF) * * LED: GP4 スイッチ: GP2 *Clock: 8.0MHz 内蔵発振器使用 *Device Flags: * _CP_OFF _MCLRE_OFF _PWRTE_ON _WDT_OFF _INTRC_OSC_NOCLKOUT * * MikroC v2.1 */ void main() { TRISIO = 0b00000100; //GP2を1:入力に、他を0:出力設定 //内蔵発振器 8MHz使用に設定 OSCCON.IRCF2=1; OSCCON.IRCF1=1; OSCCON.IRCF0=1; ANSEL = 0b00000000; //GP0〜5をデジタル利用に設定 OPTION_REG.NOT_GPPU = 0; //内部プルアップ利用に設定 WPU = 0b00000100; //GP2を内部プルアップ GPIO = 0b00000000; //GPIOの中身をきれいにする CMCON0 = 0b00000111; //コンパレータを使わない do { if(Button(&GPIO, 2, 1, 0)) { //スイッチONの場合 GPIO.F4 = 1; //LED ON } else { //スイッチOFFの場合 GPIO.F4 = 0; //LED OFF } }while(1); }
★この情報は役に立ちましたか?