Advertisement
Guest User

Untitled

a guest
May 21st, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.25 KB | None | 0 0
  1. #include <tiny2313.h>
  2. #include <delay.h>
  3.  
  4. // Declare your global variables here
  5.  
  6. void main(void) {
  7. // Declare your local variables here
  8.  
  9. // Crystal Oscillator division factor: 1
  10. #pragma optsize-
  11. CLKPR = (1 << CLKPCE);
  12. CLKPR = (0 << CLKPCE) | (0 << CLKPS3) | (0 << CLKPS2) | (0 << CLKPS1) | (0 << CLKPS0);
  13. #ifdef _OPTIMIZE_SIZE_
  14. #pragma optsize+
  15. #endif
  16.  
  17. // Input/Output Ports initialization
  18. // Port B initialization
  19. // Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
  20. DDRB = (1 << DDB7) | (1 << DDB6) | (1 << DDB5) | (1 << DDB4) | (1 << DDB3) | (1 << DDB2) | (1 << DDB1) |
  21. (1 << DDB0);
  22. // State: Bit7=0 Bit6=0 Bit5=0 Bit4=0 Bit3=0 Bit2=0 Bit1=0 Bit0=0
  23. PORTB = (0 << PORTB7) | (0 << PORTB6) | (0 << PORTB5) | (0 << PORTB4) | (0 << PORTB3) | (0 << PORTB2) |
  24. (0 << PORTB1) | (0 << PORTB0);
  25.  
  26. // Port D initialization
  27. // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
  28. DDRD = (0 << DDD6) | (0 << DDD5) | (0 << DDD4) | (0 << DDD3) | (0 << DDD2) | (0 << DDD1) | (0 << DDD0);
  29. // State: Bit6=P Bit5=P Bit4=P Bit3=P Bit2=P Bit1=P Bit0=P
  30. PORTD = (1 << PORTD6) | (1 << PORTD5) | (1 << PORTD4) | (1 << PORTD3) | (1 << PORTD2) | (1 << PORTD1) |
  31. (1 << PORTD0);
  32.  
  33. // PORTB.0 red
  34. // PORTB.1 yellow
  35. // PORTB.3 green
  36. //
  37. // PORTB.2 red
  38. // PORTB.4 green
  39. PORTB.0 = 0;
  40. PORTB.1 = 0;
  41. PORTB.2 = 0;
  42. PORTB.3 = 0;
  43. PORTB.4 = 0;
  44. while (true) {
  45. while (PIND.0 == 0) {
  46. PORTB.1 = 1;
  47. PORTB.5 = 1;
  48. delay_ms(300);
  49. PORTB.1 = 0;
  50. PORTB.5 = 0;
  51. delay_ms(300);
  52. }
  53.  
  54. PORTB.0 = 1;
  55. PORTB.4 = 1;
  56. delay_ms(2000);
  57.  
  58. PORTB.1 = 1;
  59. PORTB.4 = 0;
  60. PORTB.2 = 1;
  61. delay_ms(1000);
  62.  
  63. PORTB.0 = 0;
  64. PORTB.1 = 0;
  65. PORTB.3 = 1;
  66. delay_ms(3000);
  67.  
  68. PORTB.3 = 0;
  69. delay_ms(300);
  70. PORTB.3 = 1;
  71. delay_ms(300);
  72. PORTB.3 = 0;
  73. delay_ms(300);
  74. PORTB.3 = 1;
  75. delay_ms(300);
  76. PORTB.3 = 0;
  77.  
  78. PORTB.1 = 1;
  79. delay_ms(1000);
  80. PORTB.1 = 0;
  81. PORTB.2 = 0;
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement