⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd.h

📁 This a simple example project for the MSP430 series MCU and the GCC port of the mspgcc project. The
💻 H
字号:
/**LCD functions, header file.chris <cliechti@gmx.net>*/#ifndef LCD_H#define LCD_H//Instructions for LCD chip/** Switch on display. <B>IMPORTANT:</B> <code>lcdDelay(LCDDELAY2)</code> must be called afterthis instruction because the display contoller needs some additional time.*/#define LCD_ON              0x01 //0x00000001 //Switch on  display#define LCD_OFF             0x08 //0x00001000 //Switch off display//#define LCDEMODE      0x06 //0x00000110//#define LCDFONT       0x21 //0x00100001/** Clear the display. */#define LCD_CLEAR           0x01 //0x00000001/** Place cursor on a specific display line. The horizontal offsetcan be added: LCDLINEx + xoffset. As the line length is limited,the horizontal offset must not be greater 64*/#ifdef LCD_4LINETYPE    //~ #message "lcd.h: 4 Line LCD selected"    // 4 line display    #define LCD_LINE1       0x80                    ///< Address offset for 1st line in 4-line display mode    #define LCD_LINE2       0xa0                    ///< Address offset for 2nd line in 4-line display mode    #define LCD_LINE3       0xc0                    ///< Address offset for 3rd line in 4-line display mode    #define LCD_LINE4       0xe0                    ///< Address offset for 4th line in 4-line display mode    #define LCD_LINEWIDTH   0x20                    ///< Specify the line with in 4-line display mode#else   // LCD_4LINETYPE    //~ #message "lcd.h: 2 Line LCD selected"    // 2 line display    #define LCD_LINE1       0x80                    ///< Address offset for 1st line in 2-line display mode    #define LCD_LINE2       0xc0                    ///< Address offset for 2nd line in 2-line display mode    #define LCD_LINEWIDTH   0x40                    ///< Specify the line with in 2-line display mode#endif  // LCD_4LINETYPE/** Cursor modes.*/#define LCD_CURSORON        0x0f //0x00001111 //turn on cursor blinking#define LCD_CURSOROFF       0x0c //0x00001100 //Disable cursor blinking. The cursor is hidden./** these are used for the LCD init and module internally*///Bitpatters for LCDOUT#define LCD_8BITS           0x30 //0b00110000 //select 8 Bit interface#define LCD_4BITS           0x20 //0b00100000 //select 4 Bit interface#define LCD_DATA_OFF        0x05 //0x00000101 //mask used to clear the data lines                      //some instructions#define LCD_FUNCTIONSET     0x20                    ///< LCD function set instruction#define LCD_2LINES          0x08                    ///< Bitmask for the \c LCD_FUNCTIONSET to set the 2-line display mode#define LCD_RE_BIT          0x04                    ///< Bitmask for the \c LCD_FUNCTIONSET to select the extension register (set RE bit)#define LCD_EXT_FUNCTIONSET 0x08                    ///< LCD extended function set instruction#define LCD_4LINES          0x01                    ///< Bitmask for the \c LCD_EXT_FUNCTIONSET to set the 4-line display mode#define LCD_DISP_CTRL       0x08                    ///< LCD ON/OFF control instruction#define LCD_DISP_ON         0x04                    ///< Bitmask for the \c LCD_DISP_CTRL to turn on the display (visible).#define LCD_ENTRYMODE       0x04                    ///< LCD entry mode set#define LCD_INC             0x02                    ///< Bitmask for the #LCD_ENTRYMODE to set the cursor moving direction#define LCD_CLEAR           0x01                    /**< Instruction to clear the display.                                                    @note This instructions use much more execution time then an other instruction.                                                    @warning The data book says not more then 1.53ms but in fact its 2ms.                                                    Call <code>lcdDelay(LCD_DELAY_2MS)</code> after using this instruction! */#define LCD_HOME            0x02                    /**< Instruction to set the cursor to the home position.                                                    @note This instructions use much more execution time then an other instruction.                                                    @warning The data book says not more then 1.53ms but in fact its 2ms.                                                    Call <code>lcdDelay(LCD_DELAY_2M)</code> after using this instruction! */#define LCD_CGRAM           0x40                    /**< Set the address pointer in CGRAM. An additionally offset can be added.                                                    @note The CGRAM is limited to 64 bytes. The offset can not exeed 64. */#define LCD_DDRAM           0x80                    /**< Set the address pointer in DDRAM. An additionally offset can be added.                                                    For direct access to the individual lines use the definitions like #LCD_LINE1.                                                    @note The DDRAM is limited to 128 bytes. The offset can not exeed 128. *///forward declarationsvoid lcdOn( void );void lcdInstr( char cmd );void lcdPutc( char c );void lcdInit( void );void lcdDelay(unsigned int d);#ifdef LCD_EXTRAvoid lcdPuts( char * str );void lcdDownloadFont( const void * fontdata, int size);#endif //LCD_EXTRA#endif /*LCD_H*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -