000
Embed:
(wiki syntax)
Show/hide line numbers
HW2.cpp
00001 #include "mbed.h" 00002 AnalogIn analog_value(A1); 00003 DigitalOut l1(D13); 00004 DigitalOut l2(D12); 00005 DigitalOut l3(D11); 00006 DigitalOut l4(D10); 00007 DigitalOut l5(D9); 00008 DigitalOut l6(D8); 00009 DigitalOut l7(D7); 00010 DigitalOut l8(D6); 00011 00012 DigitalOut sd(PC_0); 00013 DigitalOut sc(PC_1); 00014 DigitalOut sb(PB_0); 00015 DigitalOut sa(PA_4); 00016 DigitalOut sdo(PB_2); 00017 00018 00019 DigitalOut s2d(PB_8); 00020 DigitalOut s2c(PB_9); 00021 DigitalOut s2b(PB_5); 00022 DigitalOut s2a(PB_3); 00023 00024 DigitalIn sw(D5); 00025 00026 void led(float mv) 00027 { 00028 if (mv>413) { 00029 l1=1; 00030 } else { 00031 l1=0; 00032 } 00033 00034 if (mv>825) { 00035 l2=1; 00036 } else { 00037 l2=0; 00038 } 00039 00040 if (mv>1238) { 00041 l3=1; 00042 } else { 00043 l3=0; 00044 } 00045 00046 if (mv>1650) { 00047 l4=1; 00048 } else { 00049 l4=0; 00050 } 00051 00052 if (mv>2063) { 00053 l5=1; 00054 } else { 00055 l5=0; 00056 } 00057 00058 if (mv>2475) { 00059 l6=1; 00060 } else { 00061 l6=0; 00062 } 00063 00064 if (mv>2888) { 00065 l7=1; 00066 } else { 00067 l7=0; 00068 } 00069 00070 if (mv>3200) { 00071 l8=1; 00072 } else { 00073 l8=0; 00074 } 00075 00076 wait(0.02); 00077 } 00078 00079 void ss(float x) 00080 { 00081 //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}}; 00082 int nu1 = x/1000; 00083 int nu15 = (int)x%1000; 00084 int nu2=nu15/100; 00085 BusOut a(PA_4,PB_0,PC_1,PC_0); 00086 a=nu1; 00087 BusOut b(PB_3,PB_5,PB_9,PB_8); 00088 b=nu2; 00089 sdo=1; 00090 00091 } 00092 int main() 00093 { 00094 00095 int x=0; 00096 while(1) { 00097 float meas_r = analog_value.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range) 00098 float mv = meas_r * 3300; // Converts value in the 0V-3.3V range 00099 if (sw==1){ 00100 wait(0.5); 00101 x+=1; 00102 if (x>2){x=0; 00103 } 00104 } 00105 if (x==0){ 00106 ss(mv); 00107 l1=0; 00108 l2=0; 00109 l3=0; 00110 l4=0; 00111 l5=0; 00112 l6=0; 00113 l7=0; 00114 l8=0; 00115 wait(0.01); 00116 } 00117 else {led(mv); 00118 ss(0); 00119 } 00120 00121 } 00122 }
Generated on Wed Jul 13 2022 09:05:07 by
1.7.2