18 Ekim 2021, 08:22:08

Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME


SSD1306

Başlatan Zek_De, 06 Eylül 2018, 20:44:10

Zek_De

06 Eylül 2018, 20:44:10 Son düzenlenme: 09 Eylül 2018, 13:58:32 gevv
Arkadaşlar merhabalar,
SSD1306 ile iltişim kurmak istiyorum, denediğim kütüphaneler şunlar

-->https://github.com/vadzimyatskevich/STM32F103_SSD1306/tree/master/Inc
-->https://github.com/afiskon/stm32-ssd1306

Cihazı arduino ile denediğimde çalışıyor.LCD üzerindeki pinler şöyledir --> GND-VCC-DI-DO-RES-DC

arduino ile denediğim kodlar ise şunlar.Öneriniz nedir.

Kullandığım kütüphanelerde DI için MOSI DO için Clock  ve CS pin LCD 'de yok sürekli aktif.DC ile iş bitiyor.

-->


/*  OLED          arduino
    D0-----------10
    D1-----------9
    RST----------13
    DC-----------11
    VCC----------5V
    GND----------GND*/
int SCL_PIN=10;//D0
int SDA_PIN=9//D1
int RST_PIN=13;//RST
int DC_PIN=11//DC

void LED_CLS(void);
void LED_Set_Pos(unsigned char x,unsigned char y);//Set the coordinate
void LED_WrDat(unsigned char data);  //Write Data
void LED_P6x8Char(unsigned char x,unsigned char y,unsigned char ch);
void LED_P6x8Str(unsigned char x,unsigned char y,unsigned char ch[]);
void LED_P8x16Str(unsigned char x,unsigned char y,unsigned char ch[]);

void LED_PrintBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char bmp[]); 
void LED_Fill(unsigned char dat);
void LED_PrintValueC(unsigned char xunsigned char y,char data);
void LED_PrintValueI(unsigned char xunsigned char yint data);
void LED_PrintValueF(unsigned char xunsigned char yfloat dataunsigned char num);
void LED_PrintEdge(void);
void LED_Cursor(unsigned char cursor_columnunsigned char cursor_row);
void LED_PrintLine(void);






const 
unsigned char F6x8[][6] =
{
0x000x000x000x000x000x00 },  // sp
0x000x000x000x2f0x000x00 },  // !
0x000x000x070x000x070x00 },  // "
0x000x140x7f0x140x7f0x14 },  // #
0x000x240x2a0x7f0x2a0x12 },  // $
0x000x620x640x080x130x23 },  // %
0x000x360x490x550x220x50 },  // &
0x000x000x050x030x000x00 },  // '
0x000x000x1c0x220x410x00 },  // (
0x000x000x410x220x1c0x00 },  // )
0x000x140x080x3E0x080x14 },  // *
0x000x080x080x3E0x080x08 },  // +
0x000x000x000xA00x600x00 },  // ,
0x000x080x080x080x080x08 },  // -
0x000x000x600x600x000x00 },  // .
0x000x200x100x080x040x02 },  // /
0x000x3E0x510x490x450x3E },  // 0
0x000x000x420x7F0x400x00 },  // 1
0x000x420x610x510x490x46 },  // 2
0x000x210x410x450x4B0x31 },  // 3
0x000x180x140x120x7F0x10 },  // 4
0x000x270x450x450x450x39 },  // 5
0x000x3C0x4A0x490x490x30 },  // 6
0x000x010x710x090x050x03 },  // 7
0x000x360x490x490x490x36 },  // 8
0x000x060x490x490x290x1E },  // 9
0x000x000x360x360x000x00 },  // :
0x000x000x560x360x000x00 },  // ;
0x000x080x140x220x410x00 },  // <
0x000x140x140x140x140x14 },  // =
0x000x000x410x220x140x08 },  // >
0x000x020x010x510x090x06 },  // ?
0x000x320x490x590x510x3E },  // @
0x000x7C0x120x110x120x7C },  // A
0x000x7F0x490x490x490x36 },  // B
0x000x3E0x410x410x410x22 },  // C
0x000x7F0x410x410x220x1C },  // D
0x000x7F0x490x490x490x41 },  // E
0x000x7F0x090x090x090x01 },  // F
0x000x3E0x410x490x490x7A },  // G
0x000x7F0x080x080x080x7F },  // H
0x000x000x410x7F0x410x00 },  // I
0x000x200x400x410x3F0x01 },  // J
0x000x7F0x080x140x220x41 },  // K
0x000x7F0x400x400x400x40 },  // L
0x000x7F0x020x0C0x020x7F },  // M
0x000x7F0x040x080x100x7F },  // N
0x000x3E0x410x410x410x3E },  // O
0x000x7F0x090x090x090x06 },  // P
0x000x3E0x410x510x210x5E },  // Q
0x000x7F0x090x190x290x46 },  // R
0x000x460x490x490x490x31 },  // S
0x000x010x010x7F0x010x01 },  // T
0x000x3F0x400x400x400x3F },  // U
0x000x1F0x200x400x200x1F },  // V
0x000x3F0x400x380x400x3F },  // W
0x000x630x140x080x140x63 },  // X
0x000x070x080x700x080x07 },  // Y
0x000x610x510x490x450x43 },  // Z
0x000x000x7F0x410x410x00 },  // [ 91
 
