Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DDRO_Farrari mbed
Fork of DDRO_Farrari by
lcd.h@3:e1a6e12233dd, 2014-07-17 (annotated)
- Committer:
- liangzhen
- Date:
- Thu Jul 17 22:16:45 2014 +0000
- Revision:
- 3:e1a6e12233dd
- Parent:
- 0:84a8bcfbdec9
simplify for functional purpose only
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
liangzhen | 0:84a8bcfbdec9 | 1 | //******************************************************************* |
liangzhen | 0:84a8bcfbdec9 | 2 | // * October, 2012 |
liangzhen | 0:84a8bcfbdec9 | 3 | // * Definitions for I2C LCD program |
liangzhen | 0:84a8bcfbdec9 | 4 | // * |
liangzhen | 0:84a8bcfbdec9 | 5 | // * |
liangzhen | 0:84a8bcfbdec9 | 6 | // * |
liangzhen | 0:84a8bcfbdec9 | 7 | /******************************************************************** |
liangzhen | 0:84a8bcfbdec9 | 8 | function protocol: |
liangzhen | 0:84a8bcfbdec9 | 9 | 0xFE, 0x41 - display on |
liangzhen | 0:84a8bcfbdec9 | 10 | 0xFE, 0x42 - display off |
liangzhen | 0:84a8bcfbdec9 | 11 | 0xFE, 0x45 - set cursor position |
liangzhen | 0:84a8bcfbdec9 | 12 | 0xFE, 0x46 - home cursor |
liangzhen | 0:84a8bcfbdec9 | 13 | 0xFE, 0x47 - underline cursor on |
liangzhen | 0:84a8bcfbdec9 | 14 | 0xFE, 0x48 - underline cursor off |
liangzhen | 0:84a8bcfbdec9 | 15 | 0xFE, 0x49 - move cursor left 1 space |
liangzhen | 0:84a8bcfbdec9 | 16 | 0xFE, 0x4A - move cursor right 1 space |
liangzhen | 0:84a8bcfbdec9 | 17 | 0xFE, 0x4B - blinking cursor on |
liangzhen | 0:84a8bcfbdec9 | 18 | 0xFE, 0x4C - blinking curson off |
liangzhen | 0:84a8bcfbdec9 | 19 | 0xFE, 0x4E - back space. |
liangzhen | 0:84a8bcfbdec9 | 20 | 0xFE, 0x51 - clear screen |
liangzhen | 0:84a8bcfbdec9 | 21 | 0xFE, 0x52 - set contrast (1-50) |
liangzhen | 0:84a8bcfbdec9 | 22 | 0xFE, 0x53 - set backlight brightness (1-16) |
liangzhen | 0:84a8bcfbdec9 | 23 | 0xFE, 0x54 - load custom characters |
liangzhen | 0:84a8bcfbdec9 | 24 | |
liangzhen | 0:84a8bcfbdec9 | 25 | 0xFE, 0x55 - move screen left 1 space |
liangzhen | 0:84a8bcfbdec9 | 26 | 0xFE, 0x56 - move screen right 1 space |
liangzhen | 0:84a8bcfbdec9 | 27 | |
liangzhen | 0:84a8bcfbdec9 | 28 | 0xFE, 0x61 - change BAUD rate (1 - 8) |
liangzhen | 0:84a8bcfbdec9 | 29 | 0xFE, 0x62 - change I2C address (0-255) |
liangzhen | 0:84a8bcfbdec9 | 30 | 0xFE, 0x70 - display version number |
liangzhen | 0:84a8bcfbdec9 | 31 | 0xFE, 0x71 - display RS232 BAUD rate |
liangzhen | 0:84a8bcfbdec9 | 32 | 0xFE, 0x72 - display I2C address |
liangzhen | 0:84a8bcfbdec9 | 33 | 0xFE, 0xFE - send next byte to command register |
liangzhen | 0:84a8bcfbdec9 | 34 | ********************************************************************/ |
liangzhen | 0:84a8bcfbdec9 | 35 | #include "mbed.h" |
liangzhen | 0:84a8bcfbdec9 | 36 | #include "pinout.h" |
liangzhen | 0:84a8bcfbdec9 | 37 | |
liangzhen | 0:84a8bcfbdec9 | 38 | // I2C Addr Pin |
liangzhen | 0:84a8bcfbdec9 | 39 | #define LCDADDR 0x50 |
liangzhen | 0:84a8bcfbdec9 | 40 | |
liangzhen | 0:84a8bcfbdec9 | 41 | #define LINE1_BEGIN 0x00 |
liangzhen | 0:84a8bcfbdec9 | 42 | #define LINE2_BEGIN 0x40 |
liangzhen | 0:84a8bcfbdec9 | 43 | #define LINE3_BEGIN 0x14 |
liangzhen | 0:84a8bcfbdec9 | 44 | #define LINE4_BEGIN 0x54 |
liangzhen | 0:84a8bcfbdec9 | 45 | |
liangzhen | 0:84a8bcfbdec9 | 46 | #define LINE1_END 0x13 |
liangzhen | 0:84a8bcfbdec9 | 47 | #define LINE2_END 0x53 |
liangzhen | 0:84a8bcfbdec9 | 48 | #define LINE3_END 0x27 |
liangzhen | 0:84a8bcfbdec9 | 49 | #define LINE4_END 0x67 |
liangzhen | 0:84a8bcfbdec9 | 50 | |
liangzhen | 0:84a8bcfbdec9 | 51 | // proto type functions |
liangzhen | 0:84a8bcfbdec9 | 52 | void dual_printf(char* a); |
liangzhen | 0:84a8bcfbdec9 | 53 | void lcd_default(); |
liangzhen | 0:84a8bcfbdec9 | 54 | void lcd_clear(); |
liangzhen | 0:84a8bcfbdec9 | 55 | void lcd_home(); |
liangzhen | 0:84a8bcfbdec9 | 56 | void lcd_clear_line(unsigned int line); |
liangzhen | 0:84a8bcfbdec9 | 57 | void lcd_goto(unsigned int position); |
liangzhen | 0:84a8bcfbdec9 | 58 | void lcd_set_contrast(unsigned int level); |
liangzhen | 0:84a8bcfbdec9 | 59 | void lcd_backlight_level(unsigned int level); |
liangzhen | 0:84a8bcfbdec9 | 60 | void lcd_shift_right(); |
liangzhen | 0:84a8bcfbdec9 | 61 | void lcd_shift_left(); |
liangzhen | 0:84a8bcfbdec9 | 62 | void lcd_cursor_right(); |
liangzhen | 0:84a8bcfbdec9 | 63 | void lcd_cursor_left(); |
liangzhen | 0:84a8bcfbdec9 | 64 | void lcd_backspace(); |
liangzhen | 0:84a8bcfbdec9 | 65 | void lcd_cursor_blink(bool blink); |
liangzhen | 0:84a8bcfbdec9 | 66 | void lcd_printf(char* message); |