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

📄 key.c

📁 keil 编写的89c51几个程序函数,用于键盘扫描,蜂鸣器,计时等功能,简单易用,keil,伟福编译通过
💻 C
字号:
/*MCU:AT89S52*/
/*Designed by:Haoyf*/

#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char

int key;
int del;
void Key_Scan(void);

/************主程序*************/
void main(void)
{ 
void Key_Scan(void);
void delay(int);
while(1)
{
   Key_Scan(); 
   delay(2000);
}
}
/********矩键查寻键值4*4程序******/
void Key_Scan(void)
{
uchar readkey;   
uchar x_temp,y_temp;
P1=0x0f;
x_temp=P1&0x0f;
if(x_temp==0x0f) goto keyout;
P1=0xf0;
y_temp=P1&0xf0;
readkey=x_temp|y_temp;
readkey=~readkey;

switch(readkey)
    {
   case 0x11:key=0;P2=key; break;
case 0x21:key=1;P2=key; break;
case 0x41:key=2;P2=key; break;
case 0x81:key=3;P2=key; break;
case 0x12:key=4;P2=key; break;
case 0x22:key=5;P2=key; break;
case 0x42:key=6;P2=key; break;
case 0x82:key=7;P2=key; break;
case 0x14:key=8;P2=key; break;
case 0x24:key=9;P2=key; break;
case 0x44:key=10;P2=key;break;
case 0x84:key=11;P2=key;break;
case 0x18:key=12;P2=key;break;
case 0x28:key=13;P2=key;break;
case 0x48:key=14;P2=key;break;
case 0x88:key=15;P2=key;break;
default: key=16;P2=key;break;
    }

keyout:_nop_();
}
/************延时程序*************/
void delay(del)
{
for(del;del>0;del--); 
}

⌨️ 快捷键说明

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