SG12864A

Dependents:   SG12864A_TestProgram

Committer:
shintamainjp
Date:
Mon Jul 19 12:43:25 2010 +0000
Revision:
0:238f2d048222
Child:
1:aacd73a4e7ee

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
shintamainjp 0:238f2d048222 1 /**
shintamainjp 0:238f2d048222 2 * SG12864A Graphics LCD module driver class (Version 0.0.1)
shintamainjp 0:238f2d048222 3 *
shintamainjp 0:238f2d048222 4 * Copyright (C) 2010 Shinichiro Nakamura (CuBeatSystems)
shintamainjp 0:238f2d048222 5 * http://shinta.main.jp/
shintamainjp 0:238f2d048222 6 */
shintamainjp 0:238f2d048222 7
shintamainjp 0:238f2d048222 8 #ifndef _SG12864A_H_
shintamainjp 0:238f2d048222 9 #define _SG12864A_H_
shintamainjp 0:238f2d048222 10
shintamainjp 0:238f2d048222 11 #include "mbed.h"
shintamainjp 0:238f2d048222 12
shintamainjp 0:238f2d048222 13 class SG12864A {
shintamainjp 0:238f2d048222 14 public:
shintamainjp 0:238f2d048222 15 SG12864A(
shintamainjp 0:238f2d048222 16 PinName di,
shintamainjp 0:238f2d048222 17 PinName rw,
shintamainjp 0:238f2d048222 18 PinName en,
shintamainjp 0:238f2d048222 19 PinName db0,
shintamainjp 0:238f2d048222 20 PinName db1,
shintamainjp 0:238f2d048222 21 PinName db2,
shintamainjp 0:238f2d048222 22 PinName db3,
shintamainjp 0:238f2d048222 23 PinName db4,
shintamainjp 0:238f2d048222 24 PinName db5,
shintamainjp 0:238f2d048222 25 PinName db6,
shintamainjp 0:238f2d048222 26 PinName db7,
shintamainjp 0:238f2d048222 27 PinName cs1,
shintamainjp 0:238f2d048222 28 PinName cs2,
shintamainjp 0:238f2d048222 29 PinName res);
shintamainjp 0:238f2d048222 30 ~SG12864A();
shintamainjp 0:238f2d048222 31 enum Target {
shintamainjp 0:238f2d048222 32 CS1,
shintamainjp 0:238f2d048222 33 CS2
shintamainjp 0:238f2d048222 34 };
shintamainjp 0:238f2d048222 35 void reset(void);
shintamainjp 0:238f2d048222 36 void clear(void);
shintamainjp 0:238f2d048222 37 void setDisplayOnOff(Target t, bool on);
shintamainjp 0:238f2d048222 38 void setDisplayStartLine(Target t, uint8_t displayStartLine);
shintamainjp 0:238f2d048222 39 void setPageAddress(Target t, uint8_t addr);
shintamainjp 0:238f2d048222 40 void setColumnAddress(Target t, uint8_t addr);
shintamainjp 0:238f2d048222 41 void readStatus(Target t, uint8_t *c);
shintamainjp 0:238f2d048222 42 void writeData(Target t, uint8_t c);
shintamainjp 0:238f2d048222 43 void readData(Target t, uint8_t *c);
shintamainjp 0:238f2d048222 44 private:
shintamainjp 0:238f2d048222 45 static const int PAGES = 8;
shintamainjp 0:238f2d048222 46 static const int COLUMNS = 64;
shintamainjp 0:238f2d048222 47 DigitalOut ioDI;
shintamainjp 0:238f2d048222 48 DigitalOut ioRW;
shintamainjp 0:238f2d048222 49 DigitalOut ioEN;
shintamainjp 0:238f2d048222 50 BusInOut ioDB;
shintamainjp 0:238f2d048222 51 DigitalOut ioCS1;
shintamainjp 0:238f2d048222 52 DigitalOut ioCS2;
shintamainjp 0:238f2d048222 53 DigitalOut ioRES;
shintamainjp 0:238f2d048222 54 enum Mode {
shintamainjp 0:238f2d048222 55 Data,
shintamainjp 0:238f2d048222 56 Instruction
shintamainjp 0:238f2d048222 57 };
shintamainjp 0:238f2d048222 58 void setDirectionToRead();
shintamainjp 0:238f2d048222 59 void setDirectionToWrite();
shintamainjp 0:238f2d048222 60 void write(Target t, Mode m, uint8_t c);
shintamainjp 0:238f2d048222 61 void read(Target t, Mode m, uint8_t *c);
shintamainjp 0:238f2d048222 62 void reset(bool b);
shintamainjp 0:238f2d048222 63 };
shintamainjp 0:238f2d048222 64
shintamainjp 0:238f2d048222 65 #endif