This shows you the differences between two versions of the page.
pm:prj2025:iotelea:ana_maria.ailiesei [2025/05/28 00:13] ana_maria.ailiesei [Software Design] |
pm:prj2025:iotelea:ana_maria.ailiesei [2025/05/28 00:35] (current) ana_maria.ailiesei [Bibliography and Sources] |
||
---|---|---|---|
Line 281: | Line 281: | ||
== Why those hex commands? == | == Why those hex commands? == | ||
- | 0x01 Clear Display, 0x02 Return Home, 0x06 Entry-Mode Set, 0x0C Display ON/OFF, 0x28 Function Set – their op-codes and bit-fields are listed in Table 6 “Instructions” of the datasheet. | + | 0x01 Clear Display, 0x02 Return Home, 0x06 Entry-Mode Set, 0x0C Display ON/OFF, 0x28 Function Set – their op-codes and bit-fields are listed in Table 6 "Instructions" of the datasheet. |
- | The Function Set constant 0x28 is 0010 1000b ⇒ DL = 0 (4-bit), N = 1 (2-line), F = 0 (5×8 font). You must send this after forcing the controller into 4-bit mode so it knows the final interface width. | + | The Function Set constant 0x28 is 0010 1000b => DL = 0 (4-bit), N = 1 (2-line), F = 0 (5x8 font). You must send this after forcing the controller into 4-bit mode so it knows the final interface width. |
== Power-up initialisation (Figure 24 flow) == | == Power-up initialisation (Figure 24 flow) == | ||
<code> | <code> | ||
- | 0x30 → 0x30 → 0x30 → 0x20 | + | 0x30 -> 0x30 -> 0x30 -> 0x20 |
</code> | </code> | ||
- | Send the “0x30 three times” handshake (still in 8-bit mode) and finally 0x20 to drop DL=0. This is the exact 4-bit initialisation sequence shown in Figure 24 “4-Bit Interface Initializing by Instruction” (under Initializing by Instruction). | + | Send the "0x30 three times" handshake (still in 8-bit mode) and finally 0x20 to drop DL=0. This is the exact 4-bit initialisation sequence shown in Figure 24 "4-Bit Interface Initializing by Instruction" (under Initializing by Instruction). |
== 4-bit write cycle (Figure 9) == | == 4-bit write cycle (Figure 9) == | ||
Line 298: | Line 298: | ||
| 1 | 1 | DR read | Fetch data from DDRAM/CGRAM via Data Register | | | 1 | 1 | DR read | Fetch data from DDRAM/CGRAM via Data Register | | ||
- | See Figure 9 “4-Bit Transfer Example” for the two Enable pulses per byte. | + | See Figure 9 "4-Bit Transfer Example" for the two Enable pulses per byte. |
== What the bit-flags in lcd_send_half() do == | == What the bit-flags in lcd_send_half() do == | ||
Line 347: | Line 347: | ||
<html> | <html> | ||
<iframe width="560" height="315" | <iframe width="560" height="315" | ||
- | src="https://www.youtube.com/embed/058uTZwySFo" | + | src="https://www.youtube.com/embed/1_WvuHkVgRU" |
title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen> | title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen> | ||
</iframe> | </iframe> | ||
Line 370: | Line 370: | ||
[[https://www.flipkart.com/tumtafa-best-quality-labyrinth-game-ball-in-a-maze-round-wooden-kids-adults-party-fun-games-board/p/itm10a21ca18e84c?pid=BDGGGSTBHPG2E3WZ |Ball maze photo]] | [[https://www.flipkart.com/tumtafa-best-quality-labyrinth-game-ball-in-a-maze-round-wooden-kids-adults-party-fun-games-board/p/itm10a21ca18e84c?pid=BDGGGSTBHPG2E3WZ |Ball maze photo]] | ||
+ | |||
+ | [[https://cdn.sparkfun.com/assets/9/5/f/7/b/HD44780.pdf | HD44780 Datasheet]] | ||