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

📄 led.c

📁 初学者首选各种实验原代码
💻 C
字号:
/***************************************************************
功能:实现数码管的显示及蜂鸣器的控制
作者:SG
时间:2004-03-15
版本:V1.0
***************************************************************/
#include "reg52.h"
sbit led1 	= 0x90;						//对应CPU管脚P1.0
sbit led2 	= 0x91;                     //对应CPU管脚P1.1
sbit led3 	= 0x92;                     //对应CPU管脚P1.2
sbit led4 	= 0x93;                     //对应CPU管脚P1.3

sbit _Speak = 0xb2;                     //对应CPU管脚P3.2

/*------------------------------------------------
功能:对应0--F显示码.
-------------------------------------------------*/
unsigned char code Led_Show[]={0x50,0xf5,0x68,0x4a,0x47,0xc2,0xc0,0x5b,0x40,0x42,0x41,0xc4,0xf0,0x4c,0xe0,0xe1,0xff};


/*-------------------------------------------------
功能100uS延时子程序
-------------------------------------------------*/
void Delay_xuS(unsigned int x)
{
    unsigned int i,j;
    for( i =0;i < x;i++ )
    {
        for( j =0;j<50;j++ );
    }
}

/*--------------------------------------------------
功能:发音子程序每调用一次响一下
---------------------------------------------------*/
void Song()
{
	unsigned char i;
	for( i = 0;i < 20;i++)   //i可以调节发音的响度
	{
		_Speak = 0;
		Delay_xuS(1);
		_Speak = 1;
		Delay_xuS(1);
	}
}

/*-------------------------------------------------
功能:1MS延时子程序
-------------------------------------------------*/
void Delay_xMs(unsigned int x)
{
    unsigned int i,j;
    for( i =0;i < x;i++ )
    {
        for( j =0;j<500;j++ );
    }
}

/*-------------------------------------------------
功能:数码管显示子程序
-------------------------------------------------*/
void LED_SHOW1(unsigned char  *temp )
{
    led1=0; led2=1; led3=1; led4=1;
    P0 = Led_Show[temp[0]];
    Delay_xuS(5);
    led1=1; led2=0; led3=1; led4=1;
    P0 = Led_Show[temp[1]];
 	Delay_xuS(5);
    led1=1; led2=1; led3=0; led4=1;
    P0 = Led_Show[temp[2]];
    Delay_xuS(5);
    led1=1; led2=1; led3=1; led4=0;
    P0 = Led_Show[temp[3]];	
    Delay_xuS(5);
}

/*-------------------------------------------------
主程序
功能:在数码管上依次显示数字0--F,并伴有蜂鸣声
-------------------------------------------------*/
void main()
{
	unsigned char temp[4]={2,0,0,4};
   	unsigned int i;
   	while(1)
   	{
   		LED_SHOW1(temp);
   		if(i++ > 300 )
   		{
   			if (temp[3]++ > 9)
				temp[3]=4;
   			i = 0;
			Song();
			Song();
   		}
   	}
}

⌨️ 快捷键说明

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