Saturday, June 5, 2010

شرح برنامج الوميض بالتفصيل

عندما تنظر لبرنامج الوميض المكتوب بلغة التجميع تظن أنه صعب جدا على الفهم و لكن ذلك ليس صحيحا . فهذا البرنامج هو البرنامج الأول و الأسهل للبرمجة المضمنة و الذى تستطيع عن طريقه فهم الكثير من أساليب البرمجة

الآن سنقوم بشرح هذا البرنامج خطوة بخطوة بالتفصيل. و تذكر أننى عندما بدأت تعلم البرمجة بلغة التجميع فهذا أول ما Comment تعلمته منها و وضعت
أمام كل خطوة من خطوات البرنامج لأعرف ما تقوم به بالضبط

لنبدأ الآن بشرح البرنامج

list p=16f84
include "p16f84.inc"

; هذه الخطوة مهمة لبرنامج المترجم ليعرف أى نوع من الشرائح المستخدمة و إضافة الملف الذى يترجم القيم المرتبطة بالمتحكم الدقيق


org 0x00
goto start

;
هذه الخطوة لا تترجم و لكنها تخبر المترجم بوضع الأوامر التالية من البرنامج فى هذا الموقع من الذاكرة
;
start label in the address 0x00 which is the reset vector of the PIC هذه العلامة فى أول موضع للذاكرة فى شريحة المتحكم الدقيق و عندها يبدأ تنفيذ البرنامج

org 0x20

start

; Again. Puts the label
start at the address 0x20 فى هذه الخطوة يتم وضع الأوامر التالية فى هذا الموقع من الذاكرة
bcf INTCON,7

; Clear the R7 bit in the register
INTCON which disables the interrupts جعل هذه البت فى هذا الموقع من الذاكرة قيمته صفر لإيقاف المقاطعة
movlw 0x00

; Put 0x00 in the W register وضع صفر فى هذا الموقع من الذاكرة


bsf STATUS,5


; Set the Bit 5 in the
status register which selects Bank 1 in the RAM جعل قيمة هذه البت واحد لاختيار الجانب (بنك1) من الذاكرة

movwf TRISB
; Copy the W register content into
TRISB register Trisb نسخ قيمة هذا الموقع من الذاكرة إلى
; [ makes PORTB output] PortB output وذلك لجعل

bcf STATUS,5
; Clear the Bit 5 in the status register which selects Bank 0 in the RAM جعل قيمة هذه البت واحد لاختيار الجانب (بنك0) من الذاكرة
again


; This is a label for the repeating part of the program هذه العلامة هى التى سيأتى عندها تشغيل البرنامج للتكرارالدائم


movlw 0x80
movwf PORTB

; Copies 0x80 [binary 1000 0000 ] in the W register وضع هذه القيمة فى هذا الموقع من الذاكرة
; Copy the W register content into
PORTB register PortB ثم إخراجها على المخرج
call delay

; This command calls the
Delay routine. لاستدعاء الجزء الخاص بالتأخير الزمنى فى البرنامج
movlw 0x00
movwf PORTB

; Copies 0x00 [binary 0000 0000 ] in the W register وضع هذه القيمة فى هذا الموقع من الذاكرة
; Copy the W register content into
PORTB register PortB ثم إخراجها على المخرج

goto again

; This label is important to keep the program running forever هذا الأمر ضرورى فى البرنامج لضمان تشغيله المستمر من البداية

delay


; This is the label for the delay routine بداية هذا الجزء من البرنامج الخاص بالتأخير الزمنى
; The delay consists of 3 nested loops هذا الجزء من البرنامج يتكون من 3 دوائر متداخلة

movlw 0x01
movwf 0x0e

; Put 0x01 in W register وضع هذه القيمة فى هذا الموقع من الذاكرة
; And copy it to the memory address 0x0e in RAM ثم نسخها فى الموقع الآخر من الذاكرة
loop3


; Label العلامة التى تميز الدائرة المتداخلة الخارجية

movlw 0xfa

movwf 0x0d

; Put 0xfa in W register وضع هذه القيمة فى هذا الموقع من الذاكرة ; And copy it to the memory address 0x0d in RAM ثم نسخها فى الموقع الآخر من الذاكرةloop2

; Label العلامة التى تميز الدائرة المتداخلةالوسطى

movlw 0xfa
movwf 0x0c

; Put 0xfa in W register وضع هذه القيمة فى هذا الموقع من الذاكرة
; And copy it to the memory address 0x0c in RAM ثم نسخها فى الموقع الآخر من الذاكرة

loop1


; Label العلامة التى تميز الدائرة المتداخلة الداخلية

decfsz 0x0c,1
; Decrease contents of memory address 0x0c by 1 , تقليل قيمة هذا الموضع من الذاكرة بقيمة 1
; then skip the next command if the result is zero ثم تجاهل الأمر التالى إذا كانت القيمة تساوى صفر


