Advertisement
Guest User

Untitled

a guest
Dec 7th, 2016
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.09 KB | None | 0 0
  1. #include "klawiatura.h"
  2. #include "lcd.h"
  3.  
  4. sbit LED = P2^4;
  5. int i = 0;
  6. int n = 0;
  7. int k = 1;
  8. int counter = 0;
  9. float voltage;
  10. float temp;
  11. float vref;
  12.  
  13. int main (void)
  14. {
  15.     LED = 1;
  16.     ADCCON1 = 0x8E;
  17.     //ADCCON2 = 0x03;
  18.     ADCCON3 = 0;
  19.     EA = 1;
  20.     EADC = 1;
  21.     ET2 = 1;
  22.  
  23.     TH2 = 0x4C;
  24.     TL2 = 0x05;
  25.     TR2 = 1;
  26.    
  27.     LCD_Start();
  28.    
  29.     while(1)
  30.     {
  31.         if ((counter >= 0) && (counter < 50))
  32.         {
  33.             k = 1;
  34.             ADCCON2 = 0x03;
  35.             LCD_AdresDD(0);
  36.             //printf("%.3f", voltage);
  37.         }
  38.         else if ((counter >= 50) && (counter < 100))
  39.         {
  40.             k = 2;
  41.             ADCCON2 = 0x04;
  42.             LCD_AdresDD(8);
  43.             //printf("%.2f", temp);
  44.         }
  45.         else if (counter >= 100)
  46.         {
  47.             k = 3;
  48.             ADCCON2 = 0x0C;
  49.             LCD_AdresDD(20);
  50.             //printf("%.2f", vref);
  51.             if (counter >= 150)
  52.                 counter = 0;
  53.         }
  54.     }
  55. }
  56.  
  57. void interrupt_adc(void) interrupt 6
  58. {
  59.     TH2 = 0x4C;
  60.     TL2 = 0x05;
  61.     //LED = LED^1;
  62.     i = ((ADCDATAH&0x0F)<<8)|ADCDATAL;
  63.     n = (ADCDATAH&0xF0)>>4;
  64.     if (k == 1)
  65.         voltage = (1.0*i/4095)*2.5;
  66.     else if (k == 2)
  67.         temp = 1000*((0.5*(1.0*i/4095)*2.5)-0.3);
  68.     else if (k == 3)
  69.         vref = (1.0*i/4095)*2.5;
  70.     counter++;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement