扫描显示.c

来自「这是s52的扫描显示程序」· C语言 代码 · 共 57 行

C
57
字号
#include<reg52.h>
void delay(unsigned int x)       //延时子程序
{
  while(x--);         
}

int jianpan()                     //键盘子程序
{int x;
 P2=0xff;
 x=P2;
 return(x);
 }


int yima(int x)                     //译码子程序
{
int y;
switch(x)
  {case 0x01:y=0xf9;break;
   case 0x02:y=0xa4;break;
   case 0x03:y=0xb0;break; 
   case 0x04:y=0x99;break;
   case 0x05:y=0x92;break;
   case 0x06:y=0x82;break;
   case 0x07:y=0xd8;break;
   case 0x08:y=0x00;break;
   case 0x09:y=0x90;break;
   case 0x00:y=0xc0;break;
   default:break;
   }
return(y);
}


main() //主程序
{
int x;
int s=5000;//初始显示5000
while(1)
  {

   P0=yima(s/1000);P2=0xef;
	delay(500);
   P0=yima((s%1000)/100);P2=0xdf;
	delay(500);
   P0=yima(((s%1000)%100)/10);P2=0xbf;
	delay(500);
   P0=yima(((s%1000)%100)%10);P2=0x7f;
	delay(500);

   x=jianpan();//调用键盘子程序
   if(x==0xfe){s++;}
	if(x==0xfd){s--;}
	
	}
}

⌨️ 快捷键说明

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