0x000x020x04 ,0x080x100x20 },    // \92
 
0x000x000x410x410x7F0x00 },  // ]
0x000x040x020x010x020x04 },  // ^
0x000x400x400x400x400x40 },  // _
0x000x000x010x020x040x00 },  // '
0x000x200x540x540x540x78 },  // a
0x000x7F0x480x440x440x38 },  // b
0x000x380x440x440x440x20 },  // c
0x000x380x440x440x480x7F },  // d
0x000x380x540x540x540x18 },  // e
0x000x080x7E0x090x010x02 },  // f
0x000x180xA40xA40xA40x7C },  // g
0x000x7F0x080x040x040x78 },  // h
0x000x000x440x7D0x400x00 },  // i
0x000x400x800x840x7D0x00 },  // j
0x000x7F0x100x280x440x00 },  // k
0x000x000x410x7F0x400x00 },  // l
0x000x7C0x040x180x040x78 },  // m
0x000x7C0x080x040x040x78 },  // n
0x000x380x440x440x440x38 },  // o
0x000xFC0x240x240x240x18 },  // p
0x000x180x240x240x180xFC },  // q
0x000x7C0x080x040x040x08 },  // r
0x000x480x540x540x540x20 },  // s
0x000x040x3F0x440x400x20 },  // t
0x000x3C0x400x400x200x7C },  // u
0x000x1C0x200x400x200x1C },  // v
0x000x3C0x400x300x400x3C },  // w
0x000x440x280x100x280x44 },  // x
0x000x1C0xA00xA00xA00x7C },  // y
0x000x440x640x540x4C0x44 },  // z
0x140x140x140x140x140x14 }    // horiz lines
};








