realsdx

traffic_maunaldelay

Sep 2nd, 2019
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.68 KB | None | 0 0
  1. /*Connect the interface over J2 of MCBX51 adapter */
  2. /* This program simutaes the traffic light */
  3.  
  4.  
  5. #include<stdio.h>
  6. #include <REG51RD2.H>
  7.  
  8. void delay(int k);
  9.  
  10.  
  11. unsigned char xdata control _at_ 0xe003;
  12. unsigned char xdata porta _at_ 0xe000;
  13. unsigned char xdata portb _at_ 0xe001;
  14. unsigned char xdata portc _at_ 0xe002;
  15. unsigned char code str[31]={0x10,0x81,0x7a,
  16.                             0x44,0x44,0xf0,
  17.                             0x8,0x11,0xe5,
  18.                             0x44,0x44,0xf0,
  19.                             0x81,0x10,0xda,
  20.                             0x44,0x44,0xf0,
  21.                             0x11,0x8,0xb5,
  22.                             0x44,0x44,0xf0,
  23.                             0x88,0x88,0x00,
  24.                             0x44,0x44,0xf0,
  25.                             0x00
  26. };
  27.  
  28. void traffic_s();
  29. void traffic_n();
  30. void traffic_se();
  31.  
  32. void reset();
  33.                
  34. void main()
  35. {
  36.         control = 0x80;
  37.     portb=0x00;
  38. porta=0x0f;
  39. portc=0xf0;
  40.    
  41.    
  42.    
  43.         /*//all predestian red
  44.         portc = 0xd0;
  45.         //west red
  46.         portb = 0x80;
  47.    
  48.         traffic_n();
  49.    
  50.         delay(30000);
  51.         delay(30000);
  52.         delay(30000);
  53.         delay(30000);
  54.         delay(30000);
  55.         delay(30000);
  56.         delay(30000);
  57.         delay(30000);
  58.    
  59.         traffic_s();
  60.    
  61.         delay(30000);
  62.         delay(30000);
  63.         delay(30000);
  64.         delay(30000);
  65.         delay(30000);
  66.         delay(30000);
  67.         delay(30000);
  68.         delay(30000);
  69.    
  70.         traffic_se();*/
  71. }
  72.  
  73. void traffic_s()
  74. {
  75.     //south red
  76.     porta = 0x08;
  77.     //north s green
  78.     portc = portc + 0x02;
  79. }
  80.  
  81. void traffic_n()
  82. {
  83.     reset();
  84.     //north red
  85.     portb = portb + 0x08;
  86.     // south s green
  87.     portc = portc + 0x08;
  88. }
  89.  
  90. void traffic_se()
  91. {
  92.     reset();
  93.     //south red
  94.     porta = 0x08;
  95.     //east left green
  96.     porta = porta + 0x10;
  97. }
  98.  
  99. void reset()
  100. {
  101.     //all predestian red
  102.         portc = 0xd0;
  103.         //west red
  104.         portb = 0x80;
  105. }
  106.  
  107. void delay(int k)
  108. {
  109.   int p;
  110.   for(p=0;p<=k;p++)
  111.   {
  112.    ;
  113.   }
  114. }
Add Comment
Please, Sign In to add comment