89C51單片機(jī)編程遇到點(diǎn)困難
實(shí)現(xiàn)功能:通過單片機(jī)I2C總線對另一芯片進(jìn)行讀寫。 使用器件:C8051F120 APDS-9801 以及外圍電路 遇到問題:單片機(jī)I2C總線我已經(jīng)調(diào)通,并且能夠?qū)PDS-9801芯片進(jìn)行讀寫操作,現(xiàn)在的問題是,我必須反復(fù)讀寫芯片,而我每寫一次,都必須進(jìn)入中斷,可我進(jìn)入中斷服務(wù)程序后,再出中斷后程序光標(biāo)就不見了,然后查看發(fā)現(xiàn)程序在一不知名死循環(huán)里(該死循環(huán)不屬于我的程序代碼),各位大俠幫幫忙,找了好久也沒找出原因,如下是部分代碼: ========== 初始化程序 ========== 中斷服務(wù)程序 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() { 初始化;