اطلاعیه

Collapse
No announcement yet.

ارتباط RS232 با رایانه

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    ارتباط RS232 با رایانه

    با سلام خدمت همه دوستان عزیز

    من میکروکنترلرم رو با آیسی MAX232 به پورت COM رایانه متصل کردم و برنامه زیر رو نیز روی میکرو بارگزاری کردم که با HyperTerminal ویندوز وTerminal emulator کامپایلر Bascom موفق به ارسال اطلاعات نشدم ولی با نرم افزار Advanced Serial Port Monitor موفق شدم که به میکرو اطلاعات ارسال کنم ولی مشکل اینجاست که میکرو فقط اعداد فردی رو که من ارسال میکنم رو اون هم به عنوان عدد 1 تشخیص میدهد من هم برای دریافت عدد از دستور WaitKey استفاده میکردم که با دستور Input تعویض کردم ولی باز هم جواب نگرفتم اگر لطف کنید و برنامه رو چک و بررسی کنید و من رو کمک و راهنمایی کنید خیلی خیلی ممنون می شوم

    regfile = "m32def.dat"
    $crystal = 8000000

    Config Lcdpin = Pin , Db4 = Pina.0 , Db5 = Pina.1 , Db6 = Pina.2 , Db7 = Pina.3 , Rs = Pina.4 , E = Pina.5
    Config Lcd = 16 * 2
    Config Portc = Output
    Dim S As Byte

    $baud = 9600

    Set Portc.0
    Set Portc.1
    Set Portc.2
    Set Portc.3
    Set Portc.4
    Set Portc.5
    Set Portc.6
    Set Portc.7

    Cls
    Locate 1 , 1
    Lcd "**Wait For Data*"
    Locate 2 , 1
    Lcd "Design By Masood"

    Do
    S = Waitkey()
    If S = 1 Then Gosub 1
    If S = 2 Then Gosub 2
    If S = 3 Then Gosub 3
    If S = 4 Then Gosub 4
    If S = 5 Then Gosub 5
    If S = 6 Then Gosub 6
    If S = 7 Then Gosub 7
    If S = 8 Then Gosub 8
    Loop

    1:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 1 **"
    Waitms 100
    Toggle Portc.0
    Return

    2:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 2 **"
    Waitms 100
    Toggle Portc.1
    Return

    3:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 3 **"
    Waitms 100
    Toggle Portc.2
    Return

    4:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 4 **"
    Waitms 100
    Toggle Portc.3
    Return

    5:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 5 **"
    Waitms 100
    Toggle Portc.4
    Return


    6:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 6 **"
    Waitms 100
    Toggle Portc.5
    Return

    7:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 7 **"
    Waitms 100
    Toggle Portc.6
    Return

    8:

    Cls
    Locate 1 , 1
    Lcd "Now Risived Data"
    Locate 2 , 1
    Lcd " ** Data Is 8 **"
    Waitms 100
    Toggle Portc.7
    Return
    http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

    #2
    پاسخ : ارتباط RS232 با رایانه

    سلام مهندس
    فکر کنم ایراد از دستور return هست به نظر من بهتره بجای اون بنویسی goto main
    حالا بالای حلقه (بالای do) بنویس main ببین چی میشه
    AV Maziton 100
    Render By Artlantis Studio
    [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

    دیدگاه


      #3
      پاسخ : ارتباط RS232 با رایانه

      سلام
      دوست عزیز عبارت inputbin s را جایگزین S = Waitkey() کن. در ضمن باید baud rate و دیگر تنظیمات مربوط به communication در خود برنامه درست باشه و مدار max232 را هم درست بسته باشی.
      درضمن باید در هر زیر برنامه قبل از return ، مقدار s را 0 کنی.

      دیدگاه


        #4
        پاسخ : ارتباط RS232 با رایانه

        با سلام

        با دستور InputBIN کد های باینری توسط میکرو دریافت میشود ، کد های باینری چه کد هایی هستند و با چه نرم افزاری برای میکرو کد های باینری ارسال کنم

        باتشکر بسیار فراوان
        http://vz.iminent.com/vz/39a77668-19...h-fishing.giff

        دیدگاه


          #5
          پاسخ : ارتباط RS232 با رایانه

          سلام دستور inputbin ینی اینکه هر نوع متغیری رو که دریافت میکنه به باینری تبدیل میکنه مثلا اگه بنویسی
          inputbin a ینی هر چی که از a دریافت میکنه تبدیل به باینری میکنه به نظر من این دستور بیشتر بدرد استفاده 2 میکرو هست چون من به راحتی با این روش 2 میکرو رو به هم ارتباط دادم بهتره بجای waitkey بنویسی input

          مثلا input s

          راستی فایل زیرو دانلود کن اموزش توپی داده میتونی خودت یه برنامه با کامپیوتر بسازی که بتونی راحت میکرو رو کنترل کنی اون برنامه چیزی نیست جز visual basic 6

          http://rapidshare.com/files/447536692/RS232.zip



          AV Maziton 100
          Render By Artlantis Studio
          [img width=346 height=100]http://maziyar123.persiangig.com/View.jpg[/img]

          دیدگاه


            #6
            پاسخ : ارتباط RS232 با رایانه

            سلام
            من یه مدار بستم
            از برنامه خوده بسکام هم استفاده کردم
            مشکلم اینه که اطلاعات به صورت کارکتر های نا مفهوم دریافت میکنم
            اصلا اونیکه میخوام برام ارسال نمیشه

            ضمنا چون لب تاپ پورت کام نداره من از یه مبدل rs232 به usb استفاده کردم
            این موضوع مشکلی براش ایجاد نمیکنه ؟
            از خوده hyperterminal ویندوز هم استفاده میکنم

            تو پروتوس هم شبیه سازی کردم ولی اطلاعات مبادله شده ناخوانا هست !!!

            دوستان متخصص کمک کنن لطفا :applause:

            دیدگاه


              #7
              پاسخ : ارتباط RS232 با رایانه

              فرکانس میکرو را روی 4 الی 6 مگا هرتز قرار بده
              موفق باشی

              دیدگاه


                #8
                پاسخ : ارتباط RS232 با رایانه

                این کار رو هم کردم ولی جواب نمیده

                $regfile = "m32def.dat" 'Define your own

                $crystal = 8000000

                $baud = 19200



                Do

                Print "Hello World"

                Waitms 25

                Loop



                End

                دیدگاه

                لطفا صبر کنید...
                X