تعال كي نتعلم برمجة المايكروكونترلر عن طريق لغة ال basic proton

السلام عليكم

هذه دورة عقدتها سابقا في منتدى القرية الإلكترونية

أحببت ان انقلها
كي تعم الفائدة سائلين المولى عزوجل ان تفيد جميع المسلمين

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

سوف نبدأ إن شاء الله بتعلم برمجة المايكروكونترولر عن طريق لغة البروتون

في البداية لغة البروتون هي هي عبارة عن لغة البيسك وهي الى حد قريب مشابهة للغة البيك بيسك التى قام الأخ الفاضل علاء الدين بشرحها لكن لها مميزات من ضمنها التعامل مع الأرقام ذات الكسور والدوال الرياضية ونحو ذلك

وهي تحتوي على عدد من المكتبات الجيده

في هذا الشرح سوف نقوم بتغطية:

1- مقدمة برمجية (شرح اساسيات اللغة)
أ- المتغيرات
ب- والدوال الشرطية
ج - الحلقات
د- البرامج شبه الفرعية
و- وغير ذلك ان شاء الله
2- تناول الموضوع من الناحية العملية مع:

أ- analog to digital converter
ب- التعامل مع ال LCD
ج- التعامل مع المنفذ التسلسلي وربطه بالفيجوال بيسك
د التعامل مع EEPROM عن طريق I2c
و التعامل مع اليو اس بي وربطه مع الفيجوال بيسك

وطبعا سيتم استخدام البروتيوس في المحاكاه

وما تيسر لنا ان شاء الله في الفترة القادمة من مشاريع ونحو ذلك

في اللنك التاليبرنامج بروتون

http://www.4shared.com/file/231653043/2382d3fc/proton_new.html
وطريقة التنزيل موضحة بداخلة

ولا تنسونا من دعائكم الصالح

Eabueida

j

[RIGHT]الدرس الأول

1- المتغيرات لغة البروتون تدعم انواع متعددة من المتغيرات مثل
,Bit , byte,word ,Dword, float, and String

وأما البت والبايت والورد فمعلوم ماهم

وأما DWord أو ضعف الورد فهو متغير من النوع الغير كسري من 32 بت

وأما الفلوت Float فهو نوع من المتغيرت يمكن لة أن يحمل الكسور أو الأجزاء العشرية
وتريف المتغيرات يكون كالتالي [/right]
Dim X as bit
Dim X as Word
Dim X as float
Dim X as Dword
Dim X as String * 29
حيث أن ال 29 هي عدد الحروف

[RIGHT]وأما المصفوفات فيتم تعريفها كالتالي
Dim x[10] as byte

2- الثوابت

SYMBOL PI = 3.14
DIM PI AS 3.14

3- كيفية كتابة الأرقام

للكتابة الصيغة الثنائية يتم وضع علامة النسبة المئوية
مثال
X= %10010000
واما الصيغة الست عشرية فيتم استخدام علامة الدولار
مثال
X=$FF
وأما بالنسبة للصيعة العشرية فينم ذلك دونما كتابة اي شيء

مثال
X=10
وأما الصيغة الأخيرة الكسرية فذلك يتم عن طريف كتابتها مباشرة

مثال
X= 1.103

4- إستعارة الأسماء أو Aliases
في حالة إذا اردنا ان نضع ام معين مكان بن بعينة فيمكن ذلك باالطريقة التالية

Dim LED as porta.1
وتكمن اهمية هذا الشيء في تسهيل فهم البرنامج وجعل تذكر الأمور غاية في السهولة

وكذلك يمكن استخدام أمر SYMBOL لهذا الأمر علاوة على انه يمكن استخدامة في تعريف الثوات
مثال

Symbol LED = PORTA.0
ونكمل ان شاء الله في الدروس القادمة [/right]

[RIGHT]بسم الله الرحمن الرحيم
الدرس الثاني
1- التعامل مع المسجلات
كما ذكرنا سابقا ان المسجلات يمكن ان يستعار عنها بإسم آخر ، يمكن اسيضا ان يتم اسناد سجلين لإسم معار واحد
مثال
كما هو معلوم بعض أنواع التايمر ضمن المايكركنترولر من نوع 16 بت اي TMR1L و TMR1H
يمكن استعاره اسم واحد لكليهما من 16 بت كتالتالي
Dim timer1 as TMR1L.Word

ويمكن ايضأ التعامل مع السجلات بالجمع والرح والضرب ونحو ذلك

مثال
Dim x as byte

X= porta *10

2- طريقة كتابه الأكواد

هنالك طريقتان لكتابة الأكواد
إما بسطور عدة كما هو معلوم أو بإستخدم السطر الواحد

مثال
1- لمتعدد الأسطر

Dim x as byte

For x=0 to 100
Porta=x
Next

2- للسطر الواحد

Dim x as byte
For x=0 to 100 : porta=x: Next

حيث يتم الفصل بين الأوامر بنقطتي القول ( الرأسية) :

الدوال الرياضية ونحوها[/right]
في اللنك التالي لأنها على شكل جدول
http://www.4shared.com/file/23232027…459f/math.html

[RIGHT]ونكمل انشاء الله في الدروس القادمة

ولا تنسونا من دعئكم الصالح[/right]

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

