a

Dependencies:   mbed

Committer:
lolopo008
Date:
Sat Dec 05 06:36:43 2015 +0000
Revision:
0:6fac2f739171
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lolopo008 0:6fac2f739171 1 #include "mbed.h"
lolopo008 0:6fac2f739171 2
lolopo008 0:6fac2f739171 3 SPI DataPack(SPI_MOSI, SPI_MISO, SPI_SCK);
lolopo008 0:6fac2f739171 4 DigitalOut Latch(D10);
lolopo008 0:6fac2f739171 5 AnalogIn VR0(A0);
lolopo008 0:6fac2f739171 6 AnalogIn VR1(A1);
lolopo008 0:6fac2f739171 7 Serial pc(USBTX, USBRX);
lolopo008 0:6fac2f739171 8
lolopo008 0:6fac2f739171 9 float VR_value0,VR_value1;
lolopo008 0:6fac2f739171 10 int Row[8]= {1,2,4,8,16,32,64,128};
lolopo008 0:6fac2f739171 11 int Col[8]= {254,253,251,247,239,223,191,127};
lolopo008 0:6fac2f739171 12 int x;
lolopo008 0:6fac2f739171 13
lolopo008 0:6fac2f739171 14 void Player1()
lolopo008 0:6fac2f739171 15 {
lolopo008 0:6fac2f739171 16 VR_value0 = VR0.read();
lolopo008 0:6fac2f739171 17 VR_value0 = VR_value0*6;
lolopo008 0:6fac2f739171 18
lolopo008 0:6fac2f739171 19 Latch=0;
lolopo008 0:6fac2f739171 20 if(VR_value0<=1) {
lolopo008 0:6fac2f739171 21 //D1
lolopo008 0:6fac2f739171 22 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 23 wait_us(1);
lolopo008 0:6fac2f739171 24 DataPack.write(0x1F);
lolopo008 0:6fac2f739171 25 wait_us(1);
lolopo008 0:6fac2f739171 26 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 27 wait_us(1);
lolopo008 0:6fac2f739171 28 DataPack.write(0x01);
lolopo008 0:6fac2f739171 29 wait_us(1);
lolopo008 0:6fac2f739171 30 } else if(VR_value0>1&&VR_value0<=2) {
lolopo008 0:6fac2f739171 31 //D2
lolopo008 0:6fac2f739171 32 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 33 wait_us(1);
lolopo008 0:6fac2f739171 34 DataPack.write(0x8F);
lolopo008 0:6fac2f739171 35 wait_us(1);
lolopo008 0:6fac2f739171 36 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 37 wait_us(1);
lolopo008 0:6fac2f739171 38 DataPack.write(0x01);
lolopo008 0:6fac2f739171 39 wait_us(1);
lolopo008 0:6fac2f739171 40 } else if(VR_value0>2&&VR_value0<=3) {
lolopo008 0:6fac2f739171 41 //D3
lolopo008 0:6fac2f739171 42 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 43 wait_us(1);
lolopo008 0:6fac2f739171 44 DataPack.write(0xC7);
lolopo008 0:6fac2f739171 45 wait_us(1);
lolopo008 0:6fac2f739171 46 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 47 wait_us(1);
lolopo008 0:6fac2f739171 48 DataPack.write(0x01);
lolopo008 0:6fac2f739171 49 wait_us(1);
lolopo008 0:6fac2f739171 50 } else if(VR_value0>3&&VR_value0<=4) {
lolopo008 0:6fac2f739171 51 //D4
lolopo008 0:6fac2f739171 52 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 53 wait_us(1);
lolopo008 0:6fac2f739171 54 DataPack.write(0xE3);
lolopo008 0:6fac2f739171 55 wait_us(1);
lolopo008 0:6fac2f739171 56 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 57 wait_us(1);
lolopo008 0:6fac2f739171 58 DataPack.write(0x01);
lolopo008 0:6fac2f739171 59 wait_us(1);
lolopo008 0:6fac2f739171 60 } else if(VR_value0>4&&VR_value0<=5) {
lolopo008 0:6fac2f739171 61 //D5
lolopo008 0:6fac2f739171 62 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 63 wait_us(1);
lolopo008 0:6fac2f739171 64 DataPack.write(0xF1);
lolopo008 0:6fac2f739171 65 wait_us(1);
lolopo008 0:6fac2f739171 66 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 67 wait_us(1);
lolopo008 0:6fac2f739171 68 DataPack.write(0x01);
lolopo008 0:6fac2f739171 69 wait_us(1);
lolopo008 0:6fac2f739171 70 } else if(VR_value0>5&&VR_value0<=6) {
lolopo008 0:6fac2f739171 71 //D6
lolopo008 0:6fac2f739171 72 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 73 wait_us(1);
lolopo008 0:6fac2f739171 74 DataPack.write(0xF8);
lolopo008 0:6fac2f739171 75 wait_us(1);
lolopo008 0:6fac2f739171 76 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 77 wait_us(1);
lolopo008 0:6fac2f739171 78 DataPack.write(0x01);
lolopo008 0:6fac2f739171 79 wait_us(1);
lolopo008 0:6fac2f739171 80 }
lolopo008 0:6fac2f739171 81 Latch=1;
lolopo008 0:6fac2f739171 82 }
lolopo008 0:6fac2f739171 83
lolopo008 0:6fac2f739171 84 void Player2()
lolopo008 0:6fac2f739171 85 {
lolopo008 0:6fac2f739171 86 VR_value1 = VR1.read();
lolopo008 0:6fac2f739171 87 VR_value1 = VR_value1*6;
lolopo008 0:6fac2f739171 88
lolopo008 0:6fac2f739171 89 Latch=0;
lolopo008 0:6fac2f739171 90 if(VR_value1<=1) {
lolopo008 0:6fac2f739171 91 //U1
lolopo008 0:6fac2f739171 92 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 93 wait_us(1);
lolopo008 0:6fac2f739171 94 DataPack.write(0x1F);
lolopo008 0:6fac2f739171 95 wait_us(1);
lolopo008 0:6fac2f739171 96 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 97 wait_us(1);
lolopo008 0:6fac2f739171 98 DataPack.write(0x80);
lolopo008 0:6fac2f739171 99 wait_us(1);
lolopo008 0:6fac2f739171 100 } else if(VR_value1>1&&VR_value1<=2) {
lolopo008 0:6fac2f739171 101 //U2
lolopo008 0:6fac2f739171 102 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 103 wait_us(1);
lolopo008 0:6fac2f739171 104 DataPack.write(0x8F);
lolopo008 0:6fac2f739171 105 wait_us(1);
lolopo008 0:6fac2f739171 106 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 107 wait_us(1);
lolopo008 0:6fac2f739171 108 DataPack.write(0x80);
lolopo008 0:6fac2f739171 109 wait_us(1);
lolopo008 0:6fac2f739171 110 } else if(VR_value0>2&&VR_value0<=3) {
lolopo008 0:6fac2f739171 111 //U3
lolopo008 0:6fac2f739171 112 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 113 wait_us(1);
lolopo008 0:6fac2f739171 114 DataPack.write(0xC7);
lolopo008 0:6fac2f739171 115 wait_us(1);
lolopo008 0:6fac2f739171 116 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 117 wait_us(1);
lolopo008 0:6fac2f739171 118 DataPack.write(0x80);
lolopo008 0:6fac2f739171 119 wait_us(1);
lolopo008 0:6fac2f739171 120 } else if(VR_value1>3&&VR_value1<=4) {
lolopo008 0:6fac2f739171 121 //U4
lolopo008 0:6fac2f739171 122 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 123 wait_us(1);
lolopo008 0:6fac2f739171 124 DataPack.write(0xE3);
lolopo008 0:6fac2f739171 125 wait_us(1);
lolopo008 0:6fac2f739171 126 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 127 wait_us(1);
lolopo008 0:6fac2f739171 128 DataPack.write(0x80);
lolopo008 0:6fac2f739171 129 wait_us(1);
lolopo008 0:6fac2f739171 130 } else if(VR_value1>4&&VR_value1<=5) {
lolopo008 0:6fac2f739171 131 //U5
lolopo008 0:6fac2f739171 132 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 133 wait_us(1);
lolopo008 0:6fac2f739171 134 DataPack.write(0xF1);
lolopo008 0:6fac2f739171 135 wait_us(1);
lolopo008 0:6fac2f739171 136 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 137 wait_us(1);
lolopo008 0:6fac2f739171 138 DataPack.write(0x80);
lolopo008 0:6fac2f739171 139 wait_us(1);
lolopo008 0:6fac2f739171 140 } else if(VR_value1>5&&VR_value1<=6) {
lolopo008 0:6fac2f739171 141 //U6
lolopo008 0:6fac2f739171 142 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 143 wait_us(1);
lolopo008 0:6fac2f739171 144 DataPack.write(0xF8);
lolopo008 0:6fac2f739171 145 wait_us(1);
lolopo008 0:6fac2f739171 146 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 147 wait_us(1);
lolopo008 0:6fac2f739171 148 DataPack.write(0x80);
lolopo008 0:6fac2f739171 149 wait_us(1);
lolopo008 0:6fac2f739171 150 }
lolopo008 0:6fac2f739171 151 Latch=1;
lolopo008 0:6fac2f739171 152 }
lolopo008 0:6fac2f739171 153
lolopo008 0:6fac2f739171 154 int main()
lolopo008 0:6fac2f739171 155 {
lolopo008 0:6fac2f739171 156 DataPack.frequency(100000);
lolopo008 0:6fac2f739171 157 DataPack.format(8,0);
lolopo008 0:6fac2f739171 158
lolopo008 0:6fac2f739171 159 while(1) {
lolopo008 0:6fac2f739171 160 Player1();
lolopo008 0:6fac2f739171 161 Player2();
lolopo008 0:6fac2f739171 162
lolopo008 0:6fac2f739171 163 Latch=0;
lolopo008 0:6fac2f739171 164 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 165 wait_us(1);
lolopo008 0:6fac2f739171 166 DataPack.write(0xF8);
lolopo008 0:6fac2f739171 167 wait_us(1);
lolopo008 0:6fac2f739171 168 DataPack.write(0xF8);
lolopo008 0:6fac2f739171 169 wait_us(1);
lolopo008 0:6fac2f739171 170 DataPack.write(0x2A);
lolopo008 0:6fac2f739171 171 wait_us(1);
lolopo008 0:6fac2f739171 172 Latch=1;
lolopo008 0:6fac2f739171 173
lolopo008 0:6fac2f739171 174 Latch=0;
lolopo008 0:6fac2f739171 175 DataPack.write(0xFF);
lolopo008 0:6fac2f739171 176 wait_us(1);
lolopo008 0:6fac2f739171 177 DataPack.write(0xFE);
lolopo008 0:6fac2f739171 178 wait_us(1);
lolopo008 0:6fac2f739171 179 DataPack.write(0xFE);
lolopo008 0:6fac2f739171 180 wait_us(1);
lolopo008 0:6fac2f739171 181 DataPack.write(0x14);
lolopo008 0:6fac2f739171 182 wait_us(1);
lolopo008 0:6fac2f739171 183 Latch=1;
lolopo008 0:6fac2f739171 184 }
lolopo008 0:6fac2f739171 185 }