با پروتئوس و همینطور عملی امتحان کردم.فرقی نکرد
کد:
$regfile = "m8def.dat"
$crystal = 8000000
Dim A As Word
Dim M As Word
Dim N As Word
Config Portb = Output
Config Portc = Input
Config Portd = Input
Portc.0 = 1
Portc.1 = 1
Portc.2 = 1
Config Timer0 = Timer , Prescale = 8
Enable Interrupts
Enable Timer0
Start Timer0
On Timer0 1
1:
incr M
If M < 4000 Then
Timer0 = 6
Return
End If
هریک ثانیه Set Portb.3
M = 0
incr N
If N < 30 Then
Timer0 = 6
Return
End If
هر 30 ثانیه Set Portb.4
M = 0
N = 0
Timer0 = 6
Return
البته الان همین یکی همرام بود.بقیه هم شبیه همین بیشتر تاخیر های 30 تا 60 ثانیه ای
درمورد خط تلفن استفاده از چوک تلفن چطوره؟
ممنون
سلام.
من یکم دستکاریش کردم return شد.
برنامت رو تو سیمولیشن که اجرا میکردم میلونها ارور میداد و Return نمیشد اما بعده این که یکم دست کاریش کردم ارور هاش رفع شد و return م شد.
همیشه از یک lcd در مدارت استفاده کن دوسته من.
حالا این برنامه رو امتحان کن ببین چجوریاس:
کد:
$regfile = "m8def.dat" : $crystal = 8000000
Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , E = Portd.3 , Rs = Portd.2 : Config Lcd = 16 * 2
Config Timer0 = Timer , Prescale = 1
Dim A As Word:Dim M As Word:Dim N As Word
Enable Interrupts : Enable Timer0
Start Timer0
On Timer0 1 : Lcd "start"
Do : Loop
Lcd "loop"
1:
Lcd "1" : Incr M : If M > 4000 Then : Timer0 = 6 : Lcd "aa" : Return : End If
Set Portb.3 : M = 0 : Incr N : If N > 30 Then : Timer0 = 6 : Lcd "bb" : Return : End If
Set Portb.4 : M = 0 : N = 0 : Timer0 = 6 : Lcd "cc" : Return
End 'end program
سلام
برنامه را با پروتئوس امتحان کردم،ولی بعد از استارت میکرو هر دو خروجی ها با هم 1 میشوند.در صورتی که پورت b.4باید بعد از سی ثانیه ست شود.
نکته ای دیگری که تا حالا متوجه نبودم اینه که تو پروتئوس قسمت پایین کنار دکمه stop پیام error زردرنگی میاد.که نمیدونم برای چیه چون تو بیسکام که هیچ خطایی نمیده.پس این خطا برای چیه.البته برنامه بالا خطا نمیده کلی گفتم
ممنون
(۲۲-مرداد-۱۳۹۱, ۲۱:۵۱:۴۵)alfaalarm نوشته است: [ -> ]سلام
برنامه را با پروتئوس امتحان کردم،ولی بعد از استارت میکرو هر دو خروجی ها با هم 1 میشوند.در صورتی که پورت b.4باید بعد از سی ثانیه ست شود.
نکته ای دیگری که تا حالا متوجه نبودم اینه که تو پروتئوس قسمت پایین کنار دکمه stop پیام error زردرنگی میاد.که نمیدونم برای چیه چون تو بیسکام که هیچ خطایی نمیده.پس این خطا برای چیه.البته برنامه بالا خطا نمیده کلی گفتم
ممنون
نمیدونم والله اون برنامه ای که شما دادین به من هم هم تو سیمولیشن( پروتوس) کلی ارور داد.فک کنم از تامیر ها درست استفاده نکرده بودی.
بعدشم در مورد اون پایه ها که 1 میشن معلومه که چرا 1 میشه شما تو برنامه نوشتی :
کد:
Set Portb.3
Set Portb.4
دیگه توجای دیگه ای از برنامه اونارو reset نکردی که.بخواطر همین همش 1 هستن.
موفق باشی...