| Author |
Message
|
bolek Poziom 23

Joined: 04 Jun 2002 Posts: 3876 Location: stolica
|
#1
02 Apr 2003 15:39 wlasne znaki w lcd |
|
|
|
prubował sie ktoś bawić z wpisywaniem własnych znaków do CG RAMu *?.
(chyba dobrze napissałem?)
w bascomie sprawa jest prosta... ale np: w aseblerze nie mam za bardzo pojęcia jak to zrobić :roll: . Tak ogólni to potrafię obsłurzyć modól, ale...
1) jak wygenerowac ten znak w postaci "cyfrowej" (myślałem o tym bajerze jaki ma bascom, ale troszke te cyfry dziwne)?
2) rozumiem że wywołanie tego znaku jest proste i ogranicza się do wysłania jego adresu? (pod którym został zapisany w module). np tak jak dla literki A tzreba podać liczbę 65.
3) czy jeśli zrobie "CLEAR LCD" to pamieć mi opustoszeje (czy tam zaśmieci), czy znaki dopiero z niej wyparują po wyłączeniu zasilania?
*- oczywiscie mam na myśli popularne wyświetlacze textowe (2*16, 4*20...)
|
|
| Back to top |
|
 |
Google

|
#
02 Apr 2003 15:39 |
|
|
|
|
|
| Back to top |
|
 |
Gecko Poziom 12

Joined: 11 Mar 2002 Posts: 90 Location: Siedlce
|
#2
02 Apr 2003 16:39 |
|
|
|
Tak, próbował się ktoś bawić, z powodzeniem, w asm na C51.
CG RAM - dobrze pamiętałeś, od Char Generator RAM.
Nie urzywam Bascom'a. Ażeby zrozumieć jak to zrobić trzeba przejżeć dokumentację, np. w PDF'ie. Wynika z niej dokładnie co trzeba zrobić (poszperam i wrzucę ci ją na formum).
1. Projektujesz sobie wygląd znaku np. na kartce. Wymiary znaku to 7x5 pikseli.
2. Dokłanie jest tak jak myślisz. Kody zaprogramowanych znaków to 0-7. I tylko, albo i aż tyle znaków (8) możesz umieścić w CG RAM.
3. CLEAR LCD działa tylko na pamięć 'treści' wyświetlacza. CG RAM 'ginie' dopiero po zaniku nap. zasilającego. Ups, jest jeszcze RESET.
|
|
| Back to top |
|
 |
Google

|
#
02 Apr 2003 16:39 |
|
|
|
|
|
| Back to top |
|
 |
elektryk Poziom 26

Joined: 25 Apr 2002 Posts: 11092
|
|
| Back to top |
|
 |
Google

|
#
02 Apr 2003 18:14 |
|
|
|
|
|
| Back to top |
|
 |
Olon Poziom 11

Joined: 09 Apr 2003 Posts: 63 Location: Ruda Śląska
|
#4
10 Apr 2003 19:54 |
|
|
|
Bawiłem się w to niedawno , programując PIC-a w asemblerze. Piszesz że jest dla ciebie jasne sterowanie wyświetlaczem LCD kiedy już masz odpowiednie kody w CG_RAM , więc przesyłam ci fragment dotyczący ładowania pamięci CG_RAM całą serią kodów dla polskich znaków. Na samym dole są dwie tablice danych : jedna dla małych znaków a druga dla dużych. Jak już pisano tutaj wcześniej , pamięc ma tylko 8 miejsc. Warto dodać że są to adresy nie tylko 0d 00h do 07h ale mapują je również adresy 08 do 0f h ( tzn że to co zapiszesz w np. 00h jest dostępne również pod 08h , to co pod 02h to równieź jest pod 0Ah itd).
8 miejsc w pamięci niestety nie wystarczy na wszystkie polskie znaki. Mnie osobiście nie było potrzebne "ź" więc nie ma go w tych tabelach. Powodzenia
| Filename: |
POL_ZNAKI_CG_RAM_LCD.txt |
 Download |
| Contents: |
|
| Filesize: |
3.12 KB |
| Punkty: |
0.00 |
|
|
| Back to top |
|
 |
bolek Poziom 23

Joined: 04 Jun 2002 Posts: 3876 Location: stolica
|
#5
11 Apr 2003 00:16 |
|
|
|
a mnie interesuje jak "obliczyłeś" kod dla tej liteki np: ą
bo ja naprzykład chciał bym sobie wkleić znaczek usmiechnietej mordy : ) albo coś takiego... :P (nie no żartuje... :D )
|
|
| Back to top |
|
 |
elektryk Poziom 26

Joined: 25 Apr 2002 Posts: 11092
|
#6
11 Apr 2003 00:28 |
|
|
|
To jest z tego dokumentu do którego podałem wyżej link
| Code: |
| bits | byte
row | 76543210 | value
------------------------
000 | xxx | 0x0E
001 | x x | 0x11
010 | x xx | 0x13
011 | x x x | 0x15
100 | xx x | 0x19
101 | x x | 0x11
110 | xxx | 0x0E
111 | xxxxx | 0x1F
|
|
|
| Back to top |
|
 |
Google

|
#
11 Apr 2003 00:28 |
|
|
|
|
|
| Back to top |
|
 |
Olon Poziom 11

Joined: 09 Apr 2003 Posts: 63 Location: Ruda Śląska
|
#7
11 Apr 2003 06:31 |
|
|
|
No cóż. Mogę ci jescze tylko opatrzyć rysunek kolegi elektryka krótkim komentarzem: Każda kolejna komórka pamięci CG_RAM to kolejna linia w kolejnej matrycy dla kolejnego znaku. Znak ma szerokość 5 więc programując kolejne bajty zwracasz uwagę tylko na najmłodsze pięć bitów każdego bajtu ( komórki) . Każde wstawienie jedynki w te pięć bitów spowoduje zaczernienie adekwatnej plamki w lini np: wpiszesz kod 3 ( 00000011) to zaczernisz dwie skrajne kropki od prawej , itd.
|
|
| Back to top |
|
 |