ATmega164PでLCD表示


 ← AVRIsp mkU







 ← 5V電源

               ↑16桁×2行 LCD


◆LCD表示器を搭載したATmega(アトメガ)開発環境。
 開発環境とはいってもATMRGA164Pに16桁×2行のLCD表示器と、
 フラッシュROM書き込み用のAVRIsp mkUに
 不要になった携帯電話の充電器の5V電源を接続しただけの簡単なシステム。
 LEDだけでは限界があり、その先に進むことが困難な場合が多いが
 特にC言語開発を進める場合はLCD表示器があると便利!

  製作のポイント

◆LCDは16桁2行表示のキャラクタ・ディスプレイならほとんどの機種が使えますが、機種によってバックライトのピンが付いたものや、1pinが5Vで2pinがGNDになっているものもあるので要注意です。


◆ 5V電源は不要になった携帯電源(5±0.25V)にミノムシクリップを接続して使う
 ことができる。ただし+-の極性には要注意。
◆ ユニバーサル基板に40pのDIPコネクタとAVRisp mkUコネクタ接続用の
 6pピンヘッダ(オス)、電源平滑の電解コンデンサをハンダ付け。

 プログラム解説

◆LCD表示
dsp1c(dig, data)     //LCDの指定する桁に1文字表示
   dig: 1行目=L1(0) 、2行目=L2 (0x40 )
 例  dsp1c(L2+2,'D');  // 2行目の2桁目に'D' を表示
    dsp1c(L1,'A');    // 1行目の1桁目に'A' を表示
    dsp1c(L1+8, (0x30 | x));   // 変数xの数値を1行目の8桁目に表示

dspmsg(dig, *data)  //LCD 1行表示
 例  dspmsg(L1,"Hello world")

◆その他
 ●8bit2進値を"00"〜"FF"のように変換して表示する bin_hex 関数
 ●16bit2進値を"0000"〜"FFFF"のように変換して表示する bin_hex2 関数
 ●16ビット値を指定するバッファに10進5桁文字に変換する int_deci 関数
 ●32ビット値を指定するバッファに10進7桁文字に変換する uint32_deci 関数
 ●不揮発メモリ(EEPROM)書き込み、読み出しの EEPROM_write と
   EEPROM_read 関数 (ATMEGA164PのEEPROMのアドレスは0〜511)






                              

回路図
プログラム
Top page
inserted by FC2 system