basicio.c

来自「独立式按键扫描并在一个LED数码管上显示相应的编号。」· C语言 代码 · 共 101 行

C
101
字号
#include <reg51.h>				//头文件
#include <intrins.h>

void Delay();					//子函数声明

sbit P2_0=P2^0;					//位定义
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit P2_4=P2^4;
sbit P2_5=P2^5;
sbit P2_6=P2^6;
sbit P2_7=P2^7;

void main()		   				//主函数
{
	P1=0x00;					//LED全亮
	Delay();					//延时
	P1=0xFF;					//LED全灭
	Delay();					//延时
	P1=0x00;					//LED全亮
	Delay();					//延时
	P1=0xFF;					//LED全灭
	Delay();
	while(1)					//循环
	{
		if(P2==0xFE)			//S0按下
		{
			P1=0xC0;			//显示字符“0”
		}
		else if(P2==0xFD)		//S1按下
		{
			P1=0xF9;			//显示字符“1”
		}
		else if(P2==0xFB)	   	//S2按下
		{
			P1=0xA4;			//显示字符“2”
		}
		else if(P2==0xF7)	   	//S3按下
		{
			P1=0xB0;		   	//显示字符“3”
		}
		else if(P2==0xEF)		//S4按下
		{
			P1=0x99;		   	//显示字符“4”
		}
		else if(P2==0xDF)		//S5按下
		{
			P1=0x92;			//显示字符“5”
		}
		else if(P2==0xBF)		//S6按下
		{
			P1=0x82;			//显示字符“6”
		}
		else if(P2==0x7F)		//S7按下
		{
			P1=0xF8;		   	//显示字符“7”
		}
		else if(P2==0xFC)		//S2、S1同时按下
		{
			P1=0x80;			//显示字符“8”
		}
		else if(P2==0xFA)	   	//S2、S1同时按下
		{
			P1=0x90;			//显示字符“9”
		}
		else if(P2==0xF6)	   	//S3、S1同时按下
		{
			P1=0x88;		   	//显示字符“A”
		}
		else if(P2==0xEE)		//S4、S1同时按下
		{
			P1=0x83;		   	//显示字符“B”
		}
		else if(P2==0xDE)		//S5、S1同时按下
		{
			P1=0xC6;			//显示字符“C”
		}
		else if(P2==0xBE)		//S6、S1同时按下
		{
			P1=0xA1;			//显示字符“D”
		}
		else if(P2==0x7E)		//S7、S1同时按下
		{
			P1=0x86;		   	//显示字符“E”
		}
		else
		{
			P1=0xFF;		   //LED不显示
		}
	}
}

void Delay() 					//延时子函数
{
 	int i;
	for(i=0;i<1000;i++)			//循环
	{
		_nop_(); 				//nop函数延时
	}
}

⌨️ 快捷键说明

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