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

📄 led.c

📁 本程序开发环境: KeilC51 功能: 51单片机驱动四个数码管,每次投币数码管计数加一,不工作时自动进入省电休眠状态,经过调试,运行正常
💻 C
字号:
#include <reg51.h>

#define uchar unsigned char	
#define uint unsigned int
#define led P1
sfr P1M0=0x91;
sfr P1M1=0x92;

sbit cs1=P3^7;
sbit cs2=P1^0;
sbit led1=P3^4;
sbit led2=P3^5;

unsigned char code leddata[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};//"0"--"9"

void delay(unsigned int i){while(--i);}

int0()  interrupt 0
{
	uint j=5000;
	uchar x=3;//闪烁次数
//	uchar i=0;
	static uchar g=0;
	static uchar s=0;
	EA=0;
	
	if(g==9)g=0,s++;
	else g++;
	while(x--)
	{
		while(j--)
		{
			led=leddata[g];cs1=0;cs2=1;delay(10);
			led=leddata[s];cs1=1;cs2=0;delay(10);
			led1=led2=0;
		}
		j=5000;
		led=0xff;cs1=1;cs2=1;led1=led2=1;delay(50000);delay(50000);delay(50000);
   	}
	if((g==9)&&(s==9))s=g=0;
	
	IE0=0;
	EA=1;	
}

void CSH(void)
{
	EX0=1;IT0=1; EA=1;           //下降沿出发外中断0
	P1M0=0x00;
	P1M1=0xfe;
}

void main()
{																

	CSH();

	while(1)PCON=PCON|0x02;
}

⌨️ 快捷键说明

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