Если кто использовал ADuC831 пробовали-ли вы проверять работу раймеров на симуляторе? У меня почему-то они отказываются работать.
КОД:
main.c
int main(void)
{
TCON_bit.TR1 = 1; // Запуск T1
TCON_bit.TR0 = 1; // Запуск T1
SCON_bit.REN = 1; // Разрешение приёма UART
// IE_bit.EA = 1; // Глобальное разрешение прерываний
P2 = 0xFE; // 485 - ПРИЁМ
while(1)
{
if(TCON_bit.TF1 == 1)
{
TCON_bit.TF1 = 0;
P3 = P3 ^ 0x80;
}
}
}
low_level_init.c
.........
PCON_bit.PCON7 = 1;
//Инициализация T1
TMOD_bit.M11 = 1; // Режим 2. 8-битный автоперезагружаемый таимер
TH1 = TL1 = 0xFF; //
// Инициализация UART
SCON_bit.SM1 = 1; // Режим 1. 8-битный приёмопередатчик
// Инициализация прерываний
IE_bit.ES; // Разрешение прерываний UART
// Инициализация портов В/В
P3 = 0x7F; // Светодиод - ВЫКЛ
............
Таймер - не считает! Флаг TF1 - не устанавливается.
Проверял программу в железе - не работает таймер.
ПРОШУ СОВЕТА