const 
unsigned char F8X16[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//!1
0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//"2
0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//#3
0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$4
0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//%5
0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//&6
0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//'7
0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//(8
0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//)9
0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//*10
0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+11
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//,12
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//-13
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//.14
0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,///15
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//016
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//117
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//218
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//319
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//420
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//521
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//622
0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//723
0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//824
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//925
0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//:26
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//;27
0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//<28
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//=29
0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//>30
0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//?31
0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@32
0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A33
0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B34
0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C35
0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D36
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E37
0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F38
0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G39
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H40
0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I41
0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J42
0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K43
0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L44
0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M45
0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N46
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O47
0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P48
0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q49
0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R50
0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S51
0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T52
0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U53
0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V54
0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W55
0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X56
0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y57
0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z58
0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[59
 
0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\60
 
0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//]61
0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^62
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_63
0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//`64
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a65
0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b66
0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c67
0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d68
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e69
0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f70
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g71
0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h72
0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i73
0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j74
0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k75
0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l76
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m77
0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n78
0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o79
0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p80
0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q81
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r82
0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s83
0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t84
0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//unsigned char5
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v86
0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w87
0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x88
0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y89
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z90
0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{91
0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//|92
0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//}93
0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~94

};



void LEDPIN_Init(void)    
{
/* LED_SCL_Init;
  LED_SDA_Init;
  LED_RST_Init;
  LED_DC_Init;*/
  
pinMode(SCL_PIN,OUTPUT);
  
pinMode(SDA_PIN,OUTPUT);
  
pinMode(RST_PIN,OUTPUT);
  
pinMode(DC_PIN,OUTPUT);
}
void LED_WrDat(unsigned char data)  
{
unsigned char i 8;
//LED_CS=0;
//LED_DCH;;;
        
digitalWrite(DC_PIN,HIGH);
//LED_SCLL;;; 
        
digitalWrite(SCL_PIN,LOW);
while (
i--)
{
if (
data 0x80)
{
digitalWrite(SDA_PIN,HIGH);;;;
}
else
{
digitalWrite(SDA_PIN,LOW);;;
}
//LED_SCLH;;; 
                
digitalWrite(SCL_PIN,HIGH);;;
asm("nop");;;    
//LED_SCLL;;;
                
digitalWrite(SCL_PIN,LOW);
data <<= 1;    
}
//LED_CS=1;
}
void LED_WrCmd(unsigned char cmd
{
unsigned char i 8;
//LED_CS = 0;
//LED_DCL;;;
        
digitalWrite(DC_PIN,LOW);;;
//LED_SCLL;;;
digitalWrite(SCL_PIN,LOW);;;
        while (
i--)
{
if (
cmd 0x80)
{
//LED_SDAH;;;
                      
digitalWrite(SDA_PIN,HIGH);;;
}
else
{
//LED_SDAL;;;
                      
digitalWrite(SDA_PIN,LOW);;;
}
//LED_SCLH;;;
digitalWrite(SCL_PIN,HIGH);;;
                
asm("nop");;;          
//LED_SCLL;;;
                
digitalWrite(SCL_PIN,LOW);;;
cmd <<= 1;  

//LED_CS = 1;
}
void LED_Set_Pos(unsigned char xunsigned char y)

LED_WrCmd(0xb0+y);
LED_WrCmd(((x&0xf0)>>4)|0x10);
LED_WrCmd((x&0x0f)|0x00); 



void LED_Fill(unsigned char bmp_data)
{
unsigned char y,x;

for(
y=0;y<8;y++)
{
LED_WrCmd(0xb0+y);  
LED_WrCmd(0x00);    
LED_WrCmd(0x10);     
for(
x=0;x<128;x++)
LED_WrDat(bmp_data);
}




void LED_CLS(void
{
unsigned char y,x
for(
y=0;y<8;y++)
{
LED_WrCmd(0xb0+y);
LED_WrCmd(0x00);
LED_WrCmd(0x10); 
for(
x=0;x<128;x++)
LED_WrDat(0);
}
}

void LED_DLY_ms(unsigned int ms)
{                        
  
unsigned int a;
  while(
ms)
  {
    
a=6675;
    while(
a--);
    
ms--;
  }
  return;
//  time_delay_ms(ms);
}

void SetStartColumn(unsigned char d)
{
LED_WrCmd(0x00+d%16); // Set Lower Column Start Address for Page Addressing Mode
// Default => 0x00
LED_WrCmd(0x10+d/16); // Set Higher Column Start Address for Page Addressing Mode
// Default => 0x10
}

void SetAddressingMode(unsigned char d)
{
LED_WrCmd(0x20); // Set Memory Addressing Mode
LED_WrCmd(d); // Default => 0x02
// 0x00 => Horizontal Addressing Mode
// 0x01 => Vertical Addressing Mode
// 0x02 => Page Addressing Mode
}

void SetColumnAddress(unsigned char aunsigned char b)
{
LED_WrCmd(0x21); // Set Column Address
LED_WrCmd(a); // Default => 0x00 (Column Start Address)
LED_WrCmd(b); // Default => 0x7F (Column End Address)
}

void SetPageAddress(unsigned char aunsigned char b)
{
LED_WrCmd(0x22); // Set Page Address
LED_WrCmd(a); // Default => 0x00 (Page Start Address)
LED_WrCmd(b); // Default => 0x07 (Page End Address)
}

void SetStartLine(unsigned char d)
{
LED_WrCmd(0x40|d); // Set Display Start Line
// Default => 0x40 (0x00)
}

void SetContrastControl(unsigned char d)
{
LED_WrCmd(0x81); // Set Contrast Control
LED_WrCmd(d); // Default => 0x7F
}

void Set_Charge_Pump(unsigned char d)
{
LED_WrCmd(0x8D); // Set Charge Pump
LED_WrCmd(0x10|d); // Default => 0x10
// 0x10 (0x00) => Disable Charge Pump
// 0x14 (0x04) => Enable Charge Pump
}

void Set_Segment_Remap(unsigned char d)
{
LED_WrCmd(0xA0|d); // Set Segment Re-Map
// Default => 0xA0
// 0xA0 (0x00) => Column Address 0 Mapped to SEG0
// 0xA1 (0x01) => Column Address 0 Mapped to SEG127
}

void Set_Entire_Display(unsigned char d)
{
LED_WrCmd(0xA4|d); // Set Entire Display On / Off
// Default => 0xA4
// 0xA4 (0x00) => Normal Display
// 0xA5 (0x01) => Entire Display On
}

void Set_Inverse_Display(unsigned char d)
{
LED_WrCmd(0xA6|d); // Set Inverse Display On/Off
// Default => 0xA6
// 0xA6 (0x00) => Normal Display
// 0xA7 (0x01) => Inverse Display On
}

void Set_Multiplex_Ratio(unsigned char d)
{
LED_WrCmd(0xA8); // Set Multiplex Ratio
LED_WrCmd(d); // Default => 0x3F (1/64 Duty)
}

void Set_Display_On_Off(unsigned char d)
{
LED_WrCmd(0xAE|d); // Set Display On/Off
// Default => 0xAE
// 0xAE (0x00) => Display Off
// 0xAF (0x01) => Display On
}

void SetStartPage(unsigned char d)
{
LED_WrCmd(0xB0|d); // Set Page Start Address for Page Addressing Mode
// Default => 0xB0 (0x00)
}

void Set_Common_Remap(unsigned char d)
{
LED_WrCmd(0xC0|d); // Set COM Output Scan Direction
// Default => 0xC0
// 0xC0 (0x00) => Scan from COM0 to 63
// 0xC8 (0x08) => Scan from COM63 to 0
}

void Set_Display_Offset(unsigned char d)
{
LED_WrCmd(0xD3); // Set Display Offset
LED_WrCmd(d); // Default => 0x00
}

void Set_Display_Clock(unsigned char d)
{
LED_WrCmd(0xD5); // Set Display Clock Divide Ratio / Oscillator Frequency
LED_WrCmd(d); // Default => 0x80
// D[3:0] => Display Clock Divider
// D[7:4] => Oscillator Frequency
}

void Set_Precharge_Period(unsigned char d)
{
LED_WrCmd(0xD9); // Set Pre-Charge Period
LED_WrCmd(d); // Default => 0x22 (2 Display Clocks [Phase 2] / 2 Display Clocks [Phase 1])
// D[3:0] => Phase 1 Period in 1~15 Display Clocks
// D[7:4] => Phase 2 Period in 1~15 Display Clocks
}

void Set_Common_Config(unsigned char d)
{
LED_WrCmd(0xDA); // Set COM Pins Hardware Configuration
LED_WrCmd(0x02|d); // Default => 0x12 (0x10)
// Alternative COM Pin Configuration
// Disable COM Left/Right Re-Map
}

void Set_VCOMH(unsigned char d)
{
LED_WrCmd(0xDB); // Set VCOMH Deselect Level
LED_WrCmd(d); // Default => 0x20 (0.77*VCC)
}

void Set_NOP(void)
{
LED_WrCmd(0xE3); // Command for No Operation
}

void LED_Init(void)        
{
unsigned char i;
        
LEDPIN_Init();
// LED_PORT=0X0F;
//LED_SCLH;;; 
//LED_RSTL;;;
        
digitalWrite(SCL_PIN,HIGH);;;
        
digitalWrite(RST_PIN,LOW);;;
// for(i=0;i<100;i++)asm("nop");    
        
LED_DLY_ms(50);
//LED_RSTH;;;
        
digitalWrite(RST_PIN,HIGH);
Set_Display_On_Off(0x00);   // Display Off (0x00/0x01)
Set_Display_Clock(0x80);   // Set Clock as 100 Frames/Sec
Set_Multiplex_Ratio(0x3F);   // 1/64 Duty (0x0F~0x3F)
Set_Display_Offset(0x00);   // Shift Mapping RAM Counter (0x00~0x3F)
SetStartLine(0x00);   // Set Mapping RAM Display Start Line (0x00~0x3F)
Set_Charge_Pump(0x04);   // Enable Embedded DC/DC Converter (0x00/0x04)
SetAddressingMode(0x02);   // Set Page Addressing Mode (0x00/0x01/0x02)
Set_Segment_Remap(0x01);   // Set SEG/Column Mapping  
Set_Common_Remap(0x08);   // Set COM/Row Scan Direction 
Set_Common_Config(0x10);   // Set Sequential Configuration (0x00/0x10)
SetContrastControl(0xCF); // Set SEG Output Current
Set_Precharge_Period(0xF1);   // Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
Set_VCOMH(0x40);   // Set VCOM Deselect Level
Set_Entire_Display(0x00);   // Disable Entire Display On (0x00/0x01)
Set_Inverse_Display(0x00);   // Disable Inverse Display On (0x00/0x01)  
Set_Display_On_Off(0x01);   // Display On (0x00/0x01)
LED_Fill(0x00);                              //clear all
LED_Set_Pos(0,0); 



void LED_P6x8Char(unsigned char x,unsigned char y,unsigned char ch)
{
unsigned char c=0,i=0,j=0;    
  
=ch-32;
if(
x>122)
{
x=0;
y++;
}
LED_Set_Pos(x,y);    
for(
i=0;i<6;i++)
{    
LED_WrDat(F6x8[c][i]);  
}
}

void LED_P6x8Str(unsigned char x,unsigned char y,char ch[])
{
unsigned char c=0,i=0,j=0;      
while (
ch[j]!='\0')
{    
=ch[j]-32;
if(
x>126)
{
x=0;
y++;
}
LED_Set_Pos(x,y);    
for(
i=0;i<6;i++)
{    
LED_WrDat(F6x8[c][i]);  
}
x+=6;
j++;
}
}

void LED_P8x16Str(unsigned char x,unsigned char y,char ch[])
{
unsigned char c=0,i=0,j=0;
while (
ch[j]!='\0')
{    
=ch[j]-32;
if(
x>120)
{
x=0;
y++;
}
LED_Set_Pos(x,y);    
for(
i=0;i<8;i++) 
{
LED_WrDat(F8X16[(c<<4)+i]);
}
LED_Set_Pos(x,y+1);    
for(
i=0;i<8;i++) 
{
LED_WrDat(F8X16[(c<<4)+i+8]);
}
x+=8;
j++;
}
}



void LED_PrintBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char bmp[])

int ii=0;
unsigned char x,y;
for(
y=y0;y<=y1;y++)
{
LED_Set_Pos(x0,y); 
for(
x=x0;x<x1;x++)
{      
LED_WrDat(bmp[ii++]);     
}
}
}

void LED_PrintValueC(unsigned char xunsigned char ychar data)
{
unsigned char i,j,k;
if(
data 0)
{
LED_P6x8Char(x,y,'-');
data = - data
}
else
{
LED_P6x8Char(x,y,'+');
}
data/100;
= (data%100)/10;
data%10;
LED_P6x8Char(x+6,y,i+48);
LED_P6x8Char(x+12,y,j+48);
LED_P6x8Char(x+18,y,k+48); 
}


void LED_PrintValueI(unsigned char xunsigned char yint data)
{
unsigned char i,j,k,l,m;  
if(
data 0)
{
LED_P6x8Char(x,y,'-');
data = - data
}
else
{
LED_P6x8Char(x,y,'+');
}

l  data/10000;
m= (data%10000)/1000;
= (data%1000)/100;
= (data%100)/10;
data%10;
LED_P6x8Char(x+6,y,l+48);
LED_P6x8Char(x+12,y,m+48);
LED_P6x8Char(x+18,y,i+48);
LED_P6x8Char(x+24,y,j+48);
LED_P6x8Char(x+30,y,k+48); 
}

void LED_PrintValueFP(unsigned char xunsigned char yunsigned int dataunsigned char num)
{
unsigned char m,i,j,k;  
LED_P6x8Char(xy'.');
mdata/1000;
= (data%1000)/100;
= (data%100)/10;
data%10;
switch(
num)
{
case 
1:  LED_P6x8Char(x+6,y,k+48);
break;
case 
2:  LED_P6x8Char(x+6,y,j+48);
LED_P6x8Char(x+12,y,k+48);
break;
case 
3LED_P6x8Char(x+6,y,i+48);
LED_P6x8Char(x+12,y,j+48);
LED_P6x8Char(x+18,y,k+48);
break;
case 
4LED_P6x8Char(x+6,y,m+48);
LED_P6x8Char(x+12,y,i+48);
LED_P6x8Char(x+18,y,j+48);
LED_P6x8Char(x+24,y,k+48);
break; 
}
}


void LED_PrintValueF(unsigned char xunsigned char yfloat dataunsigned char num)
{
unsigned char l,m,i,j,k;  
unsigned char databiti 6
unsigned int tempdataui 0;
  
int tempdataii = (int)data
long int tempdatalp = (long int)((data - (int)data)*10000); 


if(
data 0.0000001)  LED_P6x8Char(xy,'-'); 
else 
LED_P6x8Char(xy,'+');
if(
tempdataii 0)tempdataii = - tempdataii;  
tempdataui tempdataii;
l  tempdataui/10000;
m= (tempdataui%10000)/1000;
= (tempdataui%1000)/100;
= (tempdataui%100)/10;
tempdataui%10;
if (
!= 0
{
LED_P6x8Char(x+6,y,l+48);
LED_P6x8Char(x+12,y,m+48);
LED_P6x8Char(x+18,y,i+48);
LED_P6x8Char(x+24,y,j+48);
LED_P6x8Char(x+30,y,k+48);
}
else if(
!= 0
{
databiti 5;
LED_P6x8Char(x+6,y,m+48);
LED_P6x8Char(x+12,y,i+48);
LED_P6x8Char(x+18,y,j+48);
LED_P6x8Char(x+24,y,k+48);
}
  else if(
!= 0
  {
  
databiti 4;
  
LED_P6x8Char(x+6,y,i+48);
LED_P6x8Char(x+12,y,j+48);
LED_P6x8Char(x+18,y,k+48);
  }
  else if(
!= 0
  {
    
databiti 3
  
LED_P6x8Char(x+6,y,j+48);
LED_P6x8Char(x+12,y,k+48);
  }
else 
{
databiti 2;
LED_P6x8Char(x+6,y,k+48);

if(
tempdatalp 0)tempdatalp = - tempdatalp
switch(
num)
{
case 
0: break;
case 
1:  LED_PrintValueFP(databiti 6y, (unsigned int)(tempdatalp 1000),num);break;
case 
2:  LED_PrintValueFP(databiti 6y, (unsigned int)(tempdatalp 100),num);break;
case 
3:  LED_PrintValueFP(databiti 6y, (unsigned int)(tempdatalp 10),num);break;
case 
4:  LED_PrintValueFP(databiti 6y, (unsigned int)(tempdatalp),num);break; 
}
}

void LED_Cursor(unsigned char cursor_columnunsigned char cursor_row)

if(
cursor_row != 0
{
if(
cursor_column == 1LED_Set_Pos(0cursor_row 2);
else  
LED_Set_Pos(80 + (cursor_column 2)*6cursor_row 2);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF);
LED_WrDat(0xFF); 
}
}
void setup()
{
  
LEDPIN_Init();
  
LED_Init();
}
void loop()
{
    
LED_P8x16Str(23,0,"welcome to");
    
LED_P8x16Str(40,2,"Smart");
    
LED_P8x16Str(20,4,"Prototyping");
}

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.