电子产业一站式赋能平台

PCB联盟网

搜索
查看: 1976|回复: 1
收起左侧

大佬们帮一下

[复制链接]

616

主题

968

帖子

5301

积分

四级会员

Rank: 4

积分
5301
发表于 2023-5-24 16:33:37 | 显示全部楼层 |阅读模式
在b站上看了一个单片机控制交通信号灯的视频,做了一些出现了问题求助


代码


#include<reg51.h>
#include<intrins.h>

#define uchar unsigned char
#define uint unsigned int
#define DIG0 0x01
#define DIG1 0x02
#define DIG2 0x03
#define DIG3 0x04


void delay(uint i);
void T0_init();
void MAX7219(uchar addr,uchar num);
void MAX7219_init();
void display();

sbit DIN=P3^0;
sbit LOAD=P3^1;
sbit CLK=P3^2;

sbit G1=P0^0;
sbit Y1=P0^1;
sbit R1=P0^2;

sbit G2=P1^0;
sbit Y2=P1^1;
sbit R2=P1^2;

uchar NS_S,NS_G,EW_S,EW_G;
uchar NS,EW;
uchar temp=0,i;

uchar code table[10]={0x7e,0x30,0xEd,0x79,0x33,0x5b,0x70,0x7f,0x7b};

void delay(uint i)
{
uint j;
for(j=0;j<i;j++);
}

void T0_init()
{
TMOD=0X01;
TH0=0XD8;
TL0=0XF0;
ET0=1;
TR0=1;
}
void MAX_write(uchar ch)
{
uchar j,ads;
for(j=0;j<8;j++)
{
  ads=ch&0x80;
  CLK=0;
  if(ads)
   DIN=1;
  else
   DIN=0;
   ch=ch<<1;
   CLK=1;
}
}
void MAX7219(uchar addr,uchar num)
{
LOAD=0;
_nop_();
MAX_write(num);
_nop_();
LOAD=i;
}

void MAX7219_init()
{
MAX7219(0x0c,0x01);
MAX7219(0x0b,0x03);
MAX7219(0x0a,0x05);
MAX7219(0x09,0x00);
}
void display()
{
NS_S=NS/10;
NS_G=NS%10;
EW_S=EW/10;
EW_G=EW%10;
MAX7219(DIG0,table[NS_S]);
MAX7219(DIG1,table[NS_G]);
MAX7219(DIG2,table[EW_S]);
MAX7219(DIG3,table[EW_G]);
}

void T0_(void)interrupt 1
{
temp++;
TH0=0xD0;
TL0=0xF0;
if(temp==100)
{
  temp=0;
  NS--;
  EW--;
  if((NS==0)&&(EW==5)&&(i==0))
  {
   NS=5;
   EW=5;
   i=1;
  }
  if((NS==0)&&(EW==0)&&(i==1))
  {
    NS=25;
   EW=20;
   i=2;
  }
  if((NS==0)&&(EW==0)&&(i=2))
  {
   NS=5;
   EW=5;
   i=3;
  }
  if((NS==0)&&(EW==0)&&(i==3))
  {
   NS==20;
   EW==25;
   i==4;
  }
}
display();
while(1)
{
uint k;
dispaly();
switch(1)
{
  case 0:
  R2=0;
  G1=0;
  break;

  case 1:
  G1=1;
  Y1=0;
  for(k=0;k<3;k++)
  {
   Y1=Y1;
   delay(10000);
   }
   break;

   case 2:
   G2=0;
   R2=1;
   R1=0;
   Y1=1;
   break;

   case 3:
   G2=1;
   Y2=0;
   for(k=0;k<3;k++)
   {
    Y2=~Y2;
delay(10000);
    }
break;

    case 4:
     i=0;
   R1=1;
   break;
   }

大佬们帮一下-1.jpg
回复

使用道具 举报

2851

主题

4614

帖子

2万

积分

官网认证

Rank: 3Rank: 3

积分
25793

活跃会员热心会员推广达人优秀版主

发表于 2023-5-24 16:33:57 | 显示全部楼层
qq1787748443
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表