المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الاول Timer Interrupt المستوى الثانى- ميكروسى


eng_a_sayed
05-15-2010, 08:12 AM
الدرس الاول من المستوى الثانى ويتناول:

1- مراجعة على انواع المقاطعات
2- كيفية تفعيل مقاطعة ال TMR0 وكيفية برمجتها
3- كيفية برمجة المقاطعات وما الاحتياطات اللازمة قبل الخروج من برنامج المقاطعة
4- تطبيق مباشر على استخدام ال TMR0 كعداد
http://www.dbaasco.com/up/img4/Teb00135.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/dN200136.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/VPG00136.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
http://www.dbaasco.com/up/img4/cce00136.jpg
http://up.arabsgate.com/u/3708/2913/42499.gif
وفى النهاية لا تنسى http://www.dbaasco.com/vb/t4655.html
http://i166.photobucket.com/albums/u97/trtr3888/7788/554-1.gif

ابو نادر
05-16-2010, 02:46 AM
ماشاء الله

درس رائع بارك الله فيك

eng_a_sayed
05-16-2010, 08:53 AM
ماشاء الله

درس رائع بارك الله فيك

بارك الله فيك اخى الكريم

ان شاء الله تجد فى الباقى فائدة أكبر

تحياتى

noornader
05-16-2010, 11:15 PM
دروس فعلا قيمة أخى الكريم مهندس/ أحمد
بارك الله فيك وفتح عليك وزادك من علمه
تحياتى

eng_a_sayed
05-16-2010, 11:21 PM
دروس فعلا قيمة أخى الكريم مهندس/ أحمد
بارك الله فيك وفتح عليك وزادك من علمه
تحياتى




جزاك الله عنى كل خير أستاذى نور

تحياتى

سعيد قادر
06-10-2010, 09:03 PM
اكثر من رائع بارك الله فيك :popcorn2:

eng_a_sayed
06-11-2010, 05:41 PM
اكثر من رائع بارك الله فيك :popcorn2:

شرفنى مرورك أستاذى سعيد

جزاك الله عنى كل خير

eng.ahmeds3ed
10-08-2010, 12:30 PM
السلام عليكم ورحمة الله وبركاته

درس جميل جدا وبسيط جدا وتم تنفيذه بنجاح ولله الحمد


int x=0;
void interrupt(){
x=x+1;
tmr0=0;
intcon=0xa0;
}

void main() {
trisb=0;
portb=0;
tmr0=0;
intcon=0xa0;
option_reg=0x07;
while(x<50){
portb=x;
}
portb=0xff;
}

eng_a_sayed
10-08-2010, 02:13 PM
السلام عليكم ورحمة الله وبركاته

درس جميل جدا وبسيط جدا وتم تنفيذه بنجاح ولله الحمد


int x=0;
void interrupt(){
x=x+1;
tmr0=0;
intcon=0xa0;
}

void main() {
trisb=0;
portb=0;
tmr0=0;
intcon=0xa0;
option_reg=0x07;
while(x<50){
portb=x;
}
portb=0xff;
}


ما شاء الله عليك

تقدم مستمر

electro_28
11-19-2010, 08:33 PM
سلام عليكم
درس مهم لكن عندي سؤال أنت كتبت فاول الكود برنامج ال inturrupt و بعدين كتبت البرنامج الاصلي السؤال كيف اعرف انو حدثت inturrupt ????????
:dunno:

eng_a_sayed
11-19-2010, 09:14 PM
سلام عليكم
درس مهم لكن عندي سؤال أنت كتبت فاول الكود برنامج ال inturrupt و بعدين كتبت البرنامج الاصلي السؤال كيف اعرف انو حدثت inturrupt ????????
:dunno:

الرجاء مذاكرة الدرس مرة أخرى ... بعد المذاكرة سنجد أن برنامج الانترربت غير معروف زمان حدوثه وعند حدوثه البك يتعرف عليه على الفور ويقوم بتنفيذ برنامج الانترربت

بالتالى لا نشغل بالنا بمتى سيحدث ويمكننا أختباره عن طريف البروتس

electro_28
11-20-2010, 01:02 PM
واضح جدا الف شكر يا استاذي الكريم

RABAH2RABAH
03-02-2011, 12:06 PM
جزاك الله خيرا
بارك الله في علمك
(التحية بين الناس لاتكون بالجمع أي "تحياتي" لأن التحية بالجمع لا تكون إلا لله )

المحارب
05-26-2011, 04:09 PM
جزاك الله خيرا عنا جميعا وجعلة فى ميزان حسناتك

nir63
09-15-2012, 05:26 PM
مشكور على الدرس الجميل لدي سؤال

كيف يمكنني ان اعرف اي قيمة اعطيها لي intcon و option_reg

ولنفترض انني اريد في الخارج 4 ليدات وليس 8 مادا سيتغير في البرنامج

Schwert
10-17-2012, 04:15 PM
شُكـــرأً جزيــلاً
موضوع رائع بحق
ومعلومات مفيدة للغاية
تحياتي لك

م محمد حمدى
11-16-2012, 05:47 PM
جزاك الله خير

منير عمار
03-24-2013, 10:30 AM
بارك الله فيك وسدد خطاك

hf, dhsdk
11-29-2013, 02:08 AM
شكرا والى الامام

tptec585
05-03-2014, 11:14 PM
ما شاء الله

b7oooooor
05-10-2014, 11:50 AM
جزاكم الله خيرا

eng-aboabdulah
07-13-2014, 10:38 AM
شرح ممتاز

eng-aboabdulah
07-13-2014, 10:38 AM
هل يوجد كتب على ذلك

eng-aboabdulah
07-13-2014, 10:38 AM
اتمنى رد على ذلك

eng-aboabdulah
07-13-2014, 10:39 AM
و لكم منا جزيل الشكر

MOHA BEL
08-22-2014, 07:15 PM
جزاكم الله كل خير

BeSecure
11-24-2015, 08:47 PM
جزاك الله كل خير

Zidate
12-06-2015, 08:49 PM
بارك الله فيك اخى الكريم

nada ahmed
01-01-2016, 02:00 PM
:shiny01: فاتني كتير , الحمد لله
أنا كنت عملت كود على 16f628a أنى أعمل أكتر من مقاطعة لما اضغط على سويتش يعمل مقاطعة بعد مثلا ثانية ولما اضغط على سوتش تاني يعمل بعد ثانيتين وسويتش تات وهكذا بس مش عرف أعمل أكتر من ثلاث سويتشات :( للأسف وفيه حاجة مش فهماها خالص ليه portb.f7 بتنور رغم أني عامل portb دخل بسسس :(
ممكن تساعدني في حل المشكلتين دول :)
وده الكود int y=0;
void interrupt()
{
tmr0=132;

if(portb.f0==0){y++; if(y>=31){porta.f0=1; delay_ms(500); porta.f0=0; intcon=0; }} // after second
if(portb.f1==0) {y++; if(y>=62) {porta.f0=1; delay_ms(500); porta.f0=0; intcon=0; }} // after 2 seconds
if(portb.f2==0) {y++; if(y>=465) {porta.f0=1; delay_ms(500); porta.f0=0; intcon=0;}} // after 15 seconds

intcon.f2=0;
}


void main()
{
int i;

cmcon=0x07;

trisa=0; porta=0;
trisb=1;

tmr0=132;

intcon=0b10100000;
option_reg=0b10000111;
}

etpm
08-02-2016, 07:34 AM
الله ينور عليك