找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2287|回复: 5
收起左侧

关于51单片机按键控制数码管,为什么我按下p35没有反应,当数字应变为2时会变成巳 ...

[复制链接]
ID:843725 发表于 2021-3-21 10:46 | 显示全部楼层 |阅读模式

#include <REGX52.H>
sbit k1=P3^4;
sbit k2=P3^5;
unsigned char table[]={0xc0,0xf9,0x4,0xb0,0x99,0x92,0x02,
                        0xf8,0x00,0x10};
void Delay(unsigned char x)               
{
        while(x--)
        {
                unsigned char i,j;
i = 2;
        j = 239;
        do
        {
                while (--j);
        } while (--i);
}
}
void main ()
{
int n=0;
        P2_0=0;
        P2_1=1;
        P2_2=1;
        P2_3=1;
        P2_4=1;
        while(1)
        {
if(k1==0)
{
Delay(500);
        if(k1==0)
        {
++n;
                if(n==10)
                        n=0;
}
while(k1==1);
}
if(k2==0)
{
Delay(500);
        if(k2==0)
        {
--n;
                if(n<0)
                        n=9;
                while(k2==0);
}
}
P2_0=0;
        P2_1=0;
        P2_2=0;
        P2_3=0;
        P2_4=0;
   P0=table[n];
}
}
回复

使用道具 举报

ID:814525 发表于 2021-3-21 12:24 | 显示全部楼层
while(k1==1)改为while(k1==0);

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:843725 发表于 2021-3-21 14:52 | 显示全部楼层
张天师 发表于 2021-3-21 12:24
while(k1==1)改为while(k1==0);

谢谢大佬,我这太不小心了,那个2变成巳咋解决
回复

使用道具 举报

ID:213173 发表于 2021-3-21 16:41 | 显示全部楼层
zhzh123456 发表于 2021-3-21 14:52
谢谢大佬,我这太不小心了,那个2变成巳咋解决

对比楼主写的数组
有误table[]={0xc0,0xf9,0x4,0xb0,0x99,0x92,0x02, 0xf8,0x00,0x10};
正确table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
回复

使用道具 举报

ID:843725 发表于 2021-3-26 22:28 | 显示全部楼层
wulin 发表于 2021-3-21 16:41
对比楼主写的数组
有误table[]={0xc0,0xf9,0x4,0xb0,0x99,0x92,0x02, 0xf8,0x00,0x10};
正确table[]={0 ...

谢谢大佬
回复

使用道具 举报

ID:207421 发表于 2021-3-26 23:29 | 显示全部楼层
应该对数码管的位进行控制,还得数码管消影才行
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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