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

   

يعرب مطر
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2016
الدولة: سوريا
المشاركات: 130
نشاط [ يعرب مطر ]
قوة السمعة:
قديم 19-06-2017, 01:38 PM المشاركة 9   
افتراضي



جرب كتابة الكود التالي فيمكن انك اخطأت بكتابة الكود :::
كود:
  void main(){
trisb=0;trisa=0;
portb=0;porta=0;for(;;){
 portb=255;porta=255;delay_ms(1000);portb=0;porta=0;delay_ms(1000)

;};}
السلام عليكم
انا كتبت هذا الكود في المايكروسي ولم يعطي زمن دقيق وهي المشكلة التي اتحدث عنهاا


الرجاء كتابة نفس الكود بالتايمر 1
وشكرا لك

اعلانات

الصورة الرمزية younescdse
younescdse
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
المشاركات: 88
نشاط [ younescdse ]
قوة السمعة:
قديم 19-06-2017, 08:11 PM المشاركة 10   
افتراضي


تجد شرح التايمر بدقة في هذه الدورة

https://www.youtube.com/watch?v=1fZ0...NN6Ea&index=33

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

الصورة الرمزية younescdse
younescdse
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2009
المشاركات: 88
نشاط [ younescdse ]
قوة السمعة:
قديم 01-07-2017, 09:50 PM المشاركة 11   
افتراضي


unsigned short i;
//Timer0
//Prescaler 1:256; TMR0 Preload = 61; Actual Interrupt Time : 9.984 ms
void InitTimer0(){
OPTION_REG = 0x87;
TMR0 = 61;
INTCON = 0xA0;
}
void Interrupt(){
if (TMR0IF_bit){
TMR0IF_bit = 0;
TMR0 = 61;
i++;
if (i==100)
{
i=0;
//Enter your code here
}
}
}
void main() {

InitTimer0();
InitTimer0();

}
باستعمال التايمر 0



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