Advertisement  

Sunday, 22 October 2017
     
 
Main Menu
Home Home
Shop Shop
News News
BASCOM-AVR BASCOM-AVR
BASCOM-8051 BASCOM-8051
Products Products
Application Notes Application Notes
Publications Publications
Links Links
Support Center Support Center
Downloads Downloads
Forum Forum
Resellers Resellers
Contact Us Contact Us
Updates Updates
MCS Wiki MCS Wiki
Online Help
BASCOM-AVR Help BASCOM-AVR Help
BASCOM-8051 Help BASCOM-8051 Help
Contents in Cart
Show Cart
Your Cart is currently empty.
Search the Shop

Products Search

User Login
Username

Password

If you have problem after log in with disappeared login data, please press F5 in your browser

RSS News
 
     
 

 
   
     
 
AN #175 - Thermometer Scrolling Text in Fan Wheel Print
This AN was made by Sergey Shilov , winner of the Russian BASCOM competition. See also bascom.at.ua


This device works like a Bob Blicks LED 'propeller clock' . It has a Hall-Effect sensor and a magnet. Every time the magnet passes by the sensor, the sensor sends a pulse to a micro controller. The micro controller counts the time between pulses and uses that information to turn on the LEDs so that as the propeller rotates, the LEDs are always lit in the same location. Because the LEDs are really bright we see a streak when they move. Since they're moving really fast, the pattern of LEDs ends up looking like a persistent/enduring image. Thats why its called "persistence of vision", or POV for short.

The micro controller is an AtMega8L running at 8MHz internal RC-oscillator (here there is no need for a quartz accuracy). For temperature measuring I used DS18B20 sensor with 0.50 accuracy and 1-wire connection. Scrolling text stored in the EEPROM AT25256 (works with hardware SPI of AtMega8L) and contains 32768 symbols (I place English-Russian dictionary with 1000 words and its translations). Program has an ASCII symbol table and text in AT25256 written in Windows notepad. Line feed and Carriage return symbols replaces at screen with space symbols.

Text created with 8 dots. I use 16 Bright SMD LEDs 1.5x1.5mm, two LEDs in parallel for each dot. Viewing area contains 256 sectors. First sector begins at 450 from left horizontal position. Temperature indicates in upper quarter, scrolling text in lower quarter. In left quarter processor reads temperature from DS16B20 and wait for Hall-sensor interrupt. Timer0 works at 31250 Hz (8МГц/256) and measure turn time, timer1 works at 8МГц and creates a sectors length, so never mind of propellers speed displayed text is always stable. Timer0 is only 8-bit and may overflow up to 10 times over turn of propeller, so we register these overflows in T0_slave variable.

Power for schematic generates with 8 transformers, rotating with propeller under 8-pole magnet (from VCR head motor).  VR1 with Q1 works as power shunt regulator. This fan has 3 speeds and in lowest speed generating power is not enough for all, so we display only temperature. On second speed display temperature and scrolling text. On third speed we added ambient light blue, red and green.

Plate is two-sided, but had no vias. It placed in back hall of impeller and fixed with 6 screws. 8-pole magnet mounts with glue on plastic female screw.  

Schematic:


Placement:



Assembled plate:



Mounted on wheel:






Program:



$regfile = "m8def.dat"
$crystal = 8000000

Config 1wire = Portb.1                                      ' DS18B20 data connected to 13 pin

Led7 Alias Portc.: Config Portc.= Output ' connect LED ą7 to 23 pin
Led6 Alias Portc.: Config Portc.= Output ' connect LED ą6 to 24 pin
Led5 Alias Portc.: Config Portc.= Output ' connect LED ą5 to 25 pin
Led4 Alias Portc.: Config Portc.= Output ' connect LED ą4 to 26 pin
Led3 Alias Portc.: Config Portc.= Output ' connect LED ą3 to 27 pin
Led2 Alias Portc.: Config Portc.= Output ' connect LED ą2 to 28 pin
Led1 Alias Portd.: Config Portd.= Output ' connect LED ą1 to 30 pin
Led0 Alias Portd.: Config Portd.= Output ' connect LED ą0 to 31 pin

Red_led Alias Portd.: Config Portd.= Output : Red_led = 1       'Red LED  \
Green_led Alias Portd.: Config Portd.= Output : Green_led = 1       'Green LED    - common ANODE (0-ON, 1-OFF)!!!
Blue_led Alias Portd.: Config Portd.= Output : Blue_led = 1       'Blue LED    /

