体重と今日食べたもの

k1segawa.exblog.jp

ダイエット

ブログトップ

Japanino ArduinoISPで ATtiny13 で I2C液晶 ライブラリ(19) (9/21)

SPIやUARTなどまだやってない機能もあるが、一休みという事で、BASCOM-AVRの使用方法のサイト様のAQM0802AのI2C液晶のライブラリを使ってみる。これでデバッグでLCD出力を簡単に使える。
サイト様のLCDのページからライブラリをダウンロードする。真ん中より下の方に[Lcd_AQMxx02.LBX]というライブラリがあるので、マウス右クリックで名前を付けてリンク先を保存する。保存後、サイト様の通り、C:\Program Files (x86)\MCS Electronics\BASCOM-AVR\LIBへコピー。

ソース:
'****************************************
' Copyright (c) 2016 k1segawa
' License : free
' Program : LCD AQM0802A Lib
'****************************************

$regfile = "attiny13.dat"
$crystal = 9600000
$hwstack = 32
$swstack = 8
$framesize = 16

Config Scl = Portb.1
Config Sda = Portb.0
I2cinit
Const Vmode = 5
Config Lcd = 16 * 2
$lib "Lcd_AQMxx02.LBX"
Initlcd
Deflcdchar 0 , 32 , 2 , 20 , 14 , 5 , 8 , 32 , 32

Cls
Locate 1 , 1
Lcd "LCD Test"
Lowerline
Lcd "Hello" ; Chr(0)

Do
Loop

End
例とは違ってSCLがPORTB.1、SDAがPORTB.0になっている。またChipset = St7032 は認識しないので外す。DeflcdcharはCG RAMの定義で、[メニュー][Tools][LCD Designer]を開き、5x8のデザインを作成し、OKを押すとカーソル位置に定義文を追加してくれるので、先頭の[x]をChar番号0~5に置き換える。[x]→0。
以前の配線でLCDが表示された。508バイト。ライブラリの方が自分で直接書くよりも容量削減になる。
a0034780_22301490.jpg
Deflcdcharで検索すると色々出てきて楽しい。
Bascom and AVR, Using an LCD.
こちらのサイト様で、簡単なプログラムでキャラクタを動かしていて親しみやすい。

jman.bas:
$regfile = "2313def.dat"
$crystal = 4000000
$sim
Config Portd = Output
Dim Jman As Byte

Cursor Off

Deflcdchar 0 , 21 , 14 , 4 , 4 , 4 , 27 , 32 , 32
Deflcdchar 1 , 4 , 14 , 21 , 4 , 4 , 10 , 10 , 10
Cls

Do
For Jman = 0 To 1 Step 1
Portd = 255
Waitms 100
Portd = 0
Waitms 100
Locate 1 , 16
Lcd Chr(jman)
Next Star
Loop

End
a0034780_22531048.gif
[PR]
by k1segawa | 2016-09-21 22:33 | arduino, AVR | Comments(0)