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

SG12864A.h

Committer:
y_notsu
Date:
2011-01-09
Revision:
0:d0cd5139479f

File content as of revision 0:d0cd5139479f:

//
// SG12864A Test Program
//
//

#ifndef SG12864A_H
#define SG12864A_H

#include "mbed.h"

#define DI p23
#define RW p22
#define E  p21
#define DB0 p20
#define DB1 p19
#define DB2 p14
#define DB3 p13
#define DB4 p12
#define DB5 p11
#define DB6 p10
#define DB7 p9
#define CS1 p17
#define CS2 p16
#define RST p15

#define ReflashRate 0.02


class SG12864A {
public:

    SG12864A();
    void lcd_Write(char cs, char code, char DIflag);
    char lcd_Read(char cs);
    char lcd_StatusRead(char cs);
    void lcd_Init(void);
    void lcd_Clear(char data);
    void lcd_Pixel(int Xpos, int Ypos, char On);     
    void lcd_Char(char line, char colum, int letter);
    void lcd_Char1(char line, char colum, int letter);
    void lcd_Str(char line, char colum, char *s);
    void lcd_Line(int x0, int y0, int x1, int y1);
    void lcd_Scroll(int delay);
    void lcd_Image(char *ptr);
    //void Delay200n(void);
    //void Delay1u(int time);
    //void Delay1m(int time);

private:
    DigitalOut  DI_OUT;
    DigitalOut  RW_OUT;
    DigitalOut  E_OUT;
    BusInOut      DB_OUT;
    //BusOut DB_OUT;
    DigitalOut  CS1_OUT;
    DigitalOut  CS2_OUT;
    DigitalOut  RST_OUT;
    Ticker      t;

    /** Displaying
     *  
     *  This function will be called by Ticker which set by this class' constructor. 
     *  It displays just one layer by single call. 
     */

   // void display( void );
    
};

#endif  // SG12864A