Locate 1 , 1______непойму что это значит-устанавливаем курсор на 1,1(y,x на винстар 0802)
Lcd K_______________________ВЫЗЫВАЕМ ДОЛГУЮ ПОДПРОГРАММУ Lcd ? -и выводим значение переменной
то что она долгая-согласен,можно перенести в основной цикл,я поначалу и ставил его в основной,вот флаг и остался
сейчас приделаю чтоб каждые 4 часа вкл реле на 5 сек
вот0,только пересчитайте делители под свою частоту или поставьте кварц на 8 мгц и укажите тип мк
Спойлер
$regfile = "attiny2313a.dat" 'настройки$crystal = 8000000
$hwstack = 40
$swstack = 16
$framesize = 32
'$sim
Config Lcdpin = Pin , Rs = Portb.7 , E = Portb.6 , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2
Config Portd.0 = Output ' реле
Config Portd.1 = Output ' светодиод
Config Timer1 = Timer , Prescale = 1024
Const Timer1pre = 57724 'такт.частота 1024/8000000=0,000128 сек,1 сек/0,000128=7812 ,65536-7812=57724 такта
Const Releon = 14395 'вкл реле через 14395 сек или 3 часа 59 мин 55 сек
Const Releoff = 14400 'выключение реле
Dim K As Integer 'время в сек
Dim F As Bit 'флаг прерывания
Stop Timer1
Timer1 = Timer1pre
On Timer1 Pulse:
Start Timer1
Reset Portd.0
Reset Portd.1
K = 0
F = 0
Cls
Cursor Off
Enable Interrupts
Enable Timer1
Do
If F = 1 Then
Toggle Portd.1
F = 0
Locate 1 , 1
Lcd K
If K = Releon Then Set Portd.0
If K = Releoff Then
K = 0
Reset Portd.0
End If
End If
Loop
End
Pulse:
Stop Timer1
Timer1 = Timer1pre
Start Timer1
Incr K
F = 1
Return


