سلام دوستان.من یه ساعت -تایمر - دزدگیر واسه ماشین درست کردم.واسه تحریک دزدگیرش از 4 تا اینتراپت که دوتاش پین چنجه استفاده کردم که وقتی در ها باز بشه اینتراپت به لبه پایین رونده حساسه و به کلید در وصل شده و وقتی اینتراپت تحریک بشه میکرو به زیربرنامه اینتراپت مربوطه باید بره و آژیر و چشمک زن را فعال کنه.
حالا مدار تا ساعات اولیه درست کار میکنه ولی عجیب اینجاست که پس از گذشت چند ساعت که دزدگیر در حالت آماده باش هست وقتی اینتراپت تحریک بشه دزدگیر عمل نمیکنه ولی مثلا اگه ده دقیقه قبل دزدگیر در حالت آماده قرار گرفته باشه درست کار میکنه! :surprised:
لطفا اگه کسی میتونه کمک کنه. :sad: :cry:
framesize و stackpointer را هم همه جور عددی دادم ولی نشد.برنامه با بسکام هست و اینم متن برنامه:
حالا مدار تا ساعات اولیه درست کار میکنه ولی عجیب اینجاست که پس از گذشت چند ساعت که دزدگیر در حالت آماده باش هست وقتی اینتراپت تحریک بشه دزدگیر عمل نمیکنه ولی مثلا اگه ده دقیقه قبل دزدگیر در حالت آماده قرار گرفته باشه درست کار میکنه! :surprised:
لطفا اگه کسی میتونه کمک کنه. :sad: :cry:
framesize و stackpointer را هم همه جور عددی دادم ولی نشد.برنامه با بسکام هست و اینم متن برنامه:
$regfile = "m88def.dat "
$crystal = 8000000
'$baud = 19200
$hwstack = 100 '64
$swstack = 70 '40
$framesize = 100 '64
Dim Kap As String * 30 , Back As String * 30 , Altera As String * 35 , Tamer0 As Bit , Acc1 As Bit
Dim Dar As String * 30 , S As String * 125 , Dd As String * 10 , Acbit As Bit , Act_bit As Bit , Lak As Bit
Dim A As Byte , B As Word , C As Byte , D As Bit , E As Bit , Mm As Byte , Interupt As Bit , B_ravan As Byte
Dim N As Byte , F As Word , Timer_lamp As Word , 1_hour As Bit , Timer_alarm_off As Byte , Km As Bit
Dim Week As Byte , Rooz As Byte , Maah As Byte , Saal As Word , Kilid As Bit , Tanzim As Bit
Dim K1 As Bit , K2 As Bit , Kabise As Bit , Haft As Byte , K3 As Bit , Kk2 As Bit , Timer_alarm As Byte
Dim Lcd_on As Bit , Aa As Byte , Bb As Byte , B1 As Byte , Lamp_on As Bit , T1 As Integer , M As Byte
Config Portb = &B111111
Config Portc = &B0001110 ', Ddrc = &B111110
Config Portd = &B11000000 ', Ddrd = &B00000
Enable Interrupts
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Pinb.2 , Db5 = Pinb.3 , Db6 = Pinb.4 , Db7 = Pinb.0 , Rs = Pinb.5 , E = Pinb.1
Deflcdchar 0 , 4 , 10 , 32 , 21 , 31 , 32 , 32 , 32 'sh
Deflcdchar 1 , 32 , 4 , 32 , 1 , 31 , 32 , 32 , 32 'n
Deflcdchar 2 , 32 , 32 , 32 , 1 , 31 , 32 , 4 , 32 'b
Deflcdchar 3 , 12 , 20 , 28 , 4 , 7 , 32 , 32 , 32 'h
Deflcdchar 4 , 32 , 4 , 10 , 1 , 31 , 32 , 4 , 32 'j
Deflcdchar 5 , 32 , 32 , 32 , 32 , 31 , 10 , 14 , 32 'm
Deflcdchar 6 , 32 , 32 , 14 , 4 , 31 , 32 , 32 , 32 'ea
Config Clock = Soft , Gosub = Sectic
Set As2
Time$ = "12
00"
Config Timer1 = Timer , Prescale = 8
Enable Timer1
Config Int0 = Falling
Config Int1 = Falling
On Pcint1 Kaput
On Pcint2 Hutch_door
On Int0 Door
On Int1 Sensor
On Ovf1 Faal
'********************************** I/O
'b.0--b.5 lcd ** b.6,b.7 crystal
'PinC.0 pcint1_8 = kaput
Lcd_light Alias Portc.2
Siren_alarm Alias Portc.3
Sw_up Alias Pinc.4
'pin c.4 adc for power window
Sw_dwn Alias Pinc.5
'pin c.5 adc for power window
'C.6 reset
Lamp Alias Portc.1
'Pind.0 pcint2_16 = hutch door
Active Alias Pind.1
Door_switch Alias Pind.2
'Pind.2(int0) = Door switch
Sw_m Alias Pind.3
'Pind.3(INT1) = alterasonic sensor
Deactive Alias Pind.4
Acc Alias Pind.5
Sensor_vcc Alias Portd.6
Flasher Alias Portd.7
'////////////////////////////////////
Rooz = 15 : Maah = 6 : Saal = 1394 : Aa = 0 : M = 0 : B_ravan = 6
Aa = 1
Cursor Off : Display On
Start Timer1
Do
Loop
End 'end program
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ timer1
Faal:
If Acc = 0 Then
Acc1 = 0 : Acbit = 0
'for alarm when is unsafe!
If Km = 1 Then K3 = 0
'******************************* deactive
If Deactive = 0 Then
If Act_bit = 1 Then
Act_bit = 0
E = 0 : F = 0
Kk2 = 0 : K1 = 0 : K2 = 0
Aa = 0 : Bb = 0 : Km = 1
Reset Siren_alarm
Reset Sensor_vcc
Disable Int1 : Disable Int0 : Pcmsk1 = 0 : Pcmsk2 = 0
A = 3 : C = 3 : B = 9
Tamer0 = 1
Set Flasher
End If
End If
'******************************* active
If Active = 0 Then
If Act_bit = 0 Then
Reset Siren_alarm
Cls
' Display Off :
Lcd_on = 0
Set Sensor_vcc
Reset Lcd_light
Tamer0 = 0
Disable Int1 : Disable Int0
K2 = 1 : K3 = 1 : Km = 0
Kk2 = 1
E = 1 : Lamp_on = 0
Dar = " " : Altera = " " : Kap = " "
Back = " " : S = " "
Act_bit = 1
End If
End If
'******************************** ACC ON
Else
K3 = 1 : Acc1 = 1
Lamp_on = 0 : E = 0
Reset Siren_alarm : Set Lcd_light
If Door_switch <> 0 Then Reset Lamp
If Acbit = 0 Then
Aa = 0 : Bb = 0
'Display On
Cls
Lcd_on = 1
S = " Oclock,Calendar,Security system,Designed for PEUGEOT 405 by shahpoori. "
Mm = Len(s)
Acbit = 1 '
End If
End If
'**************************** Cabin Lamp Timer
If Acc1 = 0 Then
If Lamp_on = 1 Then
Incr Timer_lamp
If Timer_lamp >= 220 Then
Lamp_on = 0
If Door_switch <> 0 Then Reset Lamp
End If
Else
If Door_switch <> 0 Then Reset Lamp
Timer_lamp = 0
End If : End If
'************************** when system is deactive or ACC ON
If E = 0 Then
'************************ Goto Menu
If Sw_m = 0 Then Kilid = 1 Else Kilid = 0
'*********************** door flasher
If Door_switch = 0 Then
If K1 = 0 Then
Tamer0 = 1
Set Flasher : Set Lamp
A = 8 : C = 8 : B = 50
Lamp_on = 1 : K1 = 1
End If
Else
If K1 = 1 Then : B = 0 : K1 = 0 : End If
End If
End If
'***********************+++++++++++++++++++++ ++++++++/////////////////*****************************
If K2 = 1 Then
Incr F
If F <= 2 Then Set Siren_alarm Else Reset Siren_alarm
If F <= 20 Then Set Flasher Else Reset Flasher
If F > 40 Then
Eimsk = &B11
Eifr = &B11
Pcifr = &B000 : Pcicr = &B110
Pcmsk1 = &B00000001 : Pcmsk2 = &B00000001
Enable Int1 : Enable Int0
F = 0
K2 = 0
End If
End If
'************************************* tablo ravan & setting
Decr B_ravan
If B_ravan = 0 Then
Mm = Len(s)
Incr Aa : If Aa >= Mm Then Aa = 1
If Kilid = 1 Then
Aa = 0
Bb = 0
Tanzim = 1
Incr M
If M > 6 Then M = 0
Kilid = 0
End If
'******************** setting
If Tanzim = 1 Then
Select Case M
Case Is = 1
If Sw_up = 1 Then Incr _min
If Sw_dwn = 1 Then Decr _min
If _min > 59 Then _min = 0
S = " set min "
Case Is = 2
If Sw_up = 1 Then Incr _hour
If Sw_dwn = 1 Then Decr _hour
If _hour > 23 Then _hour = 0
S = " set hour "
Case Is = 3
If Sw_up = 1 Then Incr Week
If Sw_dwn = 1 Then Decr Week
If Week > 6 Then Week = 0
S = " set week "
Case Is = 4
If Sw_up = 1 Then Incr Rooz
If Sw_dwn = 1 Then Decr Rooz
If Rooz > 31 Then Rooz = 1
S = " set day "
Case Is = 5
If Sw_up = 1 Then Incr Maah
If Sw_dwn = 1 Then Decr Maah
If Maah > 12 Then Maah = 1
S = " set month "
Case Is = 6
If Sw_up = 1 Then Incr Saal
If Sw_dwn = 1 Then Decr Saal
S = " set year "
Case Else
S = " Oclock,Calendar,Security system,Designed for PEUGEOT 405 by shahpoori. "
M = 0
Tanzim = 0
End Select
End If
B_ravan = 6
End If
'*************************** warning! system unsafe!
If K3 = 0 Then
Incr Timer_alarm : Incr Timer_alarm_off
If Timer_alarm >= 200 Then Set Siren_alarm
If Timer_alarm >= 201 Then : Reset Siren_alarm : Timer_alarm = 190 : End If
If Timer_alarm_off >= 250 Then
Timer_alarm_off = 0 : Timer_alarm = 0
Reset Siren_alarm
End If
Else
Timer_alarm = 0 : Timer_alarm_off = 0
End If
'****************************** show date & time
Locate 2 , 1
Lcd Time$
Locate 1 , 1
Lcd Saal ; "/" ; Maah ; "/" ; Rooz ; " "
'**************************************** Show Week
If Week = 0 Then
Locate 1 , 12
Lcd Chr(3) ; Chr(2) ; Chr(1) ; Chr(0) ; " "
End If
If Week > 0 And Week < 6 Then
Locate 1 , 12
Lcd Chr(3) ; Chr(2) ; Chr(1) ; Chr(0) ; Week
End If
If Week = 6 Then
Locate 1 , 12
Lcd Chr(3) ; Chr(6) ; Chr(5) ; Chr(4) ; " "
End If
'************ show demo/operation
Locate 2 , 10
Dd = Mid(s , Aa , 8 )
Lcd Dd
'******************************** interrupt routins
If Kk2 = 1 Then
If Interupt = 1 Then
E = 1
If Lak = 1 Then B = 250 Else B = 1500
Set Lcd_light
Aa = 0 : Bb = 0
'If Lcd_on = 0 Then
' Display On :
' Cls
' Lcd_on = 1
' End If
Set Flasher
Set Siren_alarm
A = 8 : C = 8
S = " " + Kap + Back + Altera + Dar
Mm = Len(s)
Tamer0 = 1
Interupt = 0
End If
End If
'********************** cheshmak
If Tamer0 = 1 Then
If A > 0 Then Decr A
If A = 0 Then
Toggle Flasher
A = C
If B > 0 Then
A = C
Else
Tamer0 = 0
Reset Siren_alarm
Reset Flasher
End If
'?????
If B > 0 Then Decr B
End If
End If
Return
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ end of timer1
'*************************** int1
Sensor:
Interupt = 1
Lak = 1
Altera = " Ultrasonic " + Time$ + " "
'Set Intf1
Return
'************************************** pcint2
Hutch_door:
Interupt = 1
Lak = 0
Back = " Box " + Time$ + " "
'Set Pcif2
Return
'************************************** int0
Door:
Interupt = 1
Lak = 0
Dar = " Doors " + Time$ + " "
'Set Intf0
Return
'*************************************** pcint1
Kaput:
Interupt = 1
Lak = 0
Kap = " Kaput " + Time$ + " "
'Set Pcif1
Return
Sectic:
'************************************** calendar
If M = 0 Then
If Week > 6 Then Week = 0
If Maah < 7 And Rooz > 31 Then : Incr Maah : Rooz = 1 : End If
If Maah = 7 And Rooz = 1 And 1_hour = 0 Then : Decr _hour : 1_hour = 1 : End If
If 7 =< Maah And Maah < 12 And Rooz > 30 Then : Incr Maah : Rooz = 1 : End If
If Maah = 12 Then
T1 = Saal Mod 33
If T1 = 1 Or T1 = 5 Or T1 = 9 Or T1 = 13 Or T1 = 17 Or T1 = 22 Or _
T1 = 26 Or T1 = 30 Then
Kabise = 1
Else
Kabise = 0
End If
If Kabise = 0 Then
If Rooz > 29 Then
Incr Saal : Maah = 1 : 1_hour = 0
Incr _hour : Rooz = 1 : End If
Else
If Rooz > 30 Then
Incr Saal : Maah = 1 : 1_hour = 0
Rooz = 1 : Incr _hour : End If
End If
End If
If _hour = 00 And _min = 00 And _sec = 00 Then : Incr Rooz : Incr Week : End If
End If
Return
$crystal = 8000000
'$baud = 19200
$hwstack = 100 '64
$swstack = 70 '40
$framesize = 100 '64
Dim Kap As String * 30 , Back As String * 30 , Altera As String * 35 , Tamer0 As Bit , Acc1 As Bit
Dim Dar As String * 30 , S As String * 125 , Dd As String * 10 , Acbit As Bit , Act_bit As Bit , Lak As Bit
Dim A As Byte , B As Word , C As Byte , D As Bit , E As Bit , Mm As Byte , Interupt As Bit , B_ravan As Byte
Dim N As Byte , F As Word , Timer_lamp As Word , 1_hour As Bit , Timer_alarm_off As Byte , Km As Bit
Dim Week As Byte , Rooz As Byte , Maah As Byte , Saal As Word , Kilid As Bit , Tanzim As Bit
Dim K1 As Bit , K2 As Bit , Kabise As Bit , Haft As Byte , K3 As Bit , Kk2 As Bit , Timer_alarm As Byte
Dim Lcd_on As Bit , Aa As Byte , Bb As Byte , B1 As Byte , Lamp_on As Bit , T1 As Integer , M As Byte
Config Portb = &B111111
Config Portc = &B0001110 ', Ddrc = &B111110
Config Portd = &B11000000 ', Ddrd = &B00000
Enable Interrupts
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Pinb.2 , Db5 = Pinb.3 , Db6 = Pinb.4 , Db7 = Pinb.0 , Rs = Pinb.5 , E = Pinb.1
Deflcdchar 0 , 4 , 10 , 32 , 21 , 31 , 32 , 32 , 32 'sh
Deflcdchar 1 , 32 , 4 , 32 , 1 , 31 , 32 , 32 , 32 'n
Deflcdchar 2 , 32 , 32 , 32 , 1 , 31 , 32 , 4 , 32 'b
Deflcdchar 3 , 12 , 20 , 28 , 4 , 7 , 32 , 32 , 32 'h
Deflcdchar 4 , 32 , 4 , 10 , 1 , 31 , 32 , 4 , 32 'j
Deflcdchar 5 , 32 , 32 , 32 , 32 , 31 , 10 , 14 , 32 'm
Deflcdchar 6 , 32 , 32 , 14 , 4 , 31 , 32 , 32 , 32 'ea
Config Clock = Soft , Gosub = Sectic
Set As2
Time$ = "12

