Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
ctboard:peripherals:lcd_ascii [2016/02/25 13:31] – created feur | ctboard:peripherals:lcd_ascii [2022/12/23 12:20] (current) – ruan | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== LCD ASCII Interface ====== | ====== LCD ASCII Interface ====== | ||
- | The integrated | + | Every position on the LCD corresponds to an address. See below for the relation. |
- | > {{ctboard: | + | > {{ctboard: |
- | > Supported [[ctboard: | + | > Supported [[ctboard: |
\\ | \\ | ||
+ | |||
+ | ===== Registers ===== | ||
+ | |||
+ | The registers are write only. | ||
+ | |||
+ | \\ {{ctboard_lcd_ascii_reg_new.svg}} \\ \\ | ||
+ | |||
+ | ===== Display Positions ===== | ||
+ | |||
+ | \\ {{ctboard_lcd_ascii_new.svg? | ||
+ | |||
+ | Base address: 0x6000' | ||
===== Programming Example ===== | ===== Programming Example ===== | ||
- | The code snippet bellow | + | The code snippets below shows how to use the ASCII interface of the LCD. |
<code c> | <code c> | ||
#include " | #include " | ||
+ | const char text[] = " | ||
- | CT_LCD-> | + | CT_LCD-> |
+ | CT_LCD-> | ||
</ | </ | ||
\\ | \\ | ||
<code asm> | <code asm> | ||
- | ADDR_LCD_ASCII | + | ADDR_LCD_ASCII |
LDR r0, =ADDR_LCD_ASCII | LDR r0, =ADDR_LCD_ASCII | ||
- | LDR r1, #13 ; Load position on display into r1. | + | LDR r1, =" |
- | LDR r2, " | + | |
- | + | ||
- | | + | |
- | LSLS r1, #8 ; Shift position 8 bits to the left | + | |
- | ORRS r2, r1 ; Combine position with ASCII character | + | |
- | + | ||
- | ; ARM instruction set | + | |
- | ORRS r2, r1, LSL #8 ; Shift and combine position value with ASCII character | + | |
- | + | ||
- | STRH r2, [r0, #0] | + | |
</ | </ | ||
\\ | \\ | ||
- | ===== Registers ===== | ||
- | |||
- | The Registers are read / write. | ||
- | |||
- | \\ {{ctboard_lcd_ascii_reg.svg}} \\ \\ | ||
- | |||
- | ===== Display Positions ===== | ||
- | |||
- | \\ {{ctboard_lcd_ascii.svg? |