Arturo Ambriz / Mbed 2 deprecated 7seg_Bus

Dependencies:   mbed

Committer:
chivaa_chino
Date:
Thu Mar 13 14:27:48 2014 +0000
Revision:
0:3ee5a8d856a5
Tarea de la clase de Informatica Industrial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
chivaa_chino 0:3ee5a8d856a5 1 #include "mbed.h"
chivaa_chino 0:3ee5a8d856a5 2
chivaa_chino 0:3ee5a8d856a5 3 BusOut Seg2(PTC8, PTC9, PTA5, PTA4, PTA12, PTD4, PTA2, PTA1);
chivaa_chino 0:3ee5a8d856a5 4 BusOut Seg1(PTC11, PTC10, PTC6, PTC5, PTC4, PTC3, PTC0, PTC7);
chivaa_chino 0:3ee5a8d856a5 5
chivaa_chino 0:3ee5a8d856a5 6 AnalogIn vin(PTB3);
chivaa_chino 0:3ee5a8d856a5 7 AnalogIn res(PTC2);
chivaa_chino 0:3ee5a8d856a5 8
chivaa_chino 0:3ee5a8d856a5 9 DigitalOut dp1(PTC13);
chivaa_chino 0:3ee5a8d856a5 10 DigitalOut dp2(PTC12);
chivaa_chino 0:3ee5a8d856a5 11
chivaa_chino 0:3ee5a8d856a5 12 DigitalIn boton(PTA13);
chivaa_chino 0:3ee5a8d856a5 13 char SegConvert(char SegValue);
chivaa_chino 0:3ee5a8d856a5 14 char i, x;
chivaa_chino 0:3ee5a8d856a5 15 int h, estado=0;
chivaa_chino 0:3ee5a8d856a5 16 float decena, unidad, vout, ohm;
chivaa_chino 0:3ee5a8d856a5 17 void volts(void);
chivaa_chino 0:3ee5a8d856a5 18 void resis(void);
chivaa_chino 0:3ee5a8d856a5 19 void push(void);
chivaa_chino 0:3ee5a8d856a5 20
chivaa_chino 0:3ee5a8d856a5 21 int main(){
chivaa_chino 0:3ee5a8d856a5 22 while(1){
chivaa_chino 0:3ee5a8d856a5 23
chivaa_chino 0:3ee5a8d856a5 24 if(boton==1){
chivaa_chino 0:3ee5a8d856a5 25 estado=!estado;
chivaa_chino 0:3ee5a8d856a5 26 }
chivaa_chino 0:3ee5a8d856a5 27
chivaa_chino 0:3ee5a8d856a5 28 if(estado==1){
chivaa_chino 0:3ee5a8d856a5 29 volts();
chivaa_chino 0:3ee5a8d856a5 30 }
chivaa_chino 0:3ee5a8d856a5 31 else{
chivaa_chino 0:3ee5a8d856a5 32 resis();
chivaa_chino 0:3ee5a8d856a5 33 }
chivaa_chino 0:3ee5a8d856a5 34
chivaa_chino 0:3ee5a8d856a5 35
chivaa_chino 0:3ee5a8d856a5 36
chivaa_chino 0:3ee5a8d856a5 37
chivaa_chino 0:3ee5a8d856a5 38 }
chivaa_chino 0:3ee5a8d856a5 39 }
chivaa_chino 0:3ee5a8d856a5 40 char SegConvert(char SegValue) {
chivaa_chino 0:3ee5a8d856a5 41 char SegByte=0x7F;
chivaa_chino 0:3ee5a8d856a5 42 switch (SegValue){
chivaa_chino 0:3ee5a8d856a5 43 case 0 : SegByte = 0xC0; break;
chivaa_chino 0:3ee5a8d856a5 44 case 1 : SegByte = 0xF9; break;
chivaa_chino 0:3ee5a8d856a5 45 case 2 : SegByte = 0x24; break;
chivaa_chino 0:3ee5a8d856a5 46 case 3 : SegByte = 0x30; break;
chivaa_chino 0:3ee5a8d856a5 47 case 4 : SegByte = 0x19; break;
chivaa_chino 0:3ee5a8d856a5 48 case 5 : SegByte = 0x12; break;
chivaa_chino 0:3ee5a8d856a5 49 case 6 : SegByte = 0x02; break;
chivaa_chino 0:3ee5a8d856a5 50 case 7 : SegByte = 0x78; break;
chivaa_chino 0:3ee5a8d856a5 51 case 8 : SegByte = 0x00; break;
chivaa_chino 0:3ee5a8d856a5 52 case 9 : SegByte = 0x10; break;
chivaa_chino 0:3ee5a8d856a5 53 }
chivaa_chino 0:3ee5a8d856a5 54 return SegByte;
chivaa_chino 0:3ee5a8d856a5 55 }
chivaa_chino 0:3ee5a8d856a5 56
chivaa_chino 0:3ee5a8d856a5 57
chivaa_chino 0:3ee5a8d856a5 58 void resis(void){
chivaa_chino 0:3ee5a8d856a5 59
chivaa_chino 0:3ee5a8d856a5 60 ohm=((10000/res)-10000);
chivaa_chino 0:3ee5a8d856a5 61 decena = (ohm/10000);
chivaa_chino 0:3ee5a8d856a5 62 unidad = ohm-(decena*10000);
chivaa_chino 0:3ee5a8d856a5 63
chivaa_chino 0:3ee5a8d856a5 64 if(ohm>=1000){
chivaa_chino 0:3ee5a8d856a5 65 Seg2 = SegConvert(decena);
chivaa_chino 0:3ee5a8d856a5 66 Seg1 = SegConvert(unidad);
chivaa_chino 0:3ee5a8d856a5 67 dp1=1;
chivaa_chino 0:3ee5a8d856a5 68 dp2=0;
chivaa_chino 0:3ee5a8d856a5 69 }
chivaa_chino 0:3ee5a8d856a5 70
chivaa_chino 0:3ee5a8d856a5 71 }
chivaa_chino 0:3ee5a8d856a5 72
chivaa_chino 0:3ee5a8d856a5 73
chivaa_chino 0:3ee5a8d856a5 74
chivaa_chino 0:3ee5a8d856a5 75 void volts(void){
chivaa_chino 0:3ee5a8d856a5 76 dp1=1;
chivaa_chino 0:3ee5a8d856a5 77 dp2=1;
chivaa_chino 0:3ee5a8d856a5 78 decena=0;
chivaa_chino 0:3ee5a8d856a5 79 unidad=0;
chivaa_chino 0:3ee5a8d856a5 80 h=(vin*28);
chivaa_chino 0:3ee5a8d856a5 81 if(h<10){
chivaa_chino 0:3ee5a8d856a5 82 h=(vin*28*10);
chivaa_chino 0:3ee5a8d856a5 83 decena = (h/10);
chivaa_chino 0:3ee5a8d856a5 84 unidad = h-decena*10;
chivaa_chino 0:3ee5a8d856a5 85 Seg2 = SegConvert(decena);
chivaa_chino 0:3ee5a8d856a5 86 Seg1 = SegConvert(unidad);
chivaa_chino 0:3ee5a8d856a5 87 dp1=0;
chivaa_chino 0:3ee5a8d856a5 88 }
chivaa_chino 0:3ee5a8d856a5 89
chivaa_chino 0:3ee5a8d856a5 90 if(h>=10){
chivaa_chino 0:3ee5a8d856a5 91 decena = (h/10);
chivaa_chino 0:3ee5a8d856a5 92 unidad = h-decena*10;
chivaa_chino 0:3ee5a8d856a5 93 Seg2 = SegConvert(decena);
chivaa_chino 0:3ee5a8d856a5 94 Seg1 = SegConvert(unidad);
chivaa_chino 0:3ee5a8d856a5 95 dp1=1;
chivaa_chino 0:3ee5a8d856a5 96 }
chivaa_chino 0:3ee5a8d856a5 97 }