程序如下: 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); //等待中斷 停留。 請各位大師幫忙。否則要挨罵了哦。謝謝!