В Протэусе сделал набросок схемки пока очень урезаной для отточки програмки.
написал очень маленкую прогу и она глючит в симуляции. Мне просто интересно это глюк Протэуса или моей проги.
вот листинг проги
CODE
void main ()
{
char up ;
int vrem; //CUR_T current temperature
int CUR_T,T_OFF,DELTA; //T_ON - Temperature ON DELTA - Gisteresis
init_portA();
init_portB();
startADC();
up=1;
T_OFF=0x266;
DELTA=0xC1;
vrem=T_OFF-DELTA;
ON();
while ((PINB&0b0001)!=0)
{
CUR_T=readADC();
// ---------- отключения нагревателя -------
if(up==1&&CUR_T>T_OFF)
{
OFF();
up=0;
}
//---------------------------------------------------------------------------
// ---------- Включение -------
// vrem=T_OFF-DELTA; если эту строку оставить в теле цыкла то програма работает
некоректно, если вынести за пределы цыкло то работает нормально.
if(!up&&CUR_T<vrem)
{
ON();
up=1;
}
//---------------------------------------------------------------------------
}
PORTB = 0xFF;
}
{
char up ;
int vrem; //CUR_T current temperature
int CUR_T,T_OFF,DELTA; //T_ON - Temperature ON DELTA - Gisteresis
init_portA();
init_portB();
startADC();
up=1;
T_OFF=0x266;
DELTA=0xC1;
vrem=T_OFF-DELTA;
ON();
while ((PINB&0b0001)!=0)
{
CUR_T=readADC();
// ---------- отключения нагревателя -------
if(up==1&&CUR_T>T_OFF)
{
OFF();
up=0;
}
//---------------------------------------------------------------------------
// ---------- Включение -------
// vrem=T_OFF-DELTA; если эту строку оставить в теле цыкла то програма работает
некоректно, если вынести за пределы цыкло то работает нормально.
if(!up&&CUR_T<vrem)
{
ON();
up=1;
}
//---------------------------------------------------------------------------
}
PORTB = 0xFF;
}
Вот файлыНажмите для просмотра прикрепленного файла
От модератора.
Пользуйтесь, пожалуйста, штатными тэгами code и codebox для оформления текста исходных кодов. Сообщение отредактировано.