久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1831|回復: 1
打印 上一主題 下一主題
收起左側

單片機交通燈實驗中添加LED屏幕后失效

[復制鏈接]
跳轉到指定樓層
樓主
原代碼,能實現動態數碼管和LED交通燈的動態顯示。
為增加LED顯示停和行,增加了LED代碼模塊,但增加后數碼管和LED交通燈均不亮,LED亂碼
請問是哪里出問題了。
運行結果正常。


修改后代碼,紅色部分,程序無報錯,但數碼管和LED燈都不亮,LED點陣亂碼
#include "reg52.h"
#include "intrins.h"
typedef unsigned int u16;
typedef unsigned char u8;
#define led P0
#define light P1
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
sbit GREEN00=P0^0;
sbit RED00=P0^1;
sbit GREEN10=P0^2;
sbit YELLOW10=P0^3;
sbit RED10=P0^4;
sbit GREEN11=P0^5;
sbit YELLOW11=P0^6;
sbit RED11=P0^7;
sbit GREEN01=P3^0;
sbit RED01=P3^1;
sbit SER=P2^7;
sbit SRCLK=P2^6;
sbit RCLK1=P2^5;

u8 code smg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

u8 code duan2[]={0x80,0x60,0xF8,0x07,0x00,0x04,0x74,0x54,0x55,0x56,0x54,0x54,0x74,0x04,0x00,0x00,
0x00,0x00,0xFF,0x00,0x03,0x01,0x05,0x45,0x85,0x7D,0x05,0x05,0x05,0x01,0x03,0x00,};        //?
u8 code duan1[]={0x00,0x10,0x88,0xC4,0x33,0x00,0x40,0x42,0x42,0x42,0xC2,0x42,0x42,0x42,0x40,0x00,
0x02,0x01,0x00,0xFF,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,};        //??
u8 code wei[32]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,};



u8 Second=0;
u8 DisplayData[8];

void delay(u16 t);
void inter0();
void Display();

void LEDDZ(u8 dat1,u8 dat2,u8 dat3,u8 dat4);
void DZdisplay1();
void DZdisplay2();


void LEDDZ(u8 dat1,u8 dat2,u8 dat3,u8 dat4)
{ u8 a;
  for(a=0;a<8;a++)
  { SER=dat1>>7;      
    dat1=dat1<<1;
SRCLK=0;
_nop_();
SRCLK=1;
}
  for(a=0;a<8;a++)
  { SER=dat2>>7;
    dat2=dat2<<1;
SRCLK=0;
_nop_();
SRCLK=1;
}
  for(a=0;a<8;a++)
  { SER=dat3>>7;
    dat3=dat3<<1;
SRCLK=0;
_nop_();
SRCLK=1;
}
  for(a=0;a<8;a++)
  { SER=dat4>>7;
    dat4=dat4<<1;
SRCLK=0;
_nop_();
SRCLK=1;
}
  RCLK1=0;
  _nop_();
  RCLK1=1;
  }  


void DZdisplay1()
{ u8 i;
   while(1)
   { for(i=0;i<16;i++)     
      {LEDDZ(~wei[i+16],~wei[ i],duan1[i+16],duan1[ i]);
    delay(10);}     
     }
  }

void DZdisplay2()
{ u8 i;
   while(1)
   { for(i=0;i<16;i++)     
      {LEDDZ(~wei[i+16],~wei[ i],duan2[i+16],duan2[ i]);
    delay(10);}   
     }
  }
[ i][ i][ i]

void delay(u16 t)
{while(t--);}
void inter0()
{TMOD=0X01;
  TH0=0XFC;
  TL0=0X18;
  EA=1;
  ET0=1;
  TR0=1;
  }
void Display()
{ u8 i;
   light=0x00;
   for(i=0;i<8;i++)
   { switch(i)
     {case(0):LSA=0;LSB=0;LSC=0;break;
   case(1):LSA=1;LSB=0;LSC=0;break;
   case(2):LSA=0;LSB=1;LSC=0;break;
   case(3):LSA=1;LSB=1;LSC=0;break;
   case(4):LSA=0;LSB=0;LSC=1;break;
   case(5):LSA=1;LSB=0;LSC=1;break;
   case(6):LSA=0;LSB=1;LSC=1;break;
   case(7):LSA=1;LSB=1;LSC=1;break;
    }
  light=DisplayData[ i];
  delay(100);
  light=0x00;
  }
  }