Dim Sc(2) As Byte 'data from DS18B20
Dim Temperature As Word 'temperature
Dim Temp_sign As Byte 'temperature sign (0-minus, 8-plus)
Dim X10_digit As Word 'most temperature digit
Dim X1_digit As Word 'least temperature digit
Dim X01_digit As Word 'fraction temperature digit
Dim First_round As Byte : First_round = 1                   'first temperature measure
Dim Transfer As Byte 'time between measure and read  of temperature

Dim T0_slave As Word : T0_slave = 0                         'round time (/32us)
Dim Sector As Byte : Sector = 0                             'current sector number
Dim Scroll As Byte 'scrolling position
Dim Letter As Word 'number of byte in symbol
Dim Sector_data As Byte : Sector_data = 0                   'sector data
Dim N_char As Word 'current text symbol

Dim Eram_char As Eram Word At &H10                          'symbol number stored in EERAM
Dim Saved_position As Byte : Saved_position = 0             'saved position flag

Dim Pos As Byte 'temporary variables
Dim Pos1 As Byte
Dim Pos2 As Byte
Dim N_temp As Word

Config Timer0 = Timer , Prescale = 256                      'Timer0 at 31250 Hz (8ĚĂö/256) - measures round time
Config Timer1 = Timer , Prescale = 1 , Compare A = Disconnect , Clear Timer = 1       'Timer at 8 MHz  - measures sector time
Enable Compare1a

On Compare1a Timer_1_int
Enable Timer0
Enable Timer1
On Timer0 Timer_0_int
On Int0 Hall_sensor Nosave 'Hall-effect sensor connect to INT0
Config Int0 = Rising                                        'INT0 on front of pulse
Enable Int0

Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
'Spsr = 1                                                    '2xSpeed of SPI
Dim Rom_addr(3) As Byte : Rom_addr(1) = 3                   'only read from 25256
Rom_cs Alias Portb.: Config Portb.= Output 'enable pin of 25256
Set Rom_cs
Spiinit

'-------------------------------------------------------------------------------
'------------------------------Main Program-------------------------------------
Start Timer0
Enable Interrupts
N_char = Eram_char                                          'read from EEPROM saved text position

Do

' Nothing to do - all in interrupts

Loop

'-----------------------------Timer0 overflow-----------------------------------

Timer_0_int:
   T0_slave = T0_slave + 256                                '256 pulses registered
Return

'----------------------------Hall-Effect Sensor---------------------------------
'Last round ends, new round begin.

Hall_sensor:

Compare1a = T0_slave + Timer0 'full round time (/32us)
Timer0 = 0
Timer1 = 0
Start Timer1
T0_slave = 0
Transfer = Transfer + 1
Sector = 0

If Compare1a < 1920 Then 'stop scrolling on first speed
   Scroll = Scroll + 1
End If

If Scroll > 6 Then 'scroll to 7 pics, then next symbol
   Scroll = 0
   N_char = N_char + 1
End If

If N_char > 32767 Then N_char = 0                           'AT25256 has only 32768 bytes

If Compare1a > 3000 Then 'save position (speed below 600 w/min)
Gosub Save_position
End If

Return

'---------------------------Timer1 comparator-----------------------------------
Timer_1_int:

If Sector < 244 Then
 Incr Sector                                              'sector number
Else
 Stop Timer1 'stop indication, wait Hall Sensor
 Goto Stop_ind                                            'go out
End If

If Sector => 19 And Sector =< 61 Then 'temperature at the top of screen
 Gosub Temp_indication
Else
   Blue_led = 1
End If

If Sector > 133 And Sector < 198 Then 'text at the bottom of screen
 Gosub Text_indication
End If

If Sector > 197 Then 'from 198 to the end of round all LEDs off
   Sector_data = 0
   Red_led = 1
   Green_led = 1
End If

If Sector = 224 And Transfer = 60 Then
Gosub Temp_request                                          'new temperature request
Goto Stop_ind
End If

