sha-cho-のプロフィール
- ベストアンサー数
- 1
- ベストアンサー率
- 100%
- お礼率
- 100%
- 登録日2009/10/01
- PIC16F88のアナログコンパレータ使用について
LIST P=PIC16F88 #INCLUDE<P16F88.INC> __CONFIG _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF VAR1 EQU 0x20 VAR2 EQU 0x21 ORG 0 start BCF STATUS,RP1 BSF STATUS,RP0 ;bank1へ移動 CLRF TRISB ;PORTBをすべて出力 MOVLW 0xff MOVWF TRISA ;PORTAをすべて入力 MOVLW x05 ;コンパレータ1つのみ使用 MOVWF CMCON BCF STATUS,RP0 ;bank0へ移動 CLRW MOVWF PORTB MOVLW 0xff MOVWF PORTA 18ピンのPIC16F88の内蔵アナログコンパレータ(RA1/AN1とVINRA2/AN2/CVREFが入力、C2OUTが出力の1つのみ利用する設定)を使用しPORTBからLEDへ出力し電圧の大小の判定を行いたく、上記のような設定でプログラムをつくりコンパイルは通ったのですが動作せず、 MPLABのデバッグにて確認したところ『MOVWF PORTA』の部分でPORTAのレジスタ値が0x00から変化しておりませんでした。 『BCF STATUS,RP0』まではレジスタ値は変化しており、 STATUSは0x1cでbank0、TRISAは0x3fで入力、ANSELはデフォルトで0x7fでアナログ入力 になっているのですが、何故PORTAが値を入れても変わらないのか原因が分かりません。 分かる方、ご教授頂けますと幸いです。 宜しくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- gapgeoneg
- 回答数1