#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit k1=P2^4;
void delay(uint x){
uint i,j; for(i=x;i>0;i--) { for(j=114;j>0;j--); }}
main(){ IT1=1; EX1=1; EA=1; while(1) {
P2=0xf0; if(k1==0) { delay(100); if(k1==0) {
P2=0xf0; while(k1==0);
} } }
}
void change() interrupt0 {
P2=P1&0xff; }
什么地方出错了?
功能是网上的四键抢答器的功能
P2不是头文件已经设置过的吗?怎么还出错的?我将中断函数放在MAIN程序前后都错误
第一个错误修改:在interrupt 和0之间给一空格。之后再重新编译,看还有什么错误提示再说。追问
改了之后没错,不过我将k1=P1^7还有中断里面的函数改成P2=~(P0&0xff),实现不了我的功能啊,就是按下那四个按键,led不亮。求解
温馨提示:答案为网友推荐,仅供参考