
LCD 課題4 ストップウォッチ
main.cpp@1:e676f29f471a, 2016-10-06 (annotated)
- Committer:
- nakano_han
- Date:
- Thu Oct 06 05:04:09 2016 +0000
- Revision:
- 1:e676f29f471a
- Parent:
- 0:8854ce57371e
LCD??4
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nakano_han | 0:8854ce57371e | 1 | #include "mbed.h" |
nakano_han | 0:8854ce57371e | 2 | #include "TextLCD.h" |
nakano_han | 0:8854ce57371e | 3 | |
nakano_han | 1:e676f29f471a | 4 | TextLCD lcd(D8,D10,D11,D12,D13,D14); // rs, e, d4, d5, d6, d7) //LCD出力設定 |
nakano_han | 1:e676f29f471a | 5 | AnalogIn sw1(A4); //SW入力設定 |
nakano_han | 0:8854ce57371e | 6 | |
nakano_han | 0:8854ce57371e | 7 | int main() |
nakano_han | 0:8854ce57371e | 8 | { |
nakano_han | 1:e676f29f471a | 9 | int c = 0; //int型変数定義 |
nakano_han | 1:e676f29f471a | 10 | int ms = 0; //int型変数定義 |
nakano_han | 1:e676f29f471a | 11 | int s = 0; //int型変数定義 |
nakano_han | 1:e676f29f471a | 12 | int m = 0; //int型変数定義 |
nakano_han | 0:8854ce57371e | 13 | |
nakano_han | 1:e676f29f471a | 14 | lcd.cls(); //LCD表示初期化 |
nakano_han | 1:e676f29f471a | 15 | while(1) //無限ループ |
nakano_han | 1:e676f29f471a | 16 | { |
nakano_han | 1:e676f29f471a | 17 | if(sw1 == 1) //SWが押されたとき{}内実行 |
nakano_han | 0:8854ce57371e | 18 | { |
nakano_han | 1:e676f29f471a | 19 | wait(0.25); //0.25秒待つ |
nakano_han | 1:e676f29f471a | 20 | c++; //cに1足す |
nakano_han | 0:8854ce57371e | 21 | } |
nakano_han | 1:e676f29f471a | 22 | if(c == 1) //cが1の時{}内実行 |
nakano_han | 0:8854ce57371e | 23 | { |
nakano_han | 1:e676f29f471a | 24 | ms++; //ms(1/10秒)に1足す |
nakano_han | 1:e676f29f471a | 25 | wait(0.0073); //0.0073秒待つ |
nakano_han | 1:e676f29f471a | 26 | if(ms == 99) //msが99になった時{}内実行 |
nakano_han | 0:8854ce57371e | 27 | { |
nakano_han | 1:e676f29f471a | 28 | ms = 0; //msを初期化 |
nakano_han | 1:e676f29f471a | 29 | s++; //s(秒)に1足す |
nakano_han | 1:e676f29f471a | 30 | if(s == 60) //sが60になった時{}内実行 |
nakano_han | 0:8854ce57371e | 31 | { |
nakano_han | 1:e676f29f471a | 32 | s = 0; //sを初期化 |
nakano_han | 1:e676f29f471a | 33 | m++; //mに1足す |
nakano_han | 0:8854ce57371e | 34 | } |
nakano_han | 0:8854ce57371e | 35 | } |
nakano_han | 0:8854ce57371e | 36 | } |
nakano_han | 1:e676f29f471a | 37 | if(c >= 3) //cが3以上になった時{}内実行 |
nakano_han | 0:8854ce57371e | 38 | { |
nakano_han | 1:e676f29f471a | 39 | ms = 0; //ms初期化 |
nakano_han | 1:e676f29f471a | 40 | s = 0; //s初期化 |
nakano_han | 1:e676f29f471a | 41 | m = 0; //m初期化 |
nakano_han | 1:e676f29f471a | 42 | c = 0; //c初期化 |
nakano_han | 0:8854ce57371e | 43 | } |
nakano_han | 0:8854ce57371e | 44 | |
nakano_han | 1:e676f29f471a | 45 | lcd.locate(0,0); //表示座標 |
nakano_han | 1:e676f29f471a | 46 | lcd.putc((m/10) % 10 + '0'); //LCDにmに格納された変数の10の位を表示 |
nakano_han | 1:e676f29f471a | 47 | lcd.putc((m/1) % 10 + '0'); //LCDにmに格納された変数の1の位を表示 |
nakano_han | 1:e676f29f471a | 48 | lcd.puts(":"); //時刻表示に使われる:コロンを表示 |
nakano_han | 0:8854ce57371e | 49 | |
nakano_han | 1:e676f29f471a | 50 | lcd.locate(3,0); //表示座標 |
nakano_han | 1:e676f29f471a | 51 | lcd.putc((s/10) % 10 + '0'); //LCDにsに格納された変数の10の位を表示 |
nakano_han | 1:e676f29f471a | 52 | lcd.putc((s/1) % 10 + '0'); //LCDにsに格納された変数の1の位を表示 |
nakano_han | 1:e676f29f471a | 53 | lcd.puts(":"); //時刻表示に使われる:コロンを表示 |
nakano_han | 0:8854ce57371e | 54 | |
nakano_han | 1:e676f29f471a | 55 | lcd.locate(6,0); //表示座標 |
nakano_han | 1:e676f29f471a | 56 | lcd.putc((ms/10) % 10 + '0'); //LCDにmsに格納された変数の10の位を表示 |
nakano_han | 1:e676f29f471a | 57 | lcd.putc((ms/1) % 10 + '0'); //LCDにmsに格納された変数の1の位を表示 |
nakano_han | 0:8854ce57371e | 58 | } |
nakano_han | 0:8854ce57371e | 59 | } |