Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Video Tutorial zu Zendure HEMS Speicher wie SolarFlow 800 Pro, SolarFlow 800 Plus, Hyper 2000

Bascom Tabellen

Baustelle.gif An diesem Artikel arbeitet gerade Mitglied PicNick.

Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen.

Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor PicNick per PM / Mail oder Forum nachfragen ob er vergessen wurde.

$regfile = "m32def.dat"
$crystal = 8000000
$baud = 9600
$hwstack = 32
$hwstack = 64
$framesize = 32
' ---------------------------------------------
' Pixel Timer                 ' 1 mS each pixel
' ---------------------------------------------
Config Timer0 = Timer , Prescale = 64
Const Tim_preload = 131
Dim Timerload As Byte
   Timerload = Tim_preload

   On Timer0 Isr_tim0
   Timer0 = Timerload
' ---------------------------------------------
' Sync Interrupt
' ---------------------------------------------
Config Int0 = Falling
   On Int0 Isr_int0

' ---------------------------------------------
' Patterm dimension
' ---------------------------------------------
Const Pat_rows = 7
Const Pat_cols = 5
'----------------------------------------------
Const Buf_chars = 16
Const Col_chars = Pat_cols * Buf_chars
' ---------------------------------------------
'     0      Left           Top   255
'     |.......|characters|...>.....
' ---------------------------------------------
Const Col_left = 12
Const Col_top = 120
' ---------------------------------------------
'
' ---------------------------------------------
Dim Char_buffer As String * Buf_chars

Dim Charpntr As Word
Dim Charcount As Byte
Dim Pataddr As Word
Dim Pattern As Word
Dim Patcol As Byte

Dim Tim_flag As Byte
Dim Show_flag As Byte
Dim Work_flag As Byte


Dim Charval As Byte
Dim Charidx As Byte
Dim Line_ctl As Byte
Dim Charout As Byte
    Enable Int0
    Enable Timer0
    Start Timer0
    Enable Interrupts

    Pattern = Loadlabel(char_pattern)

' ---------------------------------------------
'              Set Input
' ---------------------------------------------
 Char_buffer = "0123456789ABCDEF"

' ---------------------------------------------
'              Initial conditions
' ---------------------------------------------
   Patcol = 0
   Line_ctl = 0
   Work_flag = 0

   Do
      If Tim_flag = 1 Then
         Tim_flag = 0
         If Show_flag = 1 Then
            Print Bin(charout)
         End If
         Incr Line_ctl
         If Line_ctl = Col_left Then
             Work_flag = 1
             Charpntr = Varptr(char_buffer)
             Charcount = Buf_chars
         End If
         If Work_flag = 1 Then
            If Patcol = 0 Then
' read character & find pattern
               Patcol = 1
               Charval = Inp(charpntr)
               Charidx = Lookdown(charval , Char_table , 16)
               If Charidx < 255 Then
                  Decr Charidx
                  Pataddr = Charidx * Pat_cols
                  Pataddr = Pataddr + Pattern
                  Show_flag = 1
               Else
                  Show_flag = 0
               End If
            End If
' prepare character pattern------------------------------------------
            If Show_flag = 1 Then
               Charout = Cpeek(pataddr)                     ' writout pattern
               Incr Pataddr
            Else
               Charout = 0
            End If
' set next pattern column------------------------------------------
            Incr Patcol
            If Patcol > 5 Then
               Patcol = 0
               Print
' step next character --------------------------------------------
               Incr Charpntr
               Decr Charcount
               If Charcount = 0 Then
' all done
                  Work_flag = 0
               End If
            End If

      End If
   End If
 Loop

End
'------------------------------------------------
Isr_tim0:
   Timer0 = Timerload
   Tim_flag = 1
   Return
'------------------------------------------------

Isr_int0:
   Select Case Line_ctl
   Case Is < Col_top:
      Incr Timerload
   Case Is > Col_top:
      Decr Timerload
   End Select
   Line_ctl = 0
   Return
'------------------------------------------------

Char_table:
'-------"0"-"1"-"2"-"3"-"4"-"5"-"6"-"7"-"8"-"9"
   Data 48 , 49 , 50 , 51 , 52 , 53 , 54 , 55 , 56 , 57
'-------"A"--"B"--"C"--"D"--"E"--"F"
   Data 65 , 66 , 67 , 68 , 69 , 70


Char_pattern:
' "0" -------------------------------------------
 Data &B01111100
 Data &B10000010
 Data &B10000010
 Data &B01111100
 Data &B00000000
' "1" -------------------------------------------
 Data &B00000000
 Data &B00000100
 Data &B00000010
 Data &B11111110
 Data &B00000000
' "2" -------------------------------------------
 Data &B11000100
 Data &B10100010
 Data &B10010010
 Data &B10001100
 Data &B00000000
' "3" -------------------------------------------
 Data &B01000100
 Data &B10000010
 Data &B10010010
 Data &B01101100
 Data &B00000000
' "4" -------------------------------------------
 Data &B00011100
 Data &B00010010
 Data &B11111111
 Data &B00010000
 Data &B00000000
' "5" -------------------------------------------
 Data &B10111110
 Data &B10010010
 Data &B10010010
 Data &B01100010
 Data &B00000000
' "6" -------------------------------------------
 Data &B01111100
 Data &B10010010
 Data &B10010010
 Data &B01100100
 Data &B00000000
' "7" -------------------------------------------
 Data &B00000100
 Data &B00010010
 Data &B00010010
 Data &B11111110
 Data &B00000000
' "8" -------------------------------------------
 Data &B01101100
 Data &B10010010
 Data &B10010010
 Data &B01101100
 Data &B00000000
' "9" -------------------------------------------
 Data &B00001100
 Data &B00110010
 Data &B01010010
 Data &B10001100
 Data &B00000000
' "A" -------------------------------------------
 Data &B11111100
 Data &B00010010
 Data &B00010010
 Data &B11111000
 Data &B00000000
' "B" -------------------------------------------
 Data &B11111110
 Data &B10010010
 Data &B10010010
 Data &B01101100
 Data &B00000000
' "C" -------------------------------------------
 Data &B01111100
 Data &B10000010
 Data &B10000010
 Data &B01000100
 Data &B00000000
' "D" -------------------------------------------
 Data &B10000010
 Data &B11111110
 Data &B10000010
 Data &B01111100
 Data &B00000000
' "E" -------------------------------------------
 Data &B11111110
 Data &B10010010
 Data &B10010010
 Data &B10000010
 Data &B00000000
' "F" -------------------------------------------
 Data &B11111110
 Data &B00010010
 Data &B00010010
 Data &B00000010
 Data &B00000000

Autor

Siehe auch


LiFePO4 Speicher Test