找回密码
 立即注册

QQ登录

只需一步,快速开始

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

交通信号灯protues+keil源码

  [复制链接]
跳转到指定楼层
楼主
交通信号灯protues+keil,有电子爱好者可加qq1822286794,一起来搞电子制作。加qq时请打上备注“电子爱好者”。


单片机源程序:
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit RED_A=P0^0;    //东西向灯

  5. sbit YELLOW_A=P0^1;

  6. sbit GREEN_A=P0^2;

  7. sbit RED_B=P0^5;    //南北向灯

  8. sbit YELLOW_B=P0^4;

  9. sbit GREEN_B=P0^3;

  10. uchar Flash_Count=0,Operation_Type=1; //闪烁次数,操作类型变量

  11. void DelayMS(uint x)
  12.     {  
  13.      uchar i;
  14.      
  15.          while(x--)
  16.      
  17.          for(i=0;i<120;i++);
  18.      
  19.          }

  20. void Traffic_Light()
  21. {   
  22. switch(Operation_Type)

  23.     {        
  24.        case 1:   //东西向绿灯与南北向红灯亮     
  25.           RED_A=1;
  26.           YELLOW_A=1;
  27.           GREEN_A=0;     
  28.           RED_B=0;
  29.           YELLOW_B=1;
  30.           GREEN_B=1;     
  31.           DelayMS(3000);     
  32.           Operation_Type=2;     
  33.           break;
  34.                   
  35.                   
  36.           case 2:  //东西向黄灯闪烁,绿灯关闭
  37.             
  38.        
  39.                   DelayMS(500);          //延时下面的YELLOW_A=1的状态,YELLOW_A=1是从case1里的状态延续下来的
  40.                   YELLOW_A=~YELLOW_A;
  41.                   GREEN_A=1;     
  42.                   if(++Flash_Count!=10) return;      //当if里面的条件不成立,(return)就会返回到Traffic_Light,从新开始执行
  43.               Flash_Count=0;                                      //从新执行时由于swich语句是一个一个语句块的执行,下次执行依然会从语句块2开始执行
  44.                   Operation_Type=3;     
  45.                   break;   
  46.                   
  47.                   
  48.           case 3:   //东西向红灯,南北向绿灯亮     
  49.                   RED_A=0;
  50.                   YELLOW_A=1;
  51.                   GREEN_A=1;     
  52.                   RED_B=1;
  53.                   YELLOW_B=1;
  54.                   GREEN_B=0;     
  55.                   DelayMS(3000);     
  56.                   Operation_Type=4;     
  57.                   break;
  58.                   
  59.                   
  60.           case 4: //南北向黄灯闪烁 5 次绿灯关闭     
  61.                   DelayMS(500);         
  62.                   YELLOW_B=~YELLOW_B;
  63.                   GREEN_B=1;     
  64.                   if(++Flash_Count!=10) return;     
  65.                   Flash_Count=0;     
  66.                   Operation_Type=1;  
  67.    }
  68. }

  69.                   //主程序
  70.                   
  71.                   void main()
  72.                   {  
  73.                          while(1) Traffic_Light();
  74.                                  
  75.                    }


  76.                     
复制代码


资料下载:
5.交通灯.rar (53.32 KB, 下载次数: 111)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:167951 发表于 2017-3-3 18:06 | 只看该作者
这个运行
回复

使用道具 举报

板凳
ID:210222 发表于 2017-6-15 16:01 | 只看该作者
运行不了啊
回复

使用道具 举报

地板
ID:212218 发表于 2017-6-18 11:38 | 只看该作者
楼主威武
回复

使用道具 举报

5#
ID:214526 发表于 2017-6-27 09:22 | 只看该作者
厉害
回复

使用道具 举报

6#
ID:220203 发表于 2017-7-17 10:41 | 只看该作者
厉害了
回复

使用道具 举报

7#
ID:238682 发表于 2017-10-11 19:55 | 只看该作者
6666666666666
回复

使用道具 举报

8#
ID:238682 发表于 2017-10-11 19:56 | 只看该作者
厉害了楼主
回复

使用道具 举报

9#
ID:271036 发表于 2018-1-3 20:45 | 只看该作者
大神呀
回复

使用道具 举报

10#
ID:298182 发表于 2018-3-29 09:52 | 只看该作者
赞一个
回复

使用道具 举报

11#
ID:564380 发表于 2019-6-17 11:14 来自手机 | 只看该作者
大佬威武
回复

使用道具 举报

12#
ID:701852 发表于 2020-3-29 21:16 | 只看该作者
proteus,不是protues
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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