📄 hehe.c
字号:
#include <AT89X52.H>
/*-------------------------------------------------------
功能:延时函数
-------------------------------------------------------*/
void Delay1ms(unsigned int count)
{
unsigned int i,j;
for(i=0;i<count;i++)
for(j=0;j<120;j++);
}
/*-------------------------------------------------------
功能:串口初始化,波特率9600 方式1 8 UART
-------------------------------------------------------*/
void Init_Com(void)
{
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
TR1 = 1;
}
/*-------------------------------------------------------
功能:判断按键号函数
-------------------------------------------------------*/
unsigned char key(void)
{
unsigned char temp,key;
P2|=0x0f;
P2_6=0;
P2_7=1;
temp=P2;
if ((temp&0x30)!=0x30)
{Delay1ms(70);
if ((temp&0x30)!=0x30)
{
temp=temp&0x30;
if (temp==0x20) key=2;
else if (temp==0x10) key=4;
else key=0;
}
}
Delay1ms(50);
P2|=0x0f;
P2_7=0;
P2_6=1;
temp=P2;
if ((temp&0x30)!=0x30)
{Delay1ms(70);
if ((temp&0x30)!=0x30)
{
temp=temp&0x30;
if (temp==0x20) key=1;
else if (temp==0x10) key=3;
else key=0;
}
}
return key;
}
main()
{
unsigned int keytemp;
Init_Com();
while(1)
{ SBUF = 0x45;
Delay1ms(2);
/*keytemp=key();
if(keytemp) //没按下键值为0。按下为相应的键值
{
SBUF = keytemp;
keytemp=0;
}*/
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -