/*------------------------------------------------
写入DA转换数值
输入参数:dat 表示需要转换的DA数值,范围是0-255
------------------------------------------------*/
void WriteDAC(uchar DAT)
{
iic_start(); //启动总线,(序号160)
iic_SendByte(PCF8591_WRITE); //发送器件地址 (序号161)
if(Read_ACK())
ACKFiag=1; //NOACK
else
ACKFiag=0; //ACK
iic_SendByte(0x40); //发送器件子地址
if(Read_ACK())
ACKFiag=1; //NOACK
else
ACKFiag=0; //ACK
iic_SendByte(DAT); //发送数据
if(Read_ACK())
ACKFiag=1; //NOACK
else
ACKFiag=0; //ACK
iic_stop(); //结束总线
}
在KEIL中,编译顺利通过,打开软件仿真后发现有两条指令不能参入程序运行中,如图中
序号160和161,序号左侧未变成灰色,在运行时也证实该两条指令未能参入程序运行中。
问题出在哪里?请指导!