If Sector = 224 And Transfer = 78 Then 'we can receive temperature data
Gosub Temp_measure                                          'receive it
Transfer = 0                                                'new circle
First_round = 0                                             'end of first circle
Goto Stop_ind
End If

   Led7 = Sector_data.7                                     'fire the LEDs!!!
   Led6 = Sector_data.6
   Led5 = Sector_data.5
   Led4 = Sector_data.4
   Led3 = Sector_data.3
   Led2 = Sector_data.2
   Led1 = Sector_data.1
   Led0 = Sector_data.0

Stop_ind:

Return

'--------------------------Temperature measure----------------------------------
Temp_measure:

1wreset 'reset DS18B20
1wwrite &HCC                                                'no need ROM
1wwrite &HBE                                                'data request
Sc(1) = 1wread(2) 'data receive
1wreset

Temperature = Makeint(sc(1) , Sc(2)) 'combine MSB & LSB
   Temperature = Temperature * 10
   Temperature = Temperature / 16                           'decimal format x10
 If Temperature > 999 Then Temperature = 999

If Sc(2) > 127 Then 'temperature below zero
   Temp_sign = 0
   Temperature = Not Temperature
   Temperature = Temperature + 1
Else
   Temp_sign = 6
End If

   X10_digit = Temperature / 100                            'most temperature digit
   N_temp = X10_digit * 100
   Temperature = Temperature - N_temp
   X1_digit = Temperature / 10                              'least temperature digit
   N_temp = X1_digit * 10
   Temperature = Temperature - N_temp
   X01_digit = Temperature                                  'fraction temperature digit

Return

'---------------------------Temperature request---------------------------------
Temp_request:

1wreset
1wwrite &HCC
1wwrite &H44

Return

'-------------------------Temperature indication--------------------------------
Temp_indication:

If First_round > 0 Then Goto Noind                          'first circle is wrong...

If Compare1a < 1720 Then 'on 3 speed blue ambient
Blue_led = 0
End If

If Sector => 19 And Sector < 25 And X10_digit > 0 Then 'sign (if exist most temperature digit)
   Letter = Sector - 19
   Letter = Letter + Temp_sign
   Sector_data = Lookup(letter , Signs)
 Goto Noind
End If

If Sector => 25 And Sector < 34 And X10_digit > 0 Then 'most temperature digit (if exist)
   N_temp = X10_digit * 9
   N_temp = N_temp + Sector
   Letter = N_temp - 25
   Sector_data = Lookup(letter , Digits)
 Goto Noind
End If

If Sector => 28 And Sector < 34 And X10_digit = 0 Then 'sign (if NOT exist most temperature digit)
   Letter = Sector - 28
   Letter = Letter + Temp_sign
   Sector_data = Lookup(letter , Signs)
 Goto Noind
End If

If Sector => 34 And Sector < 43 Then 'least temperature digit
   N_temp = X1_digit * 9
   N_temp = N_temp + Sector
   Letter = N_temp - 34
   Sector_data = Lookup(letter , Digits)
 Goto Noind
End If

If Sector => 43 And Sector < 46 Then 'comma
   Letter = Sector - 31
   Sector_data = Lookup(letter , Signs)
 Goto Noind
End If

If Sector => 46 And Sector < 55 Then 'fraction temperature digit
   N_temp = X01_digit * 9
   N_temp = N_temp + Sector
   Letter = N_temp - 46
   Sector_data = Lookup(letter , Digits)
 Goto Noind
End If

If Sector => 55 And Sector =< 61 Then 'Celsius sign
   Letter = Sector - 39
   Sector_data = Lookup(letter , Signs)
End If

Noind:

Return

'--------------------------- Text indication -----------------------------------
Text_indication:

If Compare1a > 1950 Then Goto End_indication                'on 1 speed no text

Pos = Sector - 134
Pos = 63 - Pos
Pos = Pos + Scroll                                          'scroll position
Pos1 = Pos / 7
Pos2 = Pos1 * 7                                             'symbol point
Pos = Pos - Pos2
N_temp = Pos1
N_temp = N_temp + N_char
If N_temp > 32767 Then N_temp = 32767

   Rom_addr(3) = Low(n_temp)
   Rom_addr(2) = High(n_temp)
 Reset Rom_cs
 Spiout Rom_addr(1) , 3
 Spiin Pos1 , 1                                           'read the symbol
 Set Rom_cs

If Pos1 < 32 Then Pos1 = 32                                 'replace "0D", "0A" ect with Spacesign

