📄 独立式按键.c
字号:
#include<reg51.h>
#include<absacc.h>
#define uchar unsigned char
#define TRUE 1
#define FALSE 0
extern void delay_10ms(void);
bit key_flag;
uchar key_value;
void main(void)
{
IE=0X81; /*中断总控制位EA,外中断0开中断*/
IP=0x01; /*外中断0为高中断优先级*/
key_flag=0; /*设置中断标志为0*/
do{
if(key_flag){
switch(key_value){
case 1:
P2=0xaa;
break;
case 2:
P2=0x00;
break;
case 4:
P2=0x55;
break;
default:
break;
}
key_flag=0;
}
} while(TRUE);
}
/******************外中断0处理程序***************/
void int0 () interrupt 0 {
uchar reread_key;
IE=0x80; /*屏蔽int0中断*/
key_flag=0;
P1=0xff;
key_value=P1&0x07;
delay_10ms();
reread_key=P1&0x07;
if (key_value==reread_key){
key_flag=1;
}
IE=0x81; /*打开INT0中断*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -