اطلاعیه

Collapse
No announcement yet.

نوشتن کلمه " الکترونیک " رو LCD کارکتری

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

    نوشتن کلمه " الکترونیک " رو LCD کارکتری

    سلام
    برنامه وظیفش اینه که رو LCD کلمه " الکترونیک " رو نشون بده اما به وظیفش عمل نمیکنه :icon_razz:.
    حالا میخوام بدونم تقصیر منه یا اینکه پروتیوس. :nerd:


    /*********************************************
    This program was produced by the
    CodeWizardAVR V1.23.8c Professional
    Automatic Program Generator
    © Copyright 1998-2003 HP InfoTech s.r.l.
    http://www.hpinfotech.ro
    e-mailffice@hpinfotech.ro

    Project :
    Version :
    Date : 2008/03/09
    Author : NASA
    Company :
    Comments:


    Chip type : ATmega16
    Program type : Application
    Clock frequency : 8.000000 MHz
    Memory model : Small
    External SRAM size : 0
    Data Stack size : 256
    *********************************************/

    #include <mega32.h>

    // Alphanumeric LCD Module functions
    #asm
    .equ __lcd_port=0x15
    #endasm
    #include <lcd.h>
    // Declare your global variables here
    typedef unsigned char byte;
    /* table for the user defined character
    arrow that points to the top right corner */
    flash byte char0[8]={
    0b0000000,
    0b0001001,
    0b0001001,
    0b0001001,
    0b0001001,
    0b0011001,
    0b0000000,
    0b0000000};
    flash byte char1[8]={
    0b0011111,
    0b0000010,
    0b0000010,
    0b0000010,
    0b0010010,
    0b0011111,
    0b0000000,
    0b0000000};
    flash byte char2[8]={
    0b0000000,
    0b0000000,
    0b0000000,
    0b0000011,
    0b0000000,
    0b0000111,
    0b0000100,
    0b0011100};
    flash byte char3[8]={
    0b0000000,
    0b0000000,
    0b0000000,
    0b0000000,
    0b0010111,
    0b0010111,
    0b0000001,
    0b0000111};
    flash byte char4[8]={
    0b0000000,
    0b0000000,
    0b0000000,
    0b0000001,
    0b0000100,
    0b0011111,
    0b0000000,
    0b0011000};
    flash byte char5[8]={
    0b0011111,
    0b0000001,
    0b0000001,
    0b0000001,
    0b0000001,
    0b0011111,
    0b0000000,
    0b0000000};
    flash byte char6[8]={
    0b0000011,
    0b0000000,
    0b0000000,
    0b0000000,
    0b0010000,
    0b0011111,
    0b0000000,
    0b0000000};
    /* function used to define user characters */
    void define_char(byte flash *pc,byte char_code)
    {
    byte i,a;
    a=(char_code<<6) | 0x40;
    for (i=0; i<8; i++) lcd_write_byte(a++,*pc++);
    }
    /*.........*/
    main(void)
    {
    /*.........*/
    // LCD module initialization
    lcd_init(16);
    /* define user character 0 to 6 */
    define_char(char0,0);
    define_char(char1,1);
    define_char(char2,2);
    define_char(char3,3);
    define_char(char4,4);
    define_char(char5,5);
    define_char(char6,6);
    /* switch to writing in Display RAM */
    lcd_gotoxy(6,0);
    /* display used defined char 0 t0 6*/
    lcd_putchar(6);
    lcd_putchar(5);
    lcd_putchar(4);
    lcd_putchar(3);
    lcd_putchar(2);
    lcd_putchar(1);
    lcd_putchar(0);
    /*.........*/
    }

    #2
    پاسخ : نوشتن کلمه " الکترونیک " رو LCD کارکتری

    اولا پرتئوس رو فراموش کن.
    تو کتاب ره افروز یک توضیح کامل با مثال عملی از این مورد داره
    خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

    دیدگاه


      #3
      پاسخ : نوشتن کلمه " الکترونیک " رو LCD کارکتری

      پروتیوس برای کارهای که توی اونا زمان حرف اول رو میزنه ................ :mrgreen:
      بهتره به گفته اقای نجفی عمل بکنی و با هزینه ای حدود 7 هزارتومن روی فیبر سوراخ دار ( بی خیال برد برد واسه شروع ) این کار رو انجام بدی
      فقط توصیه می کنم برای این کارت از ال سی دی 2*16 استفاده نکنی یه کم بزرگتر باشه واسه خودت هم بهتره

      دیدگاه


        #4
        پاسخ : نوشتن کلمه " الکترونیک " رو LCD کارکتری

        من اولین بارمه که LCD دارم وصل میکنم. برا همین هم از همون کتاب ره افروز
        کمک گرفتم همون طور که میبینید برنامه خیلی بهش شبیه هست اما همون
        برنامه که تو کتاب ره افروز هم گفته بود رو رو برد بورد مونتاژ کردم اما فقط یه خط
        نشون میده. حتی تو پروتیوس.
        کجای برنامه مشکل داره؟ :cry2:

        دیدگاه


          #5
          پاسخ : نوشتن کلمه " الکترونیک " رو LCD کارکتری

          سلام
          1- بهتره اولین کد رو با بسکام بنویسید
          2- دقت بکنید که توی بسکام و کد ویژن نوع پیکره بندی ال سی دی با هم دیگه متفاوته
          3- از مدار میمینم میکرو کنترلر مطمئنی ؟ ری سیت کریستال خارجی ( بهتره همیشه از کریستال خارجی استفاده بکنی )
          4-از مقاله اقای یارمحمدی استفاده بکن
          5- اولین هدف فقط نمایش انگلیسی بعدا فارسی
          6- بهتره قبل از ارسال روی ال سی دی یه وقفه مثلا 1 ثانیه ای بذاری
          7-...........

          موفق باشی

          دیدگاه


            #6
            پاسخ : نوشتن کلمه " الکترونیک " رو LCD کارکتری

            ممنون از همه درستش کردم
            یه اشتباه کوچیک کار دستم داده بود.
            :nerd:
            فایل های پیوست شده

            دیدگاه


              #7
              پاسخ : نوشتن کلمه " الکترونیک " رو LCD کارکتری

              در برنامه پروتیوس بعضی ازکد هایی که ما به عنوان کارکتر تعریف می کنیم وجود ندارد به همین دلیل برنامه به جای متن مورد نظر کارکترهای نا مفهومی را نمایش میدهد

              دیدگاه

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