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

lcd,tv,رسيفر,تليفزيون,شاشه,كمبيوتر,سوفت,برامج,بلازما.توشيبا,شحن فلاشه,


أهلا وسهلا بك زائرنا الكريم, أنت لم تقم بتسجيل الدخول بعد! يشرفنا أن تقوم بالدخول أو التسجيل إذا رغبت بالمشاركة في المنتدى

دروس في microcontroller

اذهب الى الأسفل  رسالة [صفحة 1 من اصل 1]

1دروس في microcontroller Empty دروس في microcontroller الجمعة 22 أكتوبر - 19:18

م/حسن المصري

م/حسن المصري
المدير العام


بسم اللة الرحمن الرحيم

بدايتا نرجوا من اللة العفو العافية فى مماتنتا وحياتنا و نبدا الان الدرس الاول فى الميكروكونتروللر

هناك بعض المفاهيم التى يجب ان تكون فى اذهاننا وهى تشمل مفاهيم الميكرو كنتروللر
1النظام الضمنى )embedded systemما هو هذا النظام هذا النظام من اسمة يعتبر نظام يدخل فية تدخل العقل الصناعى مثل الكومبيوتر وفائدة هذا النظام هى تنظيم العمليات التى يقوم بها system يعنى اى نظام يدخل فية الكوميبوتر يعتبر نظام ضمنى ويعرف ب
"system whose principle function not computitional but is controlled by computer "
بعض الامثلة للنظام الضمنىالعاب الاطفال الحديثة الغسالة السيارات الحديثة والمكيروواف
والكثير الكثير من الامثلة .............
ما هو الميكرو كونترولر؟؟؟؟؟؟؟؟؟
انة عبارة عن كومبيوتر صغير جدا موضوع فى icوظيفتى التحكم فى عمل ما
ماهو الفرق بين الميكروكونترولر و الميكروبروسييور؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
الفرق هنا فى التركيب وفى تأدية الوظيفةوالتعلم والكفاءةهو ان الميكرو كونترولر يتكون من
1ALU(arithimatic logic unit
2PC(personal computer
3Accumalator
4 I/Ofunctiopn
5-working register
6-data memory
7-program memory
8-timer
9-counter
10-crystal
هذة هى اغلب الموكونات الموجودة فى PIC microcontrollerطيب ما هو PIC
peripheral interface controllerوهذا ما سوف نتحدث عنة فى الدروس المقبلة انشلء اللة
ومقدما الميكرو المنتشر فى الاسواق هوpic & atmel& 8051 ولكل واحد لها عائلة تتنتمى لها طيب احنا هندرس الpic ويكون فى علمك انك لو تعلمت واحدة يعنى تعلمت اوامر واحدة هتقدر تتعلم الباقى بسهولة طيب نرجع لموضعنا تانى الفرق الاخر لميركو بروسيسور ؟؟
هو نا الميكرو بروسيسور يحتوى فقط على 1
ALU
2-Acummlator
3-working register
4-pc
بس الباقى ممكن تجيبة من الخارج وتركبة على البورضة مثل timer crystal & couter& data memory & prog memory
طيب الفرق التعليمى بين الميركو والميكروبروسور بصراحة لا يوجد فرق كبير طيب الكفاءة بصراحة كفاءة الميكروبروسيور اقوى من الميكروكونرولر طيب ...............................
انا شايف ان الجرعة دى كويسة انشاء اللة هناك المزيد

https://eioe.forum.st

2دروس في microcontroller Empty رد: دروس في microcontroller الجمعة 22 أكتوبر - 19:19

م/حسن المصري

م/حسن المصري
المدير العام



بسم اللة الرحمن الرحيم
قد ذكرنا فى الدرس الاول مكونات pic الاساسية انة 1-ALUوهى التقوم بعمليات الرياضية والمنطقية
2-accumalatorهو الذى يساعد على اتمام العمليات التى يقوم بها ALU
3- workng registerودة اهم جزء فى الميكرولانة هو دة اللى انتة هتشتغل بية طول الوقت وهوة اللى انتة هتحط فية كل القيم اللى انتى عاوز تحطها فى register
4-pc ودة يقوم بعمل العميات سطر سطر ونشوف الكلام دة كلة عند الشرح للبرنامج انشاء اللة
5-counter/ timerو الاول مسئول عن الوقت والثانى مسئول عن العدد
6-crystal ودى اهم حاجة موجودة فى ic ووظيفتها تسريع عمل البرنامج ومنها انواع
A-low power(200KHz)
B-restance capacitor
C-high power(4MHz_20MHz)
E-Xt 200KHz_4MHz
5-memory
data mem
prog mem
data memدى ذاكرة الغرض منها وضع بيانات تمسح عند فصل التيار الكهربى عنهاRAM
prog mem دذاكرة تستخدم لحفظ البرنامج عليها ودى لا تمسح عند فصل التيار عنها
طيبدة كان شرح المبسط للاحنا قلنا فى الاول طيب

https://eioe.forum.st

3دروس في microcontroller Empty رد: دروس في microcontroller الجمعة 22 أكتوبر - 19:22

م/حسن المصري

م/حسن المصري
المدير العام


بسم الله الرحمن الرحيم
فى الدرس الرابع INSTRUCTION SETS
فى البداية انا هنكلم على الاوامر سوف نشرحا وندى امثلة سوف نتعلم ازاى ندخل على البرنامج ونكتي علية
نبدأ
اول امر
MOVLW K
دة اول امر ودة انتة ممكن تكون بتكتبة كتير جدا جدا شرح الامر دة هو انى بقول القيمة Kحطها فى WORKING REGSTERو القيمة دى ممكن تكون DECIMAL !BINARY!HEXADECIMAL
eX
MOVLW .232
MOVLW B'10101101'
MOVLW 0XFF

ثانى امر
MOVWF F
ودة امر بقول فية حط القيمة اللى فى WORKING REISTERفى REGISTER
ex
MOVLW .24
MOVWF PORTA
الثالث
FSR
INDF
FSRدة انا بعملة لو عاوزاضع قيمة واحدة فى اكتر من مكان ودة بيأخذ العنوان
INDFدة الريجستر اللى بوضع فية القيمة اللى انا عاوز اضعها فى كذا مكان
EX
MOVLW 0X34
MOVWF FSR
MOVLW .34
MOVWF INDFثم اعمل INCREMENT بس لسة ما قولنا
الرابع
MOVF F
دة امر بستخدمة لما اكون عاوز اضع قيمة فى ريجستر فى WORKING REGISTER
EX
MOVF PORTA
الخامس
CLRW
دة عشان امسح WORKING REGوخلية بصفر...........
CLRF
دة امر عشان امسح الريجستر وخلية بصفر
السادس
BCF F,B
دة امر عشان اخلى بت فى ريجستر بصفر
اما
BSF F,B
دة امر عشان اخلى بت فى ريجستر بواحد..
السابع
ADDLW K
دة امر عشان اجمع رقم بين WORKING REG
EX
MOVLW .23
ADDLW .2
دة يجمع ما بين 23+2=25,الناتج يخزن فى WORKING
الثامن
ADDWF F,D
دة يجع ما بين قيمة مخزنة فى WORKING REGISTERو ق\REGوالتخزين هنا يعتمد على قيمة DESTINATION Dيعنى لو بواحد تخزن فى الريجستر لة بصفر تخزن فى WORKING REG
التاسع
SUBLW K
دة امر اعمل طرح نطرح ما بين K و WORKING REG
العاشر
SUBWF F,D
طرح ما بين قيمة فى ريجستر و WORKING REGويخزن على حسب D





ونكتفى فى هذا الدرس على تللك الاوامر حتى لا تدخل الامور فى بعضها

https://eioe.forum.st

4دروس في microcontroller Empty رد: دروس في microcontroller الجمعة 22 أكتوبر - 19:23

م/حسن المصري

م/حسن المصري
المدير العام


بسم الله الرحمن الرحيم
اولا الحمد لله ربنا وفقنا ونجحنا والحمد لله ودخلين على الشغل الجامد على القمبلة يا شباب
المهم اليوم الدرس الخامس نستكمل الاوامر لو فى سؤال انا تحت الامر
الحادى عشر
bsf F,b
دة امر بحدد بية القيمة الموجودة وهى ان تكون واحد مش صفر
ex
bsf Porta,rp0
الثانى عشر
bcf Porta ,b
ودة امر بخلى القيمة الموجودة فى البت تكون صفرررر
الثالث عشر
andlw K
ودة امر بعمل بية And Gate ودى من Logic Gate اللى هية Or And Xor Nor Nand
وبعمل And ما بين القيمة موجودة فى Working Registerو القيم Kوالتخزين فى Working Register والعملية تتم فى الصورة Binary
الرابع عشر
andwf F,d
ودة امر اعمل And ما بين قيمة موجودة فى Registerوworking Registerوالتخزين هنا يعتمد على Destination D
الخامس عشر
iorlw K
هنا بعمل اور ما بين قيمة موجودة فى Working Registerو K و طبعا العملية تتم فى الصورة Binary
السادس عشر
iorwf F.d
هنا بعمل اور مابين قيمة موجودة فى ريجستر و قيمة موجودة فى Working Register
السابع عشر
xorlw K
دة امر بعمل بية اكس اور ما بين K , و قيمة موجودة فى Working Register
فى الصورة Binary
الثامن عشر
xorwf F,d
دة امر بستخدمة لعمل اكس اور ما بين قيمة موجودة فى ريجستر وworking Reg و التخزين يعتمد على D
التاسع عشر
incf F,d
نعمل تزويد لقيمة فى الريجستر بقيمة واحدة
decf F,d
نعمل تقليل بقيمة واحد للقيمة اللى موجودة فى الريجستر و التخزين على حسب D
العشرين
swapf F
دة امر بعمل بية تبديل ما بين Low Nibble &high Nibble
ex
swapf 0x3f
after Swap Will Be 0xf3

اية مش كفاية..كفاية الدرس دة ونكمل الدرس القادم الاوامر
بس ياريت حد يسألأ حاجة هوة مش فاهمها عشان نشعر انة فية استجابة حتى ممكن نغير اسلوب الشرح وشكر

https://eioe.forum.st

5دروس في microcontroller Empty رد: دروس في microcontroller الجمعة 22 أكتوبر - 19:23

م/حسن المصري

م/حسن المصري
المدير العام



نستكمل الاوامر

الواحد والعشرون
Btfss F,b
دة امر بستخدمة لو انا عاوز اتحقق من البت يكون فيها واحد ولا لا
Btfcs F,b
دة امر بستخدمة لو انا عاوز اتحقق من البت فيها صفر ولا لا
الثانى والعشرون
Decfsz F ,d
دة امرب تخدمة لما اكون عاوز اوقف للوب عند قيمة معينة انة بيعديقلل القيمة فى ريجستر ويخزنها على حسب D
الثالث والعشرون
Incfsz F,d'
هنا بقعد ازود حتى اصل الى القيمى الل انا عايزة واكمل
الرابع والعشرون
Goto Label
ودة امر بستخدمة لما اكون عايز اعمل لوب
الخامس والعشرون
Label Equ Address Of Reg
دة بأستخدمة لما اكون عايز اعمل ريجستر جديد انا معطية اسم ما






كدة تقريبا دى الاوامر اللى ممكن نتعلمها والدرس القادم نحب نشرح البرنامج ولا نكلم النظرى ولا نعطى امثلة على الكلام

https://eioe.forum.st

6دروس في microcontroller Empty رد: دروس في microcontroller الجمعة 22 أكتوبر - 19:25

م/حسن المصري

م/حسن المصري
المدير العام


سوف نتحدث عن delayاى انى اريد ان اخر امر بعد مضى زمن معين هذا الامر ينفذ مثلا انا اريد ان انير led ثم بعد مضى زمن مقدارة ثانية انير الاخر وهكذا................ززززززز

كيف انا انفذ هذا التأخير هو انى هكتب برنامج يعمل هذا التاخير يعنى لا يوجد function ممكن تنفذ التأخير بعكس cالمهم كيف انا اعمل الاداة التى تنفذ التأخير

1-instruction loop
2-timer
اليوم هنتحدث عن الاولى بستخدام اللوب نعمل التاخير مثلا انا عاوز اعمل تأخير مدة ثانية


DELAY-1S
LOOP1
MOVLW .64
MOVWF COUNTER1

LOOP2
MOVLW .64
MOVWF COUNTER2
LOOP3
MOVLW .80
MOVWF COUNTER3
LOOP
DECFSZ COUNTER3,1
GOTO LOOP3
DEFSZ COUNTER2,1
GOTO LOOP2
DECFSZ COUNTER1,1
GOTOLOOP1
RETURN



ودة برنامج تأخير مدة ثانية هو ان البرنامج يعمل نقص فى اللوب الاخير لما يكون بصفر يعمل SKIPللسطر اللى بعدة ثم ينقص اللوب 2 ........ وهكذا حتى ينهى دورتة بزمن ثانية و الثانية فى وحدة الميكرو كونتروللرر هى ممكن نكون 50000ميكرو ثانية تقريبا

ودة هدة اليوم عشان بس الغياب برنامج يعمل ROTATION OF LED


INCLUDE P16877A.INC#
CONFIG _WDT _OFF&XT_OSC_&LVP_OFF__
ORG.0
BSF STATUS ,5
BCF STATUS ,6 ;FOR BANK CHOSE HERE IS BANK 1

CLR TRISB; FOR OUTPUT

BCF STATUS ,5; BANK 0
MOVLW B'11111110'
MOVWF PORTB
BSF STATUS ,2
MOVLW .7
MOVWF COUNTER
XXX DECFSZ COUNTER,1
GOTO RIGHT
MOVLW .7
MOVWF COUNTER
CALL DELAY_1S
RLF PORTB,1
GOTOXXX
RIGHT
RRF PORTB,1
GOTO XXX
GOTO $B
END
هذا من فضل ربى

https://eioe.forum.st

الرجوع الى أعلى الصفحة  رسالة [صفحة 1 من اصل 1]

صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى