© Harry Broeders.
Deze pagina is bestemd voor studenten van de THRijswijk.
De 68HC11 EVM kasten van de THRijswijk zijn uitgerust met een LCD display. Dit display bevat 4 regels van elk 20 karakters. Dit display wordt ook gesimuleerd door THRSim11 (menu View, THRSim11 IO box).
Er zijn verschillende functies beschikbaar waarmee de LCD vanuit C aangestuurd kan worden. Deze functies zijn in de file lcd.h gedefinieerd:
void lcd_init(void); /* initialiseer de lcd */
void lcd_clrscr(void); /* maak de lcd leeg */
void lcd_putc(char c); /* schrijf karakter c naar de lcd */
void lcd_puts(const char* str); /* schrijf c string str naar de lcd */
void lcd_setpos(short row, short col); /* zet de cursor op regel row (0..3) en kolom col (0..19) */
short lcd_getrow(void); /* haal nummer van de regel waarop de cursor staat (0..3) */
short lcd_getcol(void); /* haal nummer van de kolom waarop de cursor staat (0..19) */
void lcd_cursor_off(void); /* zet de cursor uit (onzichtbaar) */
void lcd_cursor_on_blink(void); /* zet de cursor aan (knipperend blokje). Werkt NIET in THRSim11 */
void lcd_cursor_on_noblink(void); /* zet de cursor aan (streepje). Werkt NIET in THRSim11 */
Deze functies kunnen bijvoorbeeld als volgt gebruikt worden (lcd_test.c):
#include "lcd.h"int main() {
lcd_init();
lcd_cursor_off();
lcd_puts("Hallo");
lcd_setpos(lcd_getrow()+1, lcd_getcol()+1);
lcd_puts("68HC11");
lcd_setpos(lcd_getrow()+1, lcd_getcol()+1);
lcd_puts("wereld");
lcd_setpos(3, 19);
lcd_putc('!');
while (1);
return 0;
}
Bij het linken moet de library file liblcd.a of libsimlcd.a meegelinkt worden.
De gewenste library kan eenvoudig in de makefile worden opgegeven:
# Makefile to cross compile and assemble for Motorola EVM board # with a MC68HC11 processor using the GNU compiler package. # Harry Broeders 14 November 2004 # list all object files here: OBJECTS = lcd_test.o # list all libraries here: LIBS = -L. -lsimlcd![]()
Het voorbeeldprogramma geeft in de THRSim11 simulator het volgende resultaat:
Na les7 van MICB2 of les 12 van MCCA ken je
de betekenis van de optie -mshort
. De versies van de LCD library
die zijn gecompileerd met -mshort
kun je hier vinden:
liblcd.a en
libsimlcd.a.