3.プログラム
【3-3 ◆SAVE2 EEPROM データ表示 】
◆SAVE2 EEPROM データ表示
LRUN2 記録データの表示 (1画面ごと停止 表示)
2000 @EREAD:’Read from EEPROM
2010 CLS:N=0:Q=0
2020 IF I2CR(82,#8E6,2,#8E4,2) ?”EEPROM I2C ERROR!”:GOTO@ERR
2030 IF !M ?”EEPROM NOT DATA”:BEEP100,50:GOTO @END2
2040 IF !L L=4:’INPUT”DATA length?”,L
2050 FOR I=1 TO M
2060 N=I*L*2
2070 N=N<<8|N>>8&#FF
2080 Z=I2CR(82,#8E6,2,#800,L*2)
2090 Q=Q+1
2100 ?”No”;DEC$(I,4);” ,”;
2110 FOR J=0 TO L-1
2120 ?[J];”,”;
2130 NEXT
2140 ?
2150 IF Q<23 GOTO @L4
2160 IF !INKEY() AND !BTN() CONT ELSE Q=0
2170 @L4:NEXT
2180 @END2:LC0,POS(2),1
2190 IF !INKEY() AND !BTN() CONT
2200 IF FILE()=2 LOAD0
2210 RTN
2900 @ERR:BEEP1,1000:CONT
【プログラム説明】
LRUN2 EEPROMからデータを読んで、ディスプレイへ表示します。
データが多いときは、1画面毎に表示が停止しますが、タクトSWかキーボドを押すと、
次のデータを表示します。
【応用例】
LRUN2 ディスプレイへデータを表示します。
LRUN2,2222 簡易グラフを表示します。
2000 @EREAD:F=1:’Read from EEPROM SAVE2
2010 CLS:N=0:Q=0:R=0:S=0:T=-30:U=99
2015 IFI2CR(80,#8E6,2,#8E4,2)?”EEPROM I2C ERROR!”:BEEP:END
2020 IF M<1 ?” NOT DATA”:GOTO @END
2030 IF !L INPUT”DATA length?”,L
2040 FOR I=1 TO M
2050 N=I*L*2:N=N<<8|N>>8&#FF:Z=I2CR(80,#8E6,2,#800,L*2)
2060 IF F Q=Q+1:X=30:?DEC$(I,4);” ,”; ELSE X=I*30/M
2070 FOR J=0 TO L-1
2080 IF F ?[J];”,”;:GOTO@L2
2090 R=R+1:S=S+[J]
2100 IF T<[J] T=[J] 2110 IF U>[J] U=[J]
2120 @L2:NEXT
2130 IF F GOTO @L3
2140 IF X=Q GOTO @L4 ELSE GSB @GDSP:GOTO@L4
2150 @L3:?
2160 IF Q<23 GOTO @L4
2170 IF !INKEY() AND !BTN() CONT ELSE Q=0
2180 @L4:NEXT
2190 @END:LC0,23,1
2200 IF !INKEY() AND !BTN() CONT
2210 IF FILE()=2 LOAD0
2220 RTN
2222 @GRAPH:’EEPROM Graph
2230 F=0:GOTO @EREAD+10
2240 @GDSP
2250 LC0,0:?”サイコウ”;T;” サイテイ”;U;” データ”;M;
2260 LCX,35-(S/R):?”*”;:Q=X:R=0:S=0
2270 LCX,20:IFI>999?I/1000;
2280 LCX,21:IFI>99?I%1000/100;
2290 LCX,22:IFI>9?I%100/10;
2300 LCX,23:?I%10;
2310 LC0,5:?”30″:LC0,10:?”25″:LC0,15:?”20″
2320 RTN