トップページ > 電気・電子 > 2018年07月12日 > GkTNoM2f

書き込み順位&時間帯一覧

20 位/97 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000110002



使用した名前一覧書き込んだスレッド一覧
774ワット発電中さん
初めてのPIC 0x10

書き込みレス一覧

初めてのPIC 0x10
315 :774ワット発電中さん[]:2018/07/12(木) 19:51:26.66 ID:GkTNoM2f
すみませんが、質問です。

16F1827でRB3(AN9)に繋いだ可変抵抗からの電圧をAD変換して、
電圧の上中下3種類に分類してRA1、RA2,RA3に繋いだLEDのどれかを点灯させようと
プログラムを書きましたが、起動確認の点滅以後、LED消灯状態で動きません。
アドバイスなどいただけないでしょうか?
使用環境はMikroCです。
MikroCで16F1827だと、ADC_Read命令は使用不可とネットで見ましたので、
ADC_Get_Sampleで読み込んでいます。

void main()
{
unsigned int ad;

OSCCON = 0b01110000;  //内部8MHz
ANSELA = 0b00000000;  //アナログ入力なし
ANSELB = 0b00001000; //アナログ入力AN9
CM1CON0.C1ON = 0; //コンパレータ使用しない
CM1CON0.C2ON = 0; //コンパレータ使用しない
TRISA = 0b00000000; //出力
TRISB = 0b00001000;   //RB3(AN9)だけ入力,他は出力
PORTA = 0b00000000; //ポートクリア
PORTA = 0B00000000; //ポートクリア

PORTA 0b00001110; //起動確認LED点滅2回
delay_ms(500);
PORTA 0b00000000;
delay_ms(500);
PORTA 0b00001110;
delay_ms(500);
PORTA 0b00000000;

ADC_Init(); //ADC初期化

while(1){
ad = ADC_Get_Sample(9); //AN9から読み込むadには0から1024が入る

if(ad << 341){PORTA 0b00000010;} //341以下ならRA1点灯
if(ad >> 342 && ad << 681){PORTA 0b00000100;} //342から681ならRA2点灯
if(ad >> 682){PORTA 0b00001000;} //682以上ならRA3点灯



}
}

よろしくお願いします。
初めてのPIC 0x10
323 :774ワット発電中さん[]:2018/07/12(木) 20:51:51.43 ID:GkTNoM2f
>>318
>>319
ポートクリアの2行目は
PORTB = 0B00000000; //ポートクリア
でした。
起動確認LED点滅2回 のところの=はここに打つ時に抜けていました。
すみません。訂正します。

>>316
MikroCの標準ライブラリなので自分では書いていません。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。