Заранее, благодарен, Всем кто откликнется.
Для управления одним прибором, надо управлять логическими выходами Portb.4 и Portb.3, управление от кнопки по Pinb.1 выход работает следующим образом, при включении выдает 0 и 0; 0 и 1; 1 и 0; 1 и 1 далее отключение выхода Portb.0. Задача была отключать Portb.0 через 5 минут роботы, для сохранения энергии аккумулятора, идеально чтобы отсчет времени постоянно начинался после нажатия кнопки.
Не ругайте строго, 20 лет назад учил программирование, подзабыл без практики.
$regfile = "attiny13.dat" $crystal = 9600000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Portb.4 = Output 'âûõîä ëîãèêè Config Portb.3 = Output 'âûõîä ëîãèêè Config Pinb.1 = Input 'âõîä îò êíîïêè Config Portb.0 = Output 'âûõîä Config Timer0 = Timer , Prescale = 1024 , Compare A = Set Dim Wtime As Byte Dim Endtime As Word On Oc0a Compa Endtime = 1200 Compare0a = Endtime Enable Interrupts Enable Oc0a Do Portb.1 = 1 Portb.0 = 1 Do Portb.3 = 0 Portb.4 = 0 Waitms 50 Loop Until Pinb.1 = 0 Do Waitms 50 Loop Until Pinb.1 = 1 Do Portb.3 = 1 Portb.4 = 0 Loop Until Pinb.1 = 0 Do Loop Until Pinb.1 = 1 Do Portb.4 = 1 Portb.3 = 0 Loop Until Pinb.1 = 0 Do Waitms 50 Loop Until Pinb.1 = 1 Do Portb.3 = 1 Portb.4 = 1 Loop Until Pinb.1 = 0 Do Waitms 50 Loop Until Pinb.1 = 1 Do Portb.0 = 0 Loop Until Pinb.1 = 0 Do Waitms 50 Loop Until Pinb.1 = 1 Loop Compa: Portb.0 = 0 Stop Return End
Отредактировано serg.sv (2018-04-17 17:45:32)



