📄 ex4-5.c
字号:
#include <reg51.h>
#include <stdio.h>
#define byte unsigned char
//中断服务程序
void keyinterrupt() interrupt 2
{
int t;
byte keycode,scancode,flag=0xff;
t=5000;
while(t--);
if(INT1==1)
return;
EX1=0;
scancode=0xef;
while(scancode!=0xff)
{
P1=scancode;
keycode=P1;
if((keycode&0x0f)!=0x0f)
break;
scancode=(keycode<<1)|0x0f;
}
keycode=~keycode;
P2=keycode; //将扫描码输出,数码管采用具有译码功能的数码管
P1=0X0F;
while(1)
{
if(INT1==1)
{
flag=~flag;
if(flag==0)
break;
}
t=10000;
while(t--);
}
EX1=1;
return;
}
void main(void)
{
IE=0;
EX1=1;
EA=1; //中断open
P2=0XFF;
P1=0X0F;
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -