Blinking LED GPIOs LAB1
Вставка
- Опубліковано 2 лип 2018
- Blinking LED - GPIOs LAB1
Embedded Systems Tutorials - Microchip PIC Microcontrollers - MPLAB X
[[ Tutorial #7 ]]
You can read this exact same tutorial as a written article (in English) on my website.
Through this link down below
deepbluembedded.com/input-out...
You can also check for downloadable content (code + schematics) herein in the description or on the website
===========================================
In this tutorial, We'll create our first embedded project (LED Blinking). We'll do the coding stuff, simulate the project on the computer simulation software, and finally construct the prototype to test the project practically.
===========================================
You can follow this course playlist on UA-cam
You can also follow this course (with extra info) on my website
deepbluembedded.com/pic-progr...
===========================================
Downloadable Files & Links
----------------------
[[ MPLAB Code Project (Firmware) ]]
MediaFire
Link1 destyy.com/wJjnou
Link2 zipansion.com/1oexE
Drive
Link1 destyy.com/wJjnaQ
Link2 zipansion.com/1oezp
[[ Schematics + Simulation Files ]]
MediaFire
Link1 destyy.com/wJjnYs
Link2 zipansion.com/1ofD4
Drive
Link1 destyy.com/wJjnIj
Link2 zipansion.com/1ofDl
===========================================
For More Information
Visit my website @ DeepBlueMbedded.com
deepbluembedded.com/
Follow me on socials
LinkedIn / khaled-magdy-
Twitter / ii_deepblue_ii
FaceBook / khaled.elrawy.359
===========================================
If you've any questions, feel free to leave a comment down below. I will be glad to respond to your comments as soon as possible.
Good Luck ^^
And don't forget to SUBSCRIBE for more tutorials from DeepBlue!
If you find this content useful, Then Share It With Your Network! - Наука та технологія
man the feeling you get from the thing actually working, a thing of beauty
جزاك الله كل خير.الشرح جميل والرسومات التي تضعها والالوان والتلخيص اكثر من رائع.اتمنى ان تضع لنا ملف pdf للرسومات والشرح الذي تضعه جانبا على الورق نظرا للظروف الصعبة التي نعيشها وجزاك الله كل خير ❤❤
بارك الله في عمركم ونفعكم ونفع بكم
رحم الله والديك
Thanks
ياخي انت قوووه
الله يجزيك الخير
ما شاء الله لا قوة الا بالله
احسنت وبارك الله فيك
شكرا علي المحتوي العظيم اللي بتقدمه
ممكن PDF فيه كل ال components اللي هنتسخدمها خلال الكورس
شئ ممتع
جزاك الله خير
بالتوفيق اخی .. استمر 😀✌
وفقك الله
فيه مشكلة غريبة، الدايرة مش بتشتغل صح غير لما ألمس ال ground بإيدي!!
بحثت عن الموضوع بيقولوا بسبب floating input, مش فاهم فين المشكلة بالظبط؟
⚠️تعديل
الحمد لله عرفت المشكلة فين.
ال pin رقم 36 كان floating, اللي هو RB3/PGM
ده ال pin بتاع ال In-Circuit Serial Programming. أنا خليته on في ال configuration bits عشان ال PIC kit 3 مكانتش عايزها تحرق الكود غير لما فعلته.
ملحوظه ال pin السادس في ال PIC kit 3 بتوصله بال pin 36 اللي هو PGM وبعد الحرق بنعمله pull down بمقاومة 10k.
ملاحظة فقط أثناء معرفة أطراف اللد (الطريقة الثالثة) انت عكست (لأن المثلث الكبير هو اللي يدل على الموجب) شكرا وبارك الله فيك
متأكد يا اخی ؟ 😀
طيب جربها تانی معلش لانی متأكد انی قولتها صح .. المثلث الصغير يدل علی الموجب انا متأكد من ذلك ما تخلينيش اشك ف نفسی 😅
شكرا ياخالد بالتوفيق ان شاءالله انا دورت علي شرح بروتوس في الموقع بتاعك بس مقدرتش اوصل للشرح فممكن لينك لشرح proteus
عدم اضافه مواسعين بجانب الكريستال هل تأثيره قوي؟ وكم قيم المواسعات المناسية
بشمهندس بيجيلي ايرور ف ال simulation مكتوب فيه
Mixed model1 PIC16.DLL fail to authorize-missing or invalid customer key
ده ايه ده مع العلم ال build بتاع الكود صح
السلام عليكم ما هو اقصى تيار يمكن ان يتحمله المتحكم
معلش انا لسه مبتدئ ولقيت الكورس برمجة ميكروكونترولر فتحت بس انا مش لاقي اي حاجة اعرفها هنا في حاجات المفروض اكون عارفها قبل مدخل الكورس دة انا مخلص c ,c++ ,ومخلص جزء كبير من الالكترونيكس
hi, am getting those errors on proteus, mixed model PIC16.DLL failed to authorize - Missing or invalid Customer Key.. [U1]
and
Real Time Simulation failed to start.
Simulation FAILED due to fatal simulator errors.
بشمهندس ال MPLAP مش متعرف علي
Hello Khaled I am from Egypt and I am watching your tutorial of the embedded systems and I am in the eighth episode and can't find pickit 3 to buy it and use it to program the pic16F877A so I am asking you if I could use a FTDI module to program it Thank you for you nice tutorial it's the best one I watch please answer
stick to simulators for now bro
موجودة باب اللوق عند ميدان التحرير، في محلات الكترونيات كتير هناك، زي رام و free electronics والنخيلي وغيرهم
How could I make like this short wires to make the breadboard more clear
You can DIY using a roll of wires or you can buy a kit of wires just like these i usually use in my videos
ليه ما استخدمت arduino IDE ؟
you could of used if_with same condition instead of the nested loop because i think you used while to make use of its condition
am i right ?
Dude, it's a very good question!
Technically speaking, only for this particular example, replacing the nested while loop with the if statement will result in the exact same behavior which is "LED Blinking Twice Per Second".
However, if you're using an if statement (condition), you can never guarantee that the led will be blinking twice/second. The main loop will always have many other instructions (code) to execute which takes more time in fact. You can simulate this by adding a small delay in the main loop. And you'll see that you can never guarantee a twice/second blinking behavior.
On the other hand, with a nested while loop, the CPU will be "Locked" doing nothing other than blinking the LED for a guaranteed twice/second behavior.
I hope this helps to clarify the difference between using an if statement and a nested loop. even if they utilize the same logical condition, they will result in a completely different behavior.
@@DeepBlueMbedded
yea it's all clear now , thanks sir.
First of all, Thanks for the videos.
Secondly, MPlab gives me an error of :
[2042] no target device specified; use -mcpu option to specify a target device
make[2]: * [build/default/production/main.p1] Error 1
make[1]: * [.build-conf] Error 2
make: * [.build-impl] Error 2
what is the reason?
yes friend i think you must attention for syntax of while loop
while(condition)
{
code block
}
focus on curved brackets
بيطلعلي ايرور في السوفتوير بتاع الpickit 2 كل اما اجي احرق الكود على البيك بيقول
programming failed at program memory address 0x000000
انا مش فاهم حته P.B اللى بيعمل RESTART
ياريت لو توضحها تانى
انا بيطلعلي 2.5 فولت لما بدوس علي السويتش ومش بينور ويطفي
بالنسبة لل pic 16F628A
ال osc الداخلي 4MHZ
ايه الجملة اللي بدل
#define _XTAL_FREQ 4000000
عشان نحطها وميحصلش error
التعريف ال حضرتك كاتبه دا ضروری عشان الديلای ماكرو لو هتستخدمه بعد كدة.
لو استخدمت الديلای فالكود بتاعك و مكنش مكتوب السطر ال فوق دا، الكومبايلر هيخرب الدنيا 😀 بغض النظر عن نوع الاوسيليتور او ترددها او الكنترولر او ای شیء. دا كدة اولا
لو حضرتك معاك pic16f628a
و حابب تختار الكريستالة الداخلية ف دی بيتم ضبطها من الكونفيج بيتس زی ماشرحت انا كدة ف بداية عمل البروجيكت. اختار الكريستالة الداخلية ك مصدر للكلوك و بس كدة.
@@DeepBlueMbedded
شكراً جزيلاً لحضرتك تم حل المشكلة
كانت في ال delay
الحل بالطريقة ديه
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 4000000 //4Mhz FRC internal osc
#define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0)))
#define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0)))
#endif
المصدر موقع مايكروشيب
شكراً جزيلاً لحضرتك
ممكن مساعدة تقنية في فكرة
ازاي ممكن يتم عمل Access لكل بت
في لغة ال C من أي data type
ازاي ال compiler بيعملها ؟
لو اتطبقت الفكرة ديه والكود بقى سهل كده
زي ما بنعمل ال tris وال port
بس لأي data type بقى char int اي حاجة
ممكن تسهل الدنيا .. لو عند حضرتك علم
في لغة ال c ازاي تتعمل هتسهل حاجات كتيرة
تحت امرك ب اى وقت ان شاء الله ^^
الموضوع بسيط اه و من ضمن خصائص لغة السى
تمسى Bit Fields
و يمكنك انشاءها و تسميتها واستخدامها كيفما شئت
فقط انظر الشرح فى هذا الدرس
www.geeksforgeeks.org/bit-fields-c/
او ابحث على الانترنت عن البيت فيلدز و هتوصل ان شاء الله
بالتوفيق ^^
@@DeepBlueMbedded شكراً جزيلاً لحضرتك ربنا يجازيك كل خير
السلام عليكم و رحمة الله و بركاته
أنا عندي مشكلة البورتات و الpins مش بتبقي لونها أخضر معناها انها مش متعرفة initialized
يعني بعد ما أحط PORTBbits. مش بيظهر حاجة
السلام عليكم شكرا جزبلا لمجهودك الكبير ............انا دلوقتي بقالي يومين pickit2 USB unknown و مش عارف ايه السبب
لسا مشتغلتش بردو ؟
هی البتاعة دی ليها درايفر للويندوز كدة بينزل معاها من موقع الشركة ال اشتريت منها و موجود كتير ع النت هو بردو لو بتستخدم نسخة و يندوز معينة دور ع درايفر ليها
Pickit2 drivers for windows x
و هتوصله ان شاء الله
يا باش مهندس انا بحاول اعمل المحاكاة على برنامج ال Proteus بس للأسف بواجه رسالة خطأ "PIC16.dll" مفقود
نفس المشكله ايه الحل
I have error in Proteus I hope you help me to solve that problem, when I press run give me " Error reading HEX file at line 1: Colon expected at start of line "
Also another Error says " Real Time Simulation failed to start "
So could you help me please ??
Can you upload any image indicating this error?
Does the code compile successfully?
What about the configuration bits?
@@DeepBlueMbedded thanks for your replying, but i think i can't upload images in comments, can i send it by email?
اسف جدااا يا هندسه علي السؤال هو البور بيكون 5 فولت ولا كام بظبط
اه 5فولت بالضبط. المايكرو يستحمل لحد 5.3 تقريبا بس حاول تستخدم منظم جهد يطلع5فولت بالضبط زی
LM7805
و مفيش اسف و لا حاجة انا تحت امرك يااخی، بالتوفيق يارب ^^
@@DeepBlueMbedded شكراااا يا هندسه
ليه فيه خط أحمر تحت
PORTBbits.RB0 =0;
باشمهندس حضرتك لما بوصل البيك كيت عشان ابرمج وانزل البرنامج علي الميكرو كنترولر البرنامج بيشتغل تمام وهو متوصل بالبيك وواخد باور منها بس لما بخلص زي حضرتك وبحط المقاومة واخلي الميكرو ياخد البالور من بطارية البرنامج مش بيشتغل
امممم دا معناه ان فی مشكلة فی دايرة الباور عندك .. او ممكن يكون الميكرو بيعمل ريستارت بشكل مستمر دا لو كنت موصل المقاومة من بين رقم1 الی الارضی و طبعا هی المفروض بتتوصل علی ال5فولت.
لو توصيلة المقاومة صح
يبقا مشكلة فی دائرة بالباور او البطارية نفسها ممكن تكون ميتة 😀
فی احتمالات كتير هنا .. ف حاول تراجها كويس و لو حابب تاخدلها كام صورة من زوايا مختلفة و تبعتهملی ع الميل او الفيس اراجعها معاك ف انا معاك ان شاء الله ف ای وقت 😀👌
@@DeepBlueMbedded هكلم حضرتك فيس
جزاك الله خيرا يا استاذ
لدي سؤالين
1- ما هي قيمة المتسعة بين الموجب والسالب.
2- كيف اقوم بالسيطرة على امرين ب(بوش بوتم واحد ) اي اني لو قمت بالضغط عليه ضغطة قصيرة سيعمل الليد , اما اذا قمت بالضغط عليه ولم ارفع يدي منه لثلاث ثواني مثلا سيقوم بعمل ريستارت مثلا كبعض الاجهزة.
و اياكم اخی الكريم ^^
1 اعتقد لم افهم السؤال جيدا لكن لو تقصد المكثف ف يمكنك استخدام ای قيمة تريد 100 ميكرو مثلا او 470 ای مكثف ذو سعة متوسطة سيفی بالغرض.
2 يمكنك تنفيذ ذلك باستخدام تايمر بمجرد الضغط ع البوتون يبدأ التايمر فی العد و لما تنتهی الفترة بتاعته و ليكن بعد 2 ثانية فالهاندلر بتاع الانتربت خد القرار بتاعك و اعمل ريستارت او ما شئت .. اما ف حال ان اليوزر رفع صوباعه من ع البوتون بسرعة ف هتعمل تصفير للتايمر و تطفيه بداخل اللوب الاساسية عادی جدا. الكلام دا شبه ال بيحصل ف حالة استخدام مؤقت كلب الحراسة تماما !
تقدر تعمل ای طريقة مختلفة دا مجرد اقتراح للحل و اكيد فی طرق مختلفة اخری
شكرا جزيلا يا استاذ خالد وبارك الله في علمك
لو سمحت يا باشمهندس
لما باجي اعرف اي حاجه في الميكروكنترولر في الكود مش بيتعرف لييه
تقصد انك لما بتكتب اسم ريجيستر او bit field
مش بتظهر عندك او بيديك ايرور ؟
اتاكد انك عامل
#include
معمول!!!
طب هو ايه شكل الايرور ال بيطلعلك .. زعلان من ايه الكومبايلر ؟
بص كدة فالlog بتاع الbuild process
ال بيظهر عندك من تحت
السطر ال تلاقی فيه كلمة error
هيبقا لونه ازرق و قابل للضغط
اضغط عليه و هيوديك لمكان الايرور دا فالكود و لو معرفتش خده كوبی بيست ف جوجل و سيرش بيه ع الايرور دا
صديقي انت مستخدم لنكات مش شغاله للاكواد ارجو التعديل
بيقولي خطأ fatal error في proteus
رغم عملت كل حاجه زيك بالظبط
تأكد أخي الكريم لأن syntax لـ while هو
while(condition)
;{block code}
ركز على curved bracket
@@user-lc2ff4hw1v انا حليت المشكلة من زمان يحبيبي بس والله بجد شكرا ليك وربنا يوفقك❤❤❤
@@ahmedfarag5103 آمين وياك
بيدييني الايرورز دي باللون الاحمر
make[2]: *** [build/default/production/main.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 2s)
يا ريت لو فى سكرين شوت لرسالة الايرور كلها .. دى اخر حتة من تحت بس لكن الايرور بالتحديد هتلاقيه فوق شوية فى الرسالة
@@DeepBlueMbedded طب ممكن فيسبوك بتاعك ابعتلك الاسكرين عليه ؟
@@DeepBlueMbedded ها يا غالي ابعتلك فين الاسكرين لو سمحت
وانا كذلك مثلك ؟؟
تأكد أخي الكريم لأن syntax لـ while هو
while(condition)
;{block code}
ركز على curved bracket
اخي العزيز الروابط ترسل اشهار مناف للأخلاق المرجو وضع روابط دون تقصير من فضلك وشكرا
شكرا لك اخی الكريم ❤
بالفعل قد اكتشفت هذه المشكلة مبكرا ف اوقفت الاختصار و ستجد معظم الروابط فی كل الدروس القادمة روابط مباشرة سواء من جوجل درايف الخاص بی او من ميديافاير .. و بردو لو حابب تزور الموقع ستجد كل شیء هناك بدون الحاجة للتحميا حتی 😀
بالتوفيق ^^