برمجة pic16f84


(king_1984) #1

تعلم برمجة PIC16F84 خطوة بخطوة (مقدمة)

السلام عليكم ورحمة الله
نبدأ ببسم الله وعلى بركته فتح هذا الموضوع والذي يتشوق له الكثير ويهوون تعلم برمجة هذا النوع من الدوائر المتكاملة.
سنبدأ الموضوع من الصفر بمقدمة عن هذا ال IC والذي يحمل الرقم PIC16F84 وبعد ذلك الأدوات التي نحتاجها لبرمجته وبعد ذلك سنتكلم عن برمجته خطوة بخطوةوستكون هناك تجارب عملية وسنحاول تطبيقها فعليا وسنطلعكم على نتائجها أول بأول.
أترك بين أيديكم هذا الملف والذي يتحدث عن مواصفات ال PIC16F84 والأوامر التي تتقبلها هذه الدائرة ويطلق على هذا الملف باللغة الإنكليزية DataSheet
http://www.microchip.com/download/lit/pline/picmicro/families/16f8x/30430c.pdf

ما هو الـ PIC ؟؟
PIC هو عيارة عن دائرة متكامله (IC) من فئة ميكروكنترولر صنعت بواسطة شركة Microchip .
والميكروكنترولر (Microcontroller) هو مثل الميكروبرسسور (Microprocessor) ولكن الميكروكنترولر فيه إضافات على الميكروبرسسور وهي انه له ذاكرته الخاصة بالداخل والتي تستخدم لتخزين البرنامج بها، وكذلك يحتوي على ذاكرة المعلومات والتي تستخدم لتخزين المتغيرات، وأيضا يحتوي على مداخل وفي نفس الوقت هي مخارج للـ PIC.
والفرق بين الميكروكنترولر والميكروبرسسور هو أن الثاني يحتاج الى إضافات عديده لكي يعمل ويقرأ البرنامج المعد له، وأما الميكروكنترولر فلا يحتاج الى اي شئ فقط الـ IC وكرستال لكي يعمل ويقرأ البرنامج الذي بداخله.
ميزه لطيفه ورائعه في الـ PIC16F84 جعلتنا نختارها على غيرها وهي وجود ذاكرة EEPROM بداخلها وهذا يعني اننا نستطيع أن نبرمجها ونمسح البرنامج في لحظات ولأكثر من مره ولن نحتاج الى الأشعه فوق البنفسجية لمسح البرنامج.

ويوجد الـ PIC16F84 في الأسواق بنوعيتين وهما سرعة 4 ميغاهرتز و 10 ميغاهرتز.

ماذا نحتاج للبرمجة؟؟
نحتاج الى خمسة أشياء لبرمجة الـ PIC
1-جهاز كمبيوتر
2- كيبل طابعه متوازي (Parallel printer cable)

3-مصدر طاقه يعطينا جهد مستمر والمسموح به من 7 فولت الى 15 فولت
4- جهاز برمجة الـ PIC

5- برنامج كمبيوتر يعالج البرنامج الذي تكتبه ويرسله الى الـ PIC عن طريق جهاز البرمجة
قبل أن نخوض في الأعماق وفي جهاز برمجة الـ PIC سنتحدث قليلا وبشكل مختصر وعام عن هذه الدائرة المتكاملة والتي ننوي برمجتها PIC16F84
# تحتوي على 35 أمر برمجة
# كل الأوامر دورة واحدة (Single Cycle) ما عدا أوامر القفز (Branches) فهي دورتان (Two Cycle)
# 13 مدخل ومخرج في نفس الوقت Input/Output
# تحتوي على نظام الحفاظ على إستهلاك الطاقة (Power Saving)
# محمي ضد الكهرباء الستاتيكية

توزيع الأطراف:

[CENTER]

[/center]

المخطط الصندوقي للميكروكنترولر

كيفية وصل الكرستال الى الميكروكنترولر

كيفية إختيار قيمة المكثف


(sa68id) #2

جزاك الله خير


(Baraaa) #3

بارك الله فيك


(raad_004) #4

مشكور اخي العزيز ولكن الرابط لايعمل
raad_004


(shafaamry) #5

شكرا لك يا اخي الريمعلى هذه المعلومات … لو تفضلت علينا
نردي تعلم كيفيه كتابه برنامج على الpic??
يعني انا عندي مشروع لكن لا اعرف كيف اكتب البرنامج وانا اريد فعلن ان اتعلم كتابته ولا اريد ان انقله


(alfa2131) #6

كيفية برمجة المداخل و المخارج


(m33) #7

لبرمجة الدخول والخروج للبيك يجب عليك تعمل اعداد للمنفذ أ ومنذب وهذان السجلان موجودين فى الصفحة 1 من الذاكرة خذ مثلا اريد منفذأ دخول ومنفذب خروج

BSFSTATUS , RP0 هذه التعليمة معناها ضع واحد ببت فى سجل الحالات صفحة فبعدتنفيذ التعليمة نحن الان داخل الصفحة 1 وهى موجود بها سجلان اعداد منفذ أ ومنفذب
MOVLWB’00011111’ بهذه التعليمة حملت المعاج برقم 31 عشرى
MOVWFTRISA هنا قلت له حرك هذا الرقم لسجل أعداد منفذ أ
MOVLW B’00000000’ هنا حملت الرقم صفر عشرى
MOVWFTRISB هنا قلت له حرك الرقم لسجل أعداد منفذ ب
BCFSTATUS , RP0 هنا رجعت للصفحة صفر فى الذاكرة وذالك بوضع صفر
فى بت صفر من سجل الحالات
الان المايكرو عرف ماهو دخول وخروج
ثم اكتب برنامجك كما تريد


(metcho) #8

نا عايز اعمل ساعة ديجتال يعنى 2 7سيجما ثوانى وو اتنين دقايق وانتين ساعات بس بالميكروكنترولر عن طريق الPIC16F84 او 77
و يكون برنامج ينفع للانبى لاب مع الرسمة


(metwally.mustafa) #9

شكرا لك اخى الكريم