قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 02-10-2011, 10:15 AM المشاركة 81   
افتراضي



الف شكر يا بشمهندس فايز عبد العزيز
يا تري تبداء في لغات البرمجه
أخى الكريم

شكرا جزيلا لك

المنهج الأساسى وفق الكتاب

Advanced PIC Microcontroller Projects in C

علاوة على مراجع ومواقع أخرى

إن شاء الله نبدأ فى البرمجة قريبا

مع تمنياتى بدوام التوفيق

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 02-10-2011, 11:09 AM المشاركة 82   
افتراضي


2-1-9 المؤقتات Timers
الميكروكونترولرPIC18F452 به أربع مؤقتات قابلة للبرمجة والتى يمكن أن تستخدم فى العديد من المهام , مثل توليد أشارات التوقيت و التسبب فى مقاطعات تتولد عند فترات زمنية محددة و قياس التردد وقياس الفترات الزمنية وهلم جرا .
هذا القسم يتناول المؤقتات المتاحة فى الميكروكونترولر PIC18F452 .

المؤقت Timer 0
المؤقت Timer 0 هنا مشابه للمؤقتTimer 0الموجود بالسلسلة PIC16 , إلا أنه يمكن أن يعمل إما بنظام 8-bit أو بنظام 16-bit .

الخصائص الأساسية للمؤقت Timer 0
· العمل بنظام 8-bit أو بنظام 16-bit .
· "مقياس أو تدريج مسبق " prescaler 8 بت قابل للبرمجة .
· مصدر الساعة خارجى أو داخلى .
· توليد مقاطعة عند الطفحان overflow .

سجل التحكم فى المؤقت Timer 0 هو السجل T0CON , الموضح بالشكل 2-24 . الستة بتات المنخفضة لهذا السجل لها وظائف مماثلة للسجل OPTION بالسلسلة PIC16 . الخانتان العلويتان تستخدم فى اختيار نظام العمل 8-bit أو 16-bit و لتمكين / عدم تمكين (تعطيل) المؤقت .
يمكن أن يعمل المؤقت Timer 0 إما كمؤقت أو كعداد . يتم اختيار نظام المؤقت بمسح (تصفير) الخانة T0CS , وفى هذا النظام تقاد الساعة إلى المؤقت داخليا من FOSC/4 .
يتم اختيار نظام العداد بتحديد set (بواحد) البت T0CS , وفى هذا النظام يتم تزايد المؤقت Timer 0 عند الحافة الصاعدة أو الحافة الهابطة للمدخل RA4/T0CKI . البت T0SE بالسجل T0CON تختار نظام حافة الإشعال (البدء) .
يمكن استخدام "مقياس مسبق" 8 بت لتغيير معدل ساعة المؤقت بعامل factor حتى 256 .
يتم اختيار المقياس المسبق بالبتات PSA و T0PS2:T0PS0 بالسجل T0CON .




نظام 8 بت 8-Bit Mode

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 02-10-2011, 03:13 PM المشاركة 83   
افتراضي


نظام 8 بت 8-Bit Mode
الشكل 2-25 يوضح المؤقت Timer 0 بنظام 8-bit .



عادة يتم تنفيذ العمليات التالية فى تطبيقات المؤقت :
· مسح clear البت T0CS لاختيار الساعة FOSC/4 .
· استخدام البتات T0PS2:T0PS0 لاختيارالقيمة المناسبة للمقياس المسبق prescaler .
· مسح البت PSA لاختيار المقياس المسبق .
· تحميل load سجل المؤقت TMR0L .
· اختيارى , تمكين المقاطعات بالمؤقت Timer 0 .
· يقوم المؤقت بالعد وتتولد المقاطعة عند تزداد (تطفح - تفيض) overflows من FFH إلى 00H فى نظام 8 بت (أو من FFFFH إلى 0000H فى نظام 16 بت ) .

عن طريق تحميل قيمة بالسجل TMR0 يمكننا التحكم بالعد حتى حدوث الطفحان . يمكن استخدام العلاقة التالية فى حساب الزمن الذى يستغرقة المؤقت ببطفحان (أو لتوليد المقاطعة) , بمعرفة الزمن الدورى للمذبذب , والقيمة التى تم تحميلها بالمؤقت وقيمة المقياس المسبق prescaler :



