Digital Assingment

Dependencies:   mbed

Committer:
ParinyaT
Date:
Tue Nov 03 18:13:45 2015 +0000
Revision:
0:ee737038184c
Assignment2;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ParinyaT 0:ee737038184c 1 #include "mbed.h"
ParinyaT 0:ee737038184c 2
ParinyaT 0:ee737038184c 3 Serial pc(D8,D3);
ParinyaT 0:ee737038184c 4 BusOut Seg1(D4,D5,D6,D7);
ParinyaT 0:ee737038184c 5 BusOut Seg2(D9,D10,D11,D12);
ParinyaT 0:ee737038184c 6 AnalogIn Voltage(A0);
ParinyaT 0:ee737038184c 7
ParinyaT 0:ee737038184c 8 int main()
ParinyaT 0:ee737038184c 9 {
ParinyaT 0:ee737038184c 10
ParinyaT 0:ee737038184c 11 uint8_t state_menu=0;
ParinyaT 0:ee737038184c 12 uint8_t state_show=0;
ParinyaT 0:ee737038184c 13 uint8_t state_exit =0;
ParinyaT 0:ee737038184c 14 uint8_t data;
ParinyaT 0:ee737038184c 15 int num[5];
ParinyaT 0:ee737038184c 16 int i=0;
ParinyaT 0:ee737038184c 17
ParinyaT 0:ee737038184c 18 pc.printf("Wellcome !\n");
ParinyaT 0:ee737038184c 19 while(1) {
ParinyaT 0:ee737038184c 20 if(state_show == 0) {
ParinyaT 0:ee737038184c 21 pc.printf("Menu\n");
ParinyaT 0:ee737038184c 22 pc.printf("1.Sending Numbers \n");
ParinyaT 0:ee737038184c 23 pc.printf("2.Voltage Indicator\n");
ParinyaT 0:ee737038184c 24 state_show =1;
ParinyaT 0:ee737038184c 25 }
ParinyaT 0:ee737038184c 26 if(pc.readable()) {
ParinyaT 0:ee737038184c 27 data = pc.getc();
ParinyaT 0:ee737038184c 28 pc.printf("\n");
ParinyaT 0:ee737038184c 29 state_show =0;
ParinyaT 0:ee737038184c 30 state_exit =0;
ParinyaT 0:ee737038184c 31
ParinyaT 0:ee737038184c 32 switch(data) {
ParinyaT 0:ee737038184c 33 case '1':
ParinyaT 0:ee737038184c 34 do {
ParinyaT 0:ee737038184c 35 if(state_menu == 0) {
ParinyaT 0:ee737038184c 36 pc.printf("Sending Numbers\n");
ParinyaT 0:ee737038184c 37 pc.printf("Please send the number 00-99 \n Or press x to exit\n\n");
ParinyaT 0:ee737038184c 38 state_menu = 1;
ParinyaT 0:ee737038184c 39 }
ParinyaT 0:ee737038184c 40 do {
ParinyaT 0:ee737038184c 41 num[i] = pc.getc();
ParinyaT 0:ee737038184c 42 if(num[i]=='x'){
ParinyaT 0:ee737038184c 43 state_exit = 1;
ParinyaT 0:ee737038184c 44 }
ParinyaT 0:ee737038184c 45 wait_ms(50);
ParinyaT 0:ee737038184c 46 i++;
ParinyaT 0:ee737038184c 47 } while(pc.readable());
ParinyaT 0:ee737038184c 48 if(i>=2) {
ParinyaT 0:ee737038184c 49 Seg1 = num[i-2]-48;
ParinyaT 0:ee737038184c 50 Seg2 = num[i-1]-48;
ParinyaT 0:ee737038184c 51 state_menu = 0;
ParinyaT 0:ee737038184c 52 i=0;
ParinyaT 0:ee737038184c 53 }
ParinyaT 0:ee737038184c 54
ParinyaT 0:ee737038184c 55 } while(state_exit ==0);
ParinyaT 0:ee737038184c 56 Seg1 = 0;
ParinyaT 0:ee737038184c 57 Seg2 = 0;
ParinyaT 0:ee737038184c 58 pc.printf("\n\n");
ParinyaT 0:ee737038184c 59 break;
ParinyaT 0:ee737038184c 60
ParinyaT 0:ee737038184c 61 case '2':
ParinyaT 0:ee737038184c 62
ParinyaT 0:ee737038184c 63 do {
ParinyaT 0:ee737038184c 64 if(state_menu == 0) {
ParinyaT 0:ee737038184c 65 pc.printf("Logic Input Test\n\n");
ParinyaT 0:ee737038184c 66
ParinyaT 0:ee737038184c 67 float Volt;
ParinyaT 0:ee737038184c 68 Volt = Voltage.read();
ParinyaT 0:ee737038184c 69 pc.printf("Voltage is %f volts\n",Volt*3.3);
ParinyaT 0:ee737038184c 70
ParinyaT 0:ee737038184c 71 pc.printf("press x to exit or else to remesure\n\n");
ParinyaT 0:ee737038184c 72 state_menu = 1;
ParinyaT 0:ee737038184c 73 }
ParinyaT 0:ee737038184c 74 if(pc.readable()) {
ParinyaT 0:ee737038184c 75 data = pc.getc();
ParinyaT 0:ee737038184c 76 if (data == 'x') state_exit = 1;
ParinyaT 0:ee737038184c 77 else state_menu = 0;
ParinyaT 0:ee737038184c 78 }
ParinyaT 0:ee737038184c 79
ParinyaT 0:ee737038184c 80
ParinyaT 0:ee737038184c 81
ParinyaT 0:ee737038184c 82 } while(state_exit ==0);
ParinyaT 0:ee737038184c 83 pc.printf("\n\n");
ParinyaT 0:ee737038184c 84 break;
ParinyaT 0:ee737038184c 85
ParinyaT 0:ee737038184c 86
ParinyaT 0:ee737038184c 87 case 0x00:
ParinyaT 0:ee737038184c 88
ParinyaT 0:ee737038184c 89 break;
ParinyaT 0:ee737038184c 90
ParinyaT 0:ee737038184c 91 default:
ParinyaT 0:ee737038184c 92 pc.printf("plz select 1 or 2 only\n");
ParinyaT 0:ee737038184c 93 pc.printf("\n\n");
ParinyaT 0:ee737038184c 94 break;
ParinyaT 0:ee737038184c 95 }
ParinyaT 0:ee737038184c 96 }
ParinyaT 0:ee737038184c 97
ParinyaT 0:ee737038184c 98
ParinyaT 0:ee737038184c 99
ParinyaT 0:ee737038184c 100
ParinyaT 0:ee737038184c 101
ParinyaT 0:ee737038184c 102
ParinyaT 0:ee737038184c 103 }
ParinyaT 0:ee737038184c 104 }