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

📄 main.c

📁 34个单片机的设计资料
💻 C
字号:
#include<reg51.h>
#include<intrins.h>
#define P P1
#define p P0
#define uchar unsigned char
#define uint unsigned int
/****************************/
void delay(int ms)                                                         
{                                                                          
   int i;                                                                  
   while(ms--)                                                             
   {                                                                       
     for(i = 0; i< 250; i++)                                               
     {                                                                     
      _nop_();                                                             
      _nop_();                                                             
      _nop_();                                                             
      _nop_();                                                             
     }                                                                     
   }                                                                       
}       
/***********************/
uchar keyscan(void)
{
	uchar scancode,tmpcode;
	P = 0xf0;
	if((P&0xf0)!=0xf0)
	{
	delay(1);
	if((P&0xf0)!=0xf0)
		{
	    scancode = 0xfe;
		while((scancode&0x10)!=0)
			{
			P=scancode;
			if((P&0xf0)!=0xf0)
				{
			    tmpcode =(P&0xf0)|0x0f;
				return((~scancode)+(~tmpcode));
				}
			else scancode = (scancode<<1)|0x01;
		    }
		}
	}
	return(0);
}
/************************************/
uchar getcode(uchar i)
{
//uchar p;
switch(i)
	{
    case 0:p=0x3f;break;
	case 1:p=0x06;break;
	case 2:p=0x5b;break;
	case 3:p=0x4f;break;
	case 4:p=0x66;break;
	case 5:p=0x6d;break;
	case 6:p=0x7d;break;
	case 7:p=0x07;break;
	case 8:p=0x7f;break;
	case 9:p=0x67;break;
	case 10:p=0x77;break;
	case 11:p=0x7c;break;
	case 12:p=0x39;break;
	case 13:p=0x5e;break;
	case 14:p=0x79;break;
	case 15:p=0x71;break;
	default:break;
	}
	return(p);
}
/********************************/
void main(void)
{
 uchar key;
 key=keyscan();
 switch(key)
	{
    case 0x11:getcode(0);break;
    case 0x21:getcode(1);break; 
    case 0x41:getcode(2);break;
    case 0x81:getcode(3);break;
    case 0x12:getcode(4);break;
    case 0x22:getcode(5);break;
    case 0x42:getcode(6);break;
    case 0x82:getcode(7);break;
    case 0x14:getcode(8);break;
    case 0x24:getcode(9);break;
	case 0x44:getcode(10);break;
	case 0x84:getcode(11);break;
	case 0x18:getcode(12);break;
	case 0x28:getcode(13);break;
	case 0x48:getcode(14);break;
	case 0x88:getcode(15);break;
		default:break;
	}
}

⌨️ 快捷键说明

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