- 追加された行はこの色です。
- 削除された行はこの色です。
閲覧総計:&counter(); (本日:&counter(today); 昨日:&counter(yesterday);)
*A/D値でLED点滅間隔変更 [#d667f35f]
「A/D変換」を利用した簡単なプログラムを作成し、18F2320の「A/D変換」機能の利用法、
稼働を確認しました。
A/D変換値(0〜1023)を用いて発光ダイオード(LED)の点滅間隔を0msec〜1023msec
にスムーズに変化させる。 07/10/06
|&attachref(,zoom,150x150,button){新しい写真添付};|&attachref(,zoom,150x150,button){新しい写真添付};|
|&attachref(P1010554.JPG,zoom,150x150,button){新しい写真添付};|&attachref(,zoom,150x150,button){新しい写真添付};|
/**
* 18F2320 アナログ入力テスト 0-5V入力−LED点滅時間
* A/D値で発光ダイオード(LED)の点滅間隔を変更する
*
* PIC18F2320
*
* A/D: RA1(AN1) (10KΩ半固定抵抗で分圧しアナログ値を生成)
* LED: RC1
*
*Clock: 8.0MHz 内蔵発振器使用
*Device Flags:
* _INTIO2_OSC_1H _WDT_OFF_2H _MCLRE_OFF_3H _LVP_OFF_4L
* (その他はデフォルト設定でOK)
*
* MikroC v7.0.0.3
*/
void main()
{
unsigned int temp; //使用変数の定義
//PICの初期化
PORTA = 0b00000000; //PORTAの中身をきれいにする
PORTC = 0b00000000; //PortCの中身をきれいにする
OSCCON = 0b01110000; //内蔵発信機 8MHz使用に設定
//A/D変換clock設定 0.125us*16倍=2.0us
ADCON2.ADCS2=1;
ADCON2.ADCS1=0;
ADCON2.ADCS0=1;
TRISA = 0b00000010; //RA1のみ1:入力に設定、他は0:出力
TRISC = 0b00000000; //PortC 8個全て0:出力設定
//マイコンの初期化終わり
do
{
//アナログデータの取得 10bit(0~1023)
temp = ADC_Read(1); //RA1(AN1)アナログ入力
//LED点滅間隔が0-1023msecで滑らかに変更出来る
PORTC.F1 = 1;
VDelay_ms(temp);
PORTC.F1 = 0;
VDelay_ms(temp);
} while(1);
}
★この情報は役に立ちましたか?
#vote(はい[2],いいえ[1])
#vote(はい[0],いいえ[0])
#comment