LCD 課題4 ストップウォッチ

Dependencies:   TextLCD mbed

main.cpp

Committer:
nakano_han
Date:
2016-10-06
Revision:
1:e676f29f471a
Parent:
0:8854ce57371e

File content as of revision 1:e676f29f471a:

#include "mbed.h"
#include "TextLCD.h"

TextLCD lcd(D8,D10,D11,D12,D13,D14); // rs, e, d4, d5, d6, d7)  //LCD出力設定
AnalogIn sw1(A4);   //SW入力設定

int main()
{
    int c = 0;      //int型変数定義
    int ms = 0;     //int型変数定義
    int s = 0;      //int型変数定義
    int m = 0;      //int型変数定義
    
    lcd.cls();  //LCD表示初期化
    while(1)    //無限ループ
    {
        if(sw1 == 1)    //SWが押されたとき{}内実行
        {
            wait(0.25); //0.25秒待つ
            c++;        //cに1足す
        }
            if(c == 1)  //cが1の時{}内実行
            {
                ms++;   //ms(1/10秒)に1足す
                wait(0.0073);   //0.0073秒待つ
                if(ms == 99)    //msが99になった時{}内実行
                {
                    ms = 0;     //msを初期化
                    s++;        //s(秒)に1足す
                    if(s == 60) //sが60になった時{}内実行
                    {
                        s = 0;  //sを初期化
                        m++;    //mに1足す
                    }
                }
            }
            if(c >= 3)  //cが3以上になった時{}内実行
            {
                ms = 0; //ms初期化
                s = 0;  //s初期化
                m = 0;  //m初期化
                c = 0;  //c初期化
            }
        
        lcd.locate(0,0);    //表示座標
        lcd.putc((m/10) % 10 + '0');    //LCDにmに格納された変数の10の位を表示
        lcd.putc((m/1)  % 10 + '0');    //LCDにmに格納された変数の1の位を表示
        lcd.puts(":");      //時刻表示に使われる:コロンを表示
        
        lcd.locate(3,0);    //表示座標
        lcd.putc((s/10) % 10 + '0');    //LCDにsに格納された変数の10の位を表示
        lcd.putc((s/1)  % 10 + '0');    //LCDにsに格納された変数の1の位を表示
        lcd.puts(":");      //時刻表示に使われる:コロンを表示
        
        lcd.locate(6,0);    //表示座標
        lcd.putc((ms/10) % 10 + '0');   //LCDにmsに格納された変数の10の位を表示
        lcd.putc((ms/1)  % 10 + '0');   //LCDにmsに格納された変数の1の位を表示
    }
}