Config Timer1 = Timer , Prescale = 8
Enable Timer1
Config Int0 = Falling
Config Int1 = Falling
On Pcint1 Kaput
On Pcint2 Hutch_door
On Int0 Door
On Int1 Sensor
On Ovf1 Faal
'********************************** I/O
'b.0--b.5 lcd ** b.6,b.7 crystal
'PinC.0 pcint1_8 = kaput
Lcd_light Alias Portc.2
Siren_alarm Alias Portc.3
Sw_up Alias Pinc.4
'pin c.4 adc for power window
Sw_dwn Alias Pinc.5
'pin c.5 adc for power window
'C.6 reset
Lamp Alias Portc.1
'Pind.0 pcint2_16 = hutch door
Active Alias Pind.1
Door_switch Alias Pind.2
'Pind.2(int0) = Door switch
Sw_m Alias Pind.3
'Pind.3(INT1) = alterasonic sensor
Deactive Alias Pind.4
Acc Alias Pind.5
Sensor_vcc Alias Portd.6
Flasher Alias Portd.7
'////////////////////////////////////
Rooz = 15 : Maah = 6 : Saal = 1394 : Aa = 0 : M = 0 : B_ravan = 6
Aa = 1
Cursor Off : Display On
Start Timer1
Do
Loop
End 'end program
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ timer1
Faal:
If Acc = 0 Then
Acc1 = 0 : Acbit = 0
'for alarm when is unsafe!
If Km = 1 Then K3 = 0
'******************************* deactive
If Deactive = 0 Then
If Act_bit = 1 Then
Act_bit = 0
E = 0 : F = 0
Kk2 = 0 : K1 = 0 : K2 = 0
Aa = 0 : Bb = 0 : Km = 1
Reset Siren_alarm
Reset Sensor_vcc
Disable Int1 : Disable Int0 : Pcmsk1 = 0 : Pcmsk2 = 0
A = 3 : C = 3 : B = 9
Tamer0 = 1
Set Flasher
End If
End If
'******************************* active
If Active = 0 Then
If Act_bit = 0 Then
Reset Siren_alarm
Cls
' Display Off :
Lcd_on = 0
Set Sensor_vcc
Reset Lcd_light
Tamer0 = 0
Disable Int1 : Disable Int0
K2 = 1 : K3 = 1 : Km = 0
Kk2 = 1
E = 1 : Lamp_on = 0
Dar = " " : Altera = " " : Kap = " "
Back = " " : S = " "
Act_bit = 1
End If
End If
'******************************** ACC ON
Else
K3 = 1 : Acc1 = 1
Lamp_on = 0 : E = 0
Reset Siren_alarm : Set Lcd_light
If Door_switch <> 0 Then Reset Lamp
If Acbit = 0 Then
Aa = 0 : Bb = 0
'Display On
Cls
Lcd_on = 1
S = " Oclock,Calendar,Security system,Designed for PEUGEOT 405 by shahpoori. "
Mm = Len(s)
Acbit = 1 '
End If
End If
'**************************** Cabin Lamp Timer
If Acc1 = 0 Then
If Lamp_on = 1 Then
Incr Timer_lamp
If Timer_lamp >= 220 Then
Lamp_on = 0
If Door_switch <> 0 Then Reset Lamp
End If
Else
If Door_switch <> 0 Then Reset Lamp
Timer_lamp = 0
End If : End If
'************************** when system is deactive or ACC ON
If E = 0 Then
'************************ Goto Menu
If Sw_m = 0 Then Kilid = 1 Else Kilid = 0
'*********************** door flasher
If Door_switch = 0 Then
If K1 = 0 Then
Tamer0 = 1
Set Flasher : Set Lamp
A = 8 : C = 8 : B = 50
Lamp_on = 1 : K1 = 1
End If
Else
If K1 = 1 Then : B = 0 : K1 = 0 : End If
End If
End If
'***********************+++++++++++++++++++++ ++++++++/////////////////*****************************
If K2 = 1 Then
Incr F
If F <= 2 Then Set Siren_alarm Else Reset Siren_alarm
If F <= 20 Then Set Flasher Else Reset Flasher
If F > 40 Then
Eimsk = &B11
Eifr = &B11
Pcifr = &B000 : Pcicr = &B110
Pcmsk1 = &B00000001 : Pcmsk2 = &B00000001
Enable Int1 : Enable Int0
F = 0
K2 = 0
End If
End If
'************************************* tablo ravan & setting
Decr B_ravan
If B_ravan = 0 Then
Mm = Len(s)
Incr Aa : If Aa >= Mm Then Aa = 1
If Kilid = 1 Then
Aa = 0
Bb = 0
Tanzim = 1
Incr M
If M > 6 Then M = 0
Kilid = 0
End If
'******************** setting
If Tanzim = 1 Then
Select Case M
Case Is = 1
If Sw_up = 1 Then Incr _min
If Sw_dwn = 1 Then Decr _min
If _min > 59 Then _min = 0
S = " set min "
Case Is = 2
If Sw_up = 1 Then Incr _hour
If Sw_dwn = 1 Then Decr _hour
If _hour > 23 Then _hour = 0
S = " set hour "
Case Is = 3
If Sw_up = 1 Then Incr Week
If Sw_dwn = 1 Then Decr Week
If Week > 6 Then Week = 0
S = " set week "
Case Is = 4
If Sw_up = 1 Then Incr Rooz
If Sw_dwn = 1 Then Decr Rooz
If Rooz > 31 Then Rooz = 1
S = " set day "
Case Is = 5
If Sw_up = 1 Then Incr Maah
If Sw_dwn = 1 Then Decr Maah
If Maah > 12 Then Maah = 1
S = " set month "
Case Is = 6
If Sw_up = 1 Then Incr Saal
If Sw_dwn = 1 Then Decr Saal
S = " set year "
Case Else
S = " Oclock,Calendar,Security system,Designed for PEUGEOT 405 by shahpoori. "
M = 0
Tanzim = 0
End Select
End If
B_ravan = 6
End If
'*************************** warning! system unsafe!
If K3 = 0 Then
Incr Timer_alarm : Incr Timer_alarm_off
If Timer_alarm >= 200 Then Set Siren_alarm
If Timer_alarm >= 201 Then : Reset Siren_alarm : Timer_alarm = 190 : End If
If Timer_alarm_off >= 250 Then
Timer_alarm_off = 0 : Timer_alarm = 0
Reset Siren_alarm
End If
Else
Timer_alarm = 0 : Timer_alarm_off = 0
End If
'****************************** show date & time
Locate 2 , 1
Lcd Time$
Locate 1 , 1
Lcd Saal ; "/" ; Maah ; "/" ; Rooz ; " "
'**************************************** Show Week
If Week = 0 Then
Locate 1 , 12
Lcd Chr(3) ; Chr(2) ; Chr(1) ; Chr(0) ; " "
End If
If Week > 0 And Week < 6 Then
Locate 1 , 12
Lcd Chr(3) ; Chr(2) ; Chr(1) ; Chr(0) ; Week
End If
If Week = 6 Then
Locate 1 , 12
Lcd Chr(3) ; Chr(6) ; Chr(5) ; Chr(4) ; " "
End If
'************ show demo/operation
Locate 2 , 10
Dd = Mid(s , Aa , 8 )
Lcd Dd
'******************************** interrupt routins
If Kk2 = 1 Then
If Interupt = 1 Then
E = 1
If Lak = 1 Then B = 250 Else B = 1500
Set Lcd_light
Aa = 0 : Bb = 0
'If Lcd_on = 0 Then
' Display On :
' Cls
' Lcd_on = 1
' End If
Set Flasher
Set Siren_alarm
A = 8 : C = 8
S = " " + Kap + Back + Altera + Dar
Mm = Len(s)
Tamer0 = 1
Interupt = 0
End If
End If
'********************** cheshmak
If Tamer0 = 1 Then
If A > 0 Then Decr A
If A = 0 Then
Toggle Flasher
A = C
If B > 0 Then
A = C
Else
Tamer0 = 0
Reset Siren_alarm
Reset Flasher
End If
'?????
If B > 0 Then Decr B
End If
End If
Return
'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ end of timer1
'*************************** int1
Sensor:
Interupt = 1
Lak = 1
Altera = " Ultrasonic " + Time$ + " "
'Set Intf1
Return
'************************************** pcint2
Hutch_door:
Interupt = 1
Lak = 0
Back = " Box " + Time$ + " "
'Set Pcif2
Return
'************************************** int0
Door:
Interupt = 1
Lak = 0
Dar = " Doors " + Time$ + " "
'Set Intf0
Return
'*************************************** pcint1
Kaput:
Interupt = 1
Lak = 0
Kap = " Kaput " + Time$ + " "
'Set Pcif1
Return
Sectic:
'************************************** calendar
If M = 0 Then
If Week > 6 Then Week = 0
If Maah < 7 And Rooz > 31 Then : Incr Maah : Rooz = 1 : End If
If Maah = 7 And Rooz = 1 And 1_hour = 0 Then : Decr _hour : 1_hour = 1 : End If
If 7 =< Maah And Maah < 12 And Rooz > 30 Then : Incr Maah : Rooz = 1 : End If
If Maah = 12 Then
T1 = Saal Mod 33
If T1 = 1 Or T1 = 5 Or T1 = 9 Or T1 = 13 Or T1 = 17 Or T1 = 22 Or _
T1 = 26 Or T1 = 30 Then
Kabise = 1
Else
Kabise = 0
End If
If Kabise = 0 Then
If Rooz > 29 Then
Incr Saal : Maah = 1 : 1_hour = 0
Incr _hour : Rooz = 1 : End If
Else
If Rooz > 30 Then
Incr Saal : Maah = 1 : 1_hour = 0
Rooz = 1 : Incr _hour : End If
End If
End If
If _hour = 00 And _min = 00 And _sec = 00 Then : Incr Rooz : Incr Week : End If
End If
Return