сделал устройство, которое считывает температуру с датчика ds18b20 и выводит на индикатор, управляет нагревателем
работает нормально, но при обновлении температуры индикатор помаргивает.
контроллер attiny2313
Config Portb = Output , Portd = Output A Alias Portb.5 : B Alias Portb.7 : C Alias Portb.1 : D Alias Portb.3 : E Alias Portb.4 : F Alias Portb.6 : G Alias Portb.0 : Dp Alias Portb.2 Dig1 Alias Portd.5 : Dig2 Alias Portd.1 : Dig3 Alias Portd.0 : Dig4 Alias Portd.4 Dim I As Byte , X As Byte , Cifri(4) As Byte , Perenoschikobsh_provodov As Byte , Perenoschiksegmentov As Byte Config Timer0 = Timer , Prescale = 64 : On Timer0 Pulse : Enable Timer0 ' прерывания для обновления индикатора Config Timer1 = Timer , Prescale = 256 : On Timer1 Temp : Enable Timer1 ' прерывания для обновления температуры дальше у меня программа управления нагревателем вот подпрограммы прерываний индикатора: (нашел её где-то на просторах интернета) Pulse: Perenoschikobsh_provodov = 255 Gosub Perenos Incr X : If X > 3 Then X = 0 Perenoschiksegmentov = Lookup(cifri(x + 1) , Dta) Reset Perenoschikobsh_provodov.x Gosub Perenos Return Perenos: Dig1 = Perenoschikobsh_provodov.3 Dig2 = Perenoschikobsh_provodov.2 Dig3 = Perenoschikobsh_provodov.1 Dig4 = Perenoschikobsh_provodov.0 A = Perenoschiksegmentov.5 B = Perenoschiksegmentov.7 C = Perenoschiksegmentov.3 D = Perenoschiksegmentov.1 E = Perenoschiksegmentov.0 F = Perenoschiksegmentov.6 G = Perenoschiksegmentov.4 Return Dta: Data &HEF , &H8C , &HB7 , &HBE , &HDC , &H7E , &H7F , &HAC , &HFF , &HFE , &H00 , &H00 , &H10
как, если это возможно, устранить мерцание индикатора?
Смысл её как раз в том, что 0 и 1 отличаются по времени. Что-бы к примеру послать команду в датчик нужно время и при этом контроллер не должен ни на что не отвлекаться. Иначе команда исказиться. Вот когда срабатывает прерывание по таймеру1, динамическая индикация останавливается.