找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2591|回复: 0
收起左侧

单片机交通灯简单设计

[复制链接]
ID:936631 发表于 2021-6-11 18:47 | 显示全部楼层 |阅读模式
十字路口中东西南北方向的红绿灯循环点亮, 之间间隔黄灯。而黄灯颜色变化闪烁 5 次, 在每个路口都加上数码管,数码管显示从数字9变为数字0时,一边由红灯变为绿灯,
另一面的灯由绿灯经过黄灯变为红灯。

1.png

代码:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RED_A=P0^0;
sbit YEIIOW_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 =5;
Operation_Type=1;
#define out P2
#define put P1
uchar code seg[]={0x90,0x80,0xf8,0x82,0x92,0x99,0xb0,0xa4,0xf9,0xc0,0x01};
void delay(uint x)
{   
     uchar t;
     while(x--)
  {
for(t=120;t>0;t--);
        }
}
      
void main(void)
{
  uchar i,a,b;
        for(a=0;a<10;a++){
                P0=0xf3;
                delay(100);      
                put=seg;
                out=seg;
      
                delay(900);
                i++;
                       
   
}
for(a=0;a<5;a++){
P0=0xfd;
delay(200);
P0=0xff;
delay(200);
}
P0=0xde;
        delay(250);
        if (seg ==0x01)i=0;
for(b=0;b<10;b++){
                P0=0xde;
                delay(100);
                put=seg;
          out=seg;
                delay(900);
                i++;
}for(a=0;a<5;a++){
P0=0xef;
delay(200);
P0=0xff;
delay(200);
}
P0=0xf3;
        delay(250);
                if (seg ==0x01)i=0;
}

交通灯简单设计.zip

41.81 KB, 下载次数: 17, 下载积分: 黑币 -5

评分

参与人数 1黑币 +20 收起 理由
admin + 20 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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