Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2020/07/04 13:24:21

MixJuice GET URL : kidspod.club/mj/984

AQM0802A 液晶時計プログラム

秋月で売っている小さくて可愛くておしゃれな液晶
AQM0802Aで時計を仕上げてみました。

精度は、高くありません。

液晶の初期化が一番難しい
点かない場合は、何が間違っているかわからないから。
一旦初期化が終了すれば
@ABCで表示できる。@は、制御+アドレス。
次を表示する場合は、画面クリアかカーソル移動でカーソルを戻す。

開発は、確実に動くarduinoで配線と初期化コマンドをチエックして
初期化コマンドをそのまま移植した。
ichigojamだけでやろうとすると確実にはまる。
0x00,0x01 は、画面クリア
0x00,0x02 は、データシート上は、ホームポジション カーソルを左上
0x00,0x80 は、データシート上は、ホームポジション
0x00,0x80+0x40 は、データシート上、2行目の先頭

秋月の液晶 AQM0802 です。

  • 1
  • 2
  • 1
  • 2

SOURCE CODE

バンク0


10 'AQM0802A LCD DRIVE CAA45040
20 '0X00,0X38 FUNCTION SET
30 '0X00,0X39 FUNCTION SET
40 '0X00,0X04 ENTRY MODE SET
50 '0X00,0X14 INTERNAL OSC FRE
60 '0X00,0X73 CONTRAST SET
70 '0X00,0X5E POW/ICON/CONTRAST
80 '0X00,0X6C FOLLOWER CONTROL
100 '0X00,0X38 FUNCTION SET
110 '0X00,0X0C DISPLAY ON/OFF
120 '0X00,0X01 CLEAR DISPLAY
130 '0X80,0X00 SET CURSOR 0,0
140 '0X40,'O','N' "ON"
150 '0X80,0X40 SET CURSOR 0,1
160 '0X40,'L','C','D' "LCD"
200 'ON LCD
210 POKE #700,#0,#38,#0,#39,#0,#04,#0,#14,#0,#70,#0,#56,#0,#6C,#0,#38,#0,#C,#0,#1
220 FOR I = 0 TO 9
230 ?"#700+";:?I*2;:?".";:?HEX$(PEEK(#700+I*2));:?".";:?HEX$(PEEK(#701+I*2))
240 R=I2CW(#3E,#700+I*2,2)
250 NEXT
260 ?"INT":WAIT 120:?"ON LCD"
270 R=I2CW(#3E,"@ON LCD",7)
280 ?"LRUN 1":WAIT 120
290 LRUN 1

SAVE 0


バンク1


10 'AQM0802A TIME
20 H=0:M=0
30 INPUT "H 0-23>",H
40 INPUT "M 0-59>",M
50 ? H;:?".";:?M
60 '
70 '
80 '
90 ?"INT":'WAIT 60
100 'LOOP
110 ?H/10;
120 ?H%10;
130 ?".";
140 ?M/10;
150 ?M%10
160 POKE #700,0,1:R=I2CW(#3E,#700,2)
170 POKE #702,64,48+H/10,48+H%10,46,48+M/10,48+M%10
180 R=I2CW(#3E,#702,6)
190 WAIT 60*60-0 :'1M
200 'UP
210 M = M + 1
230 IF M < 60 GOTO 280
240 H = H + 1:M = 0
250 IF H < 24 GOTO 280
260 H = 0
270 '
280 'NEXT
290 'WAIT 5
300 GOTO 100

SAVE 1

COMMENT