标题: 自己根据书上做的模拟交通灯程序+仿真 [打印本页]

作者: 785798653    时间: 2018-1-7 19:55
标题: 自己根据书上做的模拟交通灯程序+仿真
里面带仿真带程序


单片机源程序如下:
  1. #include <reg52.h>
  2. #define INT8U unsigned char
  3. #define INT16U unsigned int
  4. sbit RED_A         = P1^0;
  5. sbit YELLOW_A         = P1^1;
  6. sbit GREEN_A         = P1^2;
  7. sbit RED_B         = P1^4;
  8. sbit YELLOW_B         = P1^5;
  9. sbit GREEN_B         = P1^6;
  10. INT8U Flash_Count = 0,Operation_Type = 1;//闪烁次数及操作类型变量定义
  11. void delay_ms(INT16U x)
  12. {
  13.         INT8U t;
  14.         while(x--)
  15.         for(t = 0;t < 120; t++);
  16. }
  17. void Traffic_light()
  18. {
  19.         switch (Operation_Type)
  20.         {
  21.                 case 1:
  22.                         RED_A = 1; YELLOW_A = 1; GREEN_A = 0;
  23.                         RED_B = 0; YELLOW_B = 1; GREEN_B = 1;
  24.                         delay_ms(2000);
  25.                         Operation_Type = 2;
  26.                         break;
  27.                 case 2:
  28.                         delay_ms(300);
  29.                         YELLOW_A = ~YELLOW_A; GREEN_A = 1;
  30.                         if (++Flash_Count != 10)
  31.                                 return;
  32.                         Flash_Count = 0;
  33.                         Operation_Type = 3;
  34.                         break;
  35.                 case 3:
  36.                         RED_A = 0; YELLOW_A = 1; GREEN_A = 1;
  37.                         RED_B = 1; YELLOW_B = 1; GREEN_B = 0;
  38.                         delay_ms(2000);
  39.                         Operation_Type = 4;
  40.                         break;
  41.                 case 4:
  42.                         delay_ms(300);
  43.                         YELLOW_B = ~YELLOW_B; GREEN_B = 1;
  44.                         if (++Flash_Count != 10)
  45.                                 return;
  46.                         Flash_Count = 0;
  47.                         Operation_Type = 1;               
  48.         }
  49. }
  50. void main()
  51. {
  52.         while(1)
  53.         Traffic_light();
  54. }

  55. ……………………

  56. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
3-4LED模拟交通灯.zip (31.38 KB, 下载次数: 7)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1