Wim Huiskamp / TextLCD
Dependents: Projeto_CCM_Maquinas_MotorPasso Projeto_CCM_Maquinas_MotorDC
main.cpp@1:ac48b187213c, 2010-05-27 (annotated)
- Committer:
- simon
- Date:
- Thu May 27 13:44:15 2010 +0000
- Revision:
- 1:ac48b187213c
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
simon | 1:ac48b187213c | 1 | // Write to all HD44780 TextLCD RAM locations, sford |
simon | 1:ac48b187213c | 2 | // |
simon | 1:ac48b187213c | 3 | // A quick hack to write to all the display RAM locations |
simon | 1:ac48b187213c | 4 | // in an HD44780 display, to identify which location maps |
simon | 1:ac48b187213c | 5 | // to which character. |
simon | 1:ac48b187213c | 6 | // |
simon | 1:ac48b187213c | 7 | // Instructions: |
simon | 1:ac48b187213c | 8 | // - Change TextLCD pinout as appropriate so it works |
simon | 1:ac48b187213c | 9 | // - Run, and it should fill the screen with characters |
simon | 1:ac48b187213c | 10 | // - Identify what characters are at the start of each row |
simon | 1:ac48b187213c | 11 | // |
simon | 1:ac48b187213c | 12 | // To determine what address each line starts at, you subtract the |
simon | 1:ac48b187213c | 13 | // ascii code for '0'(48) from the character at the start of each line |
simon | 1:ac48b187213c | 14 | // - see http://www.asciitable.com/ |
simon | 1:ac48b187213c | 15 | // |
simon | 1:ac48b187213c | 16 | // e.g. |
simon | 1:ac48b187213c | 17 | // +----------------+ |
simon | 1:ac48b187213c | 18 | // |0123456789:;<=>?| first char = '0' (48) |
simon | 1:ac48b187213c | 19 | // |XYZ.... | first char = 'X' (88) |
simon | 1:ac48b187213c | 20 | // +----------------+ |
simon | 1:ac48b187213c | 21 | // |
simon | 1:ac48b187213c | 22 | // So in this case, the RAM offsets are 0 and 40 |
simon | 1:ac48b187213c | 23 | |
simon | 1:ac48b187213c | 24 | #include "mbed.h" |
simon | 1:ac48b187213c | 25 | #include "TextLCD.h" |
simon | 1:ac48b187213c | 26 | DigitalOut zero(p11); |
simon | 1:ac48b187213c | 27 | TextLCD lcd(p10, p12, p15, p16, p29, p30, TextLCD::LCD16x2B); |
simon | 1:ac48b187213c | 28 | |
simon | 1:ac48b187213c | 29 | int main() { |
simon | 1:ac48b187213c | 30 | lcd.printf("hithere"); |
simon | 1:ac48b187213c | 31 | wait(1); |
simon | 1:ac48b187213c | 32 | lcd.putc('i'); |
simon | 1:ac48b187213c | 33 | wait(1); |
simon | 1:ac48b187213c | 34 | lcd.cls(); |
simon | 1:ac48b187213c | 35 | wait(1); |
simon | 1:ac48b187213c | 36 | lcd.locate(4, 1); |
simon | 1:ac48b187213c | 37 | wait(1); |
simon | 1:ac48b187213c | 38 | lcd.printf("jdlkjfksj"); |
simon | 1:ac48b187213c | 39 | for(int i=0; i<30; i++) { |
simon | 1:ac48b187213c | 40 | lcd.putc('A' + i); |
simon | 1:ac48b187213c | 41 | wait(0.3); |
simon | 1:ac48b187213c | 42 | } |
simon | 1:ac48b187213c | 43 | } |