找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1647|回复: 1
打印 上一主题 下一主题
收起左侧

新手菜鸟请求各路大神指导

[复制链接]
跳转到指定楼层
楼主
ID:155121 发表于 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:155121 发表于 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();
}
}
自己又改了些代码,还是没有成功
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表