我正在做交通灯设计,大家给点建议

2020-02-01 16:35发布

        这板子行吗?好象没有那种效果
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
WANGZHI1314
1楼-- · 2020-02-01 21:04
//程序:ex4_4.c
//功能:交通灯控制程序
#include<reg51.h>
unsigned char t0,t1;       //定义全局变量,用来保存延时时间循环次数
//函数名:delay0_5s1
//函数功能:用T1的工作方式1编制0.5s延时程序,假定系统采用12MHz晶振,定时器1、工作方式1定时50ms,再循环10次即可定时到0.5s
//形式参数:无
//返回值:无
void delay0_5s1()
{
  for(t0=0;t0<0x0a;t0++)    //采用全局变量t0作为循环控制变量
  {            
   TH1=0x3c;                //设置定时器初值               
   TL1=0xb0;
   TR1=1;                   //启动T1
   while(!TF1);             //查询计数是否溢出,即50ms定时时间到,TF1=1
   TF1=0;                   //50ms定时时间到,将定时器溢出标志位TF1清零
  }
}
//函数名:delay_t1
//函数功能:实现0.5sxt延时
//形式参数:unsigned char t;延时时间为0.5sxt
//返回值:无
void delay_t1(unsigned char t)
{
  for(t1=0;t1<t;t1++)        //采用全局变量t1作为循环控制变量
  delay0_5s1();
}
//函数名:int_0
//函数功能:外部中断0中断函数,紧急情况处理,当CPU响应外部中断0的中断请求时,自动执行函数,实现两个方向红灯同时亮10s
//形式参数:无
//返回值:无
void   int_0() interrupt 0   //紧急情况中断
{  
   unsigned char i,j,k,l,m;
   i=P1;                     //保护现场,暂存P1口、t0、t1、TH1、TL0
   j=t0;
   k=t1;
   l=TH1;
   m=TL1;
   P1=0xdb;                  //两个方向都是红灯
   delay_t1(20);             //延时10s
   P1=i;                     //恢复现场,恢复进入中断前P1口、t0、t1、TH1、TL0
   t0=j;
   t1=k;
   TH1=l;
   TL1=m;
}
//函数名:int_1
//函数功能:
//形式参数:无
//返回值:无
void   int_1() interrupt 2
{  
   unsigned char i,j,k,l,m;
   EA=0;
   EA=0;
   i=P1;
   j=t0;
   k=t1;
   l=TH1;
   m=TL1;
   EA=1;
   P1=0xdb;
   delay_t1(10);
   EA=0;
   P1=i;
   t0=j;
   t1=k;
   TH1=l;
   TL1=m;
   EA=1;
}
void main()
{
  unsigned char k;
  TMOD=0x10;
  EA=1;
  EX0=1;
  IT0=1;
  EX1=1;
  IT1=1;
  while(1)
  {
    P1=0xf3;
    delay_t1(110);
   for(k=0;k<3;k++)
    {
     P1=0xf3;
     delay0_5s1();
     P1=0xfb;
     delay0_5s1();
    }
   P1=0xeb;
   delay_t1(4);
   P1=0xde;
   delay_t1(110);
   for(k=0;k<3;k++)
     {
      P1=0xde;
      delay0_5s1();
      P1=0xdf;
      delay0_5s1();
     }
     P1=0xdd;
     delay_t1(4);
  }
}

后面的没有定义
WANGZHI1314
2楼-- · 2020-02-02 02:45
怎么把程序打包???谢谢啦
HeP028
3楼-- · 2020-02-02 06:22
本帖最后由 HeP028 于 2012-12-6 16:08 编辑

这个是我以前做的哈哈,像不?
dianizima0516
4楼-- · 2020-02-02 09:28
不错不错有点意思
jswd0810
5楼-- · 2020-02-02 09:39
 精彩回答 2  元偷偷看……
WANGZHI1314
6楼-- · 2020-02-02 10:36
HeP028 发表于 2012-12-6 16:06
这个是我以前做的哈哈,像不?

不错  我还不知道怎么去走线呢

一周热门 更多>