⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traffic_light.c

📁 单片机设计的交通信号灯控制程序源代码
💻 C
字号:
#include<reg51.h>
#include"max7221.h"

#define uchar unsigned char

sbit green=P2^3;
sbit yellow=P2^4;
sbit red=P2^5;

uchar counter,flag,time_g,time_y,time_r;

void init_timer0()
{
	TMOD=0x01;
    TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    EA=1;
    ET0=1;
    TR0=1;	
}

void init()
{
    time_g=30;
    time_y=5;
    time_r=35;
    green=0;
    red=0;
    yellow=0;	 
}

void main()
{
	init_timer0();
    InitialMax7221();
    init();
    while(1);	
}

void timer0()interrupt  1
{
	TH0=(65536-50000)/256;
    TL0=(65536-50000)%256;
    counter++;
    if(counter==20)
    {
     	counter=0;
        switch(flag)
        {   
          case 0:
	            {   
                    red=0;
		         	green=1;
		            WriteMax7221(1,time_g/10);
		            WriteMax7221(2,time_g%10);
		            time_g--;
		            if(time_g==0)
		            {
		             	time_g=30;
		                flag++;
		            }
	            }
                break;
    	 case 1:
	            {   
                    green=0;
		         	yellow=1;
		            WriteMax7221(1,time_y/10);
		            WriteMax7221(2,time_y%10);
		            time_y--;
		            if(time_y==0)
		            {
		             	time_y=5;
		                flag++;
		            }
	            }
                break;
          case 2:
	            {   
                    yellow=0;
		         	red=1;
		            WriteMax7221(1,time_r/10);
		            WriteMax7221(2,time_r%10);
		            time_r--;
		            if(time_r==0)
		            {
		             	time_r=35;
		                flag=0;
		            }
	            }
                break;
           default :   break;
               
        }		
    }	
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -