今天小编要和大家分享的是控制,MCU相关信息,接下来我将从51单片机上实现的交通灯程序,交通灯 交通信号灯 信号灯 1024_1024这几个方面来介绍。

控制,MCU相关技术文章51单片机上实现的交通灯程序交通灯 交通信号灯 信号灯 1024_1024

控制,MCU相关技术文章51单片机上实现的交通灯程序

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

仿真原理图如下:

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;

}

}

}

关于控制,MCU就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查