00001 // This file has been prepared for Doxygen automatic documentation generation. 00023 /************************************************************************/ 00024 // Definitions 00025 /************************************************************************/ 00026 #define LCD_INITIAL_CONTRAST 0x0F 00027 #define LCD_TIMER_SEED 3 00028 #define LCD_FLASH_SEED 10 00029 #define LCD_REGISTER_COUNT 20 00030 #define TEXTBUFFER_SIZE 25 00031 00032 #define SCROLLMODE_ONCE 0x01 00033 #define SCROLLMODE_LOOP 0x02 00034 #define SCROLLMODE_WAVE 0x03 00035 00036 /************************************************************************/ 00037 //MACROS 00038 /************************************************************************/ 00039 //active = [TRUE;FALSE] 00040 #define LCD_SET_COLON(active) LCD_Data[8] = active 00041 00042 // DEVICE SPECIFIC!!! (ATmega169) 00043 #define pLCDREG ((unsigned char *)(0xEC)) 00044 00045 // DEVICE SPECIFIC!!! (ATmega169) First LCD segment register 00046 #define LCD_CONTRAST_LEVEL(level) LCDCCR=(0x0F & level) 00047 00048 00049 /************************************************************************/ 00050 // Global variables 00051 /************************************************************************/ 00052 extern char gLCD_Update_Required; 00053 extern char LCD_Data[LCD_REGISTER_COUNT]; 00054 extern char gTextBuffer[TEXTBUFFER_SIZE]; 00055 extern char gScrollMode; 00056 extern char gFlashTimer; 00057 extern char gColon; 00058 extern signed char gScroll; 00059 00060 00061 /************************************************************************/ 00062 // Global functions 00063 /************************************************************************/ 00064 void LCD_Init (void); 00065 void LCD_WriteDigit(char input, char digit); 00066 void LCD_AllSegments(char show);