diff --git a/Projects/SerialToLCD/Lib/HD44780.c b/Projects/SerialToLCD/Lib/HD44780.c index d67dc6d408..7bf989d2cd 100644 --- a/Projects/SerialToLCD/Lib/HD44780.c +++ b/Projects/SerialToLCD/Lib/HD44780.c @@ -83,11 +83,11 @@ static void HD44780_WriteByte(const uint8_t c) static void HD44780_PowerUp4Bit(void) { - /* Wait for more than 40 ms after VCC rises to 2.7 V */ + /* Wait for more than 40 ms after VCC rises to 2.7 V */ _delay_ms(40); HD44780_WriteNibble(0x03); // FN_SET 8-bit - /* Wait for more than 4.1 ms */ + /* Wait for more than 4.1 ms */ _delay_ms(5); HD44780_WriteNibble(0x03); // FN_SET 8-bit @@ -95,12 +95,12 @@ static void HD44780_PowerUp4Bit(void) _delay_us(100); HD44780_WriteNibble(0x03); // FN_SET 8-bit - /* From now on we must allow 40us for each command */ + /* From now on we must allow 40us for each command */ _delay_us(50); HD44780_WriteNibble(0x02); // FN_SET 4-bit - /* The LCD is now in 4-bit mode so we can continue - using the 4-bit API */ + /* The LCD is now in 4-bit mode so we can continue + using the 4-bit API */ _delay_us(50); } diff --git a/Projects/SerialToLCD/Lib/HD44780.h b/Projects/SerialToLCD/Lib/HD44780.h index a800ae712d..680e69bcf6 100644 --- a/Projects/SerialToLCD/Lib/HD44780.h +++ b/Projects/SerialToLCD/Lib/HD44780.h @@ -43,16 +43,16 @@ #include /* Macros: */ - #define RS (0x10) // PD4 - #define ENABLE (0x80) // PD7 + #define RS (1 << 4) /* PD4 */ + #define ENABLE (1 << 7) /* PD7 */ - #define HI4_MASK (0xF0) - #define LO4_MASK (0x0F) // PD0..3 + #define HI4_MASK 0xF0 + #define LO4_MASK 0x0F /* PD0-PD3 */ - #define ALL_BITS (RS|ENABLE|LO4_MASK) + #define ALL_BITS (RS | ENABLE | LO4_MASK) - #define HI4( c ) (( c & HI4_MASK ) >> 4 ) - #define LO4( c ) (( c & LO4_MASK ) >> 0 ) + #define HI4(c) ((c & HI4_MASK) >> 4) + #define LO4(c) ((c & LO4_MASK) >> 0) #define CMD_DISPLAY_ON 0x0C diff --git a/Projects/SerialToLCD/SerialToLCD.c b/Projects/SerialToLCD/SerialToLCD.c index 7a289270b4..59522b3518 100644 --- a/Projects/SerialToLCD/SerialToLCD.c +++ b/Projects/SerialToLCD/SerialToLCD.c @@ -33,31 +33,6 @@ * * Main source file for the SerialToLCD program. This file contains the main tasks of * the project and is responsible for the initial application hardware configuration. - * - * \section Hardware Information - * - * LCD Datasheet: See http://www.sparkfun.com/datasheets/LCD/HD44780.pdf - * - * Also see the two articles from EPE which are linked from here: - * http://en.wikipedia.org/wiki/HD44780_Character_LCD - * - * Connections from the Minimus to the HD44780 as shown below. - * - * ========================================================= \n - * Minimus HD44780 Pin \n - * ========================================================= \n - * PD0 DB4 11 \n - * PD1 DB5 12 \n - * PD2 DB6 13 \n - * PD3 DB7 14 \n - * \n - * PD4 RS 4 \n - * RW 5 GND \n - * PD7 EN 6 \n - * \n - * 1 GND \n - * 2 USB +5V \n - * 3 2k -> GND \n */ #include "SerialToLCD.h" diff --git a/Projects/SerialToLCD/SerialToLCD.txt b/Projects/SerialToLCD/SerialToLCD.txt index 8bf2102a48..84237b45f8 100644 --- a/Projects/SerialToLCD/SerialToLCD.txt +++ b/Projects/SerialToLCD/SerialToLCD.txt @@ -47,5 +47,51 @@ * designed to use the Minimum USB AVR board, however it can be modified to suit other hardware * if desired. * - * See comments in the SerialToLCD.c source file for hardware pinouts of the Minimus board. + * LCD Datasheet: http://www.sparkfun.com/datasheets/LCD/HD44780.pdf \n + * More Information: http://en.wikipedia.org/wiki/HD44780_Character_LCD \n + * + * Below are the connections between the AVR Minimus board and LCD. + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
AVR Pin:HD44780 LCD Pin:
VCCVCC
GNDGND
PD0DB4
PD1DB5
PD2DB6
PD3DB7
PD4/RS
GND/RW
PD7/E
*/