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

📄 44键盘c51单片机程序.txt

📁 4*4键盘C51单片机程序.本程序已经调试通过
💻 TXT
字号:
4*4键盘C51单片机程序

本程序已经调试通过,4*4键盘接P1口数据从P2的8个发光二极管来表示,也可以接数码管;只是为了能够读取键值而没有接,如果接数码管可以加一个查表显示的模块在switch语句中调用显示程序; 

/*MCU:AT89S52*/ 

#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--);  
} 



参考链接:http://www.picavr.com/news/2008-08/8075.htm

⌨️ 快捷键说明

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