89C51单片机编程遇到点困难
实现功能:通过单片机I2C总线对另一芯片进行读写。 使用器件:C8051F120 APDS-9801 以及外围电路 遇到问题:单片机I2C总线我已经调通,并且能够对APDS-9801芯片进行读写操作,现在的问题是,我必须反复读写芯片,而我每写一次,都必须进入中断,可我进入中断服务程序后,再出中断后程序光标就不见了,然后查看发现程序在一不知名死循环里(该死循环不属于我的程序代码),各位大侠帮帮忙,找了好久也没找出原因,如下是部分代码: ========== 初始化程序 ========== 中断服务程序 void SMB_WR() interrupt 7 { switch(SMB0STA) case 0x08: SMB0DAT=0xAA; STA=0; SI=0; break; case 0x18: SMB0DAT=0x80; SI=0; break; .... case 0x28: SMB0DAT=0x01; SI=0; STO=1; EA=0; break; 问题就出在这,出中断后,程序不知道到哪去了。 } void main() { 初始化;