سلام
دوستان من از یه برنامه ساعت استفاده کردم.قصدم اینه که با دو عدد کلید کاهش و افزایش مقدار زمان مورد نظرم وارد کنم و وقتی ساعت به عدد انتخاب شده من رسید یکی از پینهای پورتها رو که مشخص کردم set کنه تا یه رله را راه اندازی کنم و اون رله هم یک موتور را در یک زمان کوتاه راه بندازه.
از کریستال 32khz ساعت استفاده نکردم چون زیاد به اون صورت دقت نیاز نیست مثلا در 60 دقیقه اگه 2 یا 3 دقیقه ای هم خطا باشه مهم نیست.
و اما مشکلم اینه که همه چیز خوب پیش میره ولی نمیدونم چرا اون پایه میکرو را set نمیکنه!!!!!!
لطفا کمکم کنید ؟ محتاج کمکتونم.ممنون
اینم کد ها
$regfile = "M32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = _
Portc.3 , Db7 = Portc.4 , E = Portd.2 , Rs = Portd.3
Ddrd.5 = 0 : Portd.5 = 1
Ddrd.4 = 0 : Portd.4 = 1
Config Portb = Output
Config Lcd = 16 * 2
Dim S As Byte
Dim M As Byte
Dim A As Byte
A = 60
Saat:
S = 0
M = 0
Cls
Home
Do
If Pind.4 = 0 Then
Incr A
Locate 1 , 1
Lcd "motor on="
Locate 1 , 10
Lcd A
End If
If Pind.5 = 0 Then
Decr A
Locate 1 , 1
Lcd "motor on="
Locate 1 , 10
Lcd A
End If
Locate 2 , 1
Lcd " " ; M ; ":" ; S
Waitms 112
Incr S
If S > 59 Then
S = 0
Incr M
Shiftcursor Left , 2
Lcd " "
If M > 61 Then
M = 0
jmp saat
If M = A Then
Set Pinb.0
Waitms 250
Reset Pinb.0
End If
End If
End If
Loop
End 'end program
دوستان من از یه برنامه ساعت استفاده کردم.قصدم اینه که با دو عدد کلید کاهش و افزایش مقدار زمان مورد نظرم وارد کنم و وقتی ساعت به عدد انتخاب شده من رسید یکی از پینهای پورتها رو که مشخص کردم set کنه تا یه رله را راه اندازی کنم و اون رله هم یک موتور را در یک زمان کوتاه راه بندازه.
از کریستال 32khz ساعت استفاده نکردم چون زیاد به اون صورت دقت نیاز نیست مثلا در 60 دقیقه اگه 2 یا 3 دقیقه ای هم خطا باشه مهم نیست.
و اما مشکلم اینه که همه چیز خوب پیش میره ولی نمیدونم چرا اون پایه میکرو را set نمیکنه!!!!!!
لطفا کمکم کنید ؟ محتاج کمکتونم.ممنون
اینم کد ها
$regfile = "M32def.dat"
$crystal = 8000000
Config Lcdpin = Pin , Db4 = Portc.1 , Db5 = Portc.2 , Db6 = _
Portc.3 , Db7 = Portc.4 , E = Portd.2 , Rs = Portd.3
Ddrd.5 = 0 : Portd.5 = 1
Ddrd.4 = 0 : Portd.4 = 1
Config Portb = Output
Config Lcd = 16 * 2
Dim S As Byte
Dim M As Byte
Dim A As Byte
A = 60
Saat:
S = 0
M = 0
Cls
Home
Do
If Pind.4 = 0 Then
Incr A
Locate 1 , 1
Lcd "motor on="
Locate 1 , 10
Lcd A
End If
If Pind.5 = 0 Then
Decr A
Locate 1 , 1
Lcd "motor on="
Locate 1 , 10
Lcd A
End If
Locate 2 , 1
Lcd " " ; M ; ":" ; S
Waitms 112
Incr S
If S > 59 Then
S = 0
Incr M
Shiftcursor Left , 2
Lcd " "
If M > 61 Then
M = 0
jmp saat
If M = A Then
Set Pinb.0
Waitms 250
Reset Pinb.0
End If
End If
End If
Loop
End 'end program

دیدگاه