lcd.h
00001
00002
00003
00004
00005
00006
00007 #ifndef __H_LCD__
00008 #define __H_LCD__
00009
00013 typedef enum lcd_state{
00014 LCD_IDLE = 0,
00015 LCD_MOVE,
00016 LCD_DISPLAY
00017 } LCD_STATE;
00018
00022 typedef struct lcd_char{
00023 unsigned char data;
00024 unsigned char pos;
00025 unsigned int quad_num;
00026 } LCD_CHAR;
00027
00028
00029 void lcd_init(VOID_VOID_F overflowfunc);
00030 void lcd_write_data(unsigned char data);
00031 void lcd_write_instruction(unsigned char instruction);
00032 void lcd_write_bit(unsigned int db, unsigned int bit);
00033
00034
00035
00036 int lcd_push(LCD_CHAR* c);
00037 int lcd_pop(LCD_CHAR* c);
00038
00039 void lcd_print(char* string, unsigned int length, unsigned int start_pos);
00040 void lcd_print_char(char ch, unsigned int pos);
00041 void lcd_us_delay(long unsigned int delay_time_us);
00042
00043 void lcd_set_line1(char c1, char c2, char c3, char c4, char c5, char c6, char c7, char c8);
00044 void lcd_set_line2(char c1, char c2, char c3, char c4, char c5, char c6, char c7, char c8);
00045 void lcd_set_quad1(char c1, char c2, char c3, char c4);
00046 void lcd_set_quad2(char c1, char c2, char c3, char c4);
00047 void lcd_set_quad3(char c1, char c2, char c3, char c4);
00048 void lcd_set_quad4(char c1, char c2, char c3, char c4);
00049
00050
00051 __irq void lcd_isr(void);
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073 #endif