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

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

Thamer1980
:: مهندس ::
تاريخ التسجيل: Apr 2011
المشاركات: 8
نشاط [ Thamer1980 ]
قوة السمعة:0
قديم 18-04-2011, 11:41 AM المشاركة 1   
افتراضي كيفية الحصول على RX و TX Twitter FaceBook Google+



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

لقد قمت بربط السي شارب مع البروتس و لكن أنا أريد أن أجعل Port B يقوم بعمل TX and RX. من خلال هذا المنفذ أستطيع أن أصمم أربعة من TX's and RX's
حاولت جاهدا أن أن أستخدم هذا الأمر
Soft_UART1_Init(&PORTb, 0, 1, 9600, 0);
و لكن لم اعرف كيف أكمل البرنامج حيث أن فكرتي هي التالي
التحكم بإضائة لدات من خلال السي شارب و التحكم يكمن في التشغيل و الإيقاف
عن طريق السي شارب أقوم بتصميم 4 text_box و كذلك 4 أزرار
من خلال الــ text_box أدخل الفترة أو الزمن ومن ثم أقوم بالنقر على الزر التشغيل ,,فيضيء الــLED حسب الزمن اللذي أدخلته في الــtext_box
---
نقاط ممكن أنها تفيد في توصيل الفكرة بشكل أوسع
????: منتديات الالكترونيات العصريه www.dbaasco.com/vb/showthread.php?t=6030
1-عند إنشاء متغير في السي شارب,,كيف أقوم بعمل متغير في الــmikroc for pic يستقبل هذا المتغير,, لنفرض أن هذا المتغير هو الزمن أو المدّه اللتي من خلالها أتحكم في أضائة و أطفاء الــLed
2-في برنامج البروتس ,,كيف أقوم توصيل RS232 pins(RX and TX
في PortB
------
يمكن أن أستبدل rs232 بـــ rs485

أمل من الله ثم منكم المساعدة في الحصول على حل لهذه الفكره.
و لكم جزيل الشكر.

اعلانات

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 18-04-2011, 04:43 PM المشاركة 2   
افتراضي


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

اتمنى ان يفيدك هذا الموضوع
www.dbaasco.com/vb/showthread.php?t=5029


ملاحظة:
اسئلتك كثيرة وغير منظمة او واضحة


بالتوفيق ان شاء الله

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

الصورة الرمزية moi12
moi12
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2008
الدولة: المغرب
المشاركات: 65
نشاط [ moi12 ]
قوة السمعة:0
قديم 18-04-2011, 09:38 PM المشاركة 3   
افتراضي


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



الملخص المفيد بلا تعقيد فى ربط الPIC بالكمبيوتر عن طريق ال USB (طريقة متميزة)
Sheimy

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

---------------------------------------------------------
كل ما تحتاجه لربط الميكروكنترولر بالـ USB ( شرح متميز )
hassan-mohamed

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

---------------------------------------------------------
خطوة بخطوة لربط الميكروكنترولر بالكمبيوتر عن طريق الـ USB
Sheimy

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


Thamer1980
:: مهندس ::
تاريخ التسجيل: Apr 2011
المشاركات: 8
نشاط [ Thamer1980 ]
قوة السمعة:0
قديم 19-04-2011, 10:54 AM المشاركة 4   
افتراضي


جزاكم الله خيرا


robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:103
قديم 19-04-2011, 12:23 PM المشاركة 5   
افتراضي


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

لقد قمت بربط السي شارب مع البروتس و لكن أنا أريد أن أجعل Port B يقوم بعمل TX and RX. من خلال هذا المنفذ أستطيع أن أصمم أربعة من TX's and RX's
حاولت جاهدا أن أن أستخدم هذا الأمر
Soft_UART1_Init(&PORTb, 0, 1, 9600, 0);
و لكن لم اعرف كيف أكمل البرنامج حيث أن فكرتي هي التالي
التحكم بإضائة لدات من خلال السي شارب و التحكم يكمن في التشغيل و الإيقاف
عن طريق السي شارب أقوم بتصميم 4 text_box و كذلك 4 أزرار
من خلال الــ text_box أدخل الفترة أو الزمن ومن ثم أقوم بالنقر على الزر التشغيل ,,فيضيء الــLED حسب الزمن اللذي أدخلته في الــtext_box
---
نقاط ممكن أنها تفيد في توصيل الفكرة بشكل أوسع
????: منتديات الالكترونيات العصريه www.dbaasco.com/vb/showthread.php?t=6030
1-عند إنشاء متغير في السي شارب,,كيف أقوم بعمل متغير في الــmikroc for pic يستقبل هذا المتغير,, لنفرض أن هذا المتغير هو الزمن أو المدّه اللتي من خلالها أتحكم في أضائة و أطفاء الــLed
2-في برنامج البروتس ,,كيف أقوم توصيل RS232 pins(RX and TX
في PortB
------
يمكن أن أستبدل rs232 بـــ rs485

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


robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:103
قديم 19-04-2011, 12:25 PM المشاركة 6   
افتراضي


بالنسبة لل rs485
ستحتاج لموديول من الجهتين من حهة البيك ومن جهة الكمبيوتر.


Thamer1980
:: مهندس ::
تاريخ التسجيل: Apr 2011
المشاركات: 8
نشاط [ Thamer1980 ]
قوة السمعة:0
قديم 19-04-2011, 03:32 PM المشاركة 7   
افتراضي


جزاكم الله خيرا على الردود

أنا حاولت بهذا الكود
mikroc
كود:
data p1,p2,p11,p22;
void main()
{
int x1,x2;لكي تستقبل المتغيرات في السي شارب
trisb=0;
trisd=0;
portb.b1=1;
portb.b2=1;
delay_ms(1000);
portb.b1=0;
portb.b2=0;
uart1_init(9600);
delay_ms(500);
while (1)
{ 



if(uart1_data_ready())
{
                   p1=uart1_read();
                   if (p1 == 'a') {
                   p11=uart1_read();
  portd=p11;
  x1=portd;
  portb.b1=1;
   delay_ms(500);
           portb.b1=0;
           portd=0;
           }
           if (p1 =='b'){
           p22=uart1_read();
           portd=p22;
  x2=portd;

  portb.b2=1;
   delay_ms(500);
           portb.b2=0;
           portd=0;

           
           
                        }}

}}
و هذا كود السي شارب

كود:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace ser33
{
    public partial class Form1 : Form

    {
        SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string x;
            x = "a";
          
            port.Open();
            port.Write(x);
            port.Write(textBox1.Text);
            port.Close();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string z;
            z = "b";
            
    
            port.Open();
            port.Write(z);
            port.Write(textBox2.Text);
            
            port.Close();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
عند تشغيل شاشة السي شارب و برنامج البروتس
و ادخل قيمة مثلا 10 يشتغل اللد الأول
و لكن عندما أدخل قيمة و لتكن مثلا 40 فأن القيمة تبقى على portd
10 ولا تتغير
---
انا أريد أن أدخل مثلا في التكست بوكس1 10 و عند النقر على button1 يقوم البك بأخذ هذه القيمة كفترة زمنية لتشغيل اللد و بنفس الوقت أقوم بإدخال قيمة في التكست بوكس2 و عند النقر على button2 يقوم البك بأخذ هذه القيمة كفترة زمنية لتشغيل اللد الثاني.
--
كيف يقوم البك بتخزين هذه القيم في الذاكرة حيث أنني أريد عند تشغيل برنامج السي شارب يقوم بعرض هذه القيم المخزنة في التكست بوكسز
---
أنا أعتذر عن سوء معرفتي بتوصيل الفكرة و لكن أرجو المعذره
هي مجرد فكره و إن شاء الله تكتمل,,,


التعديل الأخير تم بواسطة : Thamer1980 بتاريخ 19-04-2011 الساعة 03:51 PM

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 926
نشاط [ robota ]
قوة السمعة:103
قديم 20-04-2011, 10:06 AM المشاركة 8   
افتراضي


اخى كود الميكروسى فقط يقوم بتشغيل الليد لمدة 500 ميلى ثانية.
بمعنى اذا استقبل a10 يقوم بتشغيل الليد الاول لمدة 500 ميلى ثانية وكذلك اذا استقبل a20 او a200 .
لحل هذا الاشكال استخدم
كود:
vdelay_ms(p11)
هنا p11 بالميلى ثانية .
او استخدم الكود التالى
كود:
for(i=1;i<=p11;i++)
{
delay_ms(1000);
}
هنا p11 بالثوانى فمثلا اذا كانت p11 ==10 سيظل الليد يعمل لمدة 10 ثوانى.

ثانيا:
لست بحاجة الى اسناد قيمة p11 الى portd ثم الى x , اكتفى فقط ب p11 فهو يمثل الفترة الزمنية وكذلك p22 .

ثالثا:
ادخل قيمة مثلا 10 يشتغل اللد الأول
و لكن عندما أدخل قيمة و لتكن مثلا 40 فأن القيمة تبقى على portd
10 ولا تتغير
هذا لانك تقوم بارسال الرقم كنص بمعنى الرقم 10 سيرسل كالتالى
اولا صفر بالاسكى 48 ثم 1 بالاسكى 49 وهكذا
الحل:
قم بالارسال كبايت :
والكود
كود:
 port.Write(a, 0, 1);
a=== byte مصفوفة تحتوى على على قيمة فترة التاخير الزمنى (عنصر واحد).
اقصى رقم يمكن ارساله هو 255 .
اذا كانت المتوقعة اكبر من ذلك فقم بتقسيم الرقم الى احاد وعشرات..

قم بتنفيذ ما ذكرته لك واذا واجهتك مشكلة فلا تتردد فى عرضها.
بالتوفيق

إضافة رد

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

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

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


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

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