⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 99倒计时.c

📁 AT89S52单片机程序50例(00-50)
💻 C
字号:
//99倒计时
//数码管为共阴极数码管

#include<reg52.h>

//主程序
void main()
{
	unsigned char DB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //0~9的段码值
	
    unsigned char a;   
    unsigned int i,upbit,lowbit,hibit,cnt=999;
    
    void delay10ms(unsigned char time);  //声明10ms延时子程序
    
    while(1)
    {
    	for(i=999;i>0;i--)
    	{
    		hibit=i/100;  //提取百位
    		upbit=(i-hibit*100)/10;  //提取十位
    		lowbit=i%10;     //提取个位
    		for(a=0;a<50;a++)  //调整a的大小可改变计数的显示速度
    		{
    			P0=DB[lowbit];
    			P2=0x07;   //个位的位选
    			delay10ms(1);
    			P2=0xff;
    			P0=DB[upbit];
    			P2=0x06;   //十位的位选
    			delay10ms(1);
    			P2=0xff;
    		}
    	}
    }
}

//10ms延时子程序
void delay10ms(unsigned char time)
{
	unsigned char a,b,c;
    for(a=0;a<=time;a++)
    for(b=0;b<=10;b++)
    for(c=0;c<=120;c++);
}

⌨️ 快捷键说明

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