Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. #include <avr/io.h>
  2. #include <avr/interrupt.h>
  3.  
  4. #define C_JE_SET PORTD |=(1<<PD7) //bit set
  5. #define C_JE_RESET PORTD &= ~(1<<PD7) //bit reset
  6. #define C_DZIE_SET PORTD |=(1<<PD6) //bit set
  7. #define C_DZIE_RESET PORTD &= ~(1<<PD6) //bit reset
  8. #define C_SET_SET PORTD |=(1<<PD5) //bit set
  9. #define C_SET_RESET PORTD &= ~(1<<PD5) //bit reset
  10. #define C_TYS_SET PORTD |=(1<<PD4) //bit set
  11. #define C_TYS_RESET PORTD &= ~(1<<PD4) //bit reset
  12.  
  13. uint8_t cyfra[10] = { 0b10000001, //cyfra 0
  14. 0b11110011, //cyfra 1
  15. 0b01001001, //cyfra 2
  16. 0b01100001, //cyfra 3
  17. 0b00110011, //cyfra 4
  18. 0b00100101, //cyfra 5
  19. 0b00000101, //cyfra 6
  20. 0b11110001, //cyfra 7
  21. 0b00000001, //cyfra 8
  22. 0b00100001, //cyfra 9
  23. };
  24.  
  25. volatile uint8_t nr_cyfry;
  26. int main(void){
  27. DDRA = 0xFF;
  28. DDRD = (1 << PD7) | (1 << PD6) | (1 << PD5) | (1 << PD4);
  29. PORTD = 0xF0;
  30. TCCR0A = (1 << WGM01);
  31. TCCR0B = (1 << CS00) | (1 < CS02);
  32. TIMSK0 = (1 << OCIE0A);
  33. sei();
  34. OCR0A = 100;
  35. uint8_t tys, dzie, je;
  36. uint16_t set;
  37. uint16_t liczba = 2137;
  38.  
  39. for (;;) {
  40. set = liczba % 1000;
  41. tys = liczba / 1000;
  42. dzie = set % 100;
  43. set = set / 100;
  44. je = dzie % 10;
  45. dzie = dzie / 10;
  46. if (nr_cyfry == 1) {
  47. C_JE_RESET;
  48. PORTA = cyfra[je];
  49.  
  50. }
  51. if (nr_cyfry == 3) {
  52.  
  53. C_DZIE_RESET;
  54. PORTA = cyfra[dzie];
  55.  
  56. }
  57. if (nr_cyfry == 5) {
  58. C_SET_RESET;
  59. PORTA = cyfra[set];
  60.  
  61. }
  62. if (nr_cyfry == 7) {
  63. C_TYS_RESET;
  64. PORTA = cyfra[tys];
  65.  
  66. }
  67. if ((nr_cyfry % 2) == 0) {
  68. PORTD = 0xF0;
  69. }
  70. }
  71. }
  72.  
  73. ISR(TIMER0_COMPA_vect){
  74. if(++nr_cyfry > 8){
  75. nr_cyfry = 0;
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement