قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 24-12-2009, 01:18 AM المشاركة 9   
افتراضي



هو اكود شكله بسيط

كود:
Dim st As Word
st=PulsIn PORTB.7,0
السلام عليكم ورحمة الله وبركاتة



dim = char ميكرو سى وتساوى VAR BYTE بالبيزك



( st, As ,Word )

الثلاثة 3 متغيرات تم حجزهم

st=PulsIn

هنا اعرف ان st هى واحد من المتغيرات ال3 التى بالاعلى

انما PULSIN
لا اعرفها
(اعتقد ان توضيحها فى الكود فى جزء غير موجود هنا )


PORTB.7,0 طبعا = f7 & f0 من البورت B

اعلانات

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 24-12-2009, 01:32 AM المشاركة 10   
افتراضي


اخي ناصر .. اي ثلاث متغيرات ؟؟

Dim st As Word
لا تعني ما تقوله ! ولتعلم الاجابة لن أقولها لك مباشرة بل أقترح عليك ان تتعلم او تتطلع سريعا على اساسيات لغة البيزك من أي مصدر
ويوجد مصدر عربي وجميل في هذا الموضوع وهو شرح استاذنا الكبير المهندس علاء الدين (دورة بيك بيزك نظرية وعملية مدفوعة الأجر)
انظر للدرس الخاص بشرح المتغيرات

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


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



لماذا لا نتعلم هذه اللغات ونستفيد من اي كود يكتبه اي شخص وفي النهاية نكتب الكود باللغة التي نحترفها اكثر ونرتاح إليها .

وفقكم الله .. وهذا الموضوع فكرة طيبة .. أتمنى أن تثمر أكثر وأكثر . والسلام عليكم .

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 24-12-2009, 01:43 AM المشاركة 11   
افتراضي


السلام عليكم ورحمة الله وبركاتة

شكرا استاذى احمد


فدائما حتى فى ردودك السريعة نتعلم ونستفيد منها الكثير والكثير



وبعد قرائتى لردك تم البحث عن الدالة

وهذا اقتباس لتعريفه


جزاك الله كل خير اخي بصراحة سعدت كثيرا بسؤالك

بالنسبة الى امر PulsIn فهو يقوم بقياس عرض النبضه عندما تتغير من صفر الى واحد

ولو لاحظت بعد ذلك اننا قمنا بتعريف متغير اسمه ir_word
وضعنا فيه اذا كان عرض النبضه اكثر من 90 يكون واحد
واذا كان اقل من ذلك يكون صفر

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

والله اعلم

وهذة هى الصفحة

http://www.qariya.com/vb/showthread.php?t=43672&page=2



اما بالنسبة للمتغيرات

فاعتقد ان هذا الاقتباص سوف يفيد ان شاء الله

1) WARNINGS OFF

2) Dim bcd_to_bin_byte
3) Dim low_bits
4) Dim high_bits
5) Dim ds1307_address
6) Dim second
7) Dim minute
8) Dim minute_on
9) Dim minute_off
10)Dim hour
11)Dim hour_on
12)Dim hour_off
13)Dim buttonvalue
14)Dim maxvalue
15)Dim minvalue
16)Dim index

17)WARNINGS On

18)Symbol up=PORTA.2
19)Symbol down=PORTA.3
20)Symbol setup=PORTA.4
21)Symbol clockout=%11010000
22)Symbol clockin=%11010001

9) يستخدم هذا الأمر لتعطيل رسائل الخطاء في المترجم وقد استخدمناه هنا لانه لم يتم تعريف حجم المتغيرحيث أن المتغيرات تكتب بهذه الصيغة

DIM Label AS Size

Size= (bit) or (byte) or (word) or (dword) or (float) حيث أن كل متغير يحجز من الذاكرة مساحة معينه حسب حجمة
bit=1 bit
byte= 8 bit
word = 16 bit
dword = 32 bit
float = 32 bit

من 10 حتى 24 متغيرات
25)تشغيل رسائل الخطاء
26)Symbol للتعبير عن منفذ أو متغير أو رقم صحيح وهي تختلف عن المتغيرات ولا تشغل مساحة من الذاكرة وهنا نعبر عن PORTA.2 بكلمة UP
وهذة هى صفحة الاقتباس

http://www.qariya.com/vb/showthread.php?t=36359




عموما استاذى احمد انا فقط احاول
ان اساعد بقدر استطاعتى وليس الا

ولم اذكر انى قد تعلمت لغة البيزك



ولكن بفضل الله ثم تعليمك بالطريقة السلسة


استطعت ان اترجم لنفسى الكود الموجود فى مشاركاتى الاولى هنا


وبعد ترجمة هذا الكود استطعت بحمد الله تحريك الماتركس



وكما علمتنا من قبل ان لا نعتمد على مصدر واحد للمعلومات

انما نسعى اليها فى كل مكان


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 24-12-2009 الساعة 02:10 AM

mizort1989
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2009
المشاركات: 70
نشاط [ mizort1989 ]
قوة السمعة:
قديم 24-12-2009, 02:45 AM المشاركة 12   
افتراضي


استاذ احمد انا اواجه صعوبه في عمل داله تناظر عمل داله pulsin في البيسك

و سأستخدمها في فك شفره ريموت كونترول ببروتوكول sirc لكن للأسف عندي بعض المعوقات

1-حساب الزمن لإيجاد عرض النبضه
انا اعلم اني يجب ان استخدم الtimers
2- حساب عدد النبضات
اعلم ايضا انه يجب استخدام timer كعداد للنبضات الداخله للmicro
3- يجب ان تشتخدم الinterupts

لكن حضرتك يا استاذ احمد لم تشرح لنا بعد تلك النقاط

انا حاولت فهم بعض تلك المواضيع لكن للإسف لا استطيع الإلمام بها بما يكفي لتنفيذ البرنامج

انا قرأت شروحات كثيره عن الtimers و الinterupts لكن لم اتقنها بالقدر الكافي الذي يمكنني به عمل موضوع معقد مثل ذلك

و في النهايه هدفي هو همل library لل ir و يستخدمها الناس في الmicroc
للتسهيل في هذا الموضوع المهم و هو الinfrared

كل ما هو اعلي ما جعلني اسأل عن امر pulsin في الbasic



الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:42 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)