void main()
{ inter0();
   while(1)
   {if(Second==70)
     {
    Second=0;
    }
if(Second<31)
  {
    DisplayData[0]=0x00;
    DisplayData[1]=0x00;
    DisplayData[2]=smg[(30-Second)%100/10];
    DisplayData[3]=smg[(30-Second)%10];
    DisplayData[4]=0x00;
    DisplayData[5]=0x00;
    DisplayData[6]=DisplayData[2];
    DisplayData[7]=DisplayData[3];
    Display();
    DZdisplay2();
    led=0xff;
    GREEN01=1;
    RED01=1;
    GREEN00=0;
    GREEN10=0;
    RED11=0;
    RED01=0;
    }
else if(Second<36)
  {
    DisplayData[0]=0x00;
    DisplayData[1]=0x00;
    DisplayData[2]=smg[(36-Second)%100/10];
    DisplayData[3]=smg[(36-Second)%10];
    DisplayData[4]=0x00;
    DisplayData[5]=0x00;
    DisplayData[6]=DisplayData[2];
    DisplayData[7]=DisplayData[3];
    Display();
    led=0xff;
    GREEN01=1;
    RED01=1;
    RED00=0;
    YELLOW10=0;
    RED11=0;
    RED01=0;
    }
else if(Second<66)
  {
    DisplayData[0]=0x00;
    DisplayData[1]=0x00;
    DisplayData[2]=smg[(66-Second)%100/10];
    DisplayData[3]=smg[(66-Second)%10];
    DisplayData[4]=0x00;
    DisplayData[5]=0x00;
    DisplayData[6]=DisplayData[2];
    DisplayData[7]=DisplayData[3];
    Display();
    DZdisplay1();
    led=0xff;
    GREEN01=1;
    RED01=1;
    RED00=0;
    RED10=0;
    GREEN11=0;
    GREEN01=0;
    }
else
  {
    DisplayData[0]=0x00;
    DisplayData[1]=0x00;
    DisplayData[2]=smg[(71-Second)%100/10];
    DisplayData[3]=smg[(71-Second)%10];
    DisplayData[4]=0x00;
    DisplayData[5]=0x00;
    DisplayData[6]=DisplayData[2];
    DisplayData[7]=DisplayData[3];
    Display();
    led=0xff;
    GREEN01=1;
    RED01=1;
    RED00=0;
    RED10=0;
    YELLOW11=0;
    RED01=0;
    }
    }
   }
void inter0in() interrupt 1
{ static u16 i;
   TH0=0XFC;
   TL0=0X18;
   i++;
   if(i==1000)
   {i=0;
    Second++;
}
   }


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:584814 發表于 2020-4-10 22:16 | 只看該作者
你查一下實驗板的電路圖,極有可能是I/O口占用。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品在线免费观看 | 精品国产一区二区三区性色av | 欧美三级成人理伦 | 亚洲日韩中文字幕一区 | 五月天激情综合网 | 国外成人在线视频 | 国产精品91视频 | 天天操天天干天天爽 | 国产一区 | 国产重口老太伦 | 国产高清一区二区三区 | 日韩影院在线观看 | 久久99精品久久久久久 | www.色.com| 日本成人在线免费视频 | 欧美大片在线观看 | 午夜男人天堂 | 日韩一区二区三区在线观看视频 | 久久天天 | 99久久婷婷 | 国产精品3区| a精品视频 | 黄色片在线网站 | 久久久黄色| 成人在线精品视频 | 日韩精品一 | 涩爱av一区二区三区 | 亚洲欧洲精品在线 | 久久狠狠 | 一级免费毛片 | 午夜久久久 | 成人av电影在线观看 | 亚洲福利在线观看 | 久久综合一区二区三区 | 色资源在线视频 | 九九爱这里只有精品 | 美日韩免费| 日韩中文字幕一区二区 | 颜色网站在线观看 | 国产资源在线播放 | 九九久久免费视频 |