عن أبي هريرة قال قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسانثقيلتان في الميزان حبيبتان إلى الرحمن سبحان الله وبحمده سبحان الله العظيم)

فل نجعل حياتا عامرة بذكر الله

الدرس الثالث

في هذا الدرس سنتناول كتابة كل من الجمل الشرطية والحلقات
1- الجمل الشرطية

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

والجمل الشرطية عدة أنواع
A- if
B- select case

( A جملة if
1- if

يمكن كتابها بعدة صيغ أما بأسلوب الجملة الواحدة أو الجمل المتعدده

وأما أسلوب الجملة الواحده فصيغته كالتالى

If condition then instructoion1: instruction2

وهي مكافئة لصيغة متعددة الجمل التالية

If condition then

Instruction 1

Instruction 2

Endif

2- في حالة تفرع الشرط لنتيجتين يستخدم if ….else …

وصيغة كتابتها كالتالي بإسلوب الجملة الواحدة

If condition then instruction1: instruction2: else: instruction 3

وهي مكافئة لصيغة متعددة الجمل التالية

If condition then

Instruction 1

Instruction 2

Else

Instruction 3

Endif

3- في حالة وحود اكثر من شرطين يستخدم if elseif else

بالنسبة لأسلوب السطر الواحد

If condition then instruction1:instruction2:elseif condition then condition3 : else: instruction 4

وهي مكافئة لصيغة متعددة الجمل التالية

If condition then

Instruction 1

Instruction 2

Elseif condition then

Instruction 3

Else

Condition4

Endif

وأنواع الشروط

1- اكبر من . =
2- أكبر من ساوي >=
3- اضغر من <
4- أصغر من يساوي <=
5- يساوي =
6- لا يساوي <>

وفي حالة وجود شرطين أو أكثر متعلقين ببعضهما البعض يستخدم AND و OR و XOR

الأمثلة

في هذا المثال سنستخدم if لإختبار اذا كان المتغير يحتوي على قيمة 10

[RIGHT]كود:

Dim x as word

X= 10

If x= 10 then: portb=1:else : portb=0

[/right]

أو

كود:

Dim x as word
X= 10
If x= 10 then
portb=1
Else
portb=0
endif

والمثال التالي يوضح الشروط المتعلقة ببعضها البعض

كود:

Dim x as word
Dim y as word
X= 10
Y=50
If x= 10 and y = 50 then
portb=1
else
portb=0
endif

B) Select Case

ويستخدم هذا النوع من الجمل الشرطية في حالة وجود شروط كثيرة

وصيغته كالتالي

Select variable

Case condition1

Instructions

Case condition2

instructions

Case else

Instructions

Endselect

وأنواع الشروط تم ذكرها في قاعدة if
ويضاف االيها التالي

عند كتابة الشرط يالصيغه التالية
2,3,4,5

معناها اذا كان المتغير يحمل احدى هذه القيم

وأيضا 10 to 20
معناها إذا كان المتغير يحمل قيمة ما من 10 الى 20

مثال

كود:
Dim x as byte
Select x
Case 1 Portb=0
Case 2,4,6,
Portb=3
Case > 10
Portb=2
Case else
Portb = 255
Endselect

ولطول الدرس نكمل في المشاركة التالية

وتكملة للدرس الثالث

2- الحلقات

والحلقات هي اوامر تستخدم لتنفيذ أمر معين لعدد معين من المرات أو الى ما لا نهاية أو الى ان يتم تحقق شرط معين

أنواع الحلقات

1- For next
2- While wend
3- Repeat until

1- For Next

ويستخدم هذا الأمر لتنفيذ امر ما أو عدة أوامر لعدد معين من المرات

والصيغة كالتالي

For var = value Step value

Instructions

Next

متال لجعل المنفذ A يخرج قيم من 1 الى 10

كود:

Dim x as byte
For x=1 to 10
Porta=x
Next

والعبرة هي أن الأمر porta=x سيتكرر 10 مرات

ويستخدم Step اذا اردنا ان تكون الزيادة اكثر من واحد بعد نهاية تنفيد الأمر في مرة

إذا قمنا بتعديل البرنامج السابق بإستخدام step 2سيصبح تنفيد الأمر porta =x لخمس مرات ويتم تكوت القيم الظاهرة علة المنفذ أ فردية

[RIGHT]كود:
Dim x as byte
For x=1 to 10 Step 2
Porta=x
Next

2- while wend[/right]

وهي عبارة عن حلقة شرطية ، بمعنى انه يتم تنفيد أمر معين الى ان يتحقق الشرط

والصيغة

While condition

Instructions

Wend

مثال

[RIGHT]كود:
Dim x as byte
X=0
While x< 5
Portb=x
X=x+1
Wend

أو [/right]

كود:

[RIGHT]Dim x as byte
X=0
While x<5: portb=x:wend

3- Repeat until [/right]

وهي عبارة عن حلقة شرطية
والصيغة

Repeat

Instructions

Until condition

مثال

[RIGHT]كود:

Dim x as float
X=0
Repeat
Portc=x
Inc x
Until x=10

ونكمل ان شاء الله في الدروس القادمة ان شاء الله[/right]

ولا تنسونا من دعائكم الصالح

السلام عليكم

اعنذر عن اكمال الموضوع لظروف

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