单片机c语言按键每按一次加一一直到加到100程序怎么写?求高手指点。

 我来答
47okey
推荐于2016-09-30 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2358万
展开全部
给你参考
//12M晶振。2位共阳数码管,P0为段码,P2.0、P2.1位控

#include <reg51.h>
#define uchar unsigned char

sbit P20=P2^0;
sbit P21=P2^1;
sbit KEY=P2^2;
uchar ge,shi;
uchar code tab[ ]={0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90,};

void delay_ms(unsigned int ms) //1ms延时
{
uchar a;
while(ms--)
for(a=123;a>0;a--);
}

void display();

void main()
{
while(1)
{
display();
while(!KEY)
{
display();
if(KEY)
ge++;
}
if(ge==10)
{
ge=0;
shi++;
}
if(shi==100)
{
shi=0;
}
}
}

void display( )
{
P20=1;
P0=tab[ge];
delay_ms(5);
P20=0;
P21=1;
P0=tab[shi];
delay_ms(5);
P21=0;
}
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机编程是指使用单片机编程语言,如C语言,来编写单片机的程序代码,以控制单片机的行为。这种技术在电子工程、计算机科学和电子通信等领域中被广泛应用。单片机编程的主要任务是设计和实现单片机的程序,包括定义单片机的指令系统、编写程序代码、处理器... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
lang1988118
推荐于2018-04-12 · TA获得超过358个赞
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:58.1万
展开全部
其中P0口和P2口各接一个共阴数码管,P3.7接个按键
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f};
void delay(uint ms);
sbit key=P3^7;

void delay(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=120;j>0;j--);
}

void main(void)
{
uchar num;
P0=table[num/10];
P2=table[num%10];
while(1)
{
if(key==0)
{
delay(10); //去抖动
if(key==0)
{
num++;
if(num==100)
{
num=0;
}
P0=table[num/10];
P2=table[num%10];
while(key==0); //等待按键释放

}
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jxauzhongkewen
2011-12-13
知道答主
回答量:13
采纳率:0%
帮助的人:9万
展开全部
这个直接套程序了呀,你是要把显示的放在数码管上吗?是的话那就直接加上按键扫描然后判断是否被按下是的话就直接调用数码管显示的二进制数就可以了,这样循环.... 程序的话没有你的原理图不好写
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式