اطلاعیه

Collapse
No announcement yet.

تبدیل پورت سریال به پورت پارالل

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

    تبدیل پورت سریال به پورت پارالل

    سلام
    من یه cnc دو محوره ساختم ، حالا مشکل اینه که خروجی کامپیوترم واسه استپر موتورا باید از پورت پارالل خارج بشه ..
    از اونجایی که کامپیوترم پورت پارالل نداره ، باید یجوری پورت سریالش رو به پارالل تبدیل کنم ..
    امکان پذیره ؟؟
    اگه اره لطف کنید راهنمایی کنید ..
    ممنون
    تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
    علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

    #2
    پاسخ : تبدیل پورت سریال به پورت پارالل

    میتونید از مبدل های آماده که تو بازار هست استفاده کنید
    اینم خودم ساختم:
    mjs1990s.ir/?p=354
    سورسشم هست میتونید اونطوری که خودتون دوست دارید تغییرش بدید.
    نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

    دیدگاه


      #3
      پاسخ : تبدیل پورت سریال به پورت پارالل

      سلام
      شما از این واسه cnc استفاده کردین؟
      تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
      علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

      دیدگاه


        #4
        پاسخ : تبدیل پورت سریال به پورت پارالل

        دقیقا اینو نه ولی یه چیزی شبیه به این رو استفاده کردم
        نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

        دیدگاه


          #5
          پاسخ : تبدیل پورت سریال به پورت پارالل

          غیر از مبدل با یک میکرو ساده هم میتونی همین کار رو انجام بدی
          ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

          امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

          دیدگاه


            #6
            پاسخ : تبدیل پورت سریال به پورت پارالل

            اینکه کاری نداره.
            یک پورت میکرو رو کامل وصلی میکنی به پورت موازی پرینتر. بعدش که داده رو دریافت کردی از طریق uart میکرو ارسالش میکنی.
            ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

            امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

            دیدگاه


              #7
              پاسخ : تبدیل پورت سریال به پورت پارالل

              داده ای که میگین از چه نوعی هست ؟؟
              چطوری ارسال میشه؟؟
              من کامپیوترم پورت پرینتر نداره که گرفتار شدم .. اگه داشت که الان پرواز کرده بودم !!!!
              تیم کاوش در مسابقات بین المللی ایران اپن 2016.نمایشی.مین یاب.
              علم را باید در آزمایشگاه یاد گرفت نه در دانشگاه!

              دیدگاه


                #8
                پاسخ : تبدیل پورت سریال به پورت پارالل

                نوشته اصلی توسط sinaitg
                داده ای که میگین از چه نوعی هست ؟؟
                چطوری ارسال میشه؟؟
                من کامپیوترم پورت پرینتر نداره که گرفتار شدم .. اگه داشت که الان پرواز کرده بودم !!!!
                سلام
                ایسی های مختلفی برای اینکار وجود داره
                www.micrel.com/_PDF/HBW/sy10-100e446.pdf
                فکر کنم عنوان تاپیک رو تبدیل پارالل به سریال بنویسیدبهتره.
                من دریافته ام که ایده های بزرگ هنگامی به ذهن راه می یابند که اراده کنیم چنین ایده هایی را داشته باشیم. "چارلز چاپلین "

                دیدگاه


                  #9
                  پاسخ : تبدیل پورت سریال به پورت پارالل

                  lمیتونی از کد زیر استفاده کنی
                  فقط اونطوری که خودت میخوای تغییرش بده
                  دیتا ها مثل دستگاه های CNCـ 7 بیتی ارسال میشه یه بیت هم به عنوان بیت توازن ساخته میشه که اگه لازم نداری حذفش کن
                  برای کد زیر از کامپایلرهای GCC مثل اتمل استدیو استفاده کن



                  کد:
                  [center]
                  
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ information @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  //
                  //	ATmega16A
                  //	16 MHz
                  //
                  //	Baud rate 9,600 BPS
                  //	7 Bits , Parity => even , 1 Stop Bit
                  //
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ define @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  
                  //#define F_CPU 16000000L
                  #define F_CPU 14745600L
                  #define BAUD
                  // Define baud rate
                  #define USART_BAUD 9600L
                  #define USART_UBBR_VALUE ((F_CPU/(USART_BAUD<<4))-1)
                  
                  #define Uart_tx_ready()     (UCSRA&MSK_UART_DRE)
                  #define Uart_set_tx_busy()
                  #define Uart_send_byte(ch)   (UDR=ch)
                  
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ global @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ include @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  
                  #include <avr/io.h>
                  #include <util/delay.h>
                  //#include <avr/sfr_defs.h>
                  #include <avr/interrupt.h>
                  #include "global.h"
                  
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ function @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  
                  void USART_Init( void )
                  {
                  	/* Set baud rate */
                  	UBRRH = (unsigned char)(USART_UBBR_VALUE>>8);
                  	UBRRL = (unsigned char)USART_UBBR_VALUE;
                  	/* Enable receiver and transmitter */
                  	UCSRB = (1<<RXEN)|(1<<TXEN)|(1<<RXCIE)|(0<<UCSZ2)|(0<<UDRIE);
                  	/* Set frame format: 7data, 1stop bit */
                  	UCSRC = (1<<URSEL)|(0<<UMSEL)|(0<<USBS)|(0<<UCSZ0)|(1<<UCSZ1)|(0<<UPM0)|(1<<UPM1);
                  	
                  }
                  
                  //********************************************************************************
                  
                  void USART_SendChar(unsigned char data )
                  {
                  	
                  	while(!Uart_tx_ready());
                  	Uart_set_tx_busy(); // Set Busy flag before sending (always)
                  	Uart_send_byte(data);
                  	
                  }
                  
                  //********************************************************************************
                  
                  void outData(char d)
                  {
                  
                  	PORTB=d;
                  	
                  	if (parity (d))
                  	{
                  		sbi(PORTB,7);
                  	}
                  }
                  
                  //********************************************************************************
                  
                  int parity (unsigned x)
                  {
                  	unsigned y;
                  
                  	y = x ^ (x >> 1);
                  	y = y ^ (y >> 2);
                  	y = y ^ (y >> 4);
                  	y = y ^ (y >> 8);
                  	y = y ^ (y >>16);
                  	y = y ^ (y >>32);
                  	y = y ^ (y >>64);
                  	y = y ^ (y >>128);
                  	
                  	return y & 1;
                  }
                  
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ main @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  
                  int main()
                  {
                  	
                  	DDRB=0b11111111;
                  	PORTB=0b00000000;
                  	
                  	DDRD=0b00000010;
                  	PORTD=0b00000001;
                  	
                  	//==================================
                  	
                  	USART_Init ();
                  	sei();
                  	
                  	//==================================
                  	
                  	while (1)
                  	{
                  		
                  		
                  	}
                  
                  }
                  
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ interrupt @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  
                  ISR (USART_RXC_vect)
                  {
                  	char receve;
                  	receve=UDR;
                    outData(receve)
                  }
                  
                  //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ END @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
                  
                  [/center]
                  نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

                  دیدگاه

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