Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. #include <avr/io.h> // Todas as Definições do uC ATMEGA8
  2. #define F_CPU 14.7456E6 // Definição da frequência de clock do uC
  3. #include <util/delay.h> // Definições de funções que implementas atrasos
  4. #include "bit_tools.h" // Macros para as operações sobre bits
  5. #define Port_Canc_Sem PORTC
  6. #define CancEnt 0
  7. #define CancSai 1
  8. #define SemVerd 2
  9. #define SemVerm 3
  10. #define Port_Carros PINB
  11. #define CarrEnt 0
  12. #define CarrSai 1
  13.  
  14. /* Programa Principal */
  15.  
  16. int main(void)
  17. {
  18.  
  19. DDRC = 0x0F; // PC0..PC3 saídas
  20. PORTC = 0; // saídas inicialmente a 0
  21. DDRB = 0; // porto B todo com entradas
  22. PORTB = 0x03; // activa pull-ups de PB0 e PB1
  23.  
  24. int count=0;
  25. int Capac_Paqr=8;
  26. while(1)
  27. {
  28. _delay_ms(1);
  29.  
  30. if(count<Capac_Parq){
  31. bit_set(PORTC,SemVerd);
  32. bit_clear(PORTC,SemVerm);
  33. }
  34.  
  35. else
  36. {
  37. bit_set(PORTC,SemVerm);
  38. bit_clear(PORTC,SemVerd);
  39. }
  40. //ENTRAR CARRO
  41.  
  42. if(!bit_read(PINB,CarrEnt)&& !bit_read(PORTC,SemVerm)){
  43.  
  44. bit_set(PORTC,CancEnt);
  45. _delay_ms(2000);
  46. bit_clear(PORTC,CancEnt);
  47. count++;
  48. }
  49. //SAI CARRO
  50. if(!bit_read(PINB,CarrSai)&&(count>0)){
  51. bit_set(PORTC,CancSai);
  52. _delay_ms(4000);
  53. bit_clear(PORTC,CancSai);
  54. count--;
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement