ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 26
  1. #1
    2013/03/12
    بهبهان
    113
    8

    ارتباط EM-18 با میکرو

    سلام دوستان من ماژول EM-18 را خریدم و راش انداختم ولی با برنامم اصلا جواب نمیده و وقتی تگ و میزنم جواب نمی ده این برناممه اگه میشه کمک کنید



    کد:
    #include <mega32.h>
    #include <delay.h>
    #include <stdio.h>
    #include <alcd.h>
    
    
    #define up PINB.4
    #define down PINB.5
    #define okey PINB.6
    
    
    
    eeprom unsigned char card1[14],card2[14],card3[14],card4[14],card5[14],card6[14],card7[14],card8[14],card9[14],card10[14];
    bit whileflag,key;
    char cn;
    char cno[16];
    unsigned char buff[14],buffread[14],usartcounter,counter,cardnumber=1,equal,c,i,l;
    
    
    
    
    void led_green(void);
    void led_red(void);
    void read_card(void);
    void save_card(void);
    
    
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    interrupt [14] void get_data()
    {
    buff[usartcounter]=UDR;
      if(usartcounter==13)
      {
        whileflag=1;
        usartcounter=0;
      }
      else if(usartcounter==!13)usartcounter++;
      
    
    }
    
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    interrupt[2] void saveing()
    {
    
    lcd_clear();
    lcd_gotoxy(0,0);
    lcd_putsf("pass new card");
    delay_ms(1000);
    read_card();
    save_card();
    
    //led_green();
    }
      
      
      
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    
    void read_card(void)
    {
    for(c=0;c<14;c++)buffread[c]=getchar();
    
    }
    
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    void save_card(void)
    {
    
      switch (cardnumber)
      {
    
      case 1:
    
        for(c=0;c<14;c++)
        {
          card1[c]=buffread[c];
        
        }
        cardnumber=2;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(1) saved");
        led_green();
        delay_ms(2000);
        break;
        
      
      case 2:
    
        for(c=0;c<14;c++)
        {
          card2[c]=buffread[c];
        
        }
        cardnumber=3;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(2) saved");
        led_green();
        delay_ms(2000);
        break;
        
        
      case 3:
    
        for(c=0;c<14;c++)
        {
          card3[c]=buffread[c];
        
        }
        cardnumber=4;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(3) saved");
        led_green();
        delay_ms(2000);
        break;
        
             
      case 4:
    
        for(c=0;c<14;c++)
        {
          card4[c]=buffread[c];
        
        }
        cardnumber=5;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(4) saved");
        led_green();
        delay_ms(2000);
        break;
      
      case 5:
    
        for(c=0;c<14;c++)
        {
          card5[c]=buffread[c];
        
        }
        cardnumber=6;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(5) saved");
        led_green();
        delay_ms(2000);
        break;
      
      case 6:
    
        for(c=0;c<14;c++)
        {
          card6[c]=buffread[c];
        
        }
        cardnumber=7;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(6) saved");
        led_green();
        delay_ms(2000);
        break;
    
    
      case 7:
    
        for(c=0;c<14;c++)
        {
          card7[c]=buffread[c];
        
        }
        cardnumber=8;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(7) saved");
        led_green();
        delay_ms(2000);
        break;                       
      
      
      case 8:
    
        for(c=0;c<14;c++)
        {
          card8[c]=buffread[c];
        
        }
        cardnumber=9;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(8) saved");
        led_green();
        delay_ms(2000);
        break;
      
      case 9:
    
        for(c=0;c<14;c++)
        {
          card9[c]=buffread[c];
        
        }
        cardnumber=10;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(9) saved");
        led_green();
        delay_ms(2000);
        break;
      
      case 10:
    
        for(c=0;c<14;c++)
        {
          card10[c]=buffread[c];
        
        }
        cardnumber=11;
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card(10) saved");
        led_green();
        delay_ms(2000);
        break;
      
      
      case 11:
    
    
        lcd_clear();
        lcd_gotoxy(0,0);
        lcd_putsf("card full !!!");
        delay_ms(2000);       
        break;            
      }        
            
    }      
           
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    
    interrupt [3] void cleaning()
    {
    key=1;
    lcd_clear();
    lcd_gotoxy(0,0);
    lcd_putsf("select card NO:");
    
    
    
      while(key)
      {
        if(up==0)
        {
          while(up==0);
          delay_us(30); 
          cn++;
          if(cn>10)cn=0;
          delay_us(30);
          lcd_clear();
          lcd_gotoxy(0,1);
          sprintf(cno,"card = %u",cn);
          lcd_puts(cno);
          
          
          
        }
        
        if(down==0)
        {
          while(down==0);
          delay_us(30);
          if(cn<=0)cn=1;
          cn--;
          delay_us(30);
          lcd_clear();
          lcd_gotoxy(0,1);
          sprintf(cno,"card = %u",cn);
          lcd_puts(cno);  
        }
        
        if(okey==0)
        {
          while(okey==0);
          delay_us(30);
          key=0;
          
        }
        
      }
      
      switch(cn)
      {
    
    
        case 1:
        
          for(c=0;c<14;c++)
          {
            card1[c]=0;
            
          }
          cardnumber=1;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(1) earased");
          delay_ms(2000);
          cn=0;
          break;
          
        case 2:
        
          for(c=0;c<14;c++)
          {
            card2[c]=0;
          }
          cardnumber=2;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(2) earased");
          delay_ms(2000);
          cn=0; 
          break;
          
        case 3:
        
          for(c=0;c<14;c++)
          {
            card3[c]=0;
          }
          cardnumber=3;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(3) earased");
          delay_ms(2000);
          cn=0;  
          break;        
          
        case 4:
        
          for(c=0;c<14;c++)
          {
            card4[c]=0;
          }
          cardnumber=4;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(4) earased");
          delay_ms(2000);
          cn=0;
          break;
          
         case 5:
        
          for(c=0;c<14;c++)
          {
            card5[c]=0;
          }
          cardnumber=5;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(5) earased");
          delay_ms(2000);
          cn=0;
          break;
          
         case 6:
        
          for(c=0;c<14;c++)
          {
            card6[c]=0;
          }
          cardnumber=6;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(6) earased");
          delay_ms(2000);
          cn=0;
          break;
          
         case 7:
        
          for(c=0;c<14;c++)
          {
            card7[c]=0;
          }
          cardnumber=7;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(7) earased");
          delay_ms(2000);
          cn=0; 
          break;
          
         case 8:
        
          for(c=0;c<14;c++)
          {
            card8[c]=0;
          }
          cardnumber=8;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(8) earased");
          delay_ms(2000);
          cn=0;
          break;
          
         case 9:
        
          for(c=0;c<14;c++)
          {
            card9[c]=0;
          }
          cardnumber=9;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(9) earased");
          delay_ms(2000);
          cn=0;
          break;
          
         case 10:
        
          for(c=0;c<14;c++)
          {
            card10[c]=0;
          }
          cardnumber=10;
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card(10) earased");
          delay_ms(2000);
          cn=0;  
          break;  
            
           
            
            
            
          
            
          
      }  
    
    
    }
    
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    
    void main (void)
    {
    
    DDRB=0X8F;
    PORTB=0XF0;
    
    DDRD=0X00;
    PORTD=0XFF;
    
    UCSRA=0x00;
    UCSRB=0x90;
    UCSRC=0x06;
    UBRRH=0x00;
    UBRRL=6;
    
    MCUCR=0X00;
    GICR=0XC0;
    GIFR=0XC0;
    
    lcd_init(16);
    
    #asm("sei")
    
    
    
    
    
    
        resume:
        
        while(whileflag==0)
        {
            
            
            lcd_putsf("Pass Your Card\n>");       //wait for card
            delay_ms(50);
            lcd_clear();
            lcd_putsf("Pass Your Card\n>>");
            delay_ms(50);
            lcd_clear();
            lcd_putsf("Pass Your Card\n>>>");
            delay_ms(50);
            lcd_clear();
            for(i=0;i<16;i++)
            {
                lcd_putsf("Pass Your Card");
                lcd_gotoxy(i,1);
                lcd_putsf(">>>>");
                delay_ms(50);
                lcd_clear();
                
            }
            lcd_putsf("Pass Your Card\n        <"); 
            delay_ms(50);
            
            for(i=16;i>0;i--)
            {
                lcd_putsf("Pass Your Card");
                lcd_gotoxy(i,1);
                lcd_putsf("<<<<");
                delay_ms(50);
                lcd_clear();
                
            }
            lcd_putsf("Pass Your Card\n<<<"); 
            delay_ms(50);
            lcd_clear();    
            lcd_putsf("Pass Your Card\n<<"); 
            delay_ms(50);
            lcd_clear();
            lcd_putsf("Pass Your Card\n<"); 
            delay_ms(50);
            lcd_clear();
            
        }
        
        whileflag=0;
        
        for(counter=0;counter<14;counter++)
        {
          if(card1[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (1)");
          led_green();
          goto resume;
          
          
          
          
         }
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card2[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (2)");
          led_green();
          goto resume;
          
          
          
          
          
         }
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card3[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (3)");
          led_green();
          goto resume;
          
          
          
          
         }
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card4[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (4)"); 
          led_green();
          goto resume;
          
          
          
         }
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card5[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (5)");
          led_green();
          goto resume;
         
          
          
          
         }
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card6[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (6)");
          led_green();
          goto resume;
          
          
          
          
          
         }
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card7[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (7)");
          led_green();
          goto resume;
         
          
          
          
         }
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card8[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (8)");
          led_green();
          goto resume;
          
          
          
          
         }
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card9[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (9)");
          led_green();
          goto resume;
          
          
          
          
         } 
         
         equal=0; 
         
         
        for(counter=0;counter<14;counter++)
        {
          if(card10[counter]==buff[counter])equal++;
        }
        if(equal==14)
        { 
          
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card (10)");
          led_green();
          goto resume;
          
          
          
          
         }
         
         equal=0; 
         
         if(equal<14)
         {
          lcd_clear();
          lcd_gotoxy(0,0);
          lcd_putsf("card not matched");
          led_red();
          
         }  
         
          
          
         
         
         
          
          
         
        
         
        
      
    }  
    
    
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    void led_green(void)
    {
      for(l=0;l<4;l++)
      {
       PORTB.0=~PORTB.0; //led
       delay_ms(500);
      }
      PORTB.2=1;
      delay_ms(1000); //buzer
      PORTB.2=0;
      
      PORTB.3=1;
      delay_ms(1500);  //relay
      PORTB.3=0;
      
      equal=0;
      
      
    
    
    }
    
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    void led_red(void)
    {
      for(l=0;l<4;l++)
      {
       PORTB.1=~PORTB.1; //led
       delay_ms(5000);
      }
    }
    IN GOD WE TRUST
  2. #2
    2011/12/22
    کرمان
    2,954
    122

    پاسخ : ارتباط EM-18 با میکرو

    چه خبره؟!
    چرا این همه برنامه؟!!!!
    بابا 4 خط بنویس UART رو بخونه جواب میده
    ماژول از این گلاب تر دیگه نیس بخدا
    کاربت بکشی شروع میکنه روی TX دیتا دادن بنده خدا
    بوق هم میزنه :biggrin:.
    بگو چیکارش کردی جواب نمیده؟!!!!

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  3. #3
    2013/03/12
    بهبهان
    113
    8

    پاسخ : ارتباط EM-18 با میکرو

    سلام
    ماژول سالمه اخه با هیپر ترمینال باهش جواب گرفتم ولی با میکرو جواب نمیده میشه یه نگاه کلی به interrupt 14 بکنی و ببینی درسته یا نه؟
    ممنون
    IN GOD WE TRUST
  4. #4
    2011/12/22
    کرمان
    2,954
    122

    پاسخ : ارتباط EM-18 با میکرو

    نقل قول نوشته اصلی توسط hfhossein
    سلام
    ماژول سالمه اخه با هیپر ترمینال باهش جواب گرفتم ولی با میکرو جواب نمیده میشه یه نگاه کلی به interrupt 14 بکنی و ببینی درسته یا نه؟
    ممنون
    میدونم سالمه ، اصلا به این راحتیا خرابش نمیتونی بکنی
    ببین من نگا کردم ولی اصلا معلوم نیست چیکار کردی
    شما UART رو راه اندازی کن ، اینتراپت ریسیو رو هم فعال کن
    مقدار بافر هم اندازه دیتا کارت بذار
    بعد که کارتو بذاری دیتا میاد میریزه تو بافر
    بعد میری بافرو میخونی ( خوندن آرایه ساده هست دیگه )
    حالا نمایش میدی یا LED سبز روشن میکنی یا هر کار دیگه
    به نظر من برنامه رو تیکه تیکه بنویسی و تست منی بهتره
    سعی کن فانکشنال بنویسی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  5. #5
    2013/03/12
    بهبهان
    113
    8

    پاسخ : ارتباط EM-18 با میکرو

    سلام آقا بسطام ممنون که جواب دادین این و رو هم نوشتم باز جواب نمی گیرم!!!
    مگه وقتی کارت و خوند نباید portb.0 یک بشه؟

    کد:
    #include <mega32.h>
    #include <delay.h>
    
    
    
    bit w=0;
    unsigned char buff[14],usartcounter;
    
    
    //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    interrupt [USART_RXC] void get_data(void)
    {
    buff[usartcounter]=UDR;
      if(usartcounter==13)
      {
     
        w=1;
      }
      else if(usartcounter==!13)usartcounter++;
                     
    
    }
    void main (void)
    {
    DDRB.0=1;
    PORTB.0=0;
    
    DDRD.0=0;
    PORTD.0=1;
    
    UCSRA=0x00;
    UCSRB=0x90;
    UCSRC=0x06;
    UBRRH=0x00;
    UBRRL=6;
    
    #asm ("sei")
    
    
      while(w)
      {
      PORTB.0=1;
    
      }
    
    
    }
    IN GOD WE TRUST
  6. #6
    2011/12/22
    کرمان
    2,954
    122

    پاسخ : ارتباط EM-18 با میکرو

    نقل قول نوشته اصلی توسط حسین فتح بگ
    سلام آقا بسطام ممنون که جواب دادین این و رو هم نوشتم باز جواب نمی گیرم!!!
    مگه وقتی کارت و خوند نباید portb.0 یک بشه؟
    خب چیکار کردی توی این؟!
    مگه نمیخوای دیتا رو بخونی؟! چرا گذاشتی = 13؟!!!
    ببین اگه میخوای خونده شدن کارت رو مشخص کنی که خود ماژول پایه Buzz داره و میتونی خونده شدن رو متوجه شی ( اگه نخونه پایه 0 نمیشه )
    ولی وقتی بخونه و پایه 0 بشه یعنی درست خونده کارتو و دیتا روی TX ارسال میشه
    حالا شما باید دیتا رو بخونی

    کد:
    #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)
    
    // USART Receiver buffer
    #define RX_BUFFER_SIZE 128
    char rx_buffer[RX_BUFFER_SIZE];
    
    #if RX_BUFFER_SIZE <= 256
    unsigned char rx_wr_index,rx_rd_index,rx_counter;
    #else
    unsigned int rx_wr_index,rx_rd_index,rx_counter;
    #endif
    
    // This flag is set on USART Receiver buffer overflow
    bit rx_buffer_overflow;
    
    // USART Receiver interrupt service routine
    interrupt [USART_RXC] void usart_rx_isr(void)
    {
    char status,data;
    status=UCSRA;
    data=UDR;
    if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
      {
      rx_buffer[rx_wr_index++]=data;
    #if RX_BUFFER_SIZE == 256
      // special case for receiver buffer size=256
      if (++rx_counter == 0) rx_buffer_overflow=1;
    #else
      if (rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
      if (++rx_counter == RX_BUFFER_SIZE)
       {
       rx_counter=0;
       rx_buffer_overflow=1;
       }
    #endif
      }
    }
    
    #ifndef _DEBUG_TERMINAL_IO_
    // Get a character from the USART Receiver buffer
    #define _ALTERNATE_GETCHAR_
    #pragma used+
    char getchar(void)
    {
    char data;
    while (rx_counter==0);
    data=rx_buffer[rx_rd_index++];
    #if RX_BUFFER_SIZE != 256
    if (rx_rd_index == RX_BUFFER_SIZE) rx_rd_index=0;
    #endif
    #asm("cli")
    --rx_counter;
    #asm("sei")
    return data;
    }
    #pragma used-
    #endif
    
    // Standard Input/Output functions
    #include <stdio.h>
    
    // Declare your global variables here
    void main(void)
    {
    // Declare your local variables here
    
    PORTB=0x00;
    DDRB=0x00;
    
    PORTC=0x00;
    DDRC=0x00;
    
    PORTD=0x10;
    DDRD=0x12;
    
    TCCR0=0x00;
    TCNT0=0x00;
    
    TCCR1A=0x00;
    TCCR1B=0x00;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x00;
    OCR1AL=0x00;
    OCR1BH=0x00;
    OCR1BL=0x00;
    
    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;
    
    MCUCR=0x00;
    
    TIMSK=0x00;
    
    // USART initialization
    // Communication Parameters: 8 Data, 1 Stop, No Parity
    // USART Receiver: On
    // USART Transmitter: On
    // USART Mode: Asynchronous
    // USART Baud Rate: 9600
    UCSRA=0x00;
    UCSRB=0x98;
    UCSRC=0x86;
    UBRRH=0x00;
    UBRRL=0x33;
    
    ACSR=0x80;
    SFIOR=0x00;
    
    ADCSRA=0x00;
    
    SPCR=0x00;
    
    TWCR=0x00;
    
    // Global enable interrupts
    #asm("sei")
    
    while (1)
       {
    
       }
    }
    الان اینجا کارت رو بکشی و دیتا بیاد توی بافر rx_buffer[i] نگاه کنی دیتای کارت آمده
    اینو میتونی توی هر آرایه ای خواستی بریزی و استفاده کنی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  7. #7
    2013/03/12
    بهبهان
    113
    8

    پاسخ : ارتباط EM-18 با میکرو

    اگه میشه خط های برنامتون و برام توضیح بدین کامل متوجه نشدم (خیلی شرمندم)
    IN GOD WE TRUST
  8. #8
    2011/12/22
    کرمان
    2,954
    122

    پاسخ : ارتباط EM-18 با میکرو

    نقل قول نوشته اصلی توسط حسین فتح بگ
    اگه میشه خط های برنامتون و برام توضیح بدین کامل متوجه نشدم (خیلی شرمندم)
    حسین جان اصلا خط توضیحی نداره
    توی ویزارد کدویژن وقتی بیای و UART رو فعال کنی ( بادریت و ... )
    اینتراپت ریسیو رو فعال کنی
    میزان بافر رو مثلا 128 بذاری
    خودش این کد رو تولید میکنه

    همین که شما پایه های TX ماژول رو به RX میکرو وصل کنی و کارت رو بکشی
    میکرو اتوماتیک دیتا رو میگیره و میریزه توی بافرش ( Rx_Buffer )
    بعد توی While میتونی هر کار دلت خواست با این دیتا بکنی

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
  9. #9
    2013/03/12
    بهبهان
    113
    8

    پاسخ : ارتباط EM-18 با میکرو

    آقا بسطام لطفا اگه میشه یه برنامه برام بنویسید که با رد کردن کارت یه ال ای دی روشن بشه دیگه نمی دونم چی کار کنم هر کاری کردم جواب نداد اگه میشه واسه mega32 بنویسید
    خیلی ممنون
    IN GOD WE TRUST
  10. #10
    2011/12/22
    کرمان
    2,954
    122

    پاسخ : ارتباط EM-18 با میکرو

    نقل قول نوشته اصلی توسط حسین فتح بگ
    آقا بسطام لطفا اگه میشه یه برنامه برام بنویسید که با رد کردن کارت یه ال ای دی روشن بشه دیگه نمی دونم چی کار کنم هر کاری کردم جواب نداد اگه میشه واسه mega32 بنویسید
    خیلی ممنون
    بابا پایه Buzz رو بخون
    اگه 0 شه یعنی کارت خونده شده
    ولی اگه از روی دیتا میخوای باید وقت بذارم و جون الان EM-18 دم دست ندارم نمیتونم تست کنم و برنامشو بنویسم

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت


    کنترلر CNC شش محوره براي پرينتر 3D و Pick n Place
    شبيه ساز تک تيرانداز و سيبل ديجيتال با پردازش تصوير
    فروش اسيلوسکوپ GWinstek GOS-630FC
صفحه 1 از 3 123 آخرین
نمایش نتایج: از 1 به 10 از 26

موضوعات مشابه

  1. ارتباط سریال یک میکرو با چندین میکرو دیگر
    توسط golpesarejahrom در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2015/09/24, 23:49
  2. روشن شدن میکرو رسیور در ارتباط سریال دو میکرو کنترلر
    توسط saeid68 در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2015/09/15, 15:33
  3. پاسخ: 4
    آخرين نوشته: 2015/07/10, 19:08
  4. ایجاد ارتباط با sim900aو میکرو و نحوهی کد نویسی در میکرو avr
    توسط hfhossein در انجمن ماژول های GPS - GSM - GPRS
    پاسخ: 63
    آخرين نوشته: 2014/07/20, 02:09
  5. پاسخ: 15
    آخرين نوشته: 2014/04/19, 16:01

کاربرانی که این تاپیک را مشاهده کرده اند: 0

هیچ عضوی در لیست وجود ندارد.

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •