000

Dependencies:   mbed

Committer:
sunninety1
Date:
Fri Nov 16 16:54:19 2018 +0000
Revision:
0:e754adb9647f
0000;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sunninety1 0:e754adb9647f 1 #include "mbed.h"
sunninety1 0:e754adb9647f 2 AnalogIn analog_value(A1);
sunninety1 0:e754adb9647f 3 DigitalOut l1(D13);
sunninety1 0:e754adb9647f 4 DigitalOut l2(D12);
sunninety1 0:e754adb9647f 5 DigitalOut l3(D11);
sunninety1 0:e754adb9647f 6 DigitalOut l4(D10);
sunninety1 0:e754adb9647f 7 DigitalOut l5(D9);
sunninety1 0:e754adb9647f 8 DigitalOut l6(D8);
sunninety1 0:e754adb9647f 9 DigitalOut l7(D7);
sunninety1 0:e754adb9647f 10 DigitalOut l8(D6);
sunninety1 0:e754adb9647f 11
sunninety1 0:e754adb9647f 12 DigitalOut sd(PC_0);
sunninety1 0:e754adb9647f 13 DigitalOut sc(PC_1);
sunninety1 0:e754adb9647f 14 DigitalOut sb(PB_0);
sunninety1 0:e754adb9647f 15 DigitalOut sa(PA_4);
sunninety1 0:e754adb9647f 16 DigitalOut sdo(PB_2);
sunninety1 0:e754adb9647f 17
sunninety1 0:e754adb9647f 18
sunninety1 0:e754adb9647f 19 DigitalOut s2d(PB_8);
sunninety1 0:e754adb9647f 20 DigitalOut s2c(PB_9);
sunninety1 0:e754adb9647f 21 DigitalOut s2b(PB_5);
sunninety1 0:e754adb9647f 22 DigitalOut s2a(PB_3);
sunninety1 0:e754adb9647f 23
sunninety1 0:e754adb9647f 24 DigitalIn sw(D5);
sunninety1 0:e754adb9647f 25
sunninety1 0:e754adb9647f 26 void led(float mv)
sunninety1 0:e754adb9647f 27 {
sunninety1 0:e754adb9647f 28 if (mv>413) {
sunninety1 0:e754adb9647f 29 l1=1;
sunninety1 0:e754adb9647f 30 } else {
sunninety1 0:e754adb9647f 31 l1=0;
sunninety1 0:e754adb9647f 32 }
sunninety1 0:e754adb9647f 33
sunninety1 0:e754adb9647f 34 if (mv>825) {
sunninety1 0:e754adb9647f 35 l2=1;
sunninety1 0:e754adb9647f 36 } else {
sunninety1 0:e754adb9647f 37 l2=0;
sunninety1 0:e754adb9647f 38 }
sunninety1 0:e754adb9647f 39
sunninety1 0:e754adb9647f 40 if (mv>1238) {
sunninety1 0:e754adb9647f 41 l3=1;
sunninety1 0:e754adb9647f 42 } else {
sunninety1 0:e754adb9647f 43 l3=0;
sunninety1 0:e754adb9647f 44 }
sunninety1 0:e754adb9647f 45
sunninety1 0:e754adb9647f 46 if (mv>1650) {
sunninety1 0:e754adb9647f 47 l4=1;
sunninety1 0:e754adb9647f 48 } else {
sunninety1 0:e754adb9647f 49 l4=0;
sunninety1 0:e754adb9647f 50 }
sunninety1 0:e754adb9647f 51
sunninety1 0:e754adb9647f 52 if (mv>2063) {
sunninety1 0:e754adb9647f 53 l5=1;
sunninety1 0:e754adb9647f 54 } else {
sunninety1 0:e754adb9647f 55 l5=0;
sunninety1 0:e754adb9647f 56 }
sunninety1 0:e754adb9647f 57
sunninety1 0:e754adb9647f 58 if (mv>2475) {
sunninety1 0:e754adb9647f 59 l6=1;
sunninety1 0:e754adb9647f 60 } else {
sunninety1 0:e754adb9647f 61 l6=0;
sunninety1 0:e754adb9647f 62 }
sunninety1 0:e754adb9647f 63
sunninety1 0:e754adb9647f 64 if (mv>2888) {
sunninety1 0:e754adb9647f 65 l7=1;
sunninety1 0:e754adb9647f 66 } else {
sunninety1 0:e754adb9647f 67 l7=0;
sunninety1 0:e754adb9647f 68 }
sunninety1 0:e754adb9647f 69
sunninety1 0:e754adb9647f 70 if (mv>3200) {
sunninety1 0:e754adb9647f 71 l8=1;
sunninety1 0:e754adb9647f 72 } else {
sunninety1 0:e754adb9647f 73 l8=0;
sunninety1 0:e754adb9647f 74 }
sunninety1 0:e754adb9647f 75
sunninety1 0:e754adb9647f 76 wait(0.02);
sunninety1 0:e754adb9647f 77 }
sunninety1 0:e754adb9647f 78
sunninety1 0:e754adb9647f 79 void ss(float x)
sunninety1 0:e754adb9647f 80 {
sunninety1 0:e754adb9647f 81 //int segment[10][4]={{0,0,0,0},{0,0,0,1},{0,0,1,0},{0,0,1,1},{0,1,0,0},{0,1,0,1},{0,1,1,0},{0,1,1,1},{1,0,0,0},{1,0,0,1}};
sunninety1 0:e754adb9647f 82 int nu1 = x/1000;
sunninety1 0:e754adb9647f 83 int nu15 = (int)x%1000;
sunninety1 0:e754adb9647f 84 int nu2=nu15/100;
sunninety1 0:e754adb9647f 85 BusOut a(PA_4,PB_0,PC_1,PC_0);
sunninety1 0:e754adb9647f 86 a=nu1;
sunninety1 0:e754adb9647f 87 BusOut b(PB_3,PB_5,PB_9,PB_8);
sunninety1 0:e754adb9647f 88 b=nu2;
sunninety1 0:e754adb9647f 89 sdo=1;
sunninety1 0:e754adb9647f 90
sunninety1 0:e754adb9647f 91 }
sunninety1 0:e754adb9647f 92 int main()
sunninety1 0:e754adb9647f 93 {
sunninety1 0:e754adb9647f 94
sunninety1 0:e754adb9647f 95 int x=0;
sunninety1 0:e754adb9647f 96 while(1) {
sunninety1 0:e754adb9647f 97 float meas_r = analog_value.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
sunninety1 0:e754adb9647f 98 float mv = meas_r * 3300; // Converts value in the 0V-3.3V range
sunninety1 0:e754adb9647f 99 if (sw==1){
sunninety1 0:e754adb9647f 100 wait(0.5);
sunninety1 0:e754adb9647f 101 x+=1;
sunninety1 0:e754adb9647f 102 if (x>2){x=0;
sunninety1 0:e754adb9647f 103 }
sunninety1 0:e754adb9647f 104 }
sunninety1 0:e754adb9647f 105 if (x==0){
sunninety1 0:e754adb9647f 106 ss(mv);
sunninety1 0:e754adb9647f 107 l1=0;
sunninety1 0:e754adb9647f 108 l2=0;
sunninety1 0:e754adb9647f 109 l3=0;
sunninety1 0:e754adb9647f 110 l4=0;
sunninety1 0:e754adb9647f 111 l5=0;
sunninety1 0:e754adb9647f 112 l6=0;
sunninety1 0:e754adb9647f 113 l7=0;
sunninety1 0:e754adb9647f 114 l8=0;
sunninety1 0:e754adb9647f 115 wait(0.01);
sunninety1 0:e754adb9647f 116 }
sunninety1 0:e754adb9647f 117 else {led(mv);
sunninety1 0:e754adb9647f 118 ss(0);
sunninety1 0:e754adb9647f 119 }
sunninety1 0:e754adb9647f 120
sunninety1 0:e754adb9647f 121 }
sunninety1 0:e754adb9647f 122 }