Declare Create_Coff = On Declare All_Digital = On Device 12F629 Declare Reminders = OFF Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, MCLRE_OFF Declare Reminders = On Declare Xtal 4 '*********************************************************************** ;---------------------Установки Портов---------------------------------- TRISIO = %010110 ' Установки регистра TRISIO где GPIO.2 на вход GPIO = %000000 ' Начальные установки портов OPTION_REG = %10000000 ' Подтягивающие резисторы выключены '*********************************************************************** ;---------------------Переименнуем Порты-------------------------------- Symbol Led = GPIO.0 ' Реле Symbol But1 = GPIO.1 ' Кнопка 1 "DO" Symbol But2 = GPIO.2 ' Кнопка 2 "RES" Symbol But3 = GPIO.4 ' Геркон '*********************************************************************** ;---------------------Переменные---------------------------------------- Dim X As Byte ' Переменная для инкремента '*********************************************************************** ;---------------------Установки Значения-------------------------------- X = 0 : Led = 0 '*********************************************************************** ;--------------------Основная Программа--------------------------------- Main: If But1 = 1 Then ' Кнопка 1 "DO" GoTo Act ElseIf But1 = 0 Then GoSub Delay EndIf If But2 = 1 Then ' Кнопка 2 "RES" GoTo Act2 ElseIf But2 = 0 Then GoSub Delay EndIf GoTo Main '----------------------------------------------------------------------- '*********************************************************************** '--------------------------Программа № 1-------------------------------- Act: Led = 1 ' Реле ON If But3 = 1 Then ' Геркон Inc X DelayMS 500 If X = 5 Then Led = 0 ' Реле OFF X = 0 GoTo Main EndIf EndIf GoTo Act '----------------------------------------------------------------------- '*********************************************************************** '--------------------------Программа № 2-------------------------------- Act2: Led = 1 ' Реле ON DelayMS 3000 Led = 0 ' Реле OFF GoTo Main '----------------------------------------------------------------------- '********************** Подпрограмма пустышка ************************** '----------------------------------------------------------------------- Delay: Led = 0 ' Реле OFF Return '*********************************************************************** '-----------------------------------------------------------------------