00-99计数器.c

来自「AT89S52单片机程序50例(00-50)」· C语言 代码 · 共 44 行

C
44
字号
//00-99计数器
//共阴极数码管

#include <reg52.h>

unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};  //0-9的段码值

unsigned char Count;  //定义无符号变量Count

sbit SP1=P3^7;  //定义P3.0为按键

//10ms延时子程序
void delay10ms(void)
{
	unsigned char i,j;
    for(i=20;i>0;i--)
    for(j=248;j>0;j--);
}

//主程序
void main(void)
{
	Count=0;
	P0=table[Count/10];
	P2=table[Count%10];
	while(1)
	{
		if(SP1==0)  //是否有按键?
		{
			delay10ms();  //有按键的话,延时消抖
			if(SP1==0)  //是否真的有按键
			{
				Count++;  //是的话,Count加1
				if(Count==100)  //Count=100时,重新初始化Count=0
				{
					Count=0;
				}
				P0=table[Count/10];
	            P2=table[Count%10];
        		while(SP1==0);  //按键是否释放?是的话,退出;否的话,等待。
        	}
		}	
	}	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?