اطلاعیه

Collapse
No announcement yet.

مشکل در نمایش متغیر عددی در LCD کاراکتری

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

    مشکل در نمایش متغیر عددی در LCD کاراکتری

    [code=c]
    #include <mega16.h>
    #include <delay.h>
    #include <alcd.h>
    #include <stdio.h>
    #include <stdlib.h>
    void main(void)
    {
    PORTA=0x00;
    DDRA=0x00;
    PORTB=0x00;
    DDRB=0x03;
    // RS - PORTB Bit 0
    // RD - PORTB Bit 1
    // EN - PORTB Bit 2
    // D4 - PORTB Bit 4
    // D5 - PORTB Bit 5
    // D6 - PORTB Bit 6
    // D7 - PORTB Bit 7
    // Characters/line: 16
    lcd_init(16);
    while (1)
    {
    int i=0;
    if(PINA.0==1)
    {
    i++;
    delay_ms(1000);
    }
    }
    [/code]
    توی این کد من میخوام متغیر عددی i رو روی LCD نمایش بدم ولی هرکاری میکنم نتیجه نمیده
    میشه کمکی کنید؟

    #2
    پاسخ : مشکل در نمایش متغیر عددی در LCD کاراکتری

    در ابتدا باید متغییر رو به رشته تبدیل کنید سپس روی ال سی دی نمایش بدین

    کد:
    	
    	char lcd_buffer[16];
    	itoa(i,lcd_buffer,10);	
    	lcd_gotoxy(1,1);	
    	lcd_puts(lcd_buffer);

    دیدگاه


      #3
      پاسخ : مشکل در نمایش متغیر عددی در LCD کاراکتری

      از تابع sprintf هم میتونی استفاده کنی
      گفت که دیوانه نهی لایق این خانه نهی

      دیدگاه


        #4
        پاسخ : مشکل در نمایش متغیر عددی در LCD کاراکتری

        نوشته اصلی توسط Finder_
        از تابع sprintf هم میتونی استفاده کنی
        قبلا امتحان کردم نشد متاسفانه

        دیدگاه


          #5
          پاسخ : مشکل در نمایش متغیر عددی در LCD کاراکتری

          چرا؟
          گفت که دیوانه نهی لایق این خانه نهی

          دیدگاه


            #6
            پاسخ : مشکل در نمایش متغیر عددی در LCD کاراکتری

            نوشته اصلی توسط mehrdad_italy
            در ابتدا باید متغییر رو به رشته تبدیل کنید سپس روی ال سی دی نمایش بدین

            کد:
            	
            	char lcd_buffer[16];
            	itoa(i,lcd_buffer,10);	
            	lcd_gotoxy(1,1);	
            	lcd_puts(lcd_buffer);
            [code=c]
            #include <mega16.h>
            #include <delay.h>
            #include <alcd.h>
            #include <stdio.h>
            #include <stdlib.h>
            void main(void)
            {
            PORTA=0x00;
            DDRA=0x00;
            PORTB=0x00;
            DDRB=0x03;
            // RS - PORTB Bit 0
            // RD - PORTB Bit 1
            // EN - PORTB Bit 2
            // D4 - PORTB Bit 4
            // D5 - PORTB Bit 5
            // D6 - PORTB Bit 6
            // D7 - PORTB Bit 7
            // Characters/line: 16
            lcd_init(16);
            while (1)
            {
            int i=0;
            char lcd_buffer[16];
            itoa(i,lcd_buffer,10);
            if(PINA.0==1)
            {
            i++;
            delay_ms(1000);
            lcd_clear();
            lcd_gotoxy(0,8);
            lcd_puts(lcd_buffer);
            }
            if(PINA.0==0)
            lcd_clear();
            }
            }
            [/code]
            ارور داد خودتون بررسیش کنید

            دیدگاه


              #7
              پاسخ : مشکل در نمایش متغیر عددی در LCD کاراکتری

              چه اروری داد ؟
              این برنامه ای که شما نوشتی کلا مشکل داره اولا اینکه متغییر ها رو خارج از حلقه تعریف کن ، دوما چون نوشتی
              کد:
               if(PINA.0==0)
               lcd_clear();
              با فرض اینکه pulldown گذاشته باشی ال سی دی مدام پاک میشه و چیزی دیده نمی شه سوما itoa رو باید جایی تعریف کنی که متغییرت تغییر می کنه و ...

              دیدگاه

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