با سلام خدمت همه ی دوستان و اساتید محترم.
دوستان بنده یه برنامه ای رو با زبان بیسیک در اختیار دارم که یکی از اساتید زحمتشو کشیدن، منتها سواد ناقص من قد نمیده که بتونم منطقش رو بفهمم و متاسفانه با توجه به نیاز مبرمی که به دونستن اون دارم اما هر چقدر تلاش کردم نتونستم بفهمم هر کدوم از دستورات و کدهای زیر چه عملکردی دارن!!
کلیاتشو میدونم که از تایمر1 استفاده شده و از وقفه واحد ccp ، و تو روتین وقفه هم از تایمر0 استفاده شده، ولی همونطور که عرض کردم نمیتونم بفهمم چرا تو چند خط کد اول برنامه اونجایی که تنظیمات مربوط به تایمر1 و وقفه رو انجام دادن، از تایمر0 خبری نیست؟
من گیج زدنم تو چند خط کد اول برنامه و برنامه ی وقفه است که در ادامه میذارم و تمنا دارم از دوستان که لطف کنن و توضیحات مربوط به این چند خط رو در اختیار بنده قرار بدن تا بتونم از گیر این مرحله بگذرم.
این چند خط بعد از تعاریف ثابتها و قبل از لوپ اصلی برنامه آورده شدن:
ON INTERRUPT GOTO lable
TRISD=$00
PORTD=$00
TMR1L=0
TMR1H=0
CCP1CON=$0b
CCPR1H=$9c
CCPR1L=$40
PIR1.2=0
PIE1.2=1
T1CON=$01
INTCON.6=1
INTCON.7=1
و بعد از لوپ اصلی تو برنامه ی مربوط به وقفه این رو داریم:
lable
DISABLE INTERRUPT
if PIR1.2=1 then
PORTD = $01
PAUSEUS 990
INTCON.2=0
TMR0 = 255-x
OPTION_REG = OPTION_REG & $c0
OPTION_REG = OPTION_REG | $02
while INTCON.2=0
wend
امیدوارم دوستان مثل همیشه نظر لطفشون رو شامل حال بنده کنن. :smile:
قبلا از لطف همگی بسیار ممنونم.
دوستان بنده یه برنامه ای رو با زبان بیسیک در اختیار دارم که یکی از اساتید زحمتشو کشیدن، منتها سواد ناقص من قد نمیده که بتونم منطقش رو بفهمم و متاسفانه با توجه به نیاز مبرمی که به دونستن اون دارم اما هر چقدر تلاش کردم نتونستم بفهمم هر کدوم از دستورات و کدهای زیر چه عملکردی دارن!!
کلیاتشو میدونم که از تایمر1 استفاده شده و از وقفه واحد ccp ، و تو روتین وقفه هم از تایمر0 استفاده شده، ولی همونطور که عرض کردم نمیتونم بفهمم چرا تو چند خط کد اول برنامه اونجایی که تنظیمات مربوط به تایمر1 و وقفه رو انجام دادن، از تایمر0 خبری نیست؟
من گیج زدنم تو چند خط کد اول برنامه و برنامه ی وقفه است که در ادامه میذارم و تمنا دارم از دوستان که لطف کنن و توضیحات مربوط به این چند خط رو در اختیار بنده قرار بدن تا بتونم از گیر این مرحله بگذرم.
این چند خط بعد از تعاریف ثابتها و قبل از لوپ اصلی برنامه آورده شدن:
ON INTERRUPT GOTO lable
TRISD=$00
PORTD=$00
TMR1L=0
TMR1H=0
CCP1CON=$0b
CCPR1H=$9c
CCPR1L=$40
PIR1.2=0
PIE1.2=1
T1CON=$01
INTCON.6=1
INTCON.7=1
و بعد از لوپ اصلی تو برنامه ی مربوط به وقفه این رو داریم:
lable
DISABLE INTERRUPT
if PIR1.2=1 then
PORTD = $01
PAUSEUS 990
INTCON.2=0
TMR0 = 255-x
OPTION_REG = OPTION_REG & $c0
OPTION_REG = OPTION_REG | $02
while INTCON.2=0
wend
امیدوارم دوستان مثل همیشه نظر لطفشون رو شامل حال بنده کنن. :smile:
قبلا از لطف همگی بسیار ممنونم.
دیدگاه