51单片机设计两位计数器C语言

51单片机设计两位计数器C语言设计十进制0~99的计数器,采用按键计数,数码管显示。
1)采用按键产生计数值:按下按加数键,计数值增加1; 按下减数键,数值减少1.
2)采用2位数码管显示,计数初值为0;
3)当计数达到99时,再次按下按键,计数值从0开始增加; 当数值为0时,按下减数键,数值变为99。
4)设计一个按键,用于清空计数值。

第1个回答  2016-12-22
#include "reg52.h"
#define uchar unsigned char

#define uint unsigned int
#define dataport P1
sbit s1=P2^0;
sbit s2=P2^1;
sbit s3=P2^2;
sbit wei1=P2^4;

sbit wei2=P2^5;
signed char a=0;

uchar TABLE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//延时子程序
void delay1ms(uint t)
{
uint i;
uint j;
for(i=0;i<t;i++)
for(j=0;j<116;j++);
}
//显示子程序
void display(uchar n)
{
wei1=1;

dataport=TABLE[n/10];
delay1ms(1);
wei1=0;

wei2=1;
dataport=TABLE[n%10];
delay1ms(1);
wei2=0;
}

void main(void)//主程序
{
while(1)
{
if(s1==0)
{
delay1ms(20);
if(s1==0)
{
a++;
}
}
if(a=100)a=0;
if(s2==0)
{
delay1ms(20);
if(s2==0)
{
a--;
}
}
if(a<0)a=99;
if(s3==0)
{
delay1ms(20);
if(s3==0)
{
a=0;
}
}
display(a);
}
}本回答被网友采纳
第2个回答  2016-12-22
你好!程序是c语言写吗追问

是的

请问能写么

追答

可以写,留下你的企鹅

相似回答