hoge

Dependencies:   SevenSegLed mbed

Committer:
porizou
Date:
Wed May 16 12:14:54 2018 +0000
Revision:
0:1d06be4983e0
hoge;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
porizou 0:1d06be4983e0 1 #include "mbed.h"
porizou 0:1d06be4983e0 2 #include "PCF2129AT.h"
porizou 0:1d06be4983e0 3
porizou 0:1d06be4983e0 4 #define mC 261.626
porizou 0:1d06be4983e0 5 #define mD 293.665
porizou 0:1d06be4983e0 6 #define mE 329.628
porizou 0:1d06be4983e0 7 #define mF 349.228
porizou 0:1d06be4983e0 8 #define mG 391.995
porizou 0:1d06be4983e0 9 #define mA 440.000
porizou 0:1d06be4983e0 10 #define mB 493.883
porizou 0:1d06be4983e0 11
porizou 0:1d06be4983e0 12
porizou 0:1d06be4983e0 13 Ticker flipper; // 割り込み設定
porizou 0:1d06be4983e0 14 I2C i2c(p28,p27); // sda, scl
porizou 0:1d06be4983e0 15 //Serial pc(USBTX, USBRX); // tx, rx
porizou 0:1d06be4983e0 16 DigitalOut myled(LED1);
porizou 0:1d06be4983e0 17
porizou 0:1d06be4983e0 18 //PwmOut sp1(p26);
porizou 0:1d06be4983e0 19
porizou 0:1d06be4983e0 20 char cmd[32];
porizou 0:1d06be4983e0 21 char i;
porizou 0:1d06be4983e0 22 dt_dat dt; // 日時構造体の変数設定
porizou 0:1d06be4983e0 23
porizou 0:1d06be4983e0 24
porizou 0:1d06be4983e0 25
porizou 0:1d06be4983e0 26
porizou 0:1d06be4983e0 27
porizou 0:1d06be4983e0 28 DigitalIn sw1(p16);
porizou 0:1d06be4983e0 29 DigitalIn sw2(p15);
porizou 0:1d06be4983e0 30 DigitalIn sw3(p14);
porizou 0:1d06be4983e0 31 //DigitalIn sw4(p30);
porizou 0:1d06be4983e0 32 DigitalIn sw4(p29);
porizou 0:1d06be4983e0 33 DigitalIn swK(p18);
porizou 0:1d06be4983e0 34 DigitalIn swT(p19);
porizou 0:1d06be4983e0 35 DigitalIn swM(p20);
porizou 0:1d06be4983e0 36 DigitalIn M_in(p12);
porizou 0:1d06be4983e0 37
porizou 0:1d06be4983e0 38 PwmOut belled(p26);
porizou 0:1d06be4983e0 39
porizou 0:1d06be4983e0 40 DigitalIn photo(p17);
porizou 0:1d06be4983e0 41 DigitalOut moledA(p33);
porizou 0:1d06be4983e0 42 //DigitalOut moledB(p29);
porizou 0:1d06be4983e0 43
porizou 0:1d06be4983e0 44 //7セグ表示 (OSL 40562)
porizou 0:1d06be4983e0 45
porizou 0:1d06be4983e0 46 #include "mbed.h"
porizou 0:1d06be4983e0 47 #include "SevenSegLed.h"
porizou 0:1d06be4983e0 48 // common type (0:anode common 1:cathode common)
porizou 0:1d06be4983e0 49 // |
porizou 0:1d06be4983e0 50 // | display mode (0:smooth 1:hard)
porizou 0:1d06be4983e0 51 // | |
porizou 0:1d06be4983e0 52 // | | segA segB segC segD segE segF segG segP com1 com2 com3 com4 (com5,com6,com7,com8 = NC)
porizou 0:1d06be4983e0 53 // | | | | | | | | | | | | | |
porizou 0:1d06be4983e0 54 SevenSegLed sevenSegLed(1, 1, p11, p10, p9, p8, p7, p6, p5, p4, p22, p23, p24, p25); // OSL40562-LR
porizou 0:1d06be4983e0 55
porizou 0:1d06be4983e0 56
porizou 0:1d06be4983e0 57 //================================
porizou 0:1d06be4983e0 58 // display buffer
porizou 0:1d06be4983e0 59 //================================
porizou 0:1d06be4983e0 60 // com1
porizou 0:1d06be4983e0 61 // | com2
porizou 0:1d06be4983e0 62 // | | com3
porizou 0:1d06be4983e0 63 // | | | com4
porizou 0:1d06be4983e0 64 // | | | |
porizou 0:1d06be4983e0 65 uint8_t D_7seg[4] = {0, 0, 0, 0}; // 0x0 to 0x9 = "0" to "9" ,0xA to 0xF = "A" to "F", 0x10 = extinction
porizou 0:1d06be4983e0 66 uint8_t D_dot[4] = {0, 1, 0, 0}; // 0:extinction 1: light
porizou 0:1d06be4983e0 67
porizou 0:1d06be4983e0 68
porizou 0:1d06be4983e0 69 //==============================
porizou 0:1d06be4983e0 70 // Variable counter & work
porizou 0:1d06be4983e0 71 //==============================
porizou 0:1d06be4983e0 72 uint8_t count = 0; // free run counter (0x00 to 0xFF overflow to 0x00)
porizou 0:1d06be4983e0 73 uint8_t work;
porizou 0:1d06be4983e0 74
porizou 0:1d06be4983e0 75
porizou 0:1d06be4983e0 76
porizou 0:1d06be4983e0 77
porizou 0:1d06be4983e0 78
porizou 0:1d06be4983e0 79
porizou 0:1d06be4983e0 80
porizou 0:1d06be4983e0 81
porizou 0:1d06be4983e0 82
porizou 0:1d06be4983e0 83 void set_ch(char sel)
porizou 0:1d06be4983e0 84 { // PCA9541のサンプル
porizou 0:1d06be4983e0 85 // MST_0側の自分にスレーブ側の制御権を得る場合
porizou 0:1d06be4983e0 86 cmd[0] = 1; // PCA9541 コマンドコード Cont Reg
porizou 0:1d06be4983e0 87 i2c.write( 0xe2, cmd, 1); // Cont Regを指定
porizou 0:1d06be4983e0 88 i2c.read( 0xe2, cmd, 1); // Cont Regを読込み
porizou 0:1d06be4983e0 89 wait(0.1); // 0.1s待つ
porizou 0:1d06be4983e0 90 switch(cmd[0] & 0xf)
porizou 0:1d06be4983e0 91 {
porizou 0:1d06be4983e0 92 case 0: // bus off, has control
porizou 0:1d06be4983e0 93 case 1: // bus off, no control
porizou 0:1d06be4983e0 94 case 5: // bus on, no control
porizou 0:1d06be4983e0 95 cmd[0] = 1; // PCA9541 コマンドコード Cont Reg
porizou 0:1d06be4983e0 96 cmd[1] = 4; // bus on, has control
porizou 0:1d06be4983e0 97 i2c.write( 0xe2, cmd, 2); // Cont Regにcmd[1]を書込み
porizou 0:1d06be4983e0 98 i2c.read( 0xe2, cmd, 1); // Cont Regを読込み
porizou 0:1d06be4983e0 99 break;
porizou 0:1d06be4983e0 100 case 2: // bus off, no control
porizou 0:1d06be4983e0 101 case 3: // bus off, has control
porizou 0:1d06be4983e0 102 case 6: // bus on, no control
porizou 0:1d06be4983e0 103 cmd[0] = 1; // PCA9541 コマンドコード Cont Reg
porizou 0:1d06be4983e0 104 cmd[1] = 5; // bus on, has control
porizou 0:1d06be4983e0 105 i2c.write( 0xe2, cmd, 2); // Cont Regにcmd[1]を書込み
porizou 0:1d06be4983e0 106 i2c.read( 0xe2, cmd, 1); // Cont Regを読込み
porizou 0:1d06be4983e0 107 break;
porizou 0:1d06be4983e0 108 case 9: // bus on, no control
porizou 0:1d06be4983e0 109 case 0xc: // bus on, no control
porizou 0:1d06be4983e0 110 case 0xd: // bus off, no control
porizou 0:1d06be4983e0 111 cmd[0] = 1; // PCA9541 コマンドコード Cont Reg
porizou 0:1d06be4983e0 112 cmd[1] = 0; // bus on, has control
porizou 0:1d06be4983e0 113 i2c.write( 0xe2, cmd, 2); // Cont Regにcmd[1]を書込み
porizou 0:1d06be4983e0 114 i2c.read( 0xe2, cmd, 1); // Cont Regを読込み
porizou 0:1d06be4983e0 115 break;
porizou 0:1d06be4983e0 116 case 0xa: // bus on, no control
porizou 0:1d06be4983e0 117 case 0xe: // bus off, no control
porizou 0:1d06be4983e0 118 case 0xf: // bus on, has control
porizou 0:1d06be4983e0 119 cmd[0] = 1; // PCA9541 コマンドコード Cont Reg
porizou 0:1d06be4983e0 120 cmd[1] = 1; // bus on, has control
porizou 0:1d06be4983e0 121 i2c.write( 0xe2, cmd, 2); // Cont Regにcmd[1]を書込み
porizou 0:1d06be4983e0 122 i2c.read( 0xe2, cmd, 1); // Cont Regを読込み
porizou 0:1d06be4983e0 123 break;
porizou 0:1d06be4983e0 124 default:
porizou 0:1d06be4983e0 125 break;
porizou 0:1d06be4983e0 126 }
porizou 0:1d06be4983e0 127
porizou 0:1d06be4983e0 128 cmd[0] = sel; // PCA9546 Cont Reg sel channel enabled
porizou 0:1d06be4983e0 129 i2c.write( 0xe8, cmd, 1); // Send command string
porizou 0:1d06be4983e0 130 }
porizou 0:1d06be4983e0 131
porizou 0:1d06be4983e0 132 void get_time(dt_dat *dt) // 日時の取得
porizou 0:1d06be4983e0 133 {
porizou 0:1d06be4983e0 134 cmd[0] = Seconds; // 取得はレジスタSecondsから
porizou 0:1d06be4983e0 135 i2c.write(PCF2129AT_ADDR, cmd, 1); // レジスタの設定
porizou 0:1d06be4983e0 136 i2c.read(PCF2129AT_ADDR, cmd, 7); // SecondsからYearsまで取得
porizou 0:1d06be4983e0 137 cmd[0] &= 0x7f; // 有効なのは下位7ビット
porizou 0:1d06be4983e0 138 dt->s = (cmd[0] >> 4) * 10 + (cmd[0] & 0xf); // BCDの数値化
porizou 0:1d06be4983e0 139 cmd[1] &= 0x7f; // 有効なのは下位7ビット
porizou 0:1d06be4983e0 140 dt->m = (cmd[1] >> 4) * 10 + (cmd[1] & 0xf); // BCDの数値化
porizou 0:1d06be4983e0 141 cmd[2] &= 0x3f; // 有効なのは下位6ビット
porizou 0:1d06be4983e0 142 dt->h = (cmd[2] >> 4) * 10 + (cmd[2] & 0xf); // BCDの数値化
porizou 0:1d06be4983e0 143 cmd[3] &= 0x3f; // 有効なのは下位6ビット
porizou 0:1d06be4983e0 144 dt->d = (cmd[3] >> 4) * 10 + (cmd[3] & 0xf); // BCDの数値化
porizou 0:1d06be4983e0 145 dt->wd = (cmd[4] & 0x3); // BCDの数値化
porizou 0:1d06be4983e0 146 cmd[5] &= 0x1f; // 有効なのは下位5ビット
porizou 0:1d06be4983e0 147 dt->mm = (cmd[5] >> 4) * 10 + (cmd[5] & 0xf); // BCDの数値化
porizou 0:1d06be4983e0 148 dt->y = (cmd[6] >> 4) * 10 + (cmd[6] & 0xf); // BCDの数値化
porizou 0:1d06be4983e0 149 }
porizou 0:1d06be4983e0 150
porizou 0:1d06be4983e0 151 void set_time(dt_dat *dt) // 日時の設定
porizou 0:1d06be4983e0 152 {
porizou 0:1d06be4983e0 153 cmd[0] = Seconds; // 設定はレジスタSecondsから
porizou 0:1d06be4983e0 154 cmd[1] = ((dt->s / 10) << 4) + (dt->s % 10) + 0x80; // 秒のBCD化
porizou 0:1d06be4983e0 155 cmd[2] = ((dt->m / 10) << 4) + (dt->m % 10); // 分のBCD化
porizou 0:1d06be4983e0 156 cmd[3] = ((dt->h / 10) << 4) + (dt->h % 10); // 時のBCD化
porizou 0:1d06be4983e0 157 cmd[4] = ((dt->d / 10) << 4) + (dt->d % 10); // 日のBCD化
porizou 0:1d06be4983e0 158 cmd[6] = ((dt->mm / 10) << 4) + (dt->mm % 10); // 月のBCD化
porizou 0:1d06be4983e0 159 dt->y = dt->y - 2000;
porizou 0:1d06be4983e0 160 cmd[7] = ((dt->y / 10) << 4) + (dt->y % 10); // 年のBCD化
porizou 0:1d06be4983e0 161 i2c.write(PCF2129AT_ADDR, cmd, 8); // 日時の設定
porizou 0:1d06be4983e0 162 }
porizou 0:1d06be4983e0 163
porizou 0:1d06be4983e0 164
porizou 0:1d06be4983e0 165 void flip() {
porizou 0:1d06be4983e0 166 get_time(&dt); // 日時の取得
porizou 0:1d06be4983e0 167 // 日時の表示
porizou 0:1d06be4983e0 168 // pc.printf("%04d/%02d/%02d %02d:%02d:%02d\r\n", 2000 + dt.y, dt.mm, dt.d, dt.h, dt.m, dt.s);
porizou 0:1d06be4983e0 169 }
porizou 0:1d06be4983e0 170
porizou 0:1d06be4983e0 171
porizou 0:1d06be4983e0 172 int main ()
porizou 0:1d06be4983e0 173 {
porizou 0:1d06be4983e0 174 i2c.frequency(100000);
porizou 0:1d06be4983e0 175 // pc.printf("PC2129AT Sample Program\r\n");
porizou 0:1d06be4983e0 176
porizou 0:1d06be4983e0 177 // float mm[]={mC,mD,mE,mF,mG,mA,mB,mC*2};
porizou 0:1d06be4983e0 178 // int i;
porizou 0:1d06be4983e0 179
porizou 0:1d06be4983e0 180 //ブザー設定
porizou 0:1d06be4983e0 181 belled = 0;
porizou 0:1d06be4983e0 182 belled.period(0.020);
porizou 0:1d06be4983e0 183 //belled.pulsewidth(0.001);
porizou 0:1d06be4983e0 184
porizou 0:1d06be4983e0 185
porizou 0:1d06be4983e0 186
porizou 0:1d06be4983e0 187 set_ch(2); // PCF2129ATはch1に接続
porizou 0:1d06be4983e0 188
porizou 0:1d06be4983e0 189 // PCF2129AT
porizou 0:1d06be4983e0 190 cmd[0] = CLKOUT_ctl; // CLKOUTレジスタ設定
porizou 0:1d06be4983e0 191 cmd[1] = (3 << 6) + 4; // 温度測定は30s毎、出力周波数は2048Hz
porizou 0:1d06be4983e0 192 i2c.write(PCF2129AT_ADDR, cmd, 2); // CLKOUT設定
porizou 0:1d06be4983e0 193
porizou 0:1d06be4983e0 194 cmd[0] = Aging_offset; // Aging_offsetレジスタ設定
porizou 0:1d06be4983e0 195 cmd[1] = 0x9; // -1ppm
porizou 0:1d06be4983e0 196 i2c.write(PCF2129AT_ADDR, cmd, 2); // Aging_offset設定
porizou 0:1d06be4983e0 197
porizou 0:1d06be4983e0 198 dt.y = 2015; // 年の設定
porizou 0:1d06be4983e0 199 dt.mm = 04; // 月の設定
porizou 0:1d06be4983e0 200 dt.d = 0; // 日の設定
porizou 0:1d06be4983e0 201 dt.h = 13; // 時の設定
porizou 0:1d06be4983e0 202 dt.m = 20; // 分の設定
porizou 0:1d06be4983e0 203 dt.s = 0; // 秒の設定
porizou 0:1d06be4983e0 204 set_time(&dt); // 日時の設定
porizou 0:1d06be4983e0 205
porizou 0:1d06be4983e0 206 flipper.attach(&flip, 1.0); //時刻の取得
porizou 0:1d06be4983e0 207
porizou 0:1d06be4983e0 208
porizou 0:1d06be4983e0 209
porizou 0:1d06be4983e0 210
porizou 0:1d06be4983e0 211 //int swA=0,swB=0,swC =1;
porizou 0:1d06be4983e0 212
porizou 0:1d06be4983e0 213 //お金取り出し機能か、時刻設定かのフラグ
porizou 0:1d06be4983e0 214 //仮決め
porizou 0:1d06be4983e0 215
porizou 0:1d06be4983e0 216 //時刻決定用フラグ
porizou 0:1d06be4983e0 217 //これのon,offで時刻機能を途中でやめる
porizou 0:1d06be4983e0 218 int TKflag = 0;
porizou 0:1d06be4983e0 219
porizou 0:1d06be4983e0 220 int time1,time2,time3,time4;
porizou 0:1d06be4983e0 221 int Tflag_F=0;
porizou 0:1d06be4983e0 222
porizou 0:1d06be4983e0 223 int Mflag_F = 0;
porizou 0:1d06be4983e0 224
porizou 0:1d06be4983e0 225 moledA = 0;
porizou 0:1d06be4983e0 226 //moledB = 0;
porizou 0:1d06be4983e0 227 //belled = 0;
porizou 0:1d06be4983e0 228 while(1)
porizou 0:1d06be4983e0 229 {
porizou 0:1d06be4983e0 230 /*
porizou 0:1d06be4983e0 231 if(dt.h == 14 && dt.m == 21){ //設定時刻の判定
porizou 0:1d06be4983e0 232 myled = 1;
porizou 0:1d06be4983e0 233
porizou 0:1d06be4983e0 234 for (i=0;i<sizeof(mm);i++) {
porizou 0:1d06be4983e0 235 sp1.period(1.0/mm[i]);
porizou 0:1d06be4983e0 236 sp1.write(0.5f);
porizou 0:1d06be4983e0 237 wait(0.5f);
porizou 0:1d06be4983e0 238 sp1.write(0.0f);
porizou 0:1d06be4983e0 239 }
porizou 0:1d06be4983e0 240
porizou 0:1d06be4983e0 241 }else myled = 0;
porizou 0:1d06be4983e0 242 */
porizou 0:1d06be4983e0 243
porizou 0:1d06be4983e0 244
porizou 0:1d06be4983e0 245 /*
porizou 0:1d06be4983e0 246 work = dt.h / 10;
porizou 0:1d06be4983e0 247 D_7seg[0] = swA;
porizou 0:1d06be4983e0 248 work = dt.h % 10;
porizou 0:1d06be4983e0 249 D_7seg[1] = swB;
porizou 0:1d06be4983e0 250 work = dt.s / 10;
porizou 0:1d06be4983e0 251 D_7seg[2] = work;
porizou 0:1d06be4983e0 252 work = dt.s % 10;
porizou 0:1d06be4983e0 253 D_7seg[3] = work ;
porizou 0:1d06be4983e0 254 if(sw == 0){
porizou 0:1d06be4983e0 255 D_dot[0] = 1;}
porizou 0:1d06be4983e0 256 else {
porizou 0:1d06be4983e0 257 D_dot[0] = 0;
porizou 0:1d06be4983e0 258 }
porizou 0:1d06be4983e0 259
porizou 0:1d06be4983e0 260 D_dot[1] = 0;
porizou 0:1d06be4983e0 261 D_dot[2] = 0;
porizou 0:1d06be4983e0 262 D_dot[3] = 0;
porizou 0:1d06be4983e0 263
porizou 0:1d06be4983e0 264 if(sw == 1 && swC == 0){
porizou 0:1d06be4983e0 265 swA ++;
porizou 0:1d06be4983e0 266 swC = 1;
porizou 0:1d06be4983e0 267 } else if(sw == 0 && swC == 1){
porizou 0:1d06be4983e0 268 swB ++;
porizou 0:1d06be4983e0 269 swC =0;
porizou 0:1d06be4983e0 270 }
porizou 0:1d06be4983e0 271
porizou 0:1d06be4983e0 272
porizou 0:1d06be4983e0 273 */
porizou 0:1d06be4983e0 274 D_dot[0] = 0;
porizou 0:1d06be4983e0 275 D_dot[1] = 0;
porizou 0:1d06be4983e0 276 D_dot[2] = 0;
porizou 0:1d06be4983e0 277 D_dot[3] = 0;
porizou 0:1d06be4983e0 278
porizou 0:1d06be4983e0 279 belled = 0;
porizou 0:1d06be4983e0 280
porizou 0:1d06be4983e0 281 if( swT == 0 && swM == 0 ){
porizou 0:1d06be4983e0 282
porizou 0:1d06be4983e0 283 flipper.attach(&flip, 1.0); //時刻の取得
porizou 0:1d06be4983e0 284
porizou 0:1d06be4983e0 285 work = dt.h / 10;
porizou 0:1d06be4983e0 286 D_7seg[0] = work;
porizou 0:1d06be4983e0 287 work = dt.h % 10;
porizou 0:1d06be4983e0 288 D_7seg[1] = work;
porizou 0:1d06be4983e0 289 work = dt.m / 10;
porizou 0:1d06be4983e0 290 D_7seg[2] = work;
porizou 0:1d06be4983e0 291 work = dt.m % 10;
porizou 0:1d06be4983e0 292 D_7seg[3] = work;
porizou 0:1d06be4983e0 293
porizou 0:1d06be4983e0 294 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 295
porizou 0:1d06be4983e0 296 if(time1 == (dt.h / 10 ) &&
porizou 0:1d06be4983e0 297 time2 == (dt.h % 10 ) &&
porizou 0:1d06be4983e0 298 time3 == (dt.m / 10 ) &&
porizou 0:1d06be4983e0 299 time4 == (dt.m % 10 )) {
porizou 0:1d06be4983e0 300
porizou 0:1d06be4983e0 301 D_7seg[0] = 11;
porizou 0:1d06be4983e0 302 D_7seg[1] = 11;
porizou 0:1d06be4983e0 303 D_7seg[2] = 11;
porizou 0:1d06be4983e0 304 D_7seg[3] = 11;
porizou 0:1d06be4983e0 305 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 306
porizou 0:1d06be4983e0 307 belled = 0.5;
porizou 0:1d06be4983e0 308
porizou 0:1d06be4983e0 309 while(1){
porizou 0:1d06be4983e0 310 //wait(0.1);
porizou 0:1d06be4983e0 311 if(M_in == 1 ) break;
porizou 0:1d06be4983e0 312 }
porizou 0:1d06be4983e0 313
porizou 0:1d06be4983e0 314 while(1) {
porizou 0:1d06be4983e0 315 //wait(0.1);
porizou 0:1d06be4983e0 316 if(M_in == 0 ) break;
porizou 0:1d06be4983e0 317 }
porizou 0:1d06be4983e0 318
porizou 0:1d06be4983e0 319 belled = 0;
porizou 0:1d06be4983e0 320
porizou 0:1d06be4983e0 321
porizou 0:1d06be4983e0 322
porizou 0:1d06be4983e0 323 time1 = 2;
porizou 0:1d06be4983e0 324 time2 = 4;
porizou 0:1d06be4983e0 325 time3 = 0;
porizou 0:1d06be4983e0 326 time4 = 0;
porizou 0:1d06be4983e0 327
porizou 0:1d06be4983e0 328
porizou 0:1d06be4983e0 329 }
porizou 0:1d06be4983e0 330
porizou 0:1d06be4983e0 331 if(Tflag_F == 0){
porizou 0:1d06be4983e0 332
porizou 0:1d06be4983e0 333 work = dt.h / 10;
porizou 0:1d06be4983e0 334 D_7seg[0] = work;
porizou 0:1d06be4983e0 335 work = dt.h % 10;
porizou 0:1d06be4983e0 336 D_7seg[1] = work;
porizou 0:1d06be4983e0 337 work = dt.m / 10;
porizou 0:1d06be4983e0 338 D_7seg[2] = work;
porizou 0:1d06be4983e0 339 work = dt.m % 10;
porizou 0:1d06be4983e0 340 D_7seg[3] = work;
porizou 0:1d06be4983e0 341
porizou 0:1d06be4983e0 342 time1 = 2;
porizou 0:1d06be4983e0 343 time2 = 4;
porizou 0:1d06be4983e0 344 time3 = 0;
porizou 0:1d06be4983e0 345 time4 = 0;
porizou 0:1d06be4983e0 346 }
porizou 0:1d06be4983e0 347 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 348 wait(1.0);
porizou 0:1d06be4983e0 349 }
porizou 0:1d06be4983e0 350
porizou 0:1d06be4983e0 351 //時刻決定
porizou 0:1d06be4983e0 352 if(swT == 1 && swM == 0){
porizou 0:1d06be4983e0 353 int tflag = 0;
porizou 0:1d06be4983e0 354
porizou 0:1d06be4983e0 355 //初期値
porizou 0:1d06be4983e0 356 int nu1,nu2,nu3,nu4;
porizou 0:1d06be4983e0 357
porizou 0:1d06be4983e0 358
porizou 0:1d06be4983e0 359 if(tflag == 0){ nu1=0,nu2=0,nu3=0,nu4=0;}
porizou 0:1d06be4983e0 360
porizou 0:1d06be4983e0 361 D_7seg[0] = nu1;
porizou 0:1d06be4983e0 362 D_7seg[1] = nu2;
porizou 0:1d06be4983e0 363 D_7seg[2] = nu3;
porizou 0:1d06be4983e0 364 D_7seg[3] = nu4;
porizou 0:1d06be4983e0 365
porizou 0:1d06be4983e0 366
porizou 0:1d06be4983e0 367 int swflag_t;
porizou 0:1d06be4983e0 368
porizou 0:1d06be4983e0 369 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 370
porizou 0:1d06be4983e0 371 //TKflagでbreak
porizou 0:1d06be4983e0 372 while(TKflag == 0){
porizou 0:1d06be4983e0 373
porizou 0:1d06be4983e0 374 tflag = 1;
porizou 0:1d06be4983e0 375
porizou 0:1d06be4983e0 376 swflag_t = 0;
porizou 0:1d06be4983e0 377
porizou 0:1d06be4983e0 378 while(1){
porizou 0:1d06be4983e0 379 if(sw4 == 0){
porizou 0:1d06be4983e0 380 nu1++;
porizou 0:1d06be4983e0 381 swflag_t=1;
porizou 0:1d06be4983e0 382 if(nu1 == 3){ nu1=0; }
porizou 0:1d06be4983e0 383 while(sw4 == 0){
porizou 0:1d06be4983e0 384 wait(0.1);
porizou 0:1d06be4983e0 385 if(swT == 0){
porizou 0:1d06be4983e0 386 TKflag = 1;
porizou 0:1d06be4983e0 387 break;
porizou 0:1d06be4983e0 388 }
porizou 0:1d06be4983e0 389 }
porizou 0:1d06be4983e0 390 }
porizou 0:1d06be4983e0 391 //点滅
porizou 0:1d06be4983e0 392 if(swflag_t == 0){
porizou 0:1d06be4983e0 393 wait(0.1);
porizou 0:1d06be4983e0 394 D_7seg[0] = 16;
porizou 0:1d06be4983e0 395 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 396 wait(0.1);
porizou 0:1d06be4983e0 397 }
porizou 0:1d06be4983e0 398 if(swT == 0){ TKflag = 1; }
porizou 0:1d06be4983e0 399 D_7seg[0] = nu1;
porizou 0:1d06be4983e0 400 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 401 if(TKflag == 1) break;
porizou 0:1d06be4983e0 402 if(swK == 0) break;
porizou 0:1d06be4983e0 403 }
porizou 0:1d06be4983e0 404
porizou 0:1d06be4983e0 405 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 406 if(TKflag == 1) break;
porizou 0:1d06be4983e0 407 if(swT == 0) TKflag = 1;
porizou 0:1d06be4983e0 408
porizou 0:1d06be4983e0 409 swflag_t = 0;
porizou 0:1d06be4983e0 410
porizou 0:1d06be4983e0 411 while(1){
porizou 0:1d06be4983e0 412 if(sw3 == 0){
porizou 0:1d06be4983e0 413 nu2++;
porizou 0:1d06be4983e0 414 swflag_t=1;
porizou 0:1d06be4983e0 415 if(nu1 == 2 && nu2 == 4) { nu2 = 0; }
porizou 0:1d06be4983e0 416 if(nu2 == 10){ nu2=0; }
porizou 0:1d06be4983e0 417 while(sw3 == 0){
porizou 0:1d06be4983e0 418 wait(0.1);
porizou 0:1d06be4983e0 419 if(swT == 0){
porizou 0:1d06be4983e0 420 TKflag = 1;
porizou 0:1d06be4983e0 421 break;
porizou 0:1d06be4983e0 422 }
porizou 0:1d06be4983e0 423 }
porizou 0:1d06be4983e0 424 }
porizou 0:1d06be4983e0 425 if(swflag_t == 0){
porizou 0:1d06be4983e0 426 wait(0.1);
porizou 0:1d06be4983e0 427 D_7seg[1] = 16;
porizou 0:1d06be4983e0 428 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 429 wait(0.1);
porizou 0:1d06be4983e0 430 }
porizou 0:1d06be4983e0 431 if(swT == 0){ TKflag = 1; }
porizou 0:1d06be4983e0 432 D_7seg[1] = nu2;
porizou 0:1d06be4983e0 433 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 434 if(TKflag == 1) break;
porizou 0:1d06be4983e0 435 if(swK == 0) break;
porizou 0:1d06be4983e0 436 }
porizou 0:1d06be4983e0 437
porizou 0:1d06be4983e0 438 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 439 if(TKflag == 1) break;
porizou 0:1d06be4983e0 440 if(swT == 0) TKflag = 1;
porizou 0:1d06be4983e0 441
porizou 0:1d06be4983e0 442 swflag_t = 0;
porizou 0:1d06be4983e0 443
porizou 0:1d06be4983e0 444 while(1){
porizou 0:1d06be4983e0 445 if(sw2 == 0){
porizou 0:1d06be4983e0 446 nu3++;
porizou 0:1d06be4983e0 447 swflag_t=1;
porizou 0:1d06be4983e0 448 if(nu3 == 6) { nu3 = 0; }
porizou 0:1d06be4983e0 449 while(sw2 == 0){
porizou 0:1d06be4983e0 450 wait(0.1);
porizou 0:1d06be4983e0 451 if(swT == 0){
porizou 0:1d06be4983e0 452 TKflag = 1;
porizou 0:1d06be4983e0 453 break;
porizou 0:1d06be4983e0 454 }
porizou 0:1d06be4983e0 455 }
porizou 0:1d06be4983e0 456 }
porizou 0:1d06be4983e0 457 if(swflag_t == 0){
porizou 0:1d06be4983e0 458 wait(0.1);
porizou 0:1d06be4983e0 459 D_7seg[2] = 16;
porizou 0:1d06be4983e0 460 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 461 wait(0.1);
porizou 0:1d06be4983e0 462 }
porizou 0:1d06be4983e0 463 if(swT == 0){ TKflag = 1; }
porizou 0:1d06be4983e0 464 D_7seg[2] = nu3;
porizou 0:1d06be4983e0 465 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 466 if(TKflag == 1) break;
porizou 0:1d06be4983e0 467 if(swK == 0) break;
porizou 0:1d06be4983e0 468 }
porizou 0:1d06be4983e0 469
porizou 0:1d06be4983e0 470 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 471 if(TKflag == 1) break;
porizou 0:1d06be4983e0 472 if(swT == 0) TKflag = 1;
porizou 0:1d06be4983e0 473
porizou 0:1d06be4983e0 474 swflag_t = 0;
porizou 0:1d06be4983e0 475
porizou 0:1d06be4983e0 476 while(1){
porizou 0:1d06be4983e0 477 if(sw1 == 0){
porizou 0:1d06be4983e0 478 nu4++;
porizou 0:1d06be4983e0 479 swflag_t=1;
porizou 0:1d06be4983e0 480 if(nu4 == 10) { nu4 = 0; }
porizou 0:1d06be4983e0 481 while(sw1 == 0){ wait(0.1);
porizou 0:1d06be4983e0 482 if(swT == 0){
porizou 0:1d06be4983e0 483 TKflag = 1;
porizou 0:1d06be4983e0 484 break;
porizou 0:1d06be4983e0 485 }
porizou 0:1d06be4983e0 486 }
porizou 0:1d06be4983e0 487 }
porizou 0:1d06be4983e0 488 if(swflag_t == 0){
porizou 0:1d06be4983e0 489 wait(0.1);
porizou 0:1d06be4983e0 490 D_7seg[3] = 16;
porizou 0:1d06be4983e0 491 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 492 wait(0.1);
porizou 0:1d06be4983e0 493 }
porizou 0:1d06be4983e0 494 D_7seg[3] = nu4;
porizou 0:1d06be4983e0 495 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 496 if(TKflag == 1) break;
porizou 0:1d06be4983e0 497 if(swK == 0) break;
porizou 0:1d06be4983e0 498 }
porizou 0:1d06be4983e0 499
porizou 0:1d06be4983e0 500 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 501 if(TKflag == 1) break;
porizou 0:1d06be4983e0 502 if(swT == 0) TKflag = 1;
porizou 0:1d06be4983e0 503
porizou 0:1d06be4983e0 504 swflag_t = 0;
porizou 0:1d06be4983e0 505
porizou 0:1d06be4983e0 506
porizou 0:1d06be4983e0 507 }
porizou 0:1d06be4983e0 508
porizou 0:1d06be4983e0 509 TKflag = 0;
porizou 0:1d06be4983e0 510
porizou 0:1d06be4983e0 511 Tflag_F=1;
porizou 0:1d06be4983e0 512 time1 = nu1;
porizou 0:1d06be4983e0 513 time2 = nu2;
porizou 0:1d06be4983e0 514 time3 = nu3;
porizou 0:1d06be4983e0 515 time4 = nu4;
porizou 0:1d06be4983e0 516
porizou 0:1d06be4983e0 517
porizou 0:1d06be4983e0 518 }
porizou 0:1d06be4983e0 519
porizou 0:1d06be4983e0 520 //お金取り出し
porizou 0:1d06be4983e0 521 if(swM == 1 && swT == 0){
porizou 0:1d06be4983e0 522
porizou 0:1d06be4983e0 523
porizou 0:1d06be4983e0 524 int tori=0;
porizou 0:1d06be4983e0 525
porizou 0:1d06be4983e0 526 D_dot[0] = 0;
porizou 0:1d06be4983e0 527 D_dot[1] = 0;
porizou 0:1d06be4983e0 528 D_dot[2] = 0;
porizou 0:1d06be4983e0 529 D_dot[3] = 0;
porizou 0:1d06be4983e0 530
porizou 0:1d06be4983e0 531 int co1=0,co2=0,co3=0,co4=0;
porizou 0:1d06be4983e0 532
porizou 0:1d06be4983e0 533 co4 = dt.s % 10;
porizou 0:1d06be4983e0 534
porizou 0:1d06be4983e0 535 int swCo1=0,swCo2=0,swCo3=0;
porizou 0:1d06be4983e0 536
porizou 0:1d06be4983e0 537
porizou 0:1d06be4983e0 538
porizou 0:1d06be4983e0 539 while(tori == 0){
porizou 0:1d06be4983e0 540
porizou 0:1d06be4983e0 541
porizou 0:1d06be4983e0 542
porizou 0:1d06be4983e0 543
porizou 0:1d06be4983e0 544
porizou 0:1d06be4983e0 545 if(sw3 == 1 && swCo3 == 0){
porizou 0:1d06be4983e0 546 co3++;
porizou 0:1d06be4983e0 547 if(co3 == 10) {co3 =0 ;}
porizou 0:1d06be4983e0 548 } else {
porizou 0:1d06be4983e0 549 swCo3 = 1;
porizou 0:1d06be4983e0 550 }
porizou 0:1d06be4983e0 551
porizou 0:1d06be4983e0 552
porizou 0:1d06be4983e0 553
porizou 0:1d06be4983e0 554 if(sw2 == 1 && swCo2 == 0){
porizou 0:1d06be4983e0 555 co2++;
porizou 0:1d06be4983e0 556 if(co2 == 10) {co2 =0 ;}
porizou 0:1d06be4983e0 557 } else {
porizou 0:1d06be4983e0 558 swCo2 = 1;
porizou 0:1d06be4983e0 559 }
porizou 0:1d06be4983e0 560
porizou 0:1d06be4983e0 561 if(sw1 == 1 && swCo1 == 0){
porizou 0:1d06be4983e0 562 co1++;
porizou 0:1d06be4983e0 563 if(co1 == 10) {co1 =0 ;}
porizou 0:1d06be4983e0 564 } else {
porizou 0:1d06be4983e0 565 swCo1 = 1;
porizou 0:1d06be4983e0 566 }
porizou 0:1d06be4983e0 567
porizou 0:1d06be4983e0 568
porizou 0:1d06be4983e0 569
porizou 0:1d06be4983e0 570
porizou 0:1d06be4983e0 571
porizou 0:1d06be4983e0 572
porizou 0:1d06be4983e0 573 if(swCo3 == 1 && swCo2 == 1 && swCo1 == 1 ){
porizou 0:1d06be4983e0 574 if(co1 == co2 && co2 == co3 && co3 == co4){
porizou 0:1d06be4983e0 575
porizou 0:1d06be4983e0 576 tori = 1;
porizou 0:1d06be4983e0 577 while(sw1 == 0 || sw2 == 0 || sw3 == 0){
porizou 0:1d06be4983e0 578 wait(0.1);
porizou 0:1d06be4983e0 579 Mflag_F = 1;
porizou 0:1d06be4983e0 580 }
porizou 0:1d06be4983e0 581
porizou 0:1d06be4983e0 582 } else {
porizou 0:1d06be4983e0 583 swCo3 = 0;
porizou 0:1d06be4983e0 584 swCo2 = 0;
porizou 0:1d06be4983e0 585 swCo1 = 0;
porizou 0:1d06be4983e0 586 co1 = 0;
porizou 0:1d06be4983e0 587 co2 = 0;
porizou 0:1d06be4983e0 588 co3 = 0;
porizou 0:1d06be4983e0 589 while(sw1 == 0 || sw2 == 0 || sw3 == 0){
porizou 0:1d06be4983e0 590 wait(0.1);
porizou 0:1d06be4983e0 591 }
porizou 0:1d06be4983e0 592 }
porizou 0:1d06be4983e0 593 }
porizou 0:1d06be4983e0 594
porizou 0:1d06be4983e0 595
porizou 0:1d06be4983e0 596 D_7seg[0] = co4;
porizou 0:1d06be4983e0 597 D_7seg[1] = co3;
porizou 0:1d06be4983e0 598 D_7seg[2] = co2;
porizou 0:1d06be4983e0 599 D_7seg[3] = co1;
porizou 0:1d06be4983e0 600
porizou 0:1d06be4983e0 601 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 602 wait(0.1);
porizou 0:1d06be4983e0 603
porizou 0:1d06be4983e0 604 if( swM == 0 ) break;
porizou 0:1d06be4983e0 605 if(tori == 1) break;
porizou 0:1d06be4983e0 606
porizou 0:1d06be4983e0 607
porizou 0:1d06be4983e0 608
porizou 0:1d06be4983e0 609 }
porizou 0:1d06be4983e0 610
porizou 0:1d06be4983e0 611
porizou 0:1d06be4983e0 612 if(Mflag_F == 1){
porizou 0:1d06be4983e0 613 belled = 0.5;
porizou 0:1d06be4983e0 614 wait(0.5);
porizou 0:1d06be4983e0 615 belled = 0;
porizou 0:1d06be4983e0 616
porizou 0:1d06be4983e0 617 moledA = 1;
porizou 0:1d06be4983e0 618
porizou 0:1d06be4983e0 619 while(1){
porizou 0:1d06be4983e0 620 if(photo == 1 ){
porizou 0:1d06be4983e0 621 moledA = 0;
porizou 0:1d06be4983e0 622 //wait(0.1);
porizou 0:1d06be4983e0 623 break;
porizou 0:1d06be4983e0 624 }
porizou 0:1d06be4983e0 625 //wait(0.1);
porizou 0:1d06be4983e0 626 }
porizou 0:1d06be4983e0 627 /*
porizou 0:1d06be4983e0 628 while(photo == 1){
porizou 0:1d06be4983e0 629 wait(0.1);
porizou 0:1d06be4983e0 630 }
porizou 0:1d06be4983e0 631 */
porizou 0:1d06be4983e0 632 wait(0.1);
porizou 0:1d06be4983e0 633
porizou 0:1d06be4983e0 634 /*
porizou 0:1d06be4983e0 635 while(1){
porizou 0:1d06be4983e0 636 if(swK == 0){
porizou 0:1d06be4983e0 637 moledB = 1;
porizou 0:1d06be4983e0 638 } else {
porizou 0:1d06be4983e0 639 moledB = 0;
porizou 0:1d06be4983e0 640 }
porizou 0:1d06be4983e0 641 if(swM == 0) break;
porizou 0:1d06be4983e0 642 wait(0.1);
porizou 0:1d06be4983e0 643 }
porizou 0:1d06be4983e0 644 */
porizou 0:1d06be4983e0 645
porizou 0:1d06be4983e0 646 while(1){
porizou 0:1d06be4983e0 647 if(swM == 0) break;
porizou 0:1d06be4983e0 648 wait(0.1);
porizou 0:1d06be4983e0 649 }
porizou 0:1d06be4983e0 650
porizou 0:1d06be4983e0 651
porizou 0:1d06be4983e0 652 //moledB = 0;
porizou 0:1d06be4983e0 653
porizou 0:1d06be4983e0 654 }
porizou 0:1d06be4983e0 655
porizou 0:1d06be4983e0 656
porizou 0:1d06be4983e0 657 Mflag_F = 0;
porizou 0:1d06be4983e0 658 wait(0.1);
porizou 0:1d06be4983e0 659 }
porizou 0:1d06be4983e0 660
porizou 0:1d06be4983e0 661
porizou 0:1d06be4983e0 662 if(swT == 1 && swM == 1 ) {
porizou 0:1d06be4983e0 663 int tflag_d = 0;
porizou 0:1d06be4983e0 664
porizou 0:1d06be4983e0 665 //初期値
porizou 0:1d06be4983e0 666 int nu1_d,nu2_d,nu3_d,nu4_d;
porizou 0:1d06be4983e0 667
porizou 0:1d06be4983e0 668
porizou 0:1d06be4983e0 669 if(tflag_d == 0){ nu1_d=0,nu2_d=0,nu3_d=0,nu4_d=0;}
porizou 0:1d06be4983e0 670
porizou 0:1d06be4983e0 671 D_7seg[0] = nu1_d;
porizou 0:1d06be4983e0 672 D_7seg[1] = nu2_d;
porizou 0:1d06be4983e0 673 D_7seg[2] = nu3_d;
porizou 0:1d06be4983e0 674 D_7seg[3] = nu4_d;
porizou 0:1d06be4983e0 675
porizou 0:1d06be4983e0 676
porizou 0:1d06be4983e0 677 int swflag_t_d;
porizou 0:1d06be4983e0 678
porizou 0:1d06be4983e0 679 int TKflag_d = 0;
porizou 0:1d06be4983e0 680
porizou 0:1d06be4983e0 681 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 682
porizou 0:1d06be4983e0 683 //TKflagでbreak
porizou 0:1d06be4983e0 684 while(TKflag_d == 0){
porizou 0:1d06be4983e0 685
porizou 0:1d06be4983e0 686 tflag_d = 1;
porizou 0:1d06be4983e0 687
porizou 0:1d06be4983e0 688 swflag_t_d = 0;
porizou 0:1d06be4983e0 689
porizou 0:1d06be4983e0 690 while(1){
porizou 0:1d06be4983e0 691 if(sw4 == 0){
porizou 0:1d06be4983e0 692 nu1_d++;
porizou 0:1d06be4983e0 693 swflag_t_d=1;
porizou 0:1d06be4983e0 694 if(nu1_d == 3){ nu1_d=0; }
porizou 0:1d06be4983e0 695 while(sw4 == 0){
porizou 0:1d06be4983e0 696 wait(0.1);
porizou 0:1d06be4983e0 697 if(swT == 0){
porizou 0:1d06be4983e0 698 TKflag_d = 1;
porizou 0:1d06be4983e0 699 break;
porizou 0:1d06be4983e0 700 }
porizou 0:1d06be4983e0 701 }
porizou 0:1d06be4983e0 702 }
porizou 0:1d06be4983e0 703 //点滅
porizou 0:1d06be4983e0 704 if(swflag_t_d == 0){
porizou 0:1d06be4983e0 705 wait(0.1);
porizou 0:1d06be4983e0 706 D_7seg[0] = 16;
porizou 0:1d06be4983e0 707 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 708 wait(0.1);
porizou 0:1d06be4983e0 709 }
porizou 0:1d06be4983e0 710 if(swT == 0){ TKflag_d = 1; }
porizou 0:1d06be4983e0 711 D_7seg[0] = nu1_d;
porizou 0:1d06be4983e0 712 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 713 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 714 if(swK == 0) break;
porizou 0:1d06be4983e0 715 }
porizou 0:1d06be4983e0 716
porizou 0:1d06be4983e0 717 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 718 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 719 if(swT == 0) TKflag_d = 1;
porizou 0:1d06be4983e0 720
porizou 0:1d06be4983e0 721 swflag_t_d = 0;
porizou 0:1d06be4983e0 722
porizou 0:1d06be4983e0 723 while(1){
porizou 0:1d06be4983e0 724 if(sw3 == 0){
porizou 0:1d06be4983e0 725 nu2_d++;
porizou 0:1d06be4983e0 726 swflag_t_d=1;
porizou 0:1d06be4983e0 727 if(nu1_d == 2 && nu2_d == 4) { nu2_d = 0; }
porizou 0:1d06be4983e0 728 if(nu2_d == 10){ nu2_d=0; }
porizou 0:1d06be4983e0 729 while(sw3 == 0){
porizou 0:1d06be4983e0 730 wait(0.1);
porizou 0:1d06be4983e0 731 if(swT == 0){
porizou 0:1d06be4983e0 732 TKflag_d = 1;
porizou 0:1d06be4983e0 733 break;
porizou 0:1d06be4983e0 734 }
porizou 0:1d06be4983e0 735 }
porizou 0:1d06be4983e0 736 }
porizou 0:1d06be4983e0 737 if(swflag_t_d == 0){
porizou 0:1d06be4983e0 738 wait(0.1);
porizou 0:1d06be4983e0 739 D_7seg[1] = 16;
porizou 0:1d06be4983e0 740 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 741 wait(0.1);
porizou 0:1d06be4983e0 742 }
porizou 0:1d06be4983e0 743 if(swT == 0){ TKflag_d = 1; }
porizou 0:1d06be4983e0 744 D_7seg[1] = nu2_d;
porizou 0:1d06be4983e0 745 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 746 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 747 if(swK == 0) break;
porizou 0:1d06be4983e0 748 }
porizou 0:1d06be4983e0 749
porizou 0:1d06be4983e0 750 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 751 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 752 if(swT == 0) TKflag_d = 1;
porizou 0:1d06be4983e0 753
porizou 0:1d06be4983e0 754 swflag_t_d = 0;
porizou 0:1d06be4983e0 755
porizou 0:1d06be4983e0 756 while(1){
porizou 0:1d06be4983e0 757 if(sw2 == 0){
porizou 0:1d06be4983e0 758 nu3_d++;
porizou 0:1d06be4983e0 759 swflag_t_d=1;
porizou 0:1d06be4983e0 760 if(nu3_d == 6) { nu3_d = 0; }
porizou 0:1d06be4983e0 761 while(sw2 == 0){
porizou 0:1d06be4983e0 762 wait(0.1);
porizou 0:1d06be4983e0 763 if(swT == 0){
porizou 0:1d06be4983e0 764 TKflag_d = 1;
porizou 0:1d06be4983e0 765 break;
porizou 0:1d06be4983e0 766 }
porizou 0:1d06be4983e0 767 }
porizou 0:1d06be4983e0 768 }
porizou 0:1d06be4983e0 769 if(swflag_t_d == 0){
porizou 0:1d06be4983e0 770 wait(0.1);
porizou 0:1d06be4983e0 771 D_7seg[2] = 16;
porizou 0:1d06be4983e0 772 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 773 wait(0.1);
porizou 0:1d06be4983e0 774 }
porizou 0:1d06be4983e0 775 if(swT == 0){ TKflag_d = 1; }
porizou 0:1d06be4983e0 776 D_7seg[2] = nu3_d;
porizou 0:1d06be4983e0 777 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 778 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 779 if(swK == 0) break;
porizou 0:1d06be4983e0 780 }
porizou 0:1d06be4983e0 781
porizou 0:1d06be4983e0 782 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 783 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 784 if(swT == 0) TKflag_d = 1;
porizou 0:1d06be4983e0 785
porizou 0:1d06be4983e0 786 swflag_t_d = 0;
porizou 0:1d06be4983e0 787
porizou 0:1d06be4983e0 788 while(1){
porizou 0:1d06be4983e0 789 if(sw1 == 0){
porizou 0:1d06be4983e0 790 nu4_d++;
porizou 0:1d06be4983e0 791 swflag_t_d=1;
porizou 0:1d06be4983e0 792 if(nu4_d == 10) { nu4_d = 0; }
porizou 0:1d06be4983e0 793 while(sw1 == 0){ wait(0.1);
porizou 0:1d06be4983e0 794 if(swT == 0){
porizou 0:1d06be4983e0 795 TKflag_d = 1;
porizou 0:1d06be4983e0 796 break;
porizou 0:1d06be4983e0 797 }
porizou 0:1d06be4983e0 798 }
porizou 0:1d06be4983e0 799 }
porizou 0:1d06be4983e0 800 if(swflag_t_d == 0){
porizou 0:1d06be4983e0 801 wait(0.1);
porizou 0:1d06be4983e0 802 D_7seg[3] = 16;
porizou 0:1d06be4983e0 803 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 804 wait(0.1);
porizou 0:1d06be4983e0 805 }
porizou 0:1d06be4983e0 806 D_7seg[3] = nu4_d;
porizou 0:1d06be4983e0 807 sevenSegLed.SevenSegLed_main(D_7seg, D_dot);
porizou 0:1d06be4983e0 808 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 809 if(swK == 0) break;
porizou 0:1d06be4983e0 810 }
porizou 0:1d06be4983e0 811
porizou 0:1d06be4983e0 812 while(swK == 0) { wait(0.1); }
porizou 0:1d06be4983e0 813 if(TKflag_d == 1) break;
porizou 0:1d06be4983e0 814 if(swT == 0) TKflag_d = 1;
porizou 0:1d06be4983e0 815
porizou 0:1d06be4983e0 816 swflag_t_d = 0;
porizou 0:1d06be4983e0 817
porizou 0:1d06be4983e0 818
porizou 0:1d06be4983e0 819 }
porizou 0:1d06be4983e0 820
porizou 0:1d06be4983e0 821 TKflag_d = 0;
porizou 0:1d06be4983e0 822
porizou 0:1d06be4983e0 823 while(swM == 1){
porizou 0:1d06be4983e0 824
porizou 0:1d06be4983e0 825 }
porizou 0:1d06be4983e0 826
porizou 0:1d06be4983e0 827 //Tflag_F=1;
porizou 0:1d06be4983e0 828 //time1 = nu1_d;
porizou 0:1d06be4983e0 829 //time2 = nu2_d;
porizou 0:1d06be4983e0 830 //time3 = nu3_d;
porizou 0:1d06be4983e0 831 //time4 = nu4_d;
porizou 0:1d06be4983e0 832
porizou 0:1d06be4983e0 833 dt.h = nu1_d * 10 + nu2_d ;
porizou 0:1d06be4983e0 834 dt.m = nu3_d * 10 + nu4_d ;
porizou 0:1d06be4983e0 835 set_time(&dt);
porizou 0:1d06be4983e0 836 flipper.attach(&flip, 1.0); //時刻の取得
porizou 0:1d06be4983e0 837
porizou 0:1d06be4983e0 838
porizou 0:1d06be4983e0 839
porizou 0:1d06be4983e0 840
porizou 0:1d06be4983e0 841
porizou 0:1d06be4983e0 842
porizou 0:1d06be4983e0 843
porizou 0:1d06be4983e0 844
porizou 0:1d06be4983e0 845
porizou 0:1d06be4983e0 846
porizou 0:1d06be4983e0 847
porizou 0:1d06be4983e0 848
porizou 0:1d06be4983e0 849 }
porizou 0:1d06be4983e0 850
porizou 0:1d06be4983e0 851 // wait(1.0);
porizou 0:1d06be4983e0 852
porizou 0:1d06be4983e0 853
porizou 0:1d06be4983e0 854 }
porizou 0:1d06be4983e0 855 }
porizou 0:1d06be4983e0 856
porizou 0:1d06be4983e0 857