heptagon-arduino/lcd_hept/arduinolib.h

60 lines
1.4 KiB
C
Raw Normal View History

2020-12-14 20:22:04 +01:00
#include "arduinolib_types.h"
2020-12-27 12:40:42 +01:00
/* LCD with 4 bit mode for an ATMEGA32P processor
_ LCD _ _ ATMEGA32P (arduino)_
1 VSS -> GND
2 VDD -> +5V
3 V0 -> Potentiometer
4 RS -> PortB4 (Pin 12 arduino)
5 RW -> GND
6 E -> PortB3 (Pin 11 arduino)
(7 - 10) -> ...
11 D4 -> PortD5 (Pin 5 arduino)
12 D5 -> PortD4 (Pin 4 arduino)
13 D6 -> PortD3 (Pin 3 arduino)
14 D7 -> PortD2 (Pin 2 arduino)
15 A -> +5v with resistor
16 K -> GND
*/
// LCD display size
#define LCD_START_LINE1 0x00
#define LCD_START_LINE2 0x40
// LCD ports/pins/ddr
#define LCD_RS_PORT PORTB
#define LCD_RS_PIN 4
#define LCD_RS_DDR DDRB
#define LCD_E_PORT PORTB
#define LCD_E_PIN 3
#define LCD_E_DDR DDRB
#define LCD_D4_PORT PORTD
#define LCD_D4_PIN 5
#define LCD_D4_DDR DDRD
#define LCD_D5_PORT PORTD
#define LCD_D5_PIN 4
#define LCD_D5_DDR DDRD
#define LCD_D6_PORT PORTD
#define LCD_D6_PIN 3
#define LCD_D6_DDR DDRD
#define LCD_D7_PORT PORTD
#define LCD_D7_PIN 2
#define LCD_D7_DDR DDRD
//LCD instructions (see LCD-1602A datasheet)
#define LCD_CLEAR 0b00000001
#define LCD_HOME 0b00000010
#define LCD_ENTRY_MODE 0b00000110
#define LCD_DISPLAY_ON 0b00001100
#define LCD_DISPLAY_OFF 0b00001000
#define LCD_CURSOR_SET 0b10000000
#define LCD_FUNCTION_SET_8bit 0b00110000
#define LCD_FUNCTION_SET_4bit 0b00101000