#include int seg[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x27, 0x7f, 0x6f, 0x00, 0x77, 0x7c, 0x58, 0x5e, 0x79, 0x71}; volatile int ph, tg, s, ss, sss, h = 10, m = 10; volatile int pwm, stm, dcm, dcmf, segf, segff, sf, ssf, sssf; volatile int cnt, tcnt, dcmc, swc, scnt, sscnt, stc, kaku; void setup() { for (int i = 5; i <= 44; i++) { pinMode(i, 1); } for (int i = 54; i <= 59; i++) { pinMode(i, 0); } FlexiTimer2::set(1, warikomi); FlexiTimer2::start(); } void loop() { if (s == 1) { m = 8; h = 8; } else { m = 10; h = 10; } } void timer (int jikan) { tcnt = 0; while (tcnt < jikan); } void warikomi() { tcnt++; if (segf == 1) { segf = 0; PORTA = seg[h]; digitalWrite(32, 1); digitalWrite(33, 0); } else if (segf == 0) { segf = 1; digitalWrite(32, 0); digitalWrite(33, 1); } swc++; if (swc >= 10) { swc = 0; tg = digitalRead(54); s = !digitalRead(55); ss = digitalRead(56); sss = digitalRead(57); ph = digitalRead(58); } if (dcm == 0) { digitalWrite(28, 0); digitalWrite(29, 0); } else if (dcm == 9) { digitalWrite(28, 1); digitalWrite(29, 1); } else { pwm++; if (pwm > 8) { pwm = 0; } } // else{ if (pwm < abs(dcm)) { if (dcm > 0) { digitalWrite(28, 1); digitalWrite(29, 0); } else if (dcm < 0) { digitalWrite(28, 0); digitalWrite(29, 1); } else { digitalWrite(28, 0); digitalWrite(29, 0); } } //} digitalWrite(44, 1); digitalWrite(44, 0); } //}