goto loop1


; goto the outer loop الرجوع إلى الدائرة المتداخلة الأعلى

decfsz 0x0d,1


; Decrease contents of memory address 0x0d by 1 , تقليل قيمة هذا الموضع من الذاكرة بقيمة 1
; then skip the next command if the result is zero ثم تجاهل الأمر التالى إذا كانت القيمة تساوى صفر

goto loop2

; goto the outer loop الرجوع إلى الدائرة المتداخلة الأعلى

decfsz 0x0e,1

; Decrease contents of memory address 0x0e by 1 , تقليل قيمة هذا الموضع من الذاكرة بقيمة 1
; then skip the next command if the result is zero ثم تجاهل الأمر التالى إذا كانت القيمة تساوى صفر

goto loop3

; goto the outer loop الرجوع إلى الدائرة المتداخلة الأعلى

return ; Retrun from the Delay routine العودة إلى البرنامج الأصلى قبل التفرع إلى جزء التأخير الزمنى

end

; must be put at the end of the program لابد من هذا الأمر لكى يفهم برنامج المترجم أن هذه هى نهاية البرنامج

;*********************************************************************
فى نهاية هذا البرنامج نكون قد تعرفنا على أول برنامج للمتحكم الدقيق بالتفصيل . ويمكننا تعلم و كتابة المزيد من البرامج المفيدة




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

اترك تعليقاً لنشر وجهة نظرك بخصوص هذه المقالة

قم بشراء كتابنا على موقع أمازون أو مشاركته مع أصدقاءك من المهتمين بكتب الإلكترونيات





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



هذا الرابط خاص ببرامج كيندل المملوك لموقع أمازون
برنامج كيندل مجانى تماماً ويمكنك من قراءة الآلاف من الكتب الإلكترونية ويعمل على كل الأجهزة . على أجهزة كيندل وعلى الكومبيوتر الشخصى والتالبلت بجميع أنواعه والهواتف الذكية  آيفون وأندرويد. كما أنك يمكنك القراءة على أى من هذه الأجهزة بدون تثبيت أى برامج من خلال القراءة على متصفح الإنترنت من خلال 

Kindle Cloud Reader

كما أن هناك العديد من الكتب الإلكترونية المجانية تماماً كما أن هناك الكتب المتاحة لكى تشتريها من موقع أمازون الشهير







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







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


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








موقع أوديبل هو أحد مواقع أمازون وهو مختص بالكتب الصوتية المسموعة بكافة أنواعها 
Audio Books

منها الكتب العلمية والروايات والكتب التاريخية والدروس والبودكاست

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







إذا كان لديك مولود أو تتوقع مولوداً جديداً يمكنك الإشتراك المجانى فى قائمة المولود من موقع أمازون والتى يمكنك من خلالها الإطلاع على أحدث العروض والمنتجات الخاصة بالمولود مع إمكانية عمل قائمة الأمنيات وجعل هذه القائمة ظاهرة لأصدقائك  مما يمكنهم من معرفة أفضل الهدايا للمولود أو مختفية ولاتظهر إلا لك فقط



يمكنك زيارة موقعنا الجديد


شكراً على زيارة مدونتنا كل يوم فكرة عربية





If you like this blog you can support us by many ways:
   
   1. Leave comments stating your point of view about this article.

   2. Buy our book on Amazon Learn By Making.

   3. Click on links of our sponsors without adding any extra cost on you if you make purchase from them. Actually, many of these offers are totally free.
This means that you can enjoy something for free and still support our blog to keep posting useful stuff.


Amazon.com - Read eBooks using the FREE Kindle Reading App on Most Devices


This is the well-know Amazon Kindle platform. If you sign up for the free reader from Amazon to read any book, we get commission. 
There are many useful book for free on Amazon Kindle. Even you can find best sellers offered for free on Kindle format.
The best part is you can have the application on any platform. You can even read any book without installing any application by using Amazon Cloud-Reader on your browser.


Join Amazon Kindle Unlimited 30-Day Free Trial

You can join Amazon Kindle for 30 days free to have access to many paid book for free. You can cancel you subscription anytime.


Try Amazon Prime 30-Day Free Trial


The Amazon Prime is a special paid service from Amazon that offers good promotions and one-day free shipment for Amazon Shoppers. You can try this service for 30 days. You can cancel you subscription anytime.

Shop Amazon - Give the Gift of Amazon Prime


Try Audible and Get Two Free Audiobooks


Audible is the audio books website from Amazon. Many Kindle books are sold on Audible. You can try this service for free and get 2 free book. You can cancel you subscription anytime.


Shop Amazon - Create an Amazon Baby Registry

If you have a new baby borne or expecting one, you can create your free baby registry to easily save products and get offers and promotions on baby requirements.

No comments:

Post a Comment