If Pos1 > 32 And Compare1a < 1720 Then 'on 3 speed fire the ambient
   Red_led = Pos1.7                                         'Latin with Red
   Green_led = Not Pos1.7                                   'Cyrillic with Green
Else
   Red_led = 1
   Green_led = 1
End If

Pos1 = Pos1 - 32                                            'symbol number in our table
Letter = Pos1 * 7                                           '7 - symbols width
Letter = Letter + Pos
Sector_data = Lookup(letter , Symbols)

End_indication:

Return

'-------------------------- Save position of text ------------------------------
Save_position:

If Saved_position = 0 And N_char > 32 Then
   Eram_char = N_char                                       'save to EEPROM
   Saved_position = 1                                       'ready
End If

Return

'=========================== Temperatute symbols ===============================
Signs:
 Data &H10 , &H10 , &H10 , &H10 , &H10 , &H00             'minus
 Data &H10 , &H10 , &H7C , &H10 , &H10 , &H00             'plus
 Data &H00 , &H00 , &H03 , &H00                           'comma
 Data &H00 , &H00 , &H60 , &H90 , &H90 , &H60 , &H00      'Celsius

Digits:
 Data &H00 , &H00 , &H7E , &H81 , &H81 , &H81 , &H81 , &H81 , &H7E
 Data &H00 , &H00 , &H00 , &H00 , &H40 , &HFF , &H00 , &H00 , &H00
 Data &H00 , &H00 , &H47 , &H89 , &H89 , &H89 , &H89 , &H89 , &H71
 Data &H00 , &H00 , &H82 , &H81 , &H81 , &H91 , &HB1 , &HC9 , &H86
 Data &H00 , &H00 , &HF8 , &H08 , &H08 , &H08 , &H08 , &HFF , &H08
 Data &H00 , &H00 , &HF2 , &H91 , &H91 , &H91 , &H91 , &H91 , &H8E
 Data &H00 , &H00 , &H7E , &H91 , &H91 , &H91 , &H91 , &H91 , &H0E
 Data &H00 , &H00 , &H80 , &H80 , &H80 , &H8F , &H90 , &HA0 , &HC0
 Data &H00 , &H00 , &H6E , &H91 , &H91 , &H91 , &H91 , &H91 , &H6E
 Data &H00 , &H00 , &H70 , &H89 , &H89 , &H89 , &H89 , &H89 , &H7E

