Esercitazioni ASM - PIC18

 


ESERCITAZIONE # 12b


I caratteri speciali per la CGRAM.

Il package fornisce una libreria di caratteri speciali da utilizzare in CGRAM.
Sono definiti alcuni simboli speciali che possono essere visualizzati con i primi 8 codici ASCII.
I simboli sono nel formato 5x7.

La libreria viene inclusa solamente se LCDSHORTDRIVE = 0.
L’ #include relativo fa parte del file di subroutine LCDuni8s_18F.asm.

 ; Custom CGRAM library for dot matrix LCD
;************************************
;    Character definitions
;************************************
; The characters are defined in 8-byte arrays, one
; byte per line.  The character size is actually
; only 5x8, so the three highest bits in each byte
; should be set to zero.  Also note that the bottom
; line is normally used by the cursor and should
; probably not be used unless the cursor is turned off.  

 
NOLIST  

; arrows
; arrow up

#define
LCDcharAR1  db 04,0x0E,0x15,04,04,04,04,00 
   
;0x04     ; . . # . .
   
;0x0E     ; . # # # .
   
;0x15,    ; # . # . #
   
;0x04,    ; . . # . .

       
;0x04,    ; . . # . .
   
;0x04,    ; . .
# . .
   
;0x04,    ; . . # . .

      ;0x00     ; . . . . . cursor row

; arrow down
#define
LCDcharAR2  db 04,04,04,04,0x15,0x0E,04,00 
   
;0x04     ; . . # . .
   
;0x04     ; . . # . .
   
;0x0E     ; . . # . .
   
;0x15     ; # . # . #
   
;0x0E,    ; . # # # .
   
;0x04     ; . . # . .

   
;0x00     ; . . . . . cursor row  

Nel caso in cui si utilizzi la macro LCDCGRAMCHAR, la tabella per 1 carattere sarà composta dagli 8 bytes necessari. Ad esempio:

; arrow up
#define
cgachar1  db 04,0x0E,0x15,04,04,04,04,00

; arrow down
#define cgachar2  db 04,04,04,04,0x15,0x0E,04,00


L' utente potrà realizzare a piacere propri caratteri e librerie.

Un tutorial relativo ai caratteri in CGRAM lo trovate qui.


 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 18/12/12.