Overflow time = 4 x TOSC x Prescaler x(256 _ TMR0) (2.1)
حيث :
Overflow time زمن الطفحان بالملى ثانية ms .
TOSC الزم الدورى للمذبذب بالملى ثانية .
Prescaler قيمة المقياس المسبق .
TMR0 القيمة التى تم تحميلها بسجل المؤقت TMR0 .

على سبيل المثال , نفترض أننا نستخدم كريستال 4MHz و أن المقياس المسبق المختار هو 1:8 عن طريق تعيين البتات PS2:PS0بالقيمة 010 . أيضا نفترض أن القيمة المحملة بسجل المؤقت TMR0 هى 100 عشرى . عندئذ يمكن حساب زمن الطفحان كما يلى :
· حساب الزمن الدورى للمذبذب 4MHZ




T = 1=f =0.25ms
· استخدام العلاقة السابقة


Overflow time = 4 x 0:25 x 8 x (256 - 100= (1248ms
وبالتالى فأن المؤقت سوف يطفح overflow بعد 1.248msec وتتولد "مقاطعة بالمؤقت" إذا تم تمكين كل من المقاطعة بالمؤقت و عموم المقاطعات global interrupts .
عادة ما نريده هو أن نعرف ما هى القيمة التى يجب تحميلها فى سجل المؤقت TMR0 لزم طفحان مطلوب . يمكن حساب ذلك عن طريق تعديل المعادلة (2.1) على النحو التالى :



TMR0 = 256 –(Overflow time)/ (4 x TOSC x Prescaler) (2.2)
على سبيل المثال , نفترض أننا نريد توليد مقاطعة بعد 500ms علما بأن الساعة والمقياس المسبق كما فى الحالة السابقة . يمكن حساب القيمة التى تحمل بسجل المؤقت TMR0 باستخدام المعادلة 2-2 كما يلى :



TMR0 = 256 – 500/(4 x 0.25 x 8)= 193.5
أقرب عدد يمكن تحميله بالسجل TMR0 هو 193 .

نظام 16 بت 16-Bit Mode


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 02-10-2011, 03:33 PM المشاركة 84   
افتراضي


نظام 16 بت 16-Bit Mode
المؤقت Timer 0 بنظام 16-bit موضح بالشكل 2-26 . هنا , يستخدم سجلين للمؤقت يسميان TMR0L و TMR0 لتخزين قيمة المؤقت 16 بت . البايت المنخفض TMR0L يمكن تحميله مباشرة من ناقل البيانات . البايت العلوى TMR0 يمكن تحميله من خلال حافزbuffer يسمى TMR0H . خلال قراءة TMR0L يتم أيضا تحميل البايت المرتفع للمؤقت (TMR0) إلى TMR0H وبالتالى يمكن قراءة قيمة المؤقت بكافة 16 بت .
لقراءة قيمة المؤقت 16- بت , أولا يجب علينا قراءة TMR0L ثم بعد ذلك قراءة TMR0H فى التعليمة التالية . بالمثل , خلال الكتابة إلى TMR0L يتم تحديث البايت العلوى بمحتويات TMR0H للسماح بكتابة جميع 16 بت إلى المؤقت . وبالتالى للكتابة على المؤقت يجب أن يكتب البرنامج أولا البايت العلوى المطلوب على TMR0H . عند كتابة البايت المنخفض على TMR0L , عندئذ فأن القيمة المخزنة فى TMR0H تنتقل تلقائيا إلى TMR0H وبالتالى تسبب كتابة جميع 16 بت على المؤقت .




الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 02-10-2011, 04:21 PM المشاركة 85   
افتراضي


السلام عليكم ورحمة الله وبركاتة

كالمعتاد دائما
اعجز عن وضع كلمات توفيك حق الشكر
او تصف ولو قليل القليل لعطائك
===================
ولا اجد الا كلمات قليلة فقط
جازاك الله كل خير
وجعل كل حرف تضعة فى سبيل العلم
فى موازين اعمالك
بارك الله فيك وفى اهلك وولدك ومالك

===============
مثال للعطاء
الذى لا ينتظر حتى كلمة شكر
مثال نتمنى ان يحتزى بة من جميع الاعضاء والاساتذة


امل ميمو
:: مهندس متميز ::
تاريخ التسجيل: Mar 2007
المشاركات: 466
نشاط [ امل ميمو ]
قوة السمعة:
قديم 02-10-2011, 08:46 PM المشاركة 86   
افتراضي


حقا كلمة شكرا لاتوافي عملك الرائع ياسيدي هذه ليست ترجمة ونقل لا هذا يدل على انك على علم كبير وحقا استاذ بمعنى الكلمة زادك الله علما على علم ووفقك لما يحبة ويرضاه


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 02-10-2011, 10:53 PM المشاركة 87   
افتراضي


المؤقت Timer 1
المؤقت Timer 1 بالميكروكونترولر PIC18F452 هو مؤقت 16 بت يتم التحكم فيه عن طريق السجل T1CON كما هو موضح بالشكل 2-27 . الشكل 2-28 يوضح البناء الداخلى للمؤقت Timer 1 .



المؤقت Timer 1 يمكن أن يعمل أما كمؤقت أو كعداد . عندما تكون الخانة TMR1CS بالسجل T1CON منخفضة يتم اختيار الساعة FOSC/4 للمؤقت . عندما تكون الخانة TMR1CS مرتفعة يعمل الموديول كعداد بساعة من الدخل T1OSI . المذبذب الكريستال , الذى يتم تمكينه من الخانة T1OSCEN بالسجل T1CON , ينشأ بين الطرفين T1OSI و T1OSO حيث يمكن توصيب كريستال بتردد حتى 200KHz بين هذين الطرفين . هذا المذبذب مخصص فى المقام الأول لكريستال 32KHz للعمل فى تطبيقات ساعة "الزمن الحقيقى" .
يمكن استخدام المقياس المسبق prescaler بالمؤقت Timer 1 والذى يمكن من تغيير معدل التوقيق بمعامل قيمته 1 أو 2 أو 4 أو 8 .
يمكن تهيئة المؤقت Timer 1 بحيث يمكن تنفيذ القراءة / الكتابة أما بنظام 16 بت أو بنظام 2 فى 8بت . البت RD16 بالسجل T1CON تتحكم فى النظام . عندما تكون البت RD16 منخفضة يتم تنفيذ عمليات القراءة والكتابة للمؤقت كعمليات 2 فى 8 بت . عندما تكون البت RD16 مرتفعة يتم تنفيذ عمليات القراءة والكتابة للمؤقت كعمليات 16 بت كما فى المؤقت Timer 0( أى يستخدم حافز بين سجل المؤقت وناقل البيانات ) (أنظر الشكل 2-29) .






إذا تم تمكين المقاطعات بالمؤقت Timer 1 فسوف تتولد مقاطعة عندما تدور (تتحول) قيمة المؤقت من FFFFH إلى 0000H .

المؤقت Timer 2


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 02-10-2011, 10:56 PM المشاركة 88   
افتراضي


المؤقت Timer 2
المؤقت Timer 2 مؤقت 8 بت بالخصائص التالية :
· مؤت 8 بت (TMR2) .
· سجل الزمن الدورى period register 8 بت (PR2) .
· مقياس مسبق prescaler قابل للبرمجة .
· مقياس تابع postscaler قابل للبرمجة .
· مقاطعة عن تطابق TM2 مع PR2 .

يتم التحكم فى المؤقت Timer 2 من السجل T2CON كما هو مبين بالشكل 2-30 . الخانات
T2CKPS1: T2CKPS0 تحدد المقياس المسبق لقيم تدريج 1 أو 4 أو 16. الخانات TOUTPS3:TOUTPS0 تحدد المقياس التابع لتدريج من 1:1 إلى 1:16 . يمكن توصيل أو فصل المؤقت عن طريق تحديد set أو مسح clear الخانة TMR2ON .




المخطط الصندوقى للمؤقت Timer 2 موضح بالشكل 2-31 .

يمكن استخدام المؤقت Timer 2 فى نظام تعديل عرض النبضة PWM بالموديول CCP . يمكن اختيار خرج المؤقت Timer 2 كساعة بود
baud clock برمجيا عن طريق الموديول SSP . المؤقت Timer 2 يتزايد من 00H حتى يطابق PR2 ويحدد set علم المقاطعة . بعد ذلك يتم إعادته reset إلى 00H فى الدورة التالية .

المؤقت Timer 3



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:22 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)