Не помню чтобы я про разряды думал. ЖКИ с "контроллерами-мотороллерами HT47xxxxx" всасывающие строчками слету расслабляют.
Для страдальцев сегодня ловил соплю в крайнем левом разряде выдавил из себя пару циклов фо. Нате вам погрейте душеньку.
Код: Выделить всё
//art100 tester k155id1 mc34063 0.22Om irf740 kt3107 220mkGn 4.7mkf mpsa92 mpsa42 in-12a
//pins------------------------
#define PIN_K155ID1_A0 12//2//low
#define PIN_K155ID1_A3 11//3//
#define PIN_K155ID1_A1 10//4//
#define PIN_K155ID1_A2 8//5//
#define PIN_ANOD_1 A3//6//high
#define PIN_ANOD_2 A2//7
#define PIN_ANOD_3 4//8
#define PIN_ANOD_4 2//9
#define PIN_ANOD_5 1//10
#define PIN_ANOD_6 0//11
//consts---------------------
int timer1=1000;//100;
//------------------------------------------------------------------
void setup(){
pinMode(PIN_K155ID1_A0, OUTPUT);digitalWrite(PIN_K155ID1_A0,HIGH);
pinMode(PIN_K155ID1_A3, OUTPUT);digitalWrite(PIN_K155ID1_A3,HIGH);
pinMode(PIN_K155ID1_A1, OUTPUT);digitalWrite(PIN_K155ID1_A1,HIGH);
pinMode(PIN_K155ID1_A2, OUTPUT);digitalWrite(PIN_K155ID1_A2,HIGH);
pinMode(PIN_ANOD_1, OUTPUT);digitalWrite(PIN_ANOD_1, LOW);
pinMode(PIN_ANOD_2, OUTPUT);digitalWrite(PIN_ANOD_2, LOW);
pinMode(PIN_ANOD_3, OUTPUT);digitalWrite(PIN_ANOD_3, LOW);
pinMode(PIN_ANOD_4, OUTPUT);digitalWrite(PIN_ANOD_4, LOW);
pinMode(PIN_ANOD_5, OUTPUT);digitalWrite(PIN_ANOD_5, LOW);
pinMode(PIN_ANOD_6, OUTPUT);digitalWrite(PIN_ANOD_6, LOW);
}
//=====================
void loop(){
for(int cifra=0;cifra<10;cifra++){
for(int razryad=1;razryad<7;razryad++){
Set_K155ID1_razryad1(cifra,razryad);delay(timer1);
digitalWrite(PIN_ANOD_1, LOW);
digitalWrite(PIN_ANOD_2, LOW);
digitalWrite(PIN_ANOD_3, LOW);
digitalWrite(PIN_ANOD_4, LOW);
digitalWrite(PIN_ANOD_5, LOW);
digitalWrite(PIN_ANOD_6, LOW);
}
}
}
//================
void Set_K155ID1_razryad1(int cifra1,int razryad1){
int d,c,b,a;
switch(razryad1){
case 1: digitalWrite(PIN_ANOD_1,HIGH); break;
case 2: digitalWrite(PIN_ANOD_2,HIGH); break;
case 3: digitalWrite(PIN_ANOD_3,HIGH); break;
case 4: digitalWrite(PIN_ANOD_4,HIGH); break;
case 5: digitalWrite(PIN_ANOD_5,HIGH); break;
case 6: digitalWrite(PIN_ANOD_6,HIGH); break;
}
switch(cifra1){
case 0: d=0;c=0;b=0;a=0; break;
case 1: d=0;c=0;b=0;a=1; break;
case 2: d=0;c=0;b=1;a=0; break;
case 3: d=0;c=0;b=1;a=1; break;
case 4: d=0;c=1;b=0;a=0; break;
case 5: d=0;c=1;b=0;a=1; break;
case 6: d=0;c=1;b=1;a=0; break;
case 7: d=0;c=1;b=1;a=1; break;
case 8: d=1;c=0;b=0;a=0; break;
case 9: d=1;c=0;b=0;a=1; break;
default: d=1;c=1;b=1;a=1; break;
}
digitalWrite(PIN_K155ID1_A3,d);digitalWrite(PIN_K155ID1_A2,c);digitalWrite(PIN_K155ID1_A1,b);digitalWrite(PIN_K155ID1_A0,a);
}
//------------------------------------------------------------------
// K155ID1 Table
//D C B A #
//L,L,L,L 0
//L,L,L,H 1
//L,L,H,L 2
//L,L,H,H 3
//L,H,L,L 4
//L,H,L,H 5
//L,H,H,L 6
//L,H,H,H 7
//H,L,L,L 8
//H,L,L,H 9
//------------------------------------------------------------------------------------------------------------------------------
Расслабся. Скажи что-нибудь доброе светлое и прекрасное. И всем станет хорошо.
Вот пока нашел у себя в завалах DS1307. Тыкнул и охватило меня "агульная млявасць и абыякавасць да жыцця" Когда-то код писал на нее. Сейчас даже влом свои исходники многолетние перелопачивать.