Advertisement
Guest User

Untitled

a guest
Jun 2nd, 2016
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pic 16 1.88 KB | None | 0 0
  1.  
  2.  
  3. char cifre[11] = {0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,0b01101101,0b01111101,0b0000000111,0b01111111,0b01101111,0b01111001};
  4. void init_ADC()
  5. {
  6.      ANSEL = 255;
  7.      ADCON0.ADFM = 0;
  8.      ADCON0.VCFG1 = 0;
  9.      ADCON0.VCFG0 = 0;
  10.      ADCON0.CHS2 = 0;
  11.      ADCON0.CHS1 = 1;
  12.      ADCON0.CHS0 = 0;
  13.      ADCON0.GO_DONE= 0;
  14.      ADCON0.ADON = 0;
  15.      ADCON1.ADCS2 = 0;
  16.      ADCON1.ADCS1 = 0;
  17.      ADCON1.ADCS0 = 1;
  18.      TRISA = 255;
  19. }
  20.  
  21. int read_ADC()
  22. {
  23.     ADCON0.ADON = 1;
  24.     ADCON0.GO_DONE = 1;
  25.     while (ADCON0.GO_DONE == 1)
  26.     {
  27.     }
  28.  
  29.     ADCON0.ADON = 0;
  30.     return ADRESH;
  31. }
  32.  
  33. void main() {
  34.     int conv = 0;
  35.     float a;
  36.  
  37.     TRISD = 0;
  38.     TRISB = 0;
  39.  
  40.  
  41.     init_ADC();
  42.     while(1)
  43.     {
  44.             conv = read_ADC();
  45.  
  46.             a = (float)(5.0 * conv / 255.0);
  47.  
  48.             if(a > 1.96 && a < 2.941176){
  49.             PORTB.RB0 = 0;
  50.             if(a < 2.06 && a >= 1.96) {
  51.                  PORTD = cifre[0];
  52.             }
  53.             if(a < 2.16 && a >= 2.06 ){
  54.             PORTD = cifre[1];
  55.             }
  56.             if(a < 2.26&& a >= 2.16) {
  57.             PORTD = cifre[2];
  58.             }
  59.             if(a < 2.36&& a >= 2.26) {
  60.             PORTD = cifre[3];
  61.             }
  62.             if(a < 2.46&& a >= 2.36) {
  63.             PORTD = cifre[4];
  64.             }
  65.             if(a < 2.56&& a >= 2.46) {
  66.             PORTD = cifre[5];
  67.             }
  68.             if(a < 2.66&& a >= 2.56) {
  69.             PORTD = cifre[6];
  70.             }
  71.             if(a < 2.76&& a >= 2.66) {
  72.             PORTD = cifre[7];
  73.             }
  74.             if(a < 2.86&& a >= 2.76) {
  75.             PORTD = cifre[8];
  76.             }
  77.             if(a < 2.941176&& a >= 2.86) {
  78.             PORTD = cifre[9];
  79.             }
  80.  
  81.            
  82.             }
  83.             else{
  84.                 PORTB.RB0 = 1;
  85.                 PORTD = cifre[10];
  86.                  }
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement