اطلاعیه

Collapse
No announcement yet.

حل یک تمرین

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

    حل یک تمرین

    با سلام

    من یک تمرین داشتم اگر کمک کنید متشر می شوم

    1. یک lcd 2*16 دارم

    می خواهم مثل تابلو روان در میکرو atmega16 برنامه ریزی کنم

    اول بنویسید islamic azad universty

    و بعد اولی مثل تابلو روان حذف شود بعد بنویسید IAUM

    و بعدش Microcontroler lab.

    در کد ویژن می خواستم
    با تشکر

    #2
    پاسخ : حل یک تمرین

    این تمرین تقریبا تو همه کتابای avr هست
    اگرم نداری این pdf رو دانلود کن این پروژه توش هست

    http://bme.aut.ac.ir/~maleki/documents/AVR_PNK.pdf

    فقط دقت کن تو کدویژن اتصال دیتای lcd
    4 سیمه هست!
    بازم اگه سوالی بود بگو!

    موفق باشی!

    دیدگاه


      #3
      پاسخ : حل یک تمرین

      من قبلا یه چیزی نوشته بودم ،تقریبا شبیه او چیزی هست که میخوای . ببین به دردت میخوره.


      char copy_right[]="This Project By ";
      char copy_right1[]=" masalan esmet ";
      unsigned int c,i,s;


      for(i=0;i<16;i++)
      {
      lcd_gotoxy(i,0);
      lcd_putchar(copy_right[i]);
      lcd_putsf("_"
      delay_ms(200);
      }
      for(i=0;i<15;i++)
      {
      lcd_gotoxy(i,1);
      lcd_putchar(copy_right1[i]);
      lcd_putsf("_"
      delay_ms(200);
      }
      delay_ms(2000);
      lcd_clear();
      A-Hosseini

      دیدگاه


        #4
        پاسخ : حل یک تمرین

        یپسلام با تشکر

        ببیند دوست عزیز تا جای که من می دانم

        با اول برنامه نویسی متغیر ها را تعریف کنیم درسته

        # inculde <mega16>

        و بعد کتابخانه lcd را معرفی کنیم

        رست می گم

        دیدگاه


          #5
          پاسخ : حل یک تمرین

          دوست عزیز اون pdf رو که گذاشتم برات دانلود کن پروژه سومش همین چیزیه که شما میخوای!
          شماتیکشم توشه!
          توضیحشم توشه!
          2MB هم هست کلا!!

          سوالی بود بگو

          دیدگاه


            #6
            پاسخ : حل یک تمرین

            #include <stdio.h>
            #include <mega16.h>
            #include <delay.h>
            #include <lcd.h>
            #define xtal 4000000
            #asm
            .equ __lcd_port=0x1B ;PORTA
            #endasm
            void main(void)
            {
            char buffer[10];
            unsigned char w;
            PORTB=0xFF;
            DDRB=0x00;
            lcd_init(16);
            lcd_clear();
            while (1){
            w = ~PINB;
            if(w!=0x00)
            {
            lcd_clear();
            lcd_gotoxy(0,0);
            sprintf(buffer,"Number=%d",w);
            lcd_puts(buffer);
            delay_ms(100);
            }
            else
            {
            lcd_clear();
            lcd_putsf("Number=0"
            delay_ms(100);
            }
            }
            }


            دوست گرامی کجا باید متن که می خواهم وارد کنم

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

            دیدگاه


              #7
              پاسخ : حل یک تمرین

              با سلام اول توی code wizard کدویژن اول پورت مربوط به lcd رو مشخص کن بد تو روتین اصلی برنامه میتونی از توابع زیر استفاده کنی:
              ()lcd_write_data_ داخل پرانتز اگه 0x07 رو وارد کنی lcd به چپ و یا اگه 0x06 رو وارد کنی lcd به راست شیفت میده.
              ("متن مورد نظر&quotlcd_putsf با این میتونی متن مورد نظر رو رو lcd بنویسی.

              دیدگاه


                #8
                پاسخ : حل یک تمرین

                به جای lcd_puts(buffer); //a بنویس lcd_putsf("Azad Uni" //a

                برای شیفت دادنش هم مثلا تو یه for 16 تایی بنویس

                lcd_write_data(0x06); //a


                //a رو از همه خطا حذف کن نوشتم که اینجا درست بیفته!!

                دیدگاه

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