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

أدوات الموضوع

محمد ع يسى
:: عضو فضي ::
تاريخ التسجيل: May 2015
الدولة: مصر
المشاركات: 1,044
نشاط [ محمد ع يسى ]
قوة السمعة:81
قديم 19-12-2016, 10:53 PM المشاركة 1   
افتراضي تايمر1 مع المتحكم PIC18F46K22 مش راضي يشتغل على البروتس Twitter FaceBook Google+



بسم الله الرحمن الرحيم.
أولا معذرة على الغياب الطويل... لكنه الانشغال الشديد جدا... ياترى كنتم عاملين إيه من غيري!!
ثانيا أنصح المستخدمين بتعلم PIC18F46K22 فإمكانياته رهيبة وسعره أرخص من المتحكمات الأخرى ذات الإمكانات الأقل... فإن كنت من مصر فهو موجود عند TMT في باب اللوق بـ55 جنية فقط... وإن واجهتك مشكلة في تعلمه فأنا معك.. أرسل لي على الخاص تخبرني أنك وضعت سؤالا.
ثالثا ندخل في المشكلة.
انظرو إلى هذا الكود:
كود:
char x; 
void main() 
{
ANSELa=0;ANSELb=0;
ANSELc=0;ANSELd=0;
ANSELE=0;
C1ON_bit=0;C2ON_bit=0;

TMR1L=0; TMR1H=0;
T1CON=0b00010011;

trisc=0; portc=0; 
trisd=0; portd=0;

delay_ms(10);

x=TMR1L;

TMR1ON_bit=0;

TMR1L=0; TMR1H=0;
portc=TMR1L; portd=TMR1H;
delay_ms(1000);
TMR1L=10; TMR1H=10;
portc=TMR1L; portd=TMR1H;
delay_ms(1000);
TMR1L=20; TMR1H=20;
portc=TMR1L; portd=TMR1H;
delay_ms(1000);
TMR1L=30; TMR1H=30;
portc=TMR1L; portd=TMR1H;
}
هذا الكود يظهر بهذا الشكل على برنامج مايكرو سي برو:



في البداية أوامر تعطيل الأنالوج.
ثم أوامر ضبط portc لأنه سيظهر عليه قيمة TMR1L وضبط portb لأنه سيظهر عليه قيمة TMR1H.
ثم ضبط وبدأ تشغيل TMR1.
ثم الأمر الذي باللون الأحمر.
ثم توقف تايمر1
ثم تغيير قيمة تايمر1 وهو متوقف وإظهار القيمة على بورت c و d.
المشكلة أن البرنامج يستجيب للأمر TMR1L=كذا (مثلاTMR1L=10)... بينما لا يستجيب للأمر TMR1H=كذا.
وجربت TMR3 ونفس المشكلة.
وأتوقع أنها ستكون نفس المشكلة مع TMR5.
لاحظ الأمر المتعلم عليه بالأحمر... وهو إجراء أي عملية حسابية على السجل TMR1L سواء بهذا الأمر أو بغيره.
مع العلم أن البرنامج يستجيب للتعليمة TMR1H=كذا لو كانت في بداية البرنامج... أما بعد المرور على تعليمة X=TMR1L فهنا المشكلة.
ولقد جربت حذف التعليمة X=TMR1L فوجدت أيضا أن البرنامج لم يستجب للأمر TMR1H=كذا... إلا أن الاختلاف أنه في الحالة الثانية تثبت قيمة TMR1H على صفر ولا تتغير مهما أمرته بالتغيير... أما في الحالة الأولى فتثبت TMR1H على قيمة أخرى لا أتذكرها.
إن كنت لم تفهم فافتح برنامج البروتس وجرب عليه البرنامج ستجد أنه يستجيب للأمر TMR1L=10 بينما لا يستجيب للأمر TMR1H=10 وانظر الفرق بين وجود التعليمة التي معلم عليها بالأحمر وبين عدم وجودها.
وجزاكم الله خيرا.

اعلانات

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 20-12-2016, 05:38 AM المشاركة 2   
sun


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


كيف حالك اخ محمد , اضيف نصيحة لنصحتك و اقول لك اتجه الى AVR , فان ارخص نوع منها مثلا ATMEGA 8 امكانياته اعلى من البيك ضعف سعره .
ولا تضع حائل الخوف من التغيير الموجود فى نفوسنا من تطوير نفسك و اتقن هذا و ذاك و كلهم نفس الفكرة .

و بالنسبة لبرنامجك بفضل الله و حتى ادخل السرور عليك , مع انى ليس من هواة البيك احببت توضيح المشكلة و انت ان شاء الله تعدل البرنامج و تعرفنا .
السبب موجود فى الداتا شيت صفحة 159 . كما بالصورة

و ملحوظة هذا الشرط موجود ايضا فى كثير من الميكرو مثل AVR .



و بالتالى فقوم بالتجربة و غير ترتيب الكتابة داخل المسجلات كما يلى :
كود:

TMR1H=30;TMR1L=30;

و القراءة كما فعلت انت :
كود:

portc=TMR1L; portd=TMR1H;
delay_ms(1000);

و الله ولى التوفيق

اللهم نصرك و صبرك
اللهم اهلك الظالمين بالصالحين


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

محمد ع يسى
:: عضو فضي ::
تاريخ التسجيل: May 2015
الدولة: مصر
المشاركات: 1,044
نشاط [ محمد ع يسى ]
قوة السمعة:81
قديم 20-12-2016, 03:36 PM المشاركة 3   
افتراضي


وعليك السلام ورحمة الله وبركاته.
بارك الله فيك أخي... حلت المشكلة والحمد لله.


2sa1302
:: عضوية غير مفعلة ::
تاريخ التسجيل: Sep 2005
المشاركات: 82
نشاط [ 2sa1302 ]
قوة السمعة:0
قديم 20-12-2016, 05:29 PM المشاركة 4   
افتراضي


السلام عليكم ورحمة الله وبركاته
أستأذنك أخى ماهو عنوان tmt فى باب اللوق


محمد ع يسى
:: عضو فضي ::
تاريخ التسجيل: May 2015
الدولة: مصر
المشاركات: 1,044
نشاط [ محمد ع يسى ]
قوة السمعة:81
قديم 20-12-2016, 11:18 PM المشاركة 5   
افتراضي


وعليك السلام ورحمة الله وبركاته.
معذرة أخي... اسمه MTM ولكني اخطات وقلت TMT.
هل تعرف مطعم الشبراوي؟
انه مشهور جدا وقريب من ميدان التحرير.
ادخل في الشارع اللي جنبه ستجد جمال على ايدك اليمين وجمال على ايدك الشمال.
اسال هناك عن MTM.
انه بالضبط بعد ما تدخل في الشارع اللي جنب الشبراوي ستدخل او شارع شمال ثم ستجد المحل على ايدك اليمين بعد قليل... واللي يسال مايتوهش.
ونحن معاك حتى تصل لـ MTM وبعدها ان شاء الله.


2sa1302
:: عضوية غير مفعلة ::
تاريخ التسجيل: Sep 2005
المشاركات: 82
نشاط [ 2sa1302 ]
قوة السمعة:0
قديم 21-12-2016, 09:16 AM المشاركة 6   
افتراضي


جزاك الله خيرا

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025