Stap 9: Het maken van een aangepast lettertype
Nou, in het geval is, waarom niet maken uw eigen? Het is echt eenvoudig.
Elk teken bestaat uit 5 bytes, wat betekent dat ze zal als 8 x 5 pixels op het beeldscherm verschijnen. Dit is voldoende ruimte voor de meeste tekens. Het lettertype is ingesloten op de AVR voor snelle toegang (duurt leeftijden te sturen via USB), in een array met de naam "lettertype" gelegen in Atmega8_LCD.h in de bronnen.
De makkelijkste om te doen is het overschrijven van het lettertype dat ik al heb gemaakt in de lettertype-matrix, net als toen u niet hoeft te knoeien met andere codes. Gewoon verwijder alles tussen de vierkante haken van deze matrix:
statische const unsigned char lettertype [] {} =
Verwijder alles binnen hier
}
Het is gewoon zo breng uw eigen lettertype, basisgewicht * ruimte * (het 33e ASCII-teken)!
Wilt u een opzoektabel ASCII, om te zien welke tekens wilt u aanbrengen, Dit is een goede referentie. Vergeet niet dat u moet toevoegen 5 bytes voor elk teken dat u, en u kunt geen tekens overslaan!
Ziehier een blauwdruk die u kunt kopiëren:
0b00000000, / / karakter * *
0b00000000,
0b00000000,
0b00000000,
0b00000000,
Als u om wat voor reden niet wenst yo alle 5 bytes gebruiken, kunt u de speciale code voor "overslaan":
0b10000000
Dit om het even wat niet gewoon zal trekken, en zal niet verplaatsen van de X-locatie. Door dit te doen, kunt u de tekens hebben een enkele pixel afstand tussen hen geen kwestie hoe groot of klein het teken is (in plaats van een heleboel lege ruimte tussen de tekens). Het enige slechte ding met dit is dat je kan niet een teken dat die laatste pixel gebruikt. Ik niet zorgen maken over dat, omdat mijn lettertype 1 pixel afstand er, heeft zodat het lettertype aardiger kijkt.
Als het wordt een probleem voor uw lettertype, kunt u het altijd wijzigen naar iets anders in de LCD_writeChar functie.
Hier is een voorbeeld-teken voor u, het is de hoofdletter A uit mijn lettertype:
statische const unsigned char lettertype [] {} =
....
0b01111000, / / karakter A
0b00100100,
0b00100100,
0b01111000,
0b10000000, / / Skip laatste pixel
....
}
(De regels van het schrijven van de pixels op het LCD-scherm nog steeds rekenen hier, 1 bit = bovenste, 8e bit lagere, lees van rechts naar links =)
Merk op dat 1 pixel afstand tussen tekens worden automatisch toegevoegd!