找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1589|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

新手菜鳥請求各路大神指導(dǎo)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:155121 發(fā)表于 2016-12-15 21:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<regx52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
sbit key4=P3^7;
sbit dula = P2^6;
sbit wela = P2^7;
int code a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
int code b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
int code c[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
int code d[]={0x76,0x79,0x38,0x38,0x3f};
void delayms(uint);
void display(uint,uint,uint,uint,uint);
uint ge=0,shi =2,bai = 2;
void aa()
{
        int i=0;
        while(!key1)
        {P0=a[i];
        delayms(500);
        i++;
        if(i==7)
        P0=1;
        }
}
void bb()
{
        int i=0;
        while(!key2)
        {P0=b[i];
        delayms(200);
        i++;
        if(i==7)
        P0=1;
        }
}
void cc()
{
        int i=0;
        while(!key3)
        {P0=c[i];
        delayms(500);
        i++;
        if(i==7)
        P0=0;
        }
}
void dd()
{
        while(!key4)
        display(0x76,0x79,0x38,0x38,0x3f);
}
void delayms(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
          for(j=110;j>0;j--);
}
void display(uint bai,uint shi,uint ge,uint k,uint n)
{
        dula = 1;
        P0 = d[bai];
        dula = 0;
        P0 = 0xff;
        wela = 1;
        P0 = 0xfe;
        wela = 0;
        delayms(1);

        dula = 1;
        P0 = d[shi];
        dula = 0;
        P0 = 0xff;
        wela = 1;
        P0 = 0xfd;
        wela = 0;
        delayms(1);

        dula = 1;
        P0 = d[ge];
        dula = 0;
        P0 = 0xff;
        wela = 1;
        P0 = 0xfb;
        wela = 0;
        delayms(5);

   dula = 1;
   P0 = d[k];
   dula = 0;
   P0 = 0xff;
   wela = 1;
   P0 = 0xf7;
   wela = 0;
   delayms(1);

   dula = 1;
   P0 = d[n];
   dula = 0;
   P0 = 0xff;
   wela = 1;
   P0 = 0xef;
   wela = 0;
   delayms(1);

}
main()
{while(1)
{P0=0xff;
while(!key1)aa();
while(!key2)bb();
while(!key3)cc();
while(!key4)dd();
}
}


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

使用道具 舉報

沙發(fā)
ID:155121 發(fā)表于 2016-12-15 21:44 | 只看該作者
#include<regx52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^4;
sbit key2=P3^5;
sbit key3=P3^6;
int code a[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
int code b[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
int code c[]={0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff};
void delayms(uint);
void aa()
{
        int i=0;
        while(!key1)
        {P1=a[i];
        delayms(500);
        i++;
        if(i==7)
        P1=1;
        }
}
void bb()
{
        int i=0;
        while(!key2)
        {P1=b[i];
        delayms(200);
        i++;
        if(i==7)
        P1=1;
        }
}
void cc()
{
        int i=0;
        while(!key3)
        {P1=c[i];
        delayms(500);
        i++;
        if(i==7)
        P1=0;
        }
}
main()
{while(1)
{P1=0xff;
while(!key1)aa();
while(!key2)bb();
while(!key3)cc();
}
}
自己又改了些代碼,還是沒有成功
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表