TivaC Lcd Driver for 1602A LCD controller
A c++ driver for interfacing the TivaC with the 1602A LCD controller
Main Page
Namespaces
Classes
Files
File List
File Members
src
lcd_include.hpp
Go to the documentation of this file.
1
10
#ifndef _LCD_INCLUDE_HPP
11
#define _LCD_INCLUDE_HPP
12
13
#define MAX_LCD_X 15
14
#define MAX_LCD_Y 1
15
16
/* Timing Variable */
17
18
#define COM_TIME_SCALER \
19
7000
20
22
// waiting phase time
23
#define LCD_WARM_UP_TIME_NANOSEC 49000000
24
#define LCD_FIRST_INIT_TIME_NANOSEC 4500000
25
#define LCD_SECOND_INIT_TIME_NANOSEC 150000
26
27
// data cycle time
28
#define LCD_PULSE_WIDTH_NANOSEC 200 * COM_TIME_SCALER
29
#define LCD_MIN_CYCLE_TIME_NANOSEC \
30
410 * COM_TIME_SCALER
31
32
// setup and hold time
33
// for writing
34
#define LCD_DATA_SETUP_TIME_NANOSEC \
35
45 * COM_TIME_SCALER
36
#define LCD_DATA_HOLD_TIME_NANOSEC \
37
15 * COM_TIME_SCALER
38
39
// for address based
40
#define LCD_ADDR_SETUP_TIME_NANOSEC \
41
35 * COM_TIME_SCALER
42
44
#define LCD_ADDR_HOLD_TIME_NANOSEC \
45
15 * COM_TIME_SCALER
46
48
#define TIVA_MAX_RISE_TIME 13
49
#define TIVA_MAX_FALSE_TIME \
50
14
51
52
55
#define LCD_DATA_WRITE_WAIT_NANOSEC \
56
TIVA_MAX_RISE_TIME + LCD_PULSE_WIDTH_NANOSEC - (LCD_DATA_SETUP_TIME_NANOSEC)
57
58
#define LCD_DATA_READ_DELAY_NANOSEC \
59
800
60
61
#define LCD_STARTUP_COMMAND 0b110000
62
#define LCD_BEGIN_COMMAND \
63
0b100000
64
#define LCD_CLEAR_COMMAND 0b1
65
#define LCD_RETURN_HOME_COMMAND 0b10
66
#define LCD_JUMP_LINE_COMMAND 0xc0
67
68
#define LCD_BUSY_BIT 7
69
#define LCD_ADDR_COUNTER_MASK \
70
0x7f
71
72
#define LCD_MEMUSED_PER_x8_CHAR 8
73
74
#endif
Generated by
1.8.11