#define LCD_CS 2
#define LCD_WR 3
#define LCD_DATA 4
#define R_PIN 9
#define G_PIN 10
#define B_PIN 11
#define HT1621_BIAS 0x52 // 1/3duty 4com
#define HT1621_SYS_DIS 0x00 // Turn off the oscillator system oscillator and LCD bias generator
#define HT1621_SYS_EN 0x02 // Turn on the system oscillator
#define HT1621_LCD_OFF 0x04 // Turn off LCD bias
#define HT1621_LCD_ON 0x06 // Turn on the LCE bias
#define HT1621_XTAL 0x28 // external clock
#define HT1621_RC256 0x30 // internal clock
bool a[9], b[9], c[9], d[9], e[9], f[9], h[9], i[9], j[9], g1[9], g2[9], m[9], k[9];
bool seg_a,seg_b,seg_c,seg_d,seg_e,seg_f,seg_h,seg_i,seg_j,seg_g1,seg_g2,seg_m,seg_k;
bool af,tp,ta,bt,dp,usb,disk,eon,bass,dw1,dw2;
int xxx;
void setup() {
Serial.begin(9600);
pinMode(LCD_CS, OUTPUT);
pinMode(LCD_WR, OUTPUT);
pinMode(LCD_DATA, OUTPUT);
digitalWrite(LCD_CS,HIGH);
digitalWrite(LCD_WR,HIGH);
pinMode(R_PIN, OUTPUT);
pinMode(G_PIN, OUTPUT);
pinMode(B_PIN, OUTPUT);
data_100(HT1621_SYS_EN); // Turn on the system oscillator
data_100(HT1621_BIAS); // BIAS 13 4 public ports
data_100(HT1621_RC256); // Use RC_256K system clock source, on-chip RC oscillator
data_100(HT1621_LCD_ON);
clear_lcd();
}
void loop(){
analogWrite(R_PIN, 100);
analogWrite(G_PIN, 100);
analogWrite(B_PIN, 100);
xxx++;
segm(0);hhh(0);
segm(0);hhh(1);
segm(0);hhh(2);
segm(0);hhh(3);
segm(0);hhh(4);
segm(0);hhh(5);
segm(0);hhh(6);
segm(0);hhh(7);
segm(xxx);hhh(8);
if(xxx>9){xxx=0;}
write_seg();
Serial.println(a[0]);
Serial.println(a[1]);
Serial.println(a[2]);
delay(1000);
}
void write_seg(){
lcd_write(0, k[0]<<0 | c[0]<<1 | j[0]<<2 | b[0]<<3 | g2[0]<<4 | ta<<5 | tp<<6 | af<<7);
lcd_write(2, m[0]<<0 | e[0]<<1 | h[0]<<2 | f[0]<<3 | d[0]<<4 | g1[0]<<5 | i[0]<<6| a[0]<<7);
lcd_write(4, d[1]<<0 | g1[1]<<1 | i[1]<<2 | a[1]<<3 | k[1]<<4 | c[1]<<5 | j[1]<<6 | b[1]<<7);
lcd_write(6, g2[2]<<0 | g2[1]<<1 | dp<<2 | bt<<3 | m[1]<<4 | e[1]<<5 | h[1]<<6 | f[1]<<7);
lcd_write(8, g2[6]<<0 | g2[5]<<1 | eon<<2 | bass<<3 | k[6]<<4 | c[6]<<5 | j[6]<<6 | b[6]<<7);
lcd_write(10, d[5]<<0 | g1[5]<<1 | i[5]<<2 | a[5]<<3 | m[5]<<4 | e[5]<<5 | h[5]<<6 | f[5]<<7);
lcd_write(12, m[4]<<0 | e[4]<<1 | h[4]<<2 | f[4]<<3 | k[5]<<4 | c[5]<<5 | j[5]<<6 | b[5]<<7);
lcd_write(14, k[4]<<0 | c[4]<<1 | j[4]<<2 | b[4]<<3 | d[4]<<4 | g1[4]<<5 | i[4]<<6 | a[4]<<7);
lcd_write(16, m[3]<<0 | e[3]<<1 | h[3]<<2 | f[3]<<3 | g2[4]<<4 | g2[3]<<5 | dw2<<6 | dw1<<7);
lcd_write(18, k[3]<<0 | c[3]<<1 | j[3]<<2 | b[3]<<3 | d[3]<<4 | g1[3]<<5 | i[3]<<6 | a[3]<<7);
lcd_write(20, d[2]<<0 | g1[2]<<1 | i[2]<<2 | a[2]<<3 | m[2]<<4 | e[2]<<5 | h[2]<<6 | f[2]<<7);
lcd_write(22, d[6]<<0 | g1[6]<<1 | i[6]<<2 | a[6]<<3 | k[2]<<4 | c[2]<<5 | j[2]<<6 | b[2]<<7);
lcd_write(24, k[7]<<0 | c[7]<<1 | j[7]<<2 | b[7]<<3 | m[6]<<4 | e[6]<<5 | h[6]<<6 | f[6]<<7);
lcd_write(26, m[7]<<0 | e[7]<<1 | h[7]<<2 | f[7]<<3 | d[7]<<4 | g1[7]<<5 | i[7]<<6 | a[7]<<7);
lcd_write(28, k[8]<<0 | c[8]<<1 | j[8]<<2 | b[8]<<3 | g2[8]<<4 | g2[7]<<5 | usb<<6 | disk<<7);
lcd_write(30, m[8]<<0 | e[8]<<1 | h[8]<<2 | f[8]<<3 | d[8]<<4 | g1[8]<<5 | i[8]<<6 | a[8]<<7);
// lcd_write(10, 777<<0 | 666<<1 | 555<<2 | 444<<3 | 333<<4 | 222<<5 | 111<<6 | 000<<7);
}
void hhh(int hh){
a[hh]=seg_a,b[hh]=seg_b,c[hh]=seg_c,d[hh]=seg_d,e[hh]=seg_e,f[hh]=seg_f,h[hh]=seg_h,i[hh]=seg_i,j[hh]=seg_j,g1[hh]=seg_g1,g2[hh]=seg_g2,m[hh]=seg_m,k[hh]=seg_k;
}
void segm(int cif){
seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;
switch(cif){
case 0: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1;break;//0
case 1: seg_b=1,seg_c=1;break; //1
case 2: seg_a=1,seg_b=1,seg_d=1,seg_e=1,seg_g1=1,seg_g2=1;break; //2
case 3: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_g1=1,seg_g2=1;break; //3
case 4: seg_b=1,seg_c=1,seg_f=1,seg_g1=1,seg_g2=1;break; //4
case 5: seg_a=1,seg_c=1,seg_d=1,seg_f=1,seg_g1=1,seg_g2=1;break; //5
case 6: seg_a=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_g1=1,seg_g2=1;break; //6
case 7: seg_a=1,seg_b=1,seg_c=1;break; //7
case 8: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_g1=1,seg_g2=1;break; //8
case 9: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_f=1,seg_g1=1,seg_g2=1;break; //9
}
}
void eng(int ENG){
switch(ENG){
case 0: seg_a=1,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//A-0
case 1: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=1,seg_m=0,seg_k=0;break;//B-1
case 2: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//C-2
case 3: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//D-3
case 4: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//E-4
case 5: seg_a=1,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//F-5
case 6: seg_a=1,seg_b=0,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=1,seg_m=0,seg_k=0;break;//G-6
case 7: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//H-7
case 8: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//I-8
case 9: seg_a=0,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//J-9
case 10: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=1,seg_g1=1,seg_g2=0,seg_m=0,seg_k=1;break;//K-10
case 11: seg_a=0,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//L-11
case 12: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=1,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//M-12
case 13: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=1,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=1;break;//N-13
case 14: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//O-14
case 15: seg_a=1,seg_b=1,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//P-15
case 16: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=1;break;//Q-16
case 17: seg_a=1,seg_b=1,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=1;break;//R-17
case 18: seg_a=1,seg_b=0,seg_c=1,seg_d=1,seg_e=0,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//S-18
case 19: seg_a=1,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//T-19
case 20: seg_a=0,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//U-20
case 21: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=0;break;//V-21
case 22: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=1,seg_k=1;break;//W-22
case 23: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=1,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=1;break;//X-23
case 24: seg_a=0,seg_b=1,seg_c=0,seg_d=0,seg_e=0,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=1,seg_k=0;break;//Y-24
case 25: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=0;break;//Z-25
}
}
void rus(int RUS){
switch(RUS){case 0: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=1,seg_g1=0,seg_g2=1,seg_m=1,seg_k=0;break;//А-0
case 1: seg_a=1,seg_b=0,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Б-1
case 2: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=1,seg_m=0,seg_k=0;break;//В-2
case 3: seg_a=1,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//Г-3
case 4: seg_a=0,seg_b=1,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=0;break;//Д-4
case 5: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Е-5
case 6: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Ё-6
case 7: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=1,seg_i=1,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=1;break;//Ж-7
case 8: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//З-8
case 9: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=0;break;//И-9
case 10: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=0;break;//Й-10
case 11: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=1,seg_g1=1,seg_g2=0,seg_m=0,seg_k=1;break;//К-11
case 12: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=0;break;//Л-12
case 13: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=1,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//М-13
case 14: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Н-14
case 15: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//О-15
case 16: seg_a=1,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//П-16
case 17: seg_a=1,seg_b=1,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Р-17
case 18: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//С-18
case 19: seg_a=1,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//Т-19
case 20: seg_a=0,seg_b=1,seg_c=0,seg_d=0,seg_e=0,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=1,seg_k=0;break;//У-20
case 21: seg_a=1,seg_b=1,seg_c=0,seg_d=0,seg_e=0,seg_f=1,seg_h=0,seg_i=1,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Ф-21
case 22: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=1,seg_i=0,seg_j=1,seg_g1=0,seg_g2=0,seg_m=1,seg_k=1;break;//Х-22
case 23: seg_a=0,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//Ц-23
case 24: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=0,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Ч-24
case 25: seg_a=0,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//Ш-25
case 26: seg_a=0,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//Щ-26
case 27: seg_a=1,seg_b=0,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=1,seg_m=0,seg_k=0;break;//Ъ-27
case 28: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=0,seg_m=1,seg_k=0;break;//Ы-28
case 29: seg_a=0,seg_b=0,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=0,seg_g2=1,seg_m=0,seg_k=0;break;//Ь-29
case 30: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//Э-30
case 31: seg_a=0,seg_b=1,seg_c=1,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=1,seg_g1=1,seg_g2=0,seg_m=0,seg_k=1;break;//Ю-31
case 32: seg_a=1,seg_b=1,seg_c=1,seg_d=0,seg_e=0,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=1,seg_k=0;break;//Я-32
}}
void animation(int ani){//полоски анимации
switch(ani){
case 0: seg_a=1,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//ВЕРХНЯЯ ПОЛОСА
case 1: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=1,seg_g2=1,seg_m=0,seg_k=0;break;//СРЕДНЯЯ ПОЛОСА
case 2: seg_a=0,seg_b=0,seg_c=0,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//НИЖНЯЯ ПОЛОСА
}
}
void animationinmenu(int ani2){//шаги анимации входа в меню
switch(ani2){
case 0: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//горизонтальная левая полоса
case 1: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=1,seg_i=0,seg_j=0,seg_g1=1,seg_g2=0,seg_m=1,seg_k=0;break;//горизонтальная левая полоса+левые боковинки
case 2: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=1,seg_i=1,seg_j=1,seg_g1=1,seg_g2=1,seg_m=1,seg_k=1;break;//горизонтальная левая полоса+левые боковинки+центр+низ+правые боковинки
case 3: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=1,seg_i=1,seg_j=1,seg_g1=1,seg_g2=1,seg_m=1,seg_k=1;break;//горят все
}
}
void animationoutmenu(int ani3){//шаги анимации выхода из меню
switch(ani3){
case 0: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=1,seg_i=1,seg_j=1,seg_g1=1,seg_g2=1,seg_m=1,seg_k=1;break;//горят все
case 1: seg_a=1,seg_b=0,seg_c=0,seg_d=1,seg_e=1,seg_f=1,seg_h=1,seg_i=1,seg_j=1,seg_g1=1,seg_g2=1,seg_m=1,seg_k=1;break;//горизонтальная левая полоса+левые боковинки+центр+низ+правые боковинки
case 2: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=1,seg_i=0,seg_j=0,seg_g1=1,seg_g2=0,seg_m=1,seg_k=0;break;//горизонтальная левая полоса+левые боковинки
case 3: seg_a=0,seg_b=0,seg_c=0,seg_d=0,seg_e=1,seg_f=1,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//горизонтальная левая полоса
}
}
void spectrum(int spec){//спектр цастот
switch(spec){
case 0: seg_a=0,seg_b=0,seg_c=0,seg_d=1,seg_e=0,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=0,seg_k=0;break;//нижняя полоса
case 1: seg_a=0,seg_b=0,seg_c=1,seg_d=1,seg_e=1,seg_f=0,seg_h=0,seg_i=0,seg_j=0,seg_g1=0,seg_g2=0,seg_m=1,seg_k=1;break;
case 2: seg_a=0,seg_b=0,seg_c=1,seg_d=1,seg_e=1,seg_f=0,seg_h=0,seg_i=1,seg_j=0,seg_g1=1,seg_g2=1,seg_m=1,seg_k=1;break;
case 3: seg_a=0,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=1,seg_i=1,seg_j=1,seg_g1=1,seg_g2=1,seg_m=1,seg_k=1;break;
case 4: seg_a=1,seg_b=1,seg_c=1,seg_d=1,seg_e=1,seg_f=1,seg_h=1,seg_i=1,seg_j=1,seg_g1=1,seg_g2=1,seg_m=1,seg_k=1;break;//горят все
}
}
void clear_lcd(){for(int a=0;a<=32;a++){data_101(a,0);}}
void lcd_write(int addr_, int data_){
data_101(addr_,data_ >> 4);data_101(addr_+1,data_ &0b1111);
}
void data_100(int data){
digitalWrite(LCD_CS,LOW);
for(int i = 2; i >=0; i--){
digitalWrite(LCD_WR,LOW);
digitalWrite(LCD_DATA, (0b100 >> i) & 1);
digitalWrite(LCD_WR,HIGH);
}
for(int i = 8; i >=0; i--){
digitalWrite(LCD_WR,LOW);
digitalWrite(LCD_DATA, (data >> i) & 1);
digitalWrite(LCD_WR,HIGH);
}
digitalWrite(LCD_CS,HIGH);
digitalWrite(LCD_WR,LOW);
delayMicroseconds(10);
}
void data_101(int addr, int data){
digitalWrite(LCD_CS,LOW);
for(int i = 2; i >=0; i--){
digitalWrite(LCD_WR,LOW);
digitalWrite(LCD_DATA, (0b101 >> i) & 1);
digitalWrite(LCD_WR,HIGH);
}
for(int i = 5; i >=0; i--){
digitalWrite(LCD_WR,LOW);
digitalWrite(LCD_DATA, (addr >> i) & 1);
digitalWrite(LCD_WR,HIGH);
}
for(int i = 0; i <=3; i++){
digitalWrite(LCD_WR,LOW);
digitalWrite(LCD_DATA, (data >> i) & 1);
digitalWrite(LCD_WR,HIGH);
}
digitalWrite(LCD_CS,HIGH);
digitalWrite(LCD_WR,LOW);
}