LCD 課題6 @アニメーション SW 右回転 左回転

Dependencies:   TextLCD mbed

Committer:
nakano_han
Date:
Tue Oct 11 05:57:30 2016 +0000
Revision:
0:fe3171c289a6
LCD??5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nakano_han 0:fe3171c289a6 1 #include "mbed.h"
nakano_han 0:fe3171c289a6 2 #include "TextLCD.h"
nakano_han 0:fe3171c289a6 3
nakano_han 0:fe3171c289a6 4 TextLCD lcd(D8,D10,D11,D12,D13,D14); // rs, e, d4, d5, d6, d7) //LCD出力設定
nakano_han 0:fe3171c289a6 5 AnalogIn sw1(A5); //SW入力設定
nakano_han 0:fe3171c289a6 6 AnalogIn sw2(A4); //SW入力設定
nakano_han 0:fe3171c289a6 7 DigitalOut out4(D4); //LED出力設定
nakano_han 0:fe3171c289a6 8 int main()
nakano_han 0:fe3171c289a6 9 {
nakano_han 0:fe3171c289a6 10 int a = 0; //関数aを定義
nakano_han 0:fe3171c289a6 11 int y = 0;
nakano_han 0:fe3171c289a6 12
nakano_han 0:fe3171c289a6 13 lcd.locate(a,y); //表示座標
nakano_han 0:fe3171c289a6 14 lcd.puts("@"); //文字表示
nakano_han 0:fe3171c289a6 15
nakano_han 0:fe3171c289a6 16 while(1) //無限ループ
nakano_han 0:fe3171c289a6 17 {
nakano_han 0:fe3171c289a6 18 if(sw1 == 1) //swが押されたら{}内実行
nakano_han 0:fe3171c289a6 19 {
nakano_han 0:fe3171c289a6 20 if(a <= 16 && y == 0)
nakano_han 0:fe3171c289a6 21 {
nakano_han 0:fe3171c289a6 22 a++;
nakano_han 0:fe3171c289a6 23 wait(0.5);
nakano_han 0:fe3171c289a6 24 }
nakano_han 0:fe3171c289a6 25
nakano_han 0:fe3171c289a6 26 if(a >= 0 && y == 1)
nakano_han 0:fe3171c289a6 27 {
nakano_han 0:fe3171c289a6 28 a--;
nakano_han 0:fe3171c289a6 29 wait(0.5);
nakano_han 0:fe3171c289a6 30 }
nakano_han 0:fe3171c289a6 31
nakano_han 0:fe3171c289a6 32 if(y == 0 && a >= 16)
nakano_han 0:fe3171c289a6 33 {
nakano_han 0:fe3171c289a6 34 a = 15;
nakano_han 0:fe3171c289a6 35 y = 1;
nakano_han 0:fe3171c289a6 36 }
nakano_han 0:fe3171c289a6 37
nakano_han 0:fe3171c289a6 38 if(y == 1 && a < 0)
nakano_han 0:fe3171c289a6 39 {
nakano_han 0:fe3171c289a6 40 a = 0;
nakano_han 0:fe3171c289a6 41 y = 0;
nakano_han 0:fe3171c289a6 42 }
nakano_han 0:fe3171c289a6 43 lcd.cls();
nakano_han 0:fe3171c289a6 44 }
nakano_han 0:fe3171c289a6 45
nakano_han 0:fe3171c289a6 46 if(sw2 == 1)
nakano_han 0:fe3171c289a6 47 {
nakano_han 0:fe3171c289a6 48 if(a <= 16 && y == 0)
nakano_han 0:fe3171c289a6 49 {
nakano_han 0:fe3171c289a6 50 a--;
nakano_han 0:fe3171c289a6 51 wait(0.5);
nakano_han 0:fe3171c289a6 52 }
nakano_han 0:fe3171c289a6 53
nakano_han 0:fe3171c289a6 54 if(a >= 0 && y == 1)
nakano_han 0:fe3171c289a6 55 {
nakano_han 0:fe3171c289a6 56 a++;
nakano_han 0:fe3171c289a6 57 wait(0.5);
nakano_han 0:fe3171c289a6 58 }
nakano_han 0:fe3171c289a6 59
nakano_han 0:fe3171c289a6 60 if(y == 0 && a < 0)
nakano_han 0:fe3171c289a6 61 {
nakano_han 0:fe3171c289a6 62
nakano_han 0:fe3171c289a6 63 a = 0;
nakano_han 0:fe3171c289a6 64 y = 1;
nakano_han 0:fe3171c289a6 65 }
nakano_han 0:fe3171c289a6 66 if(y == 1 && a >= 16)
nakano_han 0:fe3171c289a6 67 {
nakano_han 0:fe3171c289a6 68 a = 15;
nakano_han 0:fe3171c289a6 69 y = 0;
nakano_han 0:fe3171c289a6 70 }
nakano_han 0:fe3171c289a6 71 lcd.cls();
nakano_han 0:fe3171c289a6 72 }
nakano_han 0:fe3171c289a6 73 lcd.locate(a,y); //表示座標
nakano_han 0:fe3171c289a6 74 lcd.puts("@"); //文字表示
nakano_han 0:fe3171c289a6 75 }
nakano_han 0:fe3171c289a6 76 }