您现在的位置: 爱51代码网 >> 范文 >> 文章正文
单片机交通灯问题

单片机交通灯问题
//以下程序只能完成一个周期,不能连续执行

 


#include<reg52.h>     //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义

#include<math.h> 
#define uchar unsigned char
#define uint  unsigned int
#define ulang unsigned lang
static unsigned char count;
code unsigned char tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
        //共阴数码管 0-9
uchar smg[8];                 //定义缓冲区运动会加油稿 


uint  we,ns,h,j;
 
  
int aaa();
int bbb();
void delay(unsigned int cnt)
{
 while(--cnt);
}
 
void display( )
{


           smg[0]=tab[we/10];    
      smg[1]=tab[we%10];
 smg[2]=0x00;            
           smg[3]=0x00;  
            smg[4]=0x00;
      smg[5]=0x00;           
                 smg[6]=tab[ns/10]; 
 smg[7]=tab[ns%10];

}


void main()
{
     uchar i;
     TMOD |=0x01;  //定时器0 10ms in 12M crystal 用于计时
TH0=0xd8;     //初值
TL0=0xf0;
ET0=1;
TR0=1;
     EA =1;    


 display();


 while(1)
 {
   
for(i=0;i<8;i++)  //显示函数
  {
     P0=smg[i];
P2=i;
delay(100);
  }
          ccc();
display( );
      } 
 
}
void timer() interrupt 1 
{
  
   TH0=0xd8;                  //重新赋值
   TL0=0xf0;
   count++;


}


int aaa()
{


          if(j<25)
     {
     if(j==1) { we=30,ns=25; }
ns--;
     we--;
     P1=0xde;
return 0; }
 
   if(25<=j<30)
 {      
     if(j==26)  {  ns=5; }
    P1=0xee;   
ns--;
we--; 
return 0;   }
}
int bbb()
{
            if(h<25)
     {
     if(h==1) { we=25,ns=30; }
ns--;
     we--;
      P1=0xf3;
return 0; }
 
   if(25<=h<30)
 {      
     if(h==26)  {  we=5; }
    P1=0xf5;   
ns--;
we--; 
return 0;   }
 
   
 }
 int ccc()
 {
    
 if (count==25)
   {
           count=0;
   j++;
if (j>30)  { h++;      bbb(); return 0;   }
 if(j>60) {  j=1;   h=0;     return 0; }  //问题就在这里,不能重新赋值
              aaa();      return 0;  
  }
 }
 

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    Android Parcelable和Serial
    Android中利用Fragment显示为
    HTTP 错误 500.19 - Interna
    如何获取别人访问我图片的ip
    java线程优先的问题
    Birt 如何动态添加超链接
    TOMCAT里面的WEB-APP里的项目
    android 4.2.1 一种高效log打
    Android批量插入数据
    Android ContentProvider总结
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |