📄 text1.c
字号:
#include <reg51.h>
#include<stdio.h>
Uart_Init();
int nKeyNumber;
sbit P10=0x90;
sbit P11=0x91;
sbit P12=0x92;
sbit P13=0x93;
sbit P14=0x94;
sbit P15=0x95;
sbit P16=0x96;
sbit P17=0x97;
main()
{ nKeyNumber=0xFF;
P10=0;
P11=0;
P12=0;
P13=0;
EX0=1;
EA=1;
Uart_Init();
while(1)
{ EX0=1;
if(nKeyNumber==0xFF) ;
//printf("No key pressed\n");
else
{
printf("key %d Pressed\n",nKeyNumber);
nKeyNumber=0xFF;
}
}
}
Uart_Init()
{SCON = 0x52; /* 设置串行口控制寄存器SCON*/
TMOD = 0x20; /* 12M时钟时波特率为2400 */
TCON = 0x69; /* TCON */
TH1 = 0xf3; /* TH1 */
}
void int0() interrupt 0 using 0
{
int i,j;
int Pin1;
EX0=0; /* 关中断*/
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
P1=0xFF&(~(0x01<<(3-i)));
Pin1=P1;
if(((Pin1>>(4+j))&0x01)==0)
{nKeyNumber=i+j*4;
return;
}
}
EX0=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -