找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2523|回复: 0
打印 上一主题 下一主题
收起左侧

自己根据书上做的模拟交通灯程序+仿真

[复制链接]
跳转到指定楼层
楼主
里面带仿真带程序


单片机源程序如下:
  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)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表