سلام
دوستان من برای فعال کردن یک خروجی در یک زمان ،از تایمر میکرو استفاده کردم و برنامشو نوشتم .برنامه رو که بصورت جداگانه شبیه سازی میکنم تو پرتئوس هیچ موردی نداره ولی وقتی تو عمل پیادش میکنم بعضی مواقع کار نمیکنه بعضی مواقع که هم کار میکنه اصلا دقیق نیست .مثلا دستور دادم 5 ثانیه دیگه یه پین رو فعال کن نیم ساعت دیگه اینکارو انجام میده .یا دستور دادم که 15 ثانیه بعد پین رو غیر فعال کن 1 ساعته دیگه این کارو انجام میده .این برناممه .ممنونم دوستان راهنمایی کنند.
Config Timer2 = Timer , Async = Off , Prescale = 128
Enable Interrupts
Enable Timer2
On Timer2 mohammad
: Dim S As Byte , M As Byte , H As Byte , T As Byte
H = 23 : M = 58 : S = 0
Start Timer2
If H = 23 And M = 58 And S = 30 Then
Set Portb.4
Else
If H = 23 And M = 58 And S = 50 Then
Reset Portb.4
mohammad:
Incr S
If S > 59 Then
S = 0 : Incr M
End If
If M > 59 Then
M = 0 : Incr H
End If
If H > 23 Then
H = 1
End If
Return
دوستان من برای فعال کردن یک خروجی در یک زمان ،از تایمر میکرو استفاده کردم و برنامشو نوشتم .برنامه رو که بصورت جداگانه شبیه سازی میکنم تو پرتئوس هیچ موردی نداره ولی وقتی تو عمل پیادش میکنم بعضی مواقع کار نمیکنه بعضی مواقع که هم کار میکنه اصلا دقیق نیست .مثلا دستور دادم 5 ثانیه دیگه یه پین رو فعال کن نیم ساعت دیگه اینکارو انجام میده .یا دستور دادم که 15 ثانیه بعد پین رو غیر فعال کن 1 ساعته دیگه این کارو انجام میده .این برناممه .ممنونم دوستان راهنمایی کنند.
Config Timer2 = Timer , Async = Off , Prescale = 128
Enable Interrupts
Enable Timer2
On Timer2 mohammad
: Dim S As Byte , M As Byte , H As Byte , T As Byte
H = 23 : M = 58 : S = 0
Start Timer2
If H = 23 And M = 58 And S = 30 Then
Set Portb.4
Else
If H = 23 And M = 58 And S = 50 Then
Reset Portb.4
mohammad:
Incr S
If S > 59 Then
S = 0 : Incr M
End If
If M > 59 Then
M = 0 : Incr H
End If
If H > 23 Then
H = 1
End If
Return
دیدگاه