刚刚写单片机交通灯程序x

来源:造价师 发布时间:2020-09-07 点击:

 刚刚写的单片机交通灯程序 #include<reg52.h>

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

  char unsigned char int

 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;

 aaa();

 bbb(); int eee(); 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;

  //初值 TL0xf0; ET; 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 eee()

 {

  j=0; h=0; return 0;

  }

  int ccc()

 {

 if (count==100)

 {

 count=0;

 j++; if ( (j>30)&&(j!=61))

 { h++;

 bbb();

 return 0;

  }

 if(j==61)

  { eee(); return 0;}

 aaa();

  return 0;

 }

  }

推荐访问:交通灯 单片机 刚刚
上一篇:工商管理学院暨第十届品牌策划推广大赛新闻组策划书
下一篇:交通行业建设工程生产安全事故统计报表制度

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有