程序如下: void main(){ unsigned char a,b,c,d; d=0; ch451_init(); //调用初始化 ch451_write(0x0403); ch451_write(0x0580); //测试送入命令 ch451_write(0x0600); ch451_write(CH451_DIG0|0X00); ch451_write(CH451_DIG1|0X00); EA=1; EX1=1; ch451_key=0xff; while(1){ while(ch451_key==0xff); //等待中断 a=ch451_key; d=a; ch451_key=0xff; c=ch451_read(); while(c==d) //测试按键是否释放 { ch451_write(CH451_DIG0|0x02); delay(2); c=ch451_read(); } ch451_write(CH451_DIG0|b); } } 按键前,DIG0的电平是4.5V左右,SEG0的电平是1.4V左右,按键后都成了1.4V了哦。和手册上说的按键后都是高电平不一样。 还有DOUT接到INT1上,电平一直都为低。程序设置断点后一直在 while(ch451_key==0xff); //等待中断 停留。 请各位大师帮忙。否则要挨骂了哦。谢谢!