'============================== Symbols table ==================================
Symbols:

Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '32 / - ->space
Data &H00 , &H4F , &H00 , &H00 , &H00 , &H00 , &H00         '33 / - - > !
Data &H07 , &H00 , &H07 , &H00 , &H00 , &H00 , &H00         '34 / - - > ""
Data &H14 , &H7F , &H14 , &H7F , &H14 , &H00 , &H00         '35/ --> #
Data &H24 , &H2A , &H7F , &H2A , &H12 , &H00 , &H00         '36/ --> $
Data &H23 , &H13 , &H08 , &H64 , &H62 , &H00 , &H00         '37/ --> %
Data &H36 , &H49 , &H55 , &H22 , &H40 , &H00 , &H00         '38/ --> &
Data &H00 , &H05 , &H03 , &H00 , &H00 , &H00 , &H00         '39/ --> '
Data &H1C , &H22 , &H41 , &H00 , &H00 , &H00 , &H00         '40/ --> (
Data &H41 , &H22 , &H1C , &H00 , &H00 , &H00 , &H00         '41/ --> )
Data &H14 , &H08 , &H3E , &H08 , &H14 , &H00 , &H00         '42/ --> *
Data &H08 , &H08 , &H3E , &H08 , &H08 , &H00 , &H00         '43/ --> +
Data &H00 , &HA0 , &H60 , &H00 , &H00 , &H00 , &H00         '44/ --> ,
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H00 , &H00         '45/ --> -
Data &H00 , &H60 , &H60 , &H00 , &H00 , &H00 , &H00         '46/ --> .
Data &H20 , &H10 , &H08 , &H04 , &H02 , &H00 , &H00         '47/ --> /
Data &H3E , &H51 , &H49 , &H45 , &H3E , &H00 , &H00         '48/ --> 0
Data &H00 , &H42 , &H7F , &H40 , &H00 , &H00 , &H00         '49/ --> 1
Data &H42 , &H61 , &H51 , &H49 , &H46 , &H00 , &H00         '50/ --> 2
Data &H21 , &H41 , &H45 , &H4B , &H31 , &H00 , &H00         '51/ --> 3
Data &H18 , &H14 , &H12 , &H7F , &H10 , &H00 , &H00         '52/ --> 4
Data &H27 , &H45 , &H45 , &H45 , &H39 , &H00 , &H00         '53/ --> 5
Data &H3C , &H4A , &H49 , &H49 , &H30 , &H00 , &H00         '54/ --> 6
Data &H01 , &H71 , &H09 , &H05 , &H03 , &H00 , &H00         '55/ --> 7
Data &H36 , &H49 , &H49 , &H49 , &H36 , &H00 , &H00         '56/ --> 8
Data &H06 , &H49 , &H49 , &H29 , &H1E , &H00 , &H00         '57/ --> 9
Data &H00 , &H6C , &H6C , &H00 , &H00 , &H00 , &H00         '58/ --> :
Data &H00 , &HAC , &H6C , &H00 , &H00 , &H00 , &H00         '59/ --> ;
Data &H08 , &H14 , &H22 , &H41 , &H00 , &H00 , &H00         '60/ --> <
Data &H24 , &H24 , &H24 , &H24 , &H24 , &H00 , &H00         '61/ --> =
Data &H00 , &H41 , &H22 , &H14 , &H08 , &H00 , &H00         '62/ --> >
Data &H02 , &H01 , &H51 , &H09 , &H06 , &H00 , &H00         '63/ --> ?
Data &H32 , &H49 , &H79 , &H41 , &H3E , &H00 , &H00         '64/ --> @
Data &H7E , &H11 , &H11 , &H11 , &H7E , &H00 , &H00         '65/ --> A
Data &H7F , &H49 , &H49 , &H49 , &H36 , &H00 , &H00         '66/ --> B
Data &H3E , &H41 , &H41 , &H41 , &H22 , &H00 , &H00         '67/ --> C
Data &H7F , &H41 , &H41 , &H22 , &H1C , &H00 , &H00         '68/ --> D
Data &H7F , &H49 , &H49 , &H49 , &H41 , &H00 , &H00         '69/ --> E
Data &H7F , &H09 , &H09 , &H09 , &H01 , &H00 , &H00         '70/ --> F
Data &H3E , &H41 , &H49 , &H49 , &H3A , &H00 , &H00         '71/ --> G
Data &H7F , &H08 , &H08 , &H08 , &H7F , &H00 , &H00         '72/ --> H
Data &H00 , &H41 , &H7F , &H41 , &H00 , &H00 , &H00         '73/ --> I
Data &H20 , &H40 , &H41 , &H3F , &H01 , &H00 , &H00         '74/ --> J
Data &H7F , &H08 , &H14 , &H22 , &H41 , &H00 , &H00         '75/ --> K
Data &H7F , &H40 , &H40 , &H40 , &H40 , &H00 , &H00         '76/ --> L
Data &H7F , &H02 , &H0C , &H02 , &H7F , &H00 , &H00         '77/ --> M
Data &H7F , &H04 , &H08 , &H10 , &H7F , &H00 , &H00         '78/ --> N
Data &H3E , &H41 , &H41 , &H41 , &H3E , &H00 , &H00         '79/ --> O
Data &H7F , &H09 , &H09 , &H09 , &H06 , &H00 , &H00         '80/ --> P
Data &H3E , &H41 , &H51 , &H21 , &H5E , &H00 , &H00         '81/ --> Q
Data &H7F , &H09 , &H19 , &H29 , &H46 , &H00 , &H00         '82/ --> R
Data &H46 , &H49 , &H49 , &H49 , &H31 , &H00 , &H00         '83/ --> S
Data &H01 , &H01 , &H7F , &H01 , &H01 , &H00 , &H00         '84/ --> T
Data &H3F , &H40 , &H40 , &H40 , &H3F , &H00 , &H00         '85/ --> U
Data &H1F , &H20 , &H40 , &H20 , &H1F , &H00 , &H00         '86/ --> V
Data &H3F , &H40 , &H30 , &H40 , &H3F , &H00 , &H00         '87/ --> W
Data &H63 , &H14 , &H08 , &H14 , &H63 , &H00 , &H00         '88/ --> X
Data &H07 , &H08 , &H70 , &H08 , &H07 , &H00 , &H00         '89/ --> Y
Data &H61 , &H51 , &H49 , &H45 , &H43 , &H00 , &H00         '90/ --> Z
Data &H7F , &H41 , &H41 , &H00 , &H00 , &H00 , &H00         '91/ --> [
Data &H15 , &H16 , &H7C , &H16 , &H15 , &H00 , &H00         '92/ --> \
Data &H41 , &H41 , &H7F , &H00 , &H00 , &H00 , &H00         '93/ --> ]
Data &H04 , &H02 , &H01 , &H02 , &H04 , &H00 , &H00         '94/ --> ^
Data &H40 , &H40 , &H40 , &H40 , &H40 , &H00 , &H00         '95/ --> _
Data &H01 , &H02 , &H04 , &H00 , &H00 , &H00 , &H00         '96/ --> `
Data &H20 , &H54 , &H54 , &H54 , &H78 , &H00 , &H00         '97/ --> a
Data &H7F , &H44 , &H44 , &H44 , &H38 , &H00 , &H00         '98/ --> b
Data &H38 , &H44 , &H44 , &H44 , &H00 , &H00 , &H00         '99/ --> c
Data &H38 , &H44 , &H44 , &H48 , &H7F , &H00 , &H00         '100/ --> d
Data &H38 , &H54 , &H54 , &H54 , &H18 , &H00 , &H00         '101/ --> e
Data &H10 , &H7E , &H11 , &H01 , &H02 , &H00 , &H00         '102/ --> f
Data &H18 , &HA4 , &HA4 , &HA4 , &H7C , &H00 , &H00         '103/ --> g
Data &H7F , &H08 , &H04 , &H04 , &H78 , &H00 , &H00         '104/ --> h
Data &H00 , &H44 , &H7D , &H40 , &H00 , &H00 , &H00         '105/ --> i
Data &H20 , &H40 , &H40 , &H3D , &H00 , &H00 , &H00         '106/ --> j
Data &H7F , &H10 , &H28 , &H44 , &H00 , &H00 , &H00         '107/ --> k
Data &H00 , &H41 , &H7F , &H40 , &H00 , &H00 , &H00         '108/ --> l
Data &H7C , &H04 , &H18 , &H04 , &H78 , &H00 , &H00         '109/ --> m
Data &H7C , &H08 , &H04 , &H04 , &H78 , &H00 , &H00         '110/ --> n
Data &H38 , &H44 , &H44 , &H44 , &H38 , &H00 , &H00         '111/ --> o
Data &HFC , &H44 , &H44 , &H44 , &H38 , &H00 , &H00         '112/ --> p
Data &H08 , &H14 , &H14 , &H18 , &H7C , &H00 , &H00         '113/ --> q
Data &H7C , &H08 , &H04 , &H04 , &H08 , &H00 , &H00         '114/ --> r
Data &H48 , &H54 , &H54 , &H54 , &H20 , &H00 , &H00         '115/ --> s
Data &H04 , &H3F , &H44 , &H40 , &H20 , &H00 , &H00         '116/ --> t
Data &H3C , &H40 , &H40 , &H20 , &H7C , &H00 , &H00         '117/ --> u
Data &H1C , &H20 , &H40 , &H20 , &H1C , &H00 , &H00         '118/ --> v
Data &H3C , &H40 , &H20 , &H40 , &H3C , &H00 , &H00         '119/ --> w
Data &H44 , &H28 , &H10 , &H28 , &H44 , &H00 , &H00         '120/ --> x
Data &H0C , &H90 , &H90 , &H90 , &H7C , &H00 , &H00         '121/ --> y
Data &H44 , &H64 , &H54 , &H4C , &H44 , &H00 , &H00         '122/ --> z
Data &H08 , &H36 , &H41 , &H00 , &H00 , &H00 , &H00         '123/ --> {
Data &H00 , &H00 , &H7F , &H00 , &H00 , &H00 , &H00         '124/ --> |
Data &H41 , &H36 , &H08 , &H00 , &H00 , &H00 , &H00         '125/ --> }
Data &H02 , &H01 , &H02 , &H01 , &H00 , &H00 , &H00         '126/ --> ~
Data &H7C , &H44 , &H44 , &H44 , &H7C , &H00 , &H00         '127/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '128/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '129/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '130/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '131/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '132/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '133/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '134/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '135/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '136/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '137/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '138/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '139/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '140/ --> Ś
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '141/ --> Ť
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '142/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '143/ --> Ź
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '144/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '145/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '146/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '147/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '148/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '149/ --> 
Data &H08 , &H08 , &H08 , &H08 , &H08 , &H08 , &H00         '150/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '151/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '152/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '153/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '154/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '155/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '156/ --> ś
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '157/ --> ť
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '158/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '159/ --> ź
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '160/ -->  
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '161/ --> ˇ
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '162/ --> ˘
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '163/ --> Ł
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '164/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '165/ --> Ą
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '166/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '167/ --> 
Data &H7E , &H4B , &H4A , &H4B , &H42 , &H00 , &H00         '168/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '169/ -->
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '170/ --> Ş
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '171/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '172/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '173/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '174/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '175/ --> Ż
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '176/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '177/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '178/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '179/ --> ł
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '180/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '181/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '182/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '183/ --> 
Data &H38 , &H55 , &H54 , &H55 , &H18 , &H00 , &H00         '184/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '185/ --> ą
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '186/ --> ş
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '187/ --> 
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '188/ --> Ľ
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '189/ --> ˝
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '190/ --> ľ
Data &H00 , &H00 , &H00 , &H00 , &H00 , &H00 , &H00         '191/ --> ż
Data &H7E , &H11 , &H11 , &H11 , &H7E , &H00 , &H00         '192/ --> Ŕ
Data &H7F , &H49 , &H49 , &H49 , &H31 , &H00 , &H00         '193/ --> 
Data &H7F , &H49 , &H49 , &H49 , &H36 , &H00 , &H00         '194/ --> 
Data &H7F , &H01 , &H01 , &H01 , &H01 , &H00 , &H00         '195/ --> Ă
Data &H60 , &H3E , &H21 , &H21 , &H3E , &H60 , &H00         '196/ --> Ä
Data &H7F , &H49 , &H49 , &H49 , &H41 , &H00 , &H00         '197/ --> Ĺ
Data &H63 , &H14 , &H7F , &H14 , &H63 , &H00 , &H00         '198/ --> Ć
Data &H22 , &H41 , &H49 , &H49 , &H36 , &H00 , &H00         '199/ --> 
Data &H7F , &H10 , &H08 , &H04 , &H7F , &H00 , &H00         '200/ --> Č
Data &H7F , &H10 , &H09 , &H04 , &H7F , &H00 , &H00         '201/ --> 
Data &H7F , &H08 , &H14 , &H22 , &H41 , &H00 , &H00         '202/ --> Ę
Data &H7C , &H02 , &H01 , &H01 , &H7F , &H00 , &H00         '203/ --> 
Data &H7F , &H02 , &H0C , &H02 , &H7F , &H00 , &H00         '204/ --> Ě
Data &H7F , &H08 , &H08 , &H08 , &H7F , &H00 , &H00         '205/ --> 
Data &H3E , &H41 , &H41 , &H41 , &H3E , &H00 , &H00         '206/ --> 
Data &H7F , &H01 , &H01 , &H01 , &H7F , &H00 , &H00         '207/ --> Ď
Data &H7F , &H09 , &H09 , &H09 , &H06 , &H00 , &H00         '208/ --> Đ
Data &H3E , &H41 , &H41 , &H41 , &H22 , &H00 , &H00         '209/ --> Ń
Data &H01 , &H01 , &H7F , &H01 , &H01 , &H00 , &H00         '210/ --> Ň
Data &H47 , &H48 , &H48 , &H48 , &H3F , &H00 , &H00         '211/ --> 
Data &H0E , &H11 , &H7F , &H11 , &H0E , &H00 , &H00         '212/ --> 
Data &H63 , &H14 , &H08 , &H14 , &H63 , &H00 , &H00         '213/ --> Ő
Data &H7F , &H40 , &H40 , &H7F , &HC0 , &H00 , &H00         '214/ --> Ö
Data &H07 , &H08 , &H08 , &H08 , &H7F , &H00 , &H00         '215/ --> 
Data &H7F , &H40 , &H7F , &H40 , &H7F , &H00 , &H00         '216/ --> Ř
Data &H7F , &H40 , &H7F , &H40 , &H7F , &HC0 , &H00         '217/ --> Ů
Data &H01 , &H7F , &H44 , &H44 , &H38 , &H00 , &H00         '218/ --> 
Data &H7F , &H44 , &H38 , &H00 , &H7F , &H00 , &H00         '219/ --> Ű
Data &H7F , &H44 , &H44 , &H44 , &H38 , &H00 , &H00         '220/ --> Ü
Data &H41 , &H49 , &H49 , &H2A , &H1C , &H00 , &H00         '221/ --> 
Data &H7F , &H08 , &H3E , &H41 , &H3E , &H00 , &H00         '222/ --> Ţ
Data &H46 , &H29 , &H19 , &H09 , &H7F , &H00 , &H00         '223/ --> ß
Data &H20 , &H54 , &H54 , &H54 , &H78 , &H00 , &H00         '224/ --> ŕ
Data &H3A , &H45 , &H45 , &H45 , &H39 , &H00 , &H00         '225/ --> 
Data &H7E , &H49 , &H4D , &H4A , &H30 , &H00 , &H00         '226/ --> 
Data &H20 , &H54 , &H54 , &H54 , &H48 , &H00 , &H00         '227/ --> ă
Data &H98 , &HA4 , &HA4 , &HA4 , &H78 , &H00 , &H00         '228/ --> ä
Data &H38 , &H54 , &H54 , &H54 , &H18 , &H00 , &H00         '229/ --> ĺ
Data &H44 , &H28 , &H7C , &H28 , &H44 , &H00 , &H00         '230/ --> ć
Data &H44 , &H54 , &H54 , &H54 , &H28 , &H00 , &H00         '231/ --> 
Data &H3C , &H40 , &H40 , &H20 , &H7C , &H00 , &H00         '232/ --> č
Data &H3C , &H41 , &H42 , &H21 , &H7C , &H00 , &H00         '233/ --> 
Data &H7C , &H10 , &H28 , &H44 , &H00 , &H00 , &H00         '234/ --> ę
Data &H70 , &H08 , &H04 , &H04 , &H7C , &H00 , &H00         '235/ --> 
Data &H7C , &H08 , &H10 , &H08 , &H7C , &H00 , &H00         '236/ --> ě
Data &H7C , &H10 , &H10 , &H10 , &H7C , &H00 , &H00         '237/ --> 
Data &H38 , &H44 , &H44 , &H44 , &H38 , &H00 , &H00         '238/ --> 
Data &H7C , &H08 , &H04 , &H04 , &H78 , &H00 , &H00         '239/ --> ď
Data &HFC , &H44 , &H44 , &H44 , &H38 , &H00 , &H00         '240/ --> đ
Data &H38 , &H44 , &H44 , &H44 , &H00 , &H00 , &H00         '241/ --> ń
Data &H04 , &H04 , &H7C , &H04 , &H04 , &H00 , &H00         '242/ --> ň
Data &H1C , &HA0 , &HA0 , &HA0 , &H7C , &H00 , &H00         '243/ --> 
Data &H18 , &H24 , &H7C , &H24 , &H18 , &H00 , &H00         '244/ --> 
Data &H44 , &H28 , &H10 , &H28 , &H44 , &H00 , &H00         '245/ --> ő
Data &H3C , &H40 , &H40 , &H7C , &HC0 , &H00 , &H00         '246/ --> ö
Data &H1C , &H20 , &H20 , &H20 , &H7C , &H00 , &H00         '247/ --> 
Data &H7C , &H40 , &H7C , &H40 , &H7C , &H00 , &H00         '248/ --> ř
Data &H7C , &H40 , &H7C , &H40 , &H7C , &HC0 , &H00         '249/ --> ů
Data &H04 , &H7C , &H48 , &H48 , &H30 , &H00 , &H00         '250/ --> 
Data &H7C , &H48 , &H30 , &H00 , &H7C , &H00 , &H00         '251/ --> ű
Data &H7C , &H48 , &H48 , &H48 , &H30 , &H00 , &H00         '252/ --> ü
Data &H44 , &H44 , &H54 , &H54 , &H38 , &H00 , &H00         '253/ --> 
Data &H7C , &H10 , &H38 , &H44 , &H38 , &H00 , &H00         '254/ --> ţ
Data &H08 , &H54 , &H34 , &H14 , &H7C , &H00 , &H00         '255/ --> ˙