Advertisement
Guest User

teste

a guest
Feb 21st, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.70 KB | None | 0 0
  1. /*
  2.   Autor : Alessandro Pinho
  3.   Data  : 10/08/2018
  4.   Hardware    PIC16F80
  5.  
  6.   Termômetro usando LM35  e 02 display de 7seg
  7.   multiplexado
  8.  
  9.  
  10. */
  11.  
  12.  
  13.  
  14. #define DISPLAY        PORTB           // Barramento do display ligado em PORTB
  15.  
  16. #define        DISPD        PORTC.F2        // RC2 controla display D13 - Direita
  17. #define        DISPM        PORTC.F3        // RC3 controla display D12 - Meio
  18. #define        DISPE        PORTC.F4        // RC4 controla display D11 - Esquerda
  19.  
  20.  
  21.  
  22. unsigned char txt[6];
  23. unsigned int temp,cont,digito1,digito2 =0;
  24. char anodo_comun       []     = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0XF8,0x80,0x90};
  25.  
  26.  
  27.  
  28. void main()
  29. {
  30.     ADCON0 = 0B00000001;
  31.     ADCON1 = 0B00000000;
  32.    
  33.     TRISB  = 0B00000000;
  34.     TRISC  = 0B00000000;
  35.  
  36.  
  37.     while(1)
  38.     {
  39.  
  40.      temp = ADC_Read(0);
  41.      temp=temp*4.876;
  42.  
  43.  
  44.     /*
  45.    
  46.    
  47.       exemplo 27 °C  de
  48.       temp = 0.27mV*4.876;
  49.       temp= 270 °C
  50.       digito1 = 270/100;
  51.       digito1 2.7;
  52.       digito1[2];
  53.       digito2 = (270%100);
  54.       digito2 = 70/10;
  55.       digito2 = [7];
  56.  
  57.    
  58.    
  59.     */
  60.  
  61.  
  62.       digito1 = temp/100;       //dezena
  63.       digito2 = (temp%100)/10;   //unidade
  64.  
  65.  
  66.  
  67.  
  68.      
  69.         DISPD  =1;
  70.         DISPE = 0;
  71.         DISPM = 1;                 // Liga display da esquerda
  72.             DISPLAY = anodo_comun [digito1];                    // Escreve no display o número
  73.         delay_ms(5);                         // Espera 5 ms
  74.  
  75.         DISPD  =1;
  76.         DISPE = 1;
  77.         DISPM = 0;                         // Liga display da esquerda
  78.             DISPLAY = anodo_comun [digito2];                    // Escreve no display o número
  79.         delay_ms(5);
  80.    
  81.  
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement