وجزاك بمثله أخي الكريم وشكرا على دعائك الجميل
بارك الله فيك
قرأت التعديل في حينه أخي محمد وقمت ببعض البحث عن المذبذب الداخلي للبيك 16F887
حسب الداتا شيت :
- المذبذب الداخلي يكون مهيْا للعمل افتراضيا على 4MHZ
(وليس 8 MHZ) معنى "افتراضيا"أنك تكتب الكود عادي ولا تضيف أية تعليمة.
لكن تحدد في خانة التردد القيمة 4000000
- المسجل الخاص بالمذبذب في هذا البيك هو OSCCON:

التفاصيل هنا:
http://www.mikroe.com/chapters/view/...troller/#c3v10
كما ترى بعض بتات هذا المسجل هي التي تحدد القيمة المطلوبة للمذبذب الداخلي.
ذهبت الى الموقع الذي أرتبط به كثيرا الخاص بفلوكود طبعا فوجدت التعليمات العملية التي يمكنك إدراجها حسب الحاجة لاختيار قيمة معينة:
osccon = 0x70; //Setup Internal Oscillator to Use 8MHz clock
osccon = 0x60; //Setup Internal Oscillator to Use 4MHz clock - Default
osccon = 0x50; //Setup Internal Oscillator to Use 2MHz clock
osccon = 0x40; //Setup Internal Oscillator to Use 1MHz clock
osccon = 0x30; //Setup Internal Oscillator to Use 500KHz clock
osccon = 0x20; //Setup Internal Oscillator to Use 250KHz clock
osccon = 0x10; //Setup Internal Oscillator to Use 125KHz clock
osccon = 0x00; //Setup Internal Oscillator to Use 31KHz clock
رأيي أنها سليمة لان الكاتب هو أحد مهندسي فلوكود
ويمكن التحقق منها بعد تحويلها الى النظام الثنائي ومقارنتها مع ما في الداتا شيت صفحة 66 التي تشرح برمجة المسجل المذكور OSCCON