HD44780 LCD egyedi karakterek

Példaprogram egyéni karakterek létrehozására és használatra.

/*==============================================================================
   Custom Charcters
   Written by Ervin Jung (2010)
 
   You can find more infromations in the lcd.h
==============================================================================*/
#include <pic18fregs.h>
 
#define  FOSC 48000000     // because PPL5 
#define  LCD_USE_DEFAULTS
#include <simple_delay.h>
#include <lcd.h>
#include <math.h>
#include <stdlib.h>
 
const char lcd_char0[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f};
const char lcd_char1[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x1f};
const char lcd_char2[] = {0x00,0x00,0x00,0x00,0x00,0x1f,0x1f,0x1f};
const char lcd_char3[] = {0x00,0x00,0x00,0x00,0x1f,0x1f,0x1f,0x1f};
const char lcd_char4[] = {0x00,0x00,0x00,0x1f,0x1f,0x1f,0x1f,0x1f};
const char lcd_char5[] = {0x00,0x00,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f};
const char lcd_char6[] = {0x00,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f};
const char lcd_char7[] = {0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f,0x1f};
 
 
void main(void) {
  char i;
 
  lcd_init();
 
  lcd_init_char(0, lcd_char0);
  lcd_init_char(1, lcd_char1);
  lcd_init_char(2, lcd_char2);
  lcd_init_char(3, lcd_char3);
  lcd_init_char(4, lcd_char4);
  lcd_init_char(5, lcd_char5);
  lcd_init_char(6, lcd_char6);
  lcd_init_char(7, lcd_char7);
 
  lcd_gotoxy(1,1);
  printf(" IDE for PIC18F");
 
  while(1) {
    lcd_gotoxy(1,2);
    for(i = 0; i < 16; i++) {
      lcd_send_byte(1, rand() % 7);
    }
    delay_ms(200);
  } 
}

LCD_Custom_Char LCD_Custom_Char