普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3707|回复: 2

求大佬指点迷津

[复制链接]

1

主题

1

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2020-7-17 20:43:39 来自手机 | 显示全部楼层 |阅读模式
想要写一个按一下键数值加一的程序,但不按的时候是0,按下去数码管就全亮了,不知道错在哪。求大佬指点,程序具体如下:
#include"reg52.h"

typedef unsigned char u8;
typedef unsigned int u16;

sbit hc1=P2^2;
sbit hc2=P2^3;
sbit hc3=P2^4;
sbit k1=P3^1;

u16 m,a;

u8 code sz[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
                        0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71}; //共阴数码管断码

void delay(u16 i)
{
  while(i--);
}

int add()          //按下按键数值加一
{
  if(k1==0)
  {
    delay(100);
        if(k1==0)
        {
           a++;
        }
        while(!k1);
  }  
}

void display()        //使右边第一个数码管点亮
{
hc1=0;
hc2=0;
hc3=0;
}

void main()
{
while(1)
{
  display();
  m=add();
  P0=sz[m];
}  
}
回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-26 17:52 , Processed in 0.097411 second(s), 33 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

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