ايران ويج

نسخه‌ی کامل: تایمر در avr
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان کسی میدونه چجور میتونم یه تایمر بسازم که بشه با میکرو سویچ تنظیمش کرد و 4 تا تایمر باشه مثلا یکی بعد نیم ساعت ال ایدی رو روشن کنه یکی بعد یک ساعت اونیکی بعد سه ساعت و ...
ممنون از کمکتون

البته این تنظیمات توی ایپرام ذخیره بشه تا با قطع برق اطلاعات پاک نشه دقیق بودن تایمر هم زیاد
مهم نیست
سلام
تا شب دقیق بگین چی می خواهین من براتون برنامشه می نویسم
میکرو سوییچ چکار کنه؟
و...
فقط سعی کنین تا شب بگین چون صبح کار دارم
یکیش نیم ساعت نیم ساعت تایمرو جلو ببره . یکیش کم کنه
یکیشم ریست یکیشم برای اینکه بره به تنظیم تایمر بعدی
خیلی ممنون
(۲۰-آبان-۱۳۹۲, ۱۸:۱۴:۲۱)a.mehran نوشته است: [ -> ]یکیش نیم ساعت نیم ساعت تایمرو جلو ببره . یکیش کم کنه
یکیشم ریست یکیشم برای اینکه بره به تنظیم تایمر بعدی
خیلی ممنون
شما یه تایمر بر عکس می خواهین
چهار تا کلید داشته باشه
کلید اول که می زنیم نیم ساعت به زمان اضافه بشه
کلید دوم که میزنیم نیم ساعت کم کنه
کلید سوم زمان صفر کنه
کلید چهارم تایمر های بعدی رو تنظیم کنه
درست متوجه شدم؟
چندتا تایمر داشته باشه؟
خروجی تون چی باشه؟ال ای دی؟
بله درسته .
بله ال ایدی باشه .
اگر به زبان بیسیک باشه ممنون میشم چون چیزای دیگه هم میخوام اضافه کنم
من داشتم برنامه رو می نوشتم به یه مشکلی رسیدم
تایمر ها باید دائم در حال کم شدن باشن؟چه موقع ایست می کنن؟وقتی صفر شد کلا ایست کنه یا با کلید کنترل بشه؟
دقیقا چی باید تو اپیرام ذخیره بشه؟
حاجی شما که نیومدی
منم خستم دارم میرم بخوابم
ببین این برنامه کارته راه میندازه
با کلید منو روی تایمرای مختلف برو
با incr 30 دقیقه اضافه کن
با decr 30 دقیقه کم کن
با zero هم مقدار تایمر رو صفر کن
گوشه سمت راست ال سی دی شماره تایمری که مقدارش نشون داده میشه نوشته میشه
تا جمعه دیگه امکانات ندارم براتون تغییرش بدم اگر مشکلی بود بچه ها زحمتشه می کشن
شب خوش
موفق باشید
زمان تایمر ها ذخیره شه . خودم زمان ایستشو تنظیم میکنم
کد:
$regfile = "m32def.dat"
$crystal = 8000000
$sim
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = _
Portb.3 , E = Portb.4 , Rs = Portb.5

Config Portd = Input
Config Pinc.1 = Output
Dim S As Byte
Dim Ss As Byte
Dim Mm As Byte
Dim Hh As Byte
Dim A As Word
Dim M As Byte
A = 64536

Readeeprom Ss , 1
Readeeprom Mm , 10
Readeeprom Hh , 20

Config Timer1 = Timer , Prescale = 8
Enable Interrupts
Enable Timer1
On Timer1 T
Timer1 = A
Start Timer1
Cls

Do
Home
Lcd Hh ; ":" ; Mm ; ":" ; Ss ; ":" ; S ; "         "
If Pind.0 = 0 Then : M = 1 : Ss = 0 : Mm = 0 : Hh = 0 : End If
If Pind.1 = 0 Then : M = 2 : Ss = 0 : Mm = 0 : Hh = 0 : End If
If Pind.2 = 0 Then : M = 3 : Ss = 0 : Mm = 0 : Hh = 0 : End If

If M = 1 And Mm < 30 Then Set Portc.0
If M = 1 And Mm > 30 Then reSet Portc.0
If M = 2 And Hh < 1 Then Set Portc.0
If M = 2 And Hh > 1 Then Reset Portc.0
If M = 3 And Hh < 3 Then Set Portc.0
If M = 3 And Hh > 3 Then Reset Portc.0

If Pind.4 = 0 Then
   Waitms 300
   Ss = 0 : Mm = 0 : Hh = 0
End If
Loop

End

T:
Incr S
If S > 15 Then : Incr Ss : S = 0 : End If
If Ss > 59 Then : Incr Mm : Ss = 0 : End If
If Mm > 59 Then : Incr Hh : Mm = 0 : End If
If Hh > 23 Then Hh = 0

Writeeeprom Ss , 1
Writeeeprom Mm , 10
Writeeeprom Hh , 20

Timer1 = A
Return

منطقش اینطوری جواب میده فقط من زیاد وقت نداشتم تست و عیب یابی کنم فعلا ببین میتونی اینجوری جواب بگیری اگر نشد باز چک میکنم...
خیلی ممنون ولی نتونستم درست شبیه سازیش کنم اگه پورت هارو با برنامه اقا هادی یکی کنین ممنون میشم

میخوام جوری باشه که هر وقت تنظیم کردیم (مثلا بعد یه ساعت ) ال ای دی خاموش شه برق که قطع شد و وصل شد با زم از یه ساعت تنظیم شه