你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于51单片机的交通灯程序

[复制链接]
gaosmile 发布时间:2020-7-16 19:38

  这是我前几天无聊自己写的交通灯程序,在51单片机上实现的。基本的定时的交通灯转换是实现了,根据时间来改变交通灯的变换。可以下载下来看看的,电路图和原程序都有,代码就自己下载吧。我不全放上了。

       仿真原理图如下:

        

       单片机源程序:

          #include

          sbit beiR=P1^0;

          sbit beiY=P1^1;

          sbit beiG=P1^2;

          sbit nanR=P1^3;

          sbit nanY=P1^4;

          sbit nanG=P1^5;

          uint a,b,c,type,j,i;

          void Delay(uint x) //延时

          {

          uchar i;

          while(x--)for(i=0;i《120;i++);

          }

          void delay_ms(uint q) //延时

          {

          uint i,j;

          for(i=q;i》0;i--)

          for(j=141;j》0;j--);

          }

          void shumaguan(uint k) //数码管显示

          {

          b=k/10;

          c=k%10;

          P3=11111101;

          P2=smg_dw;//选段码

          delay_ms(20);//延时5ms

          P3=11111110;

          P2=smg_dw[c];//选段码

          delay_ms(20);//延时5ms

          }

          main()

          {

          TMOD=0x01; //设置定时器T0为工作方式1定时

          TH0=(65536-50000)/256;

          TL0=(65536-50000)%256;

          TR0=1; //启动T0计数

          ET0=1; //允许T0中断

          EX0=1; //允许外部中断0中断

          EA=1; //开中断

          IT0=1; //允许外部中断0为边沿触发方式

          a=10; //倒计时10s

          type=1;

          while(1){

          switch(type)

          {

          case 1: //东西向绿灯与南北向红灯亮

          beiR=0;beiY=1;beiG=1;

          nanR=1;nanY=1;nanG=0;

          shumaguan(a);

          break;

          case 2: //东西向黄灯闪烁,绿灯关闭

          if(a%2!=0)

          {

          beiR=1;beiY=0;beiG=1;

          }

          if(a%2==0)

          {

          beiR=1;beiY=1;beiG=1;

          }

          shumaguan(a);

          break;

          case 3: //东西向红灯,南北向绿灯亮

          beiR=1;beiY=1;beiG=0;

          nanR=0;nanY=1;nanG=1;

          shumaguan(a);

          break;

          case 4: //南北向黄灯闪烁3次

          if(a%2!=0)

          {

          nanR=1;nanY=0;nanG=1;

          }

          if(a%2==0)

          {

          nanR=1;nanY=1;nanG=1;

          }

          shumaguan(a);

          break;

          }

          }

          }

) n: [! v, w- d/ m6 K
收藏 评论1 发布时间:2020-7-16 19:38

举报

1个回答
李康1202 回答时间:2020-7-17 09:31:38
水一下
mark.png

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版