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.

Dependencies:   mbed

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?

UserRevisionLine numberNew 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