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() { 初始化;