Guest User

Untitled

a guest
Jul 24th, 2013
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.29 KB | None | 0 0
  1. /*
  2.    Plik main.c
  3.    TERMOMETR
  4. */
  5. #define F_CPU 1000000UL
  6. #include <avr/io.h>
  7. #include <util/delay.h>
  8. #include "hd44780.h"
  9. #include "ds1820.h"
  10.  
  11. void lcd(void){
  12.     _delay_ms(1000);
  13.     lcd_init();
  14.     LCD_DISPLAY(LCDDISPLAY);
  15.         LCD_CLEAR;
  16.         LCD_LOCATE(5,0);
  17.         LCD_WRITE_DATA('W');
  18.         _delay_ms(200);
  19.         LCD_WRITE_DATA('i');
  20.         _delay_ms(200);
  21.         LCD_WRITE_DATA('t');
  22.         _delay_ms(200);
  23.         LCD_WRITE_DATA('a');
  24.         _delay_ms(200);
  25.         LCD_WRITE_DATA('j');
  26.         _delay_ms(200);
  27.         LCD_WRITE_DATA('!');
  28.         _delay_ms(2000);
  29.         LCD_CLEAR;
  30.         LCD_LOCATE(1,0);
  31.         lcd_puts("Milej podrozy");
  32.         _delay_ms(100);
  33.         LCD_LOCATE(0,4);
  34.         lcd_puts("Michale!");
  35.         _delay_ms(2200);
  36.         LCD_CLEAR;
  37. }
  38.  
  39. int main(){
  40.     unsigned char sprawdz;
  41.     char temp1, temp2, temp3, temp4;
  42.     temp1=temp2=temp3=temp4=0;
  43.     lcd();
  44.     while(1)
  45.     {
  46.         sprawdz=RESET_PULSE();
  47.         if(sprawdz==1){
  48.             send_byte(0xF0);
  49.             send_byte(0x44);
  50.             _delay_ms(750);
  51.             sprawdz=RESET_PULSE();
  52.             send_byte(0xCC);
  53.             send_byte(0xBE);
  54.             temp1=read_byte();
  55.             temp2=read_byte();
  56.             sprawdz=RESET_PULSE();
  57.             float temp=0;
  58.             temp=(float)(temp1+(temp2*256))/2.0;
  59.             dtostrf(temp,5,1,buf);
  60.             LCD_LOCATE(0,0);
  61.             lcd_puts(buf);
  62.             _delay_ms(200);
  63.         }
  64.         else{
  65.             LCD_LOCATE(0,0);
  66.             lcd_puts("Nie wykryto DSa");
  67.         }
  68.         LCD_CLEAR;
  69.     }
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment