اطلاعیه

Collapse
No announcement yet.

ارسال اطلاعات از طریق پروتکل UART

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

    ارسال اطلاعات از طریق پروتکل UART

    سلام
    کدی می خوام با AVR بنویسم که از پورت UARTعبارت Dxxxx را دریافت و بر روی نمایشگر سون سگمنت چهار رقمی نمایش دهد .X عددی بین 1 تا 9 می باشد.
    میشه راهنمایی فرمایید
    اگر کشتي شما به درد نميخورد از آن بيرون بپريدو شنا کنيد(جاناتان ونيترز)

    #2
    پاسخ : ارسال اطلاعات از طریق پروتکل UART

    این عبارت xxxx یعنی 4 تا عدد به ترتیب و تک تک ارسال میشن یا همه با هم و در یک مرحله؟
    www.gam-co.blogsky.com

    دیدگاه


      #3
      پاسخ : ارسال اطلاعات از طریق پروتکل UART

      سلام بسکام یا کدویژن

      دیدگاه


        #4
        پاسخ : ارسال اطلاعات از طریق پروتکل UART

        همه با هم ارسال میشن و با کدویژن هست
        اگر کشتي شما به درد نميخورد از آن بيرون بپريدو شنا کنيد(جاناتان ونيترز)

        دیدگاه


          #5
          پاسخ : ارسال اطلاعات از طریق پروتکل UART

          کد:
          #include <mega16.h>
          #include <stdio.h>
          #include <delay.h>
          #include <lcd.h>
          #asm
            .equ __lcd_port=0x1b //PORTA
          #endasm
           
           
           
          void main() 
          {
            char str[1];
           
            UCSRA=0x00;
            UCSRB=0x10;
            UCSRC=0x86;
            UBRRH=0x00;
            UBRRL=51;
           
            lcd_init(16);
           
            /////////////////////////////////////
            
            while(1)
            {
              gets(str,1);
              lcd_puts(str);
            }
          }
          این برای پیکربندی یوزارت
          برای نمایش روی سگمنت خودتون تلاش کنید اگه به جواب نرسیدید بگبد تا در مورد اونم بحث کنیم

          دیدگاه


            #6
            پاسخ : ارسال اطلاعات از طریق پروتکل UART


            #include <mega32.h>
            #include <stdio.h>
            #include <delay.h>
            #define SIM
            const char num[]={
            0x3F,0x06,0x5B,0x4F,0x66,
            0x6D,0x7D,0x07,0x7F,0x6F
            };
            char x0,x2,x4;
            char x,flag=0,refresh;
            char x1,x3,x5,x6;
            interrupt [USART_RXC] void usart_rx_isr(void)
            {
            //dadeh ra bekhan
            x=UDR;
            flag=1;
            }

            void main(void)
            {
            DDRA=0xFF;
            DDRB=0x0F;
            DDRD.0=1;

            TIMSK=0x00;

            UCSRA=0x00;
            UCSRB=0x98;
            UCSRC=0x06;
            UBRRH=0x00;
            UBRRL=0x19;

            while (1)
            {
            if(flag)
            {
            ;
            x0=PINA;
            x1=x0%10;
            x1++;
            if(x1>9)
            {
            x1=0;
            x3++;
            x2=x0/10;
            x3=x2%10;


            if(x3>9)
            {
            x3=0;
            }
            }

            x4=x2/10;



            x5=x4%10;
            x6=x4/10;


            for(refresh=0;refresh<200;refresh++)
            {
            #ifdef SIM
            PORTA=0x00;
            #endif
            PORTA=num[x1];
            PORTB=~0x01;
            delay_ms(1);

            #ifdef SIM
            PORTA=0x00;
            #endif
            PORTA=num[x3];
            PORTB=~0x02;
            delay_ms(1);

            #ifdef SIM
            PORTA=0x00;
            #endif
            PORTA=num[x5];
            PORTB=~0x04;
            delay_ms(1);

            #ifdef SIM
            PORTA=0x00;
            #endif
            PORTA=num[x6];
            PORTB=~0x08;
            delay_ms(1);
            }
            }
            }

            }
            اگر کشتي شما به درد نميخورد از آن بيرون بپريدو شنا کنيد(جاناتان ونيترز)

            دیدگاه

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