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

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

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 18-09-2014, 09:33 PM المشاركة 1   
x2 استفسارفى خاصية pwm فى pic16f88 Twitter FaceBook Google+



السلام عليكم

فى هذا المايكرو pic16f88 يوجد فيها طرفين مكتوب عليها ccp1


[IMG][/IMG]

كيف افرق بينهما برمجيا بما انهما نفس الرقم ccp1 ؟؟ اى اذا احببت ان يكون الطرف 6 من المايكرو هو الخرج فكيف اكتبها ونفس الشى بالنسبة لطرف 9؟؟


كتبت برنامج بهذا الشكل فهل اعداداتى بالون الاحمر صحيحة ؟؟


كود:
#define       is              ==
#define       preseed         0
#define       sw1             porta.b0
#define       sw2             porta.b1
#define       sw3             portb.b2
#define       sw4             portb.b3
#define       sw5             portb.b4
#define       sw6             portb.b5
#define       sw1_dir         trisa.b0
#define       sw2_dir         trisa.b1
#define       sw3_dir         trisa.b2
#define       sw4_dir         trisa.b3
#define       sw5_dir         trisa.b4
#define       sw6_dir         trisa.b5
#define       on                1
#define       off               0
#define       input             1
#define       output            0
void init()
{
 sw1=input;
 sw2=input;
 sw3=input;
 sw4=input;
 sw5=input;
 sw6=input;
 trisb=0;
 portb=0;
 ANSEL=0;
 adcon0=0;
 cmcon=7;
 CCP1CON=0b00111100;

}
void main()
{
  init();
  pwm1_init(38000);

  while(1)
  {
    if(sw1 is preseed)
                      {delay_ms(10);
                       while(sw1 is preseed);
                       delay_ms(10);
                       pwm1_start;
                       pwm1_set_duty(128);
                       delay_ms(500);
                       }
  
  if(sw2 is preseed)
                    {
                     delay_ms(10);
                     while(sw2 is preseed);
                     delay_ms(10);
                     portb.B1=1;
                    
                    
                    
                    }

  
  }
}

الملف



اعلانات

Logic
:: عضو فضي ::
تاريخ التسجيل: Mar 2014
المشاركات: 682
نشاط [ Logic ]
قوة السمعة:80
قديم 18-09-2014, 10:19 PM المشاركة 2   
افتراضي


السلام عليكم
أخي بالنسبة لسؤالك عن خرج PWM:
المبرمج يحدد منذ البداية من خلال Edit Project ما هو الطرف الذي يريد أن يخرج له اشارة PWM
هل RB3 المألوف أم RB0 و لا يمكن بعد ذلك أي تغيير .



التعديل الأخير تم بواسطة : Logic بتاريخ 18-09-2014 الساعة 10:25 PM
احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً سعيد قادر ( شكر العضو على هذه المشاركة )
اعجاب سعيد قادر ( أعجبته المشاركة )
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 19-09-2014, 07:11 AM المشاركة 3   
افتراضي


بارك الله فيك كنت اعتقد انه يمكن تغيره برمجيا من خلال كتابة الكود ولم اتصور هذا جزاك الله كل الخير شكرا لك


Logic
:: عضو فضي ::
تاريخ التسجيل: Mar 2014
المشاركات: 682
نشاط [ Logic ]
قوة السمعة:80
قديم 19-09-2014, 05:02 PM المشاركة 4   
افتراضي


شكرا أخي سعيد
متمنياتي لك برحلة ممتعة مع هذا البيك الرائع.

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً سعيد قادر ( شكر العضو على هذه المشاركة )

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 20-09-2014, 05:24 PM المشاركة 5   
افتراضي


جربت الدائرة من الناحية العملية ولاكن لم تعمل حسب الكود الذى كتبته عند الضغط على المفتاح الاول يقوم الطرف 9 من المايكرو وهو طرف ccp1 يقوم بتوليد واخراج موجة بتردد 38 كيلو هيرتز ولاكن عند الضغط لم تعمل ؟؟

بحثت عن السبب كثيرا حتى وجدت السبب والسبب كان هذا السطر

كود:
cmcon=7;

لغيت هذا السطر اشتغل تمام ماعلاقة هذا السطر ب ccp1 ؟؟

هل السبب وجود المقارنات ؟؟


الصورة الرمزية nrmeen66
nrmeen66
:: مهندس جيد ::
تاريخ التسجيل: Jan 2005
المشاركات: 204
نشاط [ nrmeen66 ]
قوة السمعة:0
قديم 20-09-2014, 11:21 PM المشاركة 6   
افتراضي


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


الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 21-09-2014, 02:35 AM المشاركة 7   
افتراضي


بارك الله فيك كنت اعتقد انه يمكن تغيره برمجيا من خلال كتابة الكود ولم اتصور هذا جزاك الله كل الخير شكرا لك
السلام عليكم
اخي كريم يمكنك تغير ذلك برمجيا يعني مره تريد خرج على RB0 ومره أخرى على RB3 (( ولكن أختيار واحد فقط )) انظر الصوره

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 1 اعجاب
شكراً سعيد قادر ( شكر العضو على هذه المشاركة )
اعجاب سعيد قادر ( أعجبته المشاركة )

الصورة الرمزية حسن هادي محمود
حسن هادي محمود
:: عضو ذهبي ::
تاريخ التسجيل: Sep 2012
الدولة: العراق /البصره
المشاركات: 2,688
نشاط [ حسن هادي محمود ]
قوة السمعة:135
قديم 21-09-2014, 02:39 AM المشاركة 8   
افتراضي


جربت الدائرة من الناحية العملية ولاكن لم تعمل حسب الكود الذى كتبته عند الضغط على المفتاح الاول يقوم الطرف 9 من المايكرو وهو طرف ccp1 يقوم بتوليد واخراج موجة بتردد 38 كيلو هيرتز ولاكن عند الضغط لم تعمل ؟؟

بحثت عن السبب كثيرا حتى وجدت السبب والسبب كان هذا السطر

كود:
cmcon=7;

لغيت هذا السطر اشتغل تمام ماعلاقة هذا السطر ب ccp1 ؟؟

هل السبب وجود المقارنات ؟؟
السلام عليكم
ربما لا أملك الجواب مقنع لك ولكن راح أعطيك فكره بسيطه أنظر الصوره

حيث تلاحظ عند أختيارك لموضوع I/O port راح تلاحظ ان ريجيستر له علاقه بحاله البورت اي منهما ديجيتل او اي منهما انلوك ولهذا لاتستخدم ريجيسترات أخرى الا اذا كنت تتعامل معهما مباشره
تحياتي

احصائية الشكر والاعجاب - 1 شكراً, 0 عدم اعجاب, 0 اعجاب
شكراً سعيد قادر ( شكر العضو على هذه المشاركة )
إضافة رد

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

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

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


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

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