
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo..... Hier ist ein Beispiel wie ein 16Bit Zähler als 0-65535 am LCD dargestellt wird. In deinem Fall musst du FREQ in HI und LO Byte zerlegen (wie hier beim Zähler) und gleichzeitig beachten, dass der Ereigniszähler vor dem Überlauf stopt. define LIGHT as port[16] define VALUE16 as word define DATA0 as byte define DATA1 as byte define VALUE as byte define GP as byte LCD.INIT LIGHT=off DATA0=E5h DATA1=7Fh #x '----- UNSIGNED COUNTER 0 TO 65535----- DATA0=DATA0+1 IF DATA0=0 THEN DATA1=DATA1+1 '------- SHOW UNSIGNED COUNTER --------- value= DATA1 shr 4 looktab zehntausender_tab,value,gp looktab hunderter_tab,value,value16 value16=value16+(DATA1 and 0Fh)*256+DATA0 value=gp+(value16/1000) value16=value16 mod 1000 LCD.POS 1,1 LCD.PRINT value if value16<100 then LCD.PRINT "0" if value16<10 then LCD.PRINT "0" LCD.PRINT value16 goto x '------------ CONVERTIERUNGS TABELLE --------- table zehntausender_tab 0 4 8 12 16 20 24 28 32 36 40 45 49 53 57 61 65 END TABLE table hunderter_tab 0 96 192 288 384 480 576 672 768 864 960 56 152 248 344 440 536 END TABLE |
| Antwort schreiben |