0

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
lolopo008
Date:
Sat Dec 05 06:35:43 2015 +0000
Commit message:
0;

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 1a2be85d07cd main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sat Dec 05 06:35:43 2015 +0000
@@ -0,0 +1,326 @@
+#include "mbed.h"
+
+SPI DataPack(SPI_MOSI, SPI_MISO, SPI_SCK);
+DigitalOut Latch(D10);
+AnalogIn VR0(A0);
+AnalogIn VR1(A1);
+Serial pc(USBTX, USBRX);
+
+float VR_value0,VR_value1;
+int Row[8]= {1,2,4,8,16,32,64,128};
+int Col[8]= {254,253,251,247,239,223,191,127};
+int x;
+
+int Player1()
+{
+    VR_value0 = VR0.read();
+    VR_value0 = VR_value0*6;
+
+    Latch=0;
+    if(VR_value0<=1) {
+        //D1
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x01);
+        wait_us(1);
+        return 1;
+    } else if(VR_value0>1&&VR_value0<=2) {
+        //D2
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x8F);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x01);
+        wait_us(1);
+        return 2;
+    } else if(VR_value0>2&&VR_value0<=3) {
+        //D3
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xC7);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x01);
+        wait_us(1);
+        return 3;
+    } else if(VR_value0>3&&VR_value0<=4) {
+        //D4
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xE3);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x01);
+        wait_us(1);
+        return 4;
+    } else if(VR_value0>4&&VR_value0<=5) {
+        //D5
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF1);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x01);
+        wait_us(1);
+        return 5;
+    } else if(VR_value0>5&&VR_value0<=6) {
+        //D6
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x01);
+        wait_us(1);;
+        return 6;
+    }
+    Latch=1;
+}
+
+void Player2()
+{
+    VR_value1 = VR1.read();
+    VR_value1 = VR_value1*6;
+
+    Latch=0;
+    if(VR_value1<=1) {
+        //U1
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x80);
+        wait_us(1);
+    } else if(VR_value1>1&&VR_value1<=2) {
+        //U2
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x8F);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x80);
+        wait_us(1);
+    } else if(VR_value0>2&&VR_value0<=3) {
+        //U3
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xC7);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x80);
+        wait_us(1);
+    } else if(VR_value1>3&&VR_value1<=4) {
+        //U4
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xE3);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x80);
+        wait_us(1);
+    } else if(VR_value1>4&&VR_value1<=5) {
+        //U5
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF1);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x80);
+        wait_us(1);
+    } else if(VR_value1>5&&VR_value1<=6) {
+        //U6
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x80);
+        wait_us(1);
+    }
+    Latch=1;
+}
+
+void Count()
+{
+    //3
+    for(x=0; x<3000; x++) {
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x40);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x28);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x14);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0x02);
+        wait_us(1);
+        Latch=1;
+    }
+
+    //2
+    for(x=0; x<2200; x++) {
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x1F);
+        wait_us(1);
+        DataPack.write(0x40);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xD8);
+        wait_us(1);
+        DataPack.write(0xD8);
+        wait_us(1);
+        DataPack.write(0x20);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x1E);
+        wait_us(1);
+        DataPack.write(0x10);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x78);
+        wait_us(1);
+        DataPack.write(0x08);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0x1B);
+        wait_us(1);
+        DataPack.write(0x1B);
+        wait_us(1);
+        DataPack.write(0x04);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0xF8);
+        wait_us(1);
+        DataPack.write(0x02);
+        wait_us(1);
+        Latch=1;
+    }
+
+    //1
+    for(x=0; x<4000; x++) {
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xBF);
+        wait_us(1);
+        DataPack.write(0xBF);
+        wait_us(1);
+        DataPack.write(0x40);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xBD);
+        wait_us(1);
+        DataPack.write(0xBD);
+        wait_us(1);
+        DataPack.write(0x3C);
+        wait_us(1);
+        Latch=1;
+
+        Latch=0;
+        DataPack.write(0xFF);
+        wait_us(1);
+        DataPack.write(0xFD);
+        wait_us(1);
+        DataPack.write(0xFD);
+        wait_us(1);
+        DataPack.write(0x02);
+        wait_us(1);
+        Latch=1;
+    }
+}
+
+int main()
+{
+    DataPack.frequency(100000);
+    DataPack.format(8,0);
+
+    Count();
+    
+    while(1) {
+        Player1();
+        Player2();
+    }
+}
diff -r 000000000000 -r 1a2be85d07cd mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Sat Dec 05 06:35:43 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/9296ab0bfc11
\ No newline at end of file