Advertisement
Guest User

Untitled

a guest
May 20th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 KB | None | 0 0
  1. #include <avr/io.h>
  2. #define F_CPU 16000000
  3. #include <avr/interrupt.h>
  4. #include <util/delay.h>
  5. #define RS PORTB0
  6. #define E PORTB1
  7. #define magistrala PORTA
  8.  
  9. uint8_t tabzegar[]={h2,h1,m2,m1,s2,s1};
  10.  
  11. void LCD_write(uint8_t dana)
  12. {
  13. PORTB |=(1<<E);
  14. magistrala = dana;
  15. _delay_us(30); //nie mam zielonego pojecia co to robi, ale ze na zajeciach dzialalo to zostawiam XD
  16. PORTB &= ~(1<<E);
  17. _delay_us(30);
  18. }
  19. int main(void)
  20. {
  21. DDRA = 0xff;
  22. DDRB = 0xff;
  23. PORTB &= ~(1<<RS);
  24. //nie wiem jakie sa adresy wyswietlania - do sprawdzenia
  25. LCD_write(0x38); //h2
  26. LCD_write(0x06); //h1
  27. LCD_write(0x0f); // :
  28. LCD_write(0x01); //m2
  29. LCD_write(0x02); //m1
  30. LCD_write(0x03); //.
  31. LCD_write(0x04); //s2
  32. LCD_write(0x05); //s1
  33.  
  34.  
  35.  
  36. _delay_ms(2);
  37. PORTB |=(1<<RS);
  38. LCD_write(h2);
  39. LCD_write(h1);
  40. LCD_write(':');
  41. LCD_write(m2);
  42. LCD_write(m1);
  43. LCD_write('.');
  44. LCD_write(s2);
  45. LCD_write(s1);
  46.  
  47.  
  48. while(1)
  49. {
  50. //tutaj pasuje wstawic porty na dwukropek i kropke oddzielajace godziny od minut itp zeby wyswietlalo to samo co powiedzmy pol sekundy, ale jak? chuj wie
  51.  
  52.  
  53.  
  54.  
  55.  
  56. h2=0; // powinno byc zerowanie ta komenda c08 czy chuj wie jak to bylo jeszcze nie wiem
  57. h1=0;
  58. m2=0;
  59. m1=0;
  60. s2=0;
  61. s1=0;
  62. for(s1=0; s1<=9; s1++)
  63. {
  64. _delay_ms(1000); //poki co delay bo timery to ciota i chuj, z czasem sie zrobi
  65.  
  66. if(s1=9){ //jesli 9 sekunda to dziesiatka sekund +1
  67. s2++;
  68. s1=0;
  69. }
  70. if(s2=6){ //jesli 6 dziesiatka sekund to minuta +1
  71. m1++;
  72. s2=0;
  73. }
  74. if(m1=9){ //jesli 9 minuta to dziesiatka minut +1
  75. m2++;
  76. m1=0;
  77. }
  78. if(m2=6){ //jesli 6 dziesiatka sekund to godzina +1
  79. h1++;
  80. m2=0;
  81. }
  82. if(h1=9){ //jesli 9 godzina to dziesiatka godzin +1
  83. h2++;
  84. h1=0;
  85. }
  86. if(h2=24){ //jesli 24 godzina to zerowanie
  87. h2=0; // powinno byc zerowanie ta komenda c08 czy chuj wie jak to bylo jeszcze nie wiem
  88. h1=0; //ponowne czyszczenie tak o, dla pewnosci
  89. m2=0;
  90. m1=0;
  91. s2=0;
  92. s1=0;
  93. }
  94.  
  95.  
  96.  
  97. //jesli ten zegar bedzie dzialal, w sensie ta funkcja, z tymi funkcjami, dodamy timery to bedzie mozna zaczac bawic sie w guziki.
  98.  
  99.  
  100.  
  101.  
  102. }
  103.  
  104. return 0;
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement