閲覧総計:59639 (本日:1 昨日:3)
液晶ディスプレイ(LCD:Liquid Crystal Display)の活用の一つとして
A/D変換値を表示する事例を紹介します。
アナログセンサの値をデジタル変換した0〜1023の値をLCDに表示する
事で入力されたアナログセンサ値を数値で正確に把握する事が可能となり
ます。
本事例は「PIC16F88」を用い、半固定抵抗を回す事により、0〜1023のA/D変換値を
作り、その値をリアルタイムでLCDに表示しました。 06/11/20
16文字×1行LCD
DMC16117A (OPTREX社製) 秋月@300円 制御ICは「日立HD44780準拠品」 電源:5V
http://www.allelectronics.com/spec/LCD-114.pdf
【参照Help】
「mikroC Libraries」の「LCD8 (8-bit interface) Library」
/** * A/D変換値を液晶ディスプレイ(LCD)に表示 * * PIC16F88 クロック:内蔵8MHz * * アナログ入力:RA1 * LCD制御pin RA0:R/W RA2:RS RA3;E * LCD:DMC16117A (OPTREX社製) 秋月@300円 06/11/15 * http://www.allelectronics.com/spec/LCD-114.pdf * 電源:乾電池3本(4.5V) * * 開発環境:MikroC V6.2 * Device Flags: * _CP_OFF _CCP1_RB3 _DEBUG_OFF _WRT_ENABLE_OFF * _CPD_OFF _LVP_OFF _BODEN_OFF _MCLR_OFF _PWRTE_ON * _WDT_OFF _INTRC_IO _IESO_ON__CFG2 _FCMEN_ON__CFG2 */ void main() { //使用変数の定義 char *text1 = "A/D Levl"; //LCD上位表示文字 char *text2 = "********"; //LCD下位表示文字 unsigned int port; char *s_port; //マイコンの初期化 //内臓クロック8MHzに設定 OSCCON = 0b01110000; //A/D Clock Set = 2.0us //Up to 1.6us ADCON1.ADCS2=1; ADCON0.ADCS1=0; ADCON0.ADCS0=1; // A/D利用PORTの設定 // ANALOG=1, DIGITAL=0 // ANSEL = 0b00000010; //RA1のみアナログ使用 PORTA = 0b00000000; //PORTAの中身をきれいにする PORTB = 0b00000000; //PORTBの中身をきれいにする TRISA = 0b00000010; //RA1のみ1:入力に設定、他は0:出力 TRISB = 0b00000000; //PORTB 8ヶ全て0:出力に設定 //マイコンの初期化終わり Lcd8_Config(&PORTA, &PORTB, 2,3,0,7,6,5,4,3,2,1,0); //LCD初期設定 Delay_ms(1000); //1秒待機 Lcd8_Cmd(LCD_CURSOR_OFF); //カーソル非表示 do { //アナログデータの取得 //0~1023 port = ADC_Read(1); //RA1値をアナログデジタル変換 Delay_ms(500); //0.5秒待機 IntToStr(port, s_port); //数値を文字列に変換 Lcd8_Out(1, 1, text1); //LCD上位文字表示 Lcd8_Out(2, 1, s_port); //LCD下位文字表示 } while(1); }
関連ページ:LCD表示法(基礎)
★この情報は役に立ちましたか?