اطلاعیه

Collapse
No announcement yet.

کمک ساخت دسته کنترل با دوتا اتمگا هشت و ارتباط سریالی

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

    #16
    پاسخ : کمک ساخت دسته کنترل با دوتا اتمگا هشت و ارتباط سریالی

    این هم عکس این مدا در پروتیوس

    من تست کردم داخل پروتیوس جواب داد این چیزی که می خوام

    ولی آیا این در عمل هم جواب میده

    می شه در آن واحد دو چیز را از تریق پرت سریال انتقال داد

    در حر حال اینم عکس

    دیدگاه


      #17
      پاسخ : کمک ساخت دسته کنترل با دوتا اتمگا هشت &#160

      نوشته اصلی توسط behrooz006
      شما به هر زبانی که بلدید توضیح بدین
      فقط توضیح بدین
      :angry: :angry:
      نوشته اصلی توسط behrooz006
      عزیز دل ممنون از این که پاسخ دادی
      ولی من منضورم چیز دیگه ای هست
      هرچند تا که دوسداشتم - یعنی یک با ر یکی شو شاید دفعه بعد ستاشو فشاد دادم من می خوام همش با هم عمل کنه
      و تبق این چسزی که شما گفتی دقیقن 4096 حالت پیش میاد اگه من بخوام همه این هارو بنویسم که می میرم
      نمیشه که تعدادحالات نا مشخص باشه :surprised:
      آخه برای هر حالتی باید کد بنویسی دیگه!!!

      مثلاً کلید A عملیات الف را انجام بده
      کلید B عملیات ب و هر دو کلید عملیات ج انجام بده
      حتی اگه دینامیکی هم بخواهی عملیات تعریف کنی باز هم اینطوری نمیشه :NO:



      می شه در آن واحد دو چیز را از تریق پرت سریال انتقال داد
      علی الظاهر شما آشنایی با پورت سریال را ندارید
      منظورتون از دوچیز همزمان چیه ؟ (چیز یعنی بایت ؟ )

      ببین دوست عزیز فرم کار را باید مشخص کنید بعد برنامه نویسی را شروع کنید (نیاز سنجی)
      امام علي (عليه السلام) : الزکات العلم نشرهُ/ زکات علم نشر آن است

      دیدگاه


        #18
        پاسخ : کمک ساخت دسته کنترل با دوتا اتمگا هشت و ارتباط سریالی

        سلام
        با کدویژن باشه مساله ای نداره؟
        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
        معرفی نرم افزار Codewizard PWM
        با من بیشتر آشنا شوید

        دیدگاه


          #19
          پاسخ : کمک ساخت دسته کنترل با دوتا اتمگا هشت و ارتباط سریالی

          درودی دوباره
          این مدارش

          این هم فایلش (سورس کد + شبیه سازی در پروتئوس ورژن 7.10)
          http://s5.picofile.com/file/8114657742/Transfer_Reciver.zip.html
          برنامه فرستنده
          کد:
          /*****************************************************
          Date  : 2/24/2014
          Author : Saman.Asadi
          Chip type        : ATmega8
          Program type      : Application
          AVR Core Clock frequency: 8.000000 MHz
          Memory model      : Small
          External RAM size    : 0
          Data Stack size     : 256
          *****************************************************/
          
          #include <mega8.h>
          #include <delay.h>
          
          #ifndef RXB8
          #define RXB8 1
          #endif
          
          #ifndef TXB8
          #define TXB8 0
          #endif
          
          #ifndef UPE
          #define UPE 2
          #endif
          
          #ifndef DOR
          #define DOR 3
          #endif
          
          #ifndef FE
          #define FE 4
          #endif
          
          #ifndef UDRE
          #define UDRE 5
          #endif
          
          #ifndef RXC
          #define RXC 7
          #endif
          
          #define FRAMING_ERROR (1<<FE)
          #define PARITY_ERROR (1<<UPE)
          #define DATA_OVERRUN (1<<DOR)
          #define DATA_REGISTER_EMPTY (1<<UDRE)
          #define RX_COMPLETE (1<<RXC)
          
          // Write a character to the USART Transmitter
          #ifndef _DEBUG_TERMINAL_IO_
          #define _ALTERNATE_PUTCHAR_
          #pragma used+
          void putchar(char c)
          {
          while ((UCSRA & DATA_REGISTER_EMPTY)==0);
          UDR=c;
          }
          #pragma used-
          #endif
          
          // Standard Input/Output functions
          #include <stdio.h>
          
          // Declare your global variables here
          
          void main(void)
          {
          // Declare your local variables here
          
            PORTB=0xFF;
            PORTC=0x3F;
          
            // USART initialization
            // Communication Parameters: 8 Data, 1 Stop, No Parity
            // USART Receiver: Off
            // USART Transmitter: On
            // USART Mode: Asynchronous
            // USART Baud Rate: 9600
            UCSRA=0x00;
            UCSRB=0x08;
            UCSRC=0x86;
            UBRRH=0x00;
            UBRRL=0x33;
          
            while (1)
            {
              putchar(0x0A);
              putchar(0x0D);
              putchar(PINB);
              putchar(PINC);
              delay_ms(20);
            }
          }
          برنامه گیرنده
          کد:
          /*****************************************************
          Date  : 2/24/2014
          Author : Saman.Asadi
          Chip type        : ATmega8
          Program type      : Application
          AVR Core Clock frequency: 8.000000 MHz
          Memory model      : Small
          External RAM size    : 0
          Data Stack size     : 256
          *****************************************************/
          
          #include <mega8.h>
          
          #ifndef RXB8
          #define RXB8 1
          #endif
          
          #ifndef TXB8
          #define TXB8 0
          #endif
          
          #ifndef UPE
          #define UPE 2
          #endif
          
          #ifndef DOR
          #define DOR 3
          #endif
          
          #ifndef FE
          #define FE 4
          #endif
          
          #ifndef UDRE
          #define UDRE 5
          #endif
          
          #ifndef RXC
          #define RXC 7
          #endif
          
          #define FRAMING_ERROR (1<<FE)
          #define PARITY_ERROR (1<<UPE)
          #define DATA_OVERRUN (1<<DOR)
          #define DATA_REGISTER_EMPTY (1<<UDRE)
          #define RX_COMPLETE (1<<RXC)
          
          // Get a character from the USART Receiver
          #ifndef _DEBUG_TERMINAL_IO_
          #define _ALTERNATE_GETCHAR_
          #pragma used+
          char getchar(void)
          {
          char status,data;
          while (1)
             {
             while (((status=UCSRA) & RX_COMPLETE)==0);
             data=UDR;
             if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
               return data;
             }
          }
          #pragma used-
          #endif
          
          // Standard Input/Output functions
          #include <stdio.h>
          
          // Declare your global variables here
          
          void main(void)
          {
          
            DDRB=0xFF;
            DDRC=0x3F;
            PORTD=0x03;
          
            // USART initialization
            // Communication Parameters: 8 Data, 1 Stop, No Parity
            // USART Receiver: On
            // USART Transmitter: Off
            // USART Mode: Asynchronous
            // USART Baud Rate: 9600
            UCSRA=0x00;
            UCSRB=0x10;
            UCSRC=0x86;
            UBRRH=0x00;
            UBRRL=0x33;
          
            while (1)
            {
              if(getchar() == 0x0A)
              if(getchar() == 0x0D)
              {
                PORTB=getchar();
                PORTC=getchar();
              }
            }
          }
          این رو ببند مطمئنه مطمئنه
          خیالت راحت
          فقط به جای کریستال 8مگا 11.0592 بزارید (مخصوص پورت سریال)
          به همین راحتی ...
          به همین خوشمزگی ... :agree:
          موفق باشی
          [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
          معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
          معرفی نرم افزار Codewizard PWM
          با من بیشتر آشنا شوید

          دیدگاه

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