This program is for SG12864A(128 x 64 mono-LCD display) with Starboard Orange. Many of source code is referred from below website(in Japanese). (http://www.picfun.com/PIC24H/app24H01.html) Connection between SG12864A and mbed: (these connection are defined in SG12864A.h) pin1(VSS) pin2(VDD) : 5V pin3(V0) : pin4(DI) : p23 pin5(RW): p22 pin6(E): p21 pin7(DB0):p20 pin8(DB1):p19 pin9(DB2):p14 pin10(DB3):p13 pin11(DB4):p12 pin12(DB5):p11 pin13(DB6):p10 pin14(DB7):p9 pin15(CS1):p17 pin16(CS2):p16 pin17(RST):p15 pin18:VOUT pin19:LED Anode pin20:LED Cathode Note: lcd_Line function is not correct(maybe)... Other function is correctly working.
SG12864A.h@0:d0cd5139479f, 2011-01-09 (annotated)
- Committer:
- y_notsu
- Date:
- Sun Jan 09 11:44:15 2011 +0000
- Revision:
- 0:d0cd5139479f
0.1(first release)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
y_notsu | 0:d0cd5139479f | 1 | // |
y_notsu | 0:d0cd5139479f | 2 | // SG12864A Test Program |
y_notsu | 0:d0cd5139479f | 3 | // |
y_notsu | 0:d0cd5139479f | 4 | // |
y_notsu | 0:d0cd5139479f | 5 | |
y_notsu | 0:d0cd5139479f | 6 | #ifndef SG12864A_H |
y_notsu | 0:d0cd5139479f | 7 | #define SG12864A_H |
y_notsu | 0:d0cd5139479f | 8 | |
y_notsu | 0:d0cd5139479f | 9 | #include "mbed.h" |
y_notsu | 0:d0cd5139479f | 10 | |
y_notsu | 0:d0cd5139479f | 11 | #define DI p23 |
y_notsu | 0:d0cd5139479f | 12 | #define RW p22 |
y_notsu | 0:d0cd5139479f | 13 | #define E p21 |
y_notsu | 0:d0cd5139479f | 14 | #define DB0 p20 |
y_notsu | 0:d0cd5139479f | 15 | #define DB1 p19 |
y_notsu | 0:d0cd5139479f | 16 | #define DB2 p14 |
y_notsu | 0:d0cd5139479f | 17 | #define DB3 p13 |
y_notsu | 0:d0cd5139479f | 18 | #define DB4 p12 |
y_notsu | 0:d0cd5139479f | 19 | #define DB5 p11 |
y_notsu | 0:d0cd5139479f | 20 | #define DB6 p10 |
y_notsu | 0:d0cd5139479f | 21 | #define DB7 p9 |
y_notsu | 0:d0cd5139479f | 22 | #define CS1 p17 |
y_notsu | 0:d0cd5139479f | 23 | #define CS2 p16 |
y_notsu | 0:d0cd5139479f | 24 | #define RST p15 |
y_notsu | 0:d0cd5139479f | 25 | |
y_notsu | 0:d0cd5139479f | 26 | #define ReflashRate 0.02 |
y_notsu | 0:d0cd5139479f | 27 | |
y_notsu | 0:d0cd5139479f | 28 | |
y_notsu | 0:d0cd5139479f | 29 | class SG12864A { |
y_notsu | 0:d0cd5139479f | 30 | public: |
y_notsu | 0:d0cd5139479f | 31 | |
y_notsu | 0:d0cd5139479f | 32 | SG12864A(); |
y_notsu | 0:d0cd5139479f | 33 | void lcd_Write(char cs, char code, char DIflag); |
y_notsu | 0:d0cd5139479f | 34 | char lcd_Read(char cs); |
y_notsu | 0:d0cd5139479f | 35 | char lcd_StatusRead(char cs); |
y_notsu | 0:d0cd5139479f | 36 | void lcd_Init(void); |
y_notsu | 0:d0cd5139479f | 37 | void lcd_Clear(char data); |
y_notsu | 0:d0cd5139479f | 38 | void lcd_Pixel(int Xpos, int Ypos, char On); |
y_notsu | 0:d0cd5139479f | 39 | void lcd_Char(char line, char colum, int letter); |
y_notsu | 0:d0cd5139479f | 40 | void lcd_Char1(char line, char colum, int letter); |
y_notsu | 0:d0cd5139479f | 41 | void lcd_Str(char line, char colum, char *s); |
y_notsu | 0:d0cd5139479f | 42 | void lcd_Line(int x0, int y0, int x1, int y1); |
y_notsu | 0:d0cd5139479f | 43 | void lcd_Scroll(int delay); |
y_notsu | 0:d0cd5139479f | 44 | void lcd_Image(char *ptr); |
y_notsu | 0:d0cd5139479f | 45 | //void Delay200n(void); |
y_notsu | 0:d0cd5139479f | 46 | //void Delay1u(int time); |
y_notsu | 0:d0cd5139479f | 47 | //void Delay1m(int time); |
y_notsu | 0:d0cd5139479f | 48 | |
y_notsu | 0:d0cd5139479f | 49 | private: |
y_notsu | 0:d0cd5139479f | 50 | DigitalOut DI_OUT; |
y_notsu | 0:d0cd5139479f | 51 | DigitalOut RW_OUT; |
y_notsu | 0:d0cd5139479f | 52 | DigitalOut E_OUT; |
y_notsu | 0:d0cd5139479f | 53 | BusInOut DB_OUT; |
y_notsu | 0:d0cd5139479f | 54 | //BusOut DB_OUT; |
y_notsu | 0:d0cd5139479f | 55 | DigitalOut CS1_OUT; |
y_notsu | 0:d0cd5139479f | 56 | DigitalOut CS2_OUT; |
y_notsu | 0:d0cd5139479f | 57 | DigitalOut RST_OUT; |
y_notsu | 0:d0cd5139479f | 58 | Ticker t; |
y_notsu | 0:d0cd5139479f | 59 | |
y_notsu | 0:d0cd5139479f | 60 | /** Displaying |
y_notsu | 0:d0cd5139479f | 61 | * |
y_notsu | 0:d0cd5139479f | 62 | * This function will be called by Ticker which set by this class' constructor. |
y_notsu | 0:d0cd5139479f | 63 | * It displays just one layer by single call. |
y_notsu | 0:d0cd5139479f | 64 | */ |
y_notsu | 0:d0cd5139479f | 65 | |
y_notsu | 0:d0cd5139479f | 66 | // void display( void ); |
y_notsu | 0:d0cd5139479f | 67 | |
y_notsu | 0:d0cd5139479f | 68 | }; |
y_notsu | 0:d0cd5139479f | 69 | |
y_notsu | 0:d0cd5139479f | 70 | #endif // SG12864A |
y_notsu | 0:d0cd5139479f | 71 | |
y_notsu | 0:d0cd5139479f | 72 | |
y_notsu | 0:d0cd5139479f | 73 | |
y_notsu | 0:d0cd5139479f | 74 | |
y_notsu | 0:d0cd5139479f | 75 |