-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
44 lines (32 loc) · 1.83 KB
/
README
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
I`m creating some libraries helpful to use while programming AVR uC.
At work:
-LED_4x4_DISP (with shift register, hope it`s gonna work somehow :D)
Already done:
-LCD_DISP{ lib for hd44780 LCD display (I`m proud of this one), 4-bit interface
This library allows you to properly initialize the display and get it working.
Functionality:
write_byte(uint8_t); - write a byte to the display
function calls write_half(uint8_t); twice to send one byte
read_byte(void); - read a byte from the display`s memory
(DDRAM or CGRAM, you have to locate it before read),
function calls read_half(void); twice to read one byte from memory
locate_ddram(uint8_t, uint8_t); - change location of actual cursor`s position
in ddram. Each for read or write.
locate_cgram(uint8_t); - change location of actual cursor`s position in cgram
(helpful when defining your own patterns)
write_to_cgram(uint8_t, const uint8_t*, uint8_t); - write your own pattern to cgram
void write_data_byte(char); - write a single char to dd/cgram
void write_string(char*); - write whole string to ddram
uint8_t busy_flag(void); - get busy flag value
uint8_t read_data(void); - read and return byte of data
void write_instruction(uint8_t); - send command to the display
}
-LED_4x4_DISP{ common anode LED display
In this simple library, I`m using 8-bit timer/counter to generate interrupts with certain frequency
(didn`t calculate it, value at a guess).
When the interrupt occurs, the variable that holds the actual anode set to 1 is shifted to the left,
anode is set to 0 (it`s no longer active), and the next one in a row is set to 1.
Before this procedure, the value of kathode port register is properly set to display desired value.
Each segment is able to display val in range from 0 to 9 in decimal.
Some day I`m gonna make displaying hex vals possible.
}