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

أدوات الموضوع

mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 06-02-2016, 12:21 AM المشاركة 1   
افتراضي مساعدة فى توصيل 2 ميكرو بلغة bascom avr Twitter FaceBook Google+



السلام عليكم
انا واقف معايا مشكلة من فترة بحاول فيها _ المشكلة باختصار
ربط 2 ميكرو كنترول من نوع ATMEGA8 بحيث يتم ارسال واستقبال الداتا بينهم

الدايرة توضح تشغيل واطفاء LEDS عن طريق BUTTON
الBUTTON الموجود فى الميكرو الاعلى يشغل _ ويطفي الLED الموجود فى الميكرو الاسفل والعكس صحيح

دي فكرة الدايرة ببساطه
المشكلة
هوة انو لازم ارسل بيانات في شكل حرف واحد مثلا A او B او C او رقم 1 او 2 .....

المطلوب هوة ارسال جملة او مجموعة حروف زي LED ONE ON او LED ONE OFF

اريد من لدية خبرة في لغة البيزك ان يعدل علي الكود التالي لارسال واستقبال
جمله مكونة من اكتر من حرف
رسمة الدايرة بروتوس

كود الميكرو في الاعلى
كود:
$regfile = "m8def.dat"
$crystal = 4000000
'------------------------
Dim Value As Byte
Config Portb.0 = Input
Config Portb.1 = Output
Portb.1 = 0
Portb.0 = 1
'------------------------
Open "comd.6:9600,8,n,1" For Output As #6
Open "comd.7:9600,8,n,1" For Input As #5
'------------------------
Do
Value = Inkey(#5)
If Value > 0 Then
If Value = "A" Then Toggle Portb.1
End If

'----------------
'recived value
If Pinb.0 = 0 Then
Print #6 , "A"
Waitms 100
End If
Loop

كود الميكرو الاسفل

كود:
$regfile = "m8def.dat"
$crystal = 4000000
'------------------------
'Ucsrb = 0
Dim Value As Byte
Config Portb.0 = Input
Config Portb.1 = Output
Portb.1 = 0
Portb.0 = 1
'------------------------
Open "comd.6:9600,8,n,1" For Output As #5
Open "comd.7:9600,8,n,1" For Input As #6
'------------------------
Do
Value = Inkey(#6)
If Value > 0 Then
If Value = "A" Then Toggle Portb.1
End If
'----------------
'recived value
If Pinb.0 = 0 Then
Print #5 , "A"
Waitms 100
End If
Loop

اعلانات

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 06-02-2016, 08:12 AM المشاركة 2   
افتراضي


أخى
التوصيل خطأ حيث أوصلت طرفى 12و13 بين الميكرو بينما يجب أن توصل الأطراف المخصصة للوظيفة منفذ تسلسلى وهى Tx,Rx طرفى 2،3
أيضا يجب استخدام الوظيفة
IsCharWaiting() function
لتعلم هل هناك بايت فى Buffer أم لا


التعديل الأخير تم بواسطة : ماجد عباس محمد بتاريخ 06-02-2016 الساعة 08:15 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية Semmoor
Semmoor
:: مهندس متميز ::
تاريخ التسجيل: Oct 2011
المشاركات: 300
نشاط [ Semmoor ]
قوة السمعة:0
قديم 06-02-2016, 08:14 AM المشاركة 3   
افتراضي


السلام عليكم
انا واقف معايا مشكلة من فترة بحاول فيها _ المشكلة باختصار
ربط 2 ميكرو كنترول من نوع ATMEGA8 بحيث يتم ارسال واستقبال الداتا بينهم

الدايرة توضح تشغيل واطفاء LEDS عن طريق BUTTON
الBUTTON الموجود فى الميكرو الاعلى يشغل _ ويطفي الLED الموجود فى الميكرو الاسفل والعكس صحيح

دي فكرة الدايرة ببساطه
المشكلة
هوة انو لازم ارسل بيانات في شكل حرف واحد مثلا A او B او C او رقم 1 او 2 .....

المطلوب هوة ارسال جملة او مجموعة حروف زي LED ONE ON او LED ONE OFF

اريد من لدية خبرة في لغة البيزك ان يعدل علي الكود التالي لارسال واستقبال
جمله مكونة من اكتر من حرف
رسمة الدايرة بروتوس

كود الميكرو في الاعلى
كود:
$regfile = "m8def.dat"
$crystal = 4000000
'------------------------
Dim Value As Byte
Config Portb.0 = Input
Config Portb.1 = Output
Portb.1 = 0
Portb.0 = 1
'------------------------
Open "comd.6:9600,8,n,1" For Output As #6
Open "comd.7:9600,8,n,1" For Input As #5
'------------------------
Do
Value = Inkey(#5)
If Value > 0 Then
If Value = "A" Then Toggle Portb.1
End If

'----------------
'recived value
If Pinb.0 = 0 Then
Print #6 , "A"
Waitms 100
End If
Loop

كود الميكرو الاسفل

كود:
$regfile = "m8def.dat"
$crystal = 4000000
'------------------------
'Ucsrb = 0
Dim Value As Byte
Config Portb.0 = Input
Config Portb.1 = Output
Portb.1 = 0
Portb.0 = 1
'------------------------
Open "comd.6:9600,8,n,1" For Output As #5
Open "comd.7:9600,8,n,1" For Input As #6
'------------------------
Do
Value = Inkey(#6)
If Value > 0 Then
If Value = "A" Then Toggle Portb.1
End If
'----------------
'recived value
If Pinb.0 = 0 Then
Print #5 , "A"
Waitms 100
End If
Loop

نصيحتي تابع هذا الفيديو :
https://www.youtube.com/watch?v=FUq7...68CB85&index=8

كل الكورس يتكلم عن الباكسوم والمتحكم AVR


mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 06-02-2016, 12:30 PM المشاركة 4   
افتراضي


أخى
التوصيل خطأ حيث أوصلت طرفى 12و13 بين الميكرو بينما يجب أن توصل الأطراف المخصصة للوظيفة منفذ تسلسلى وهى Tx,Rx طرفى 2،3
أيضا يجب استخدام الوظيفة
IsCharWaiting() function
لتعلم هل هناك بايت فى Buffer أم لا
شكرا لردك
انا استخدم طريقة السوفت وير في توصيل اى طرفين من الميكرو
بدلا من الطرفين المخصصين لذللك والسبب هوة وجود اكتر من جهاز موصول مع
الميكرو عن طريق السيريال
فا انا باستخدم طريقة السوفت وير


mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 06-02-2016, 12:33 PM المشاركة 5   
افتراضي


نصيحتي تابع هذا الفيديو :
https://www.youtube.com/watch?v=FUq7...68CB85&index=8

كل الكورس يتكلم عن الباكسوم والمتحكم AVR
شكرا لرد حضرتك

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

والتجربة دي فيها فكرة مش موجودة في الشرح وهيا الى بحاول اوصل ليها
وهيا استقبال وارسال جمله كاملة مش حرف


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 06-02-2016, 07:18 PM المشاركة 6   
sun محاولة


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

اخى اريد مساعدتك لكنى تركت البيزيك , و لكنى ساوضح لك فكرة عمل
ما تريد بلغة تعبيرية و حضرتك ممكن تفهمها و تغير الاكواد :

كود:
char text[]="led one on "   // declare an array of characters 
for (i=0 to n)   // n= number of letters in text
        send (text[i] ) // send character one by one 
end for


و الله الموفق و المستعان
اللهم خذ بايدينا اليك




mtm4song
:: مهندس متميز ::
تاريخ التسجيل: Jun 2009
المشاركات: 635
نشاط [ mtm4song ]
قوة السمعة:0
قديم 06-02-2016, 10:55 PM المشاركة 7   
افتراضي


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

اخى اريد مساعدتك لكنى تركت البيزيك , و لكنى ساوضح لك فكرة عمل
ما تريد بلغة تعبيرية و حضرتك ممكن تفهمها و تغير الاكواد :

كود:
char text[]="led one on "   // declare an array of characters 
for (i=0 to n)   // n= number of letters in text
        send (text[i] ) // send character one by one 
end for


و الله الموفق و المستعان
اللهم خذ بايدينا اليك


اشكرك جدا

انا بحاول في الفكرة لاكن محتاج حد يكون جربها لانو بتظهر معايا اخطاء كتير
في تجربتها

لاكن في اشخاص كتير تركو لغة البيزك مش عارف لية هل هيا لغة ليست قوية
او ملهاش دعم ؟؟


mtm4anas
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2008
المشاركات: 178
نشاط [ mtm4anas ]
قوة السمعة:0
قديم 12-02-2016, 10:44 AM المشاركة 8   
افتراضي


انا محتاج نفس الفكرة بلظبط

يا ريت لو فى حد بيقدر يساعدنا ؟؟

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025