سلام
من میخوام یه برنامه بنویسم که بوسیله تایمر میکرو یک خروجی رو به طور متناوب خاموش و روشن کنم
و این خاموش و روشن شدن ها طبق یک روال از پیش تعیین شده باشند
من برای اون پنج حالت در نظر گرفتم، که در هر حالتی خروجی تا مدت معینی روشن باشد سپس برای مدتی هر یک ثانیه خاموش و روشن بشه
میخوام بوسیله پنج کلیدی که دارم هر کدام از حالت ها را انتخاب کرده و میکرو شروع به انجام دستورات ان بکند
مشکلی که دارم اینه که:
1-کلید ها رو با اینکه در حلقه LOOP گذاشتم ولی فقط در ابتدای برنامه کار می کنند و وقتی که یک کلید را فشار میدهیم برنامه همان اجرا شده بقیه از کار می افتد
2- و مشکل اساسی این که چه طور میشه با تایمر برنامه های ترکیبی نوشت؟ مثلا بگیم این رو یک دقیقه روشن کن بعد سه دقیقه چشمکز کن. اون هم با تاخیر یک ثانیه
3- چه جوری باید تایمر رو در حالتهای مختلف تعریف کنم؟؟
چون همون اول که معرفی می کنی یک وقفه سرریزی بیشتر نمیشه داد و من چند تا کار ازش میخوام
دوستان هرکی میتونه کمک کنه شدیدا لازم دارمش
ایشاالله جبران میکنم
اگر هم کسی میتونه بنویسه که از خجالتش در میام
فقط فوریه!!!!!!!!!!!!!!!!!!!!
ترجیحا تا امروز بعد از ظهررر
این یه قسمت از کدی که نوشتم
زیاد بود خیلی جاهاشو حذف کردم
چه جوری میشه کلید ها رو همیشه اسکن کنه و به تغیر اونها حساس باشه؟
و دوم اینه که من میخوام در حالت یک به مدت سی ثانیه روشن نگه داشته بشه بعد خاموش کنم
در حالت دو هم خروجی 10 دقیقه روشن باشه
در حالت سه یک دقیقه روشن باشه و سه دقیقه با فواصل یک ثانیه قطع و وصل بشه بعد هم یک دقیقه با فواصل نیم ثانیه
اگر یه تیکه ش رو هم درست کنید ببینم چه جوریه بقیه اش رو خودم یه کاریش میکنم
من میخوام یه برنامه بنویسم که بوسیله تایمر میکرو یک خروجی رو به طور متناوب خاموش و روشن کنم
و این خاموش و روشن شدن ها طبق یک روال از پیش تعیین شده باشند
من برای اون پنج حالت در نظر گرفتم، که در هر حالتی خروجی تا مدت معینی روشن باشد سپس برای مدتی هر یک ثانیه خاموش و روشن بشه
میخوام بوسیله پنج کلیدی که دارم هر کدام از حالت ها را انتخاب کرده و میکرو شروع به انجام دستورات ان بکند
مشکلی که دارم اینه که:
1-کلید ها رو با اینکه در حلقه LOOP گذاشتم ولی فقط در ابتدای برنامه کار می کنند و وقتی که یک کلید را فشار میدهیم برنامه همان اجرا شده بقیه از کار می افتد
2- و مشکل اساسی این که چه طور میشه با تایمر برنامه های ترکیبی نوشت؟ مثلا بگیم این رو یک دقیقه روشن کن بعد سه دقیقه چشمکز کن. اون هم با تاخیر یک ثانیه
3- چه جوری باید تایمر رو در حالتهای مختلف تعریف کنم؟؟
چون همون اول که معرفی می کنی یک وقفه سرریزی بیشتر نمیشه داد و من چند تا کار ازش میخوام
دوستان هرکی میتونه کمک کنه شدیدا لازم دارمش
ایشاالله جبران میکنم
اگر هم کسی میتونه بنویسه که از خجالتش در میام
فقط فوریه!!!!!!!!!!!!!!!!!!!!
ترجیحا تا امروز بعد از ظهررر
کد:
'IN THE NAME OF GOD $regfile = "m8def.dat" $crystal = 16000000 Config Portb = Output Led1 Alias Pinb.0 Led2 Alias Pinb.1 Led3 Alias Pinb.2 Led4 Alias Pinb.3 Led5 Alias Pinb.4 Config Pinc.0 = Output : Mot Alias Pinc.0 Config Pinc.1 = Output : Boogh Alias Portc.1 : Reset Boogh Config Pind.0 = Input : Kelid1 Alias Pind.0 Config Pind.1 = Input : Kelid2 Alias Pind.1 Config Pind.2 = Input : Kelid3 Alias Pind.2 Config Pind.3 = Input : Kelid4 Alias Pind.3 Config Pind.4 = Input : Kelid5 Alias Pind.4 Dim Count1 As Byte Dim M As Byte Dim S As Byte Declare Sub Incr_h1 Declare Sub Incr_h2 Declare Sub Incr_h3 Declare Sub Incr_h4 Declare Sub Incr_h5 'TIMER SETTING '------------------------------------------------------------------------------- Config Timer2 = Timer , Async = On , Prescale = 128 Enable Timer2 Enable Ovf2 Enable Interrupts On Ovf2 Overflow '------------------------------------------------------------------------------- Program_start: S = 0 : M = 0 If Kelid1 = 0 Then Set Lamp Set Led1 Call Incr_h1 End If 'If Kelid2 = 1 Then Call Incr_h2 'If Kelid3 = 1 Then Call Incr_h3 'If Kelid4 = 1 Then Call Incr_h4 'If Kelid5 = 1 Then Call Incr_h5 '------------------------------------------------------------------------------- 'SHOROOE BARNAME---------------------------------------------------------------- Overflow: Stop Timer2 Incr S If S >= 30 Then Reset MOT S = 0 End If Return END
زیاد بود خیلی جاهاشو حذف کردم
چه جوری میشه کلید ها رو همیشه اسکن کنه و به تغیر اونها حساس باشه؟
و دوم اینه که من میخوام در حالت یک به مدت سی ثانیه روشن نگه داشته بشه بعد خاموش کنم
در حالت دو هم خروجی 10 دقیقه روشن باشه
در حالت سه یک دقیقه روشن باشه و سه دقیقه با فواصل یک ثانیه قطع و وصل بشه بعد هم یک دقیقه با فواصل نیم ثانیه
اگر یه تیکه ش رو هم درست کنید ببینم چه جوریه بقیه اش رو خودم یه کاریش میکنم
دیدگاه