找回密码
 注册
查看: 115|回复: 3
打印 上一主题 下一主题

单片机LED模拟交通灯Proteus仿真代码

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-5-27 09:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)9 m9 o+ _% `/ S: q' q* ?" U5 c
3 `8 e) H3 i0 h8 O6 B& q
3 r/ U* |+ u7 d8 @7 K& h9 Z
单片机源程序如下:
  v. o- ^" \" t0 P' b, M
  • #include <reg52.h>
  • #define uchar unsigned char
  • #define uint unsigned int
  • sbit RED_A=P0^0;
  • sbit YELLOW_A=P0^1;
  • sbit GREEN_A=P0^2;
  • sbit RED_B=P0^3;
  • sbit YELLOW_B=P0^4;
  • sbit GREEN_B=P0^5;
  • uchar Flash_Count = 0;
  • Operation_Type = 1;
  • void DelayMS(uint x)
  • {
  •         uchar t;
  •         while(x--)
  •         {
  •                  for(t=120;t>0;t--);
  •         }
  • }
  • void Traffic_lignt()
  • {
  •         switch(Operation_Type)
  •         {
  •                  case 1:
  •                         RED_A=1;YELLOW_A=1;GREEN_A=0;
  •                         RED_B=0;YELLOW_B=1;GREEN_B=1;
  •                         DelayMS(2000);
  •                         Operation_Type = 2;
  •                         break;
  •                 case 2:
  •                         DelayMS(200);
  •                         YELLOW_A=~YELLOW_A;
  •                         if(++Flash_Count !=10)
  •                                 return;
  •                         Flash_Count=0;
  •                         Operation_Type = 3;
  •                         break;
  •                 case 3:
  •                         RED_A=0;YELLOW_A=1;GREEN_A=1;
  •                         RED_B=1;YELLOW_B=1;GREEN_B=0;
  •                         DelayMS(2000);
  •                         Operation_Type = 4;
  •                         break;
  •                 case 4:
  •                         DelayMS(200);
  •                         YELLOW_B=~YELLOW_B;
  •                         if(++Flash_Count !=10)
  •                                 return;
  •                         Flash_Count=0;
  •                         Operation_Type = 1;
  •                         break;
  •         }
  • }
  • void main()
  • {
  •         while(1)
  •         {
  •                  Traffic_lignt();
  •         }
  • }
    6 _$ {' f/ Z  Z3 U- h0 o

7 n$ y4 a4 V# W' m3 z! {* A2 |

该用户从未签到

2#
发表于 2022-5-27 11:16 | 只看该作者
有原理图,有程序。可以好好学习学习。

该用户从未签到

3#
发表于 2022-5-27 14:53 | 只看该作者
原理图,有程序。好好学。

该用户从未签到

4#
发表于 2022-6-28 18:50 | 只看该作者
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-28 10:48 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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