Пт янв 08, 2016 18:30:37
Вс янв 10, 2016 10:04:29
Вс янв 10, 2016 21:08:22
Пн янв 11, 2016 13:41:10
Ср янв 20, 2016 08:22:15
Пт янв 22, 2016 20:34:48
Вс янв 24, 2016 10:57:45
Ср июн 15, 2022 12:21:54
Пн янв 09, 2023 18:50:22
#define _SCK 1 //оранжевый
#define _SI 2 //зеленый
#define _CD 3 //феолетовый
#define _CS 4 //серый
void command(uint8_t cmd){
for(int i=0; i<8; i++)
{
digitalWrite(_SI,(cmd &(1<<(7-i)))); // Вывод байта начиная со старшего бита
digitalWrite(_SCK,LOW);
delay(1);
digitalWrite(_SCK,HIGH);
delay(1);
}
}
void setup(){
pinMode(_SCK,OUTPUT);
pinMode(_SI,OUTPUT);
pinMode(_CD,OUTPUT);
pinMode(_CS,OUTPUT);
//Инициализация дисплея
digitalWrite(_SCK,HIGH);
digitalWrite(_CD,HIGH);
digitalWrite(_CS,HIGH);
delay(1);
//Настройка дисплея
digitalWrite(_CS,LOW);
command(0x5C);//Mode set
command(0x31);//Synchronized transfer
command(0x11);//DISPLAY ON
command(0x20);//CLEAR DISPLAY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
}
void loop(){
//круги
digitalWrite(_CS,LOW);
command(0xE0);//LOAD DATA POINTER
command(0xD1);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//M
digitalWrite(_CS,LOW);
command(0xE0);//LOAD DATA POINTER
command(0xD3);//WRITE DATA MEMORY
command(0xD3);//WRITE DATA MEMORY
command(0xD2);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//DX
digitalWrite(_CS,LOW);
command(0xE2);//LOAD DATA POINTER
command(0xD3);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//0
digitalWrite(_CS,LOW);
command(0xE8);//LOAD DATA POINTER
command(0xD3);//WRITE DATA MEMORY
command(0xD1);//WRITE DATA MEMORY
command(0xD3);//WRITE DATA MEMORY
command(0xD1);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//1
digitalWrite(_CS,LOW);
command(0xEE);//LOAD DATA POINTER
command(0xD2);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//2
digitalWrite(_CS,LOW);
command(0xF0);//LOAD DATA POINTER
command(0xD2);//WRITE DATA MEMORY
command(0xD3);//WRITE DATA MEMORY
command(0xD1);//WRITE DATA MEMORY
command(0xD1);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//3
digitalWrite(_CS,LOW);
command(0xF4);//LOAD DATA POINTER
command(0xD2);//WRITE DATA MEMORY
command(0xD2);//WRITE DATA MEMORY
command(0xD3);//WRITE DATA MEMORY
command(0xD1);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//POINT
digitalWrite(_CS,LOW);
command(0xF7);//LOAD DATA POINTER
command(0xD3);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//4
digitalWrite(_CS,LOW);
command(0xF8);//LOAD DATA POINTER
command(0xD3);//WRITE DATA MEMORY
command(0xD2);//WRITE DATA MEMORY
command(0xD2);//WRITE DATA MEMORY
command(0xD0);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//VF
digitalWrite(_CS,LOW);
command(0xFB);//LOAD DATA POINTER
command(0xD2);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//8
digitalWrite(_CS,LOW);
command(0xFC);//LOAD DATA POINTER
command(0xD3);//WRITE DATA MEMORY
command(0xD3);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//RIGHT
digitalWrite(_CS,LOW);
command(0xFE);//LOAD DATA POINTER
command(0xD1);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(500);
//LEFT
digitalWrite(_CS,LOW);
command(0xFE);//LOAD DATA POINTER
command(0xD3);//WRITE DATA MEMORY
digitalWrite(_CS,HIGH);//Отправка команд
delay(5000);
//CLEAR DISPLAY
digitalWrite(_CS,LOW);
command(0x20);//CLEAR DISPLAY
digitalWrite(_CS,HIGH);//Отправка команд
delay(1000);
}