-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathi2c_lcd_pc8574.h
53 lines (40 loc) · 1.26 KB
/
i2c_lcd_pc8574.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
/*
* i2c_lcd.h
*
* Created on: Nov 17, 2017
* Author: abel
*/
#include <avr/io.h>
#include "i2c.h"
#define LCD_SLAVE_ADDR 0x27
#define TRUE 1
#define FALSE 0
// Line addresses for LCDs which use
// the Hitachi HD44780U controller chip
#define LCD_PIC_LINE_1_ADDRESS 0x00
#define LCD_PIC_LINE_2_ADDRESS 0x40
#define LCD_PIC_LINE_3_ADDRESS 0x14
#define LCD_PIC_LINE_4_ADDRESS 0x54
//uint8_t LCD_BL_Status = 1; // 1 for POSITIVE control, 0 for NEGATIVE control
uint8_t pin_E;// = I2C_BYTE.2
uint8_t pin_RW;// = I2C_BYTE.1
uint8_t pin_RS;// = I2C_BYTE.0
uint8_t pin_D4;// = I2C_BYTE.4
uint8_t pin_D5;// = I2C_BYTE.5
uint8_t pin_D6;// = I2C_BYTE.6
uint8_t pin_D7;// = I2C_BYTE.7
uint8_t pin_BL;// = I2C_BYTE.3
void LCD_Init();
void LCD_Goto(uint8_t x, uint8_t y);
void LCD_Write_Char(char c);
void LCD_Write_String(const char *str);
void LCD_Write_Int(int32_t num);
void LCD_Write_Byte(uint8_t address, uint8_t n);
void LCD_Clear();
void LCD_Clear_Line(uint8_t line);
unsigned char bit_test(uint8_t nibble, uint8_t bit_num);
void Write_to_LCD(unsigned char data_to_write);
void LCD_BL(uint8_t status); // set blacklight
uint8_t _LCD_Build_Byte();
void _LCD_Write_Upper_Nibble(uint8_t u);
void _LCD_Write_Lower_Nibble(uint8_t l);