Hatte hier nicht schon jemand ein Projekt mit größeren Ziffern? Ich habe folgendes zusammen "gemukst":
Alles anzeigen
das geht doch bestimmt eleganter vor allem aber kleiner. Das soll später in einen Tiny der dann noch Platz für seine eigendliche Aufgabe haben soll. Hat jemand eine Idee?
Quellcode
- $regfile = "m8def.dat"
- $crystal = 8000000
- $hwstack = $40
- $swstack = $40
- $framesize = $100
- $eepleave
- $baud = 9600
- $sim
- Config Base = 0
- '------------------------------------------------------------------ LCD
- Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.4 , Db6 = Portd.7 , Db7 = Portb.1 , E = Portd.6 , Rs = Portd.5
- Config Lcd = 16 * 2 'Layout c
- Lcd_backlight Alias Portb.2 : Set Lcd_backlight
- Initlcd
- Cursor Off Noblink
- Dim Temp As Byte , Tempw As Word , Tempi As Integer
- Dim N As Byte , U As Byte , Ein As Byte , Neu As Byte , Ocal As Byte , L As Byte ' , Ok As Bit
- Dim A As Word , B As Word , C As Word 'Schleifenzähler
- Dim I As Byte , D As Byte , E As Byte
- Dim Aa As Byte At A Overlay
- Dim Ze(10 , 2 , 3) As Byte
- Do
- L = A * 2
- If Mcusr.a = 1 Then
- Readeeprom Tempw , L
- Incr Tempw
- Writeeeprom Tempw , L
- End If
- A = A + 1
- Loop Until A = 4
- Deflcdchar 0 , 3 , 3 , 3 , 3 , 3 , 3 , 3 , 3 'l
- Deflcdchar 1 , 31 , 31 , 32 , 32 , 32 , 32 , 32 , 32 '-
- Deflcdchar 2 , 31 , 31 , 24 , 24 , 24 , 24 , 31 , 31 '[
- Deflcdchar 3 , 31 , 31 , 3 , 3 , 3 , 3 , 31 , 31 ']
- Deflcdchar 4 , 32 , 32 , 32 , 32 , 32 , 32 , 31 , 31 '_
- Deflcdchar 5 , 3 , 3 , 3 , 3 , 3 , 3 , 31 , 31 '_I
- Deflcdchar 6 , 24 , 24 , 24 , 24 , 24 , 24 , 31 , 31 'L
- Deflcdchar 7 , 31 , 31 , 3 , 3 , 3 , 3 , 3 , 3 '-i
- Ze(0 , 0 , 0) = 0 : Ze(0 , 0 , 1) = 7 : Ze(0 , 0 , 2) = 32 '0oben
- Ze(0 , 1 , 0) = 6 : Ze(0 , 1 , 1) = 5 : Ze(0 , 1 , 2) = 32 '0Unten
- Ze(1 , 0 , 0) = 32 : Ze(1 , 0 , 1) = 0 : Ze(1 , 0 , 2) = 32 '1oben
- Ze(1 , 1 , 0) = 32 : Ze(1 , 1 , 1) = 0 : Ze(1 , 1 , 2) = 32 '1Unten
- Ze(2 , 0 , 0) = 1 : Ze(2 , 0 , 1) = 3 : Ze(2 , 0 , 2) = 32 '2oben
- Ze(2 , 1 , 0) = 2 : Ze(2 , 1 , 1) = 4 : Ze(2 , 1 , 2) = 32 '2Unten
- Ze(3 , 0 , 0) = 1 : Ze(3 , 0 , 1) = 3 : Ze(3 , 0 , 2) = 32 '3oben
- Ze(3 , 1 , 0) = 4 : Ze(3 , 1 , 1) = 5 : Ze(3 , 1 , 2) = 32 '3Unten
- Ze(4 , 0 , 0) = 6 : Ze(4 , 0 , 1) = 5 : Ze(4 , 0 , 2) = 32 '4oben
- Ze(4 , 1 , 0) = 32 : Ze(4 , 1 , 1) = 0 : Ze(4 , 1 , 2) = 32 '4Unten
- Ze(5 , 0 , 0) = 2 : Ze(5 , 0 , 1) = 1 : Ze(5 , 0 , 2) = 32 '5oben
- Ze(5 , 1 , 0) = 4 : Ze(5 , 1 , 1) = 3 : Ze(5 , 1 , 2) = 32 '5Unten
- Ze(6 , 0 , 0) = 2 : Ze(6 , 0 , 1) = 1 : Ze(6 , 0 , 2) = 32 '6oben
- Ze(6 , 1 , 0) = 6 : Ze(6 , 1 , 1) = 3 : Ze(6 , 1 , 2) = 32 '6Unten
- Ze(7 , 0 , 0) = 1 : Ze(7 , 0 , 1) = 7 : Ze(7 , 0 , 2) = 32 '7oben
- Ze(7 , 1 , 0) = 32 : Ze(7 , 1 , 1) = 0 : Ze(7 , 1 , 2) = 32 '7Unten
- Ze(8 , 0 , 0) = 2 : Ze(8 , 0 , 1) = 3 : Ze(8 , 0 , 2) = 32 '8oben
- Ze(8 , 1 , 0) = 6 : Ze(8 , 1 , 1) = 5 : Ze(8 , 1 , 2) = 32 '8Unten
- Ze(9 , 0 , 0) = 2 : Ze(9 , 0 , 1) = 3 : Ze(9 , 0 , 2) = 32 '9oben
- Ze(9 , 1 , 0) = 4 : Ze(9 , 1 , 1) = 5 : Ze(9 , 1 , 2) = 32 '9Unten
- For A = 0 To 9999
- C = 10000
- Tempw = A
- D = 1
- E = 0
- Do
- C = C / 10
- B = Tempw / C
- If B = 0 And E = 0 Then
- Locate 1 , D
- Lcd " "
- Locate 2 , D
- Lcd " "
- Else
- E = 1
- Locate 1 , D
- For I = 0 To 2
- Lcd Chr(ze(b , 0 , I))
- Next
- Locate 2 , D
- For I = 0 To 2
- Lcd Chr(ze(b , 1 , I))
- Next
- End If
- D = D + 3
- B = B * C
- Tempw = Tempw - B
- Loop Until C = 1
- Waitms 200
- Next
- End