اطلاعیه

Collapse
No announcement yet.

نوشتن عدد دسیمال روی lcd با atmega32

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

    نوشتن عدد دسیمال روی lcd با atmega32

    سلام
    من یه عدد روی eeprom ذخیره کردم بعدش که میخونمش روی lcd نمایشش بدم به صورت اسکی نشون میده. ولی عدد من دسیمال بوده.
    چجوری میشه اون عدد رو دسیمال روی lcd نمایش بدم؟

    #2
    پاسخ : نوشتن عدد دسیمال روی lcd با atmega32

    سلام برنامتون رو کامل بزارید

    دیدگاه


      #3
      پاسخ : نوشتن عدد دسیمال روی lcd با atmega32

      نوشته اصلی توسط imannejaty
      سلام برنامتون رو کامل بزارید
      #include <mega32.h>
      #include <delay.h>


      #asm
      .equ __lcd_port=0x1B
      #endasm
      #include <lcd.h>
      int b=100;
      int h;
      void main(void){ while(1){



      lcd_init(16);
      PORTA=0;

      while(EECR & (1<<EEWE));
      EEAR=0x60;

      EEDR=(b);
      EECR |= (1<<EEMWE);
      EECR |= (1<<EEWE);


      if(PORTD.7==1){
      while(EECR & (1<<EEWE));
      EEAR=0x50;
      EECR |= (1<<EERE);
      h=EEDR;




      lcd_clear();
      lcd_putchar(h);
      delay_ms(500);}
      }
      }

      دیدگاه


        #4
        پاسخ : نوشتن عدد دسیمال روی lcd با atmega32

        خروجی تابع putchar کاراکتره دیگه نه عدد.ورودیش هم کد اسکی اون کاراکتر.
        متغیر h را از نوع 8 بیتی بگیرید.
        کد:
        char str[32];
        unsigned char h=0;
        sprintf(str,"%u",h);
        lcd_puts(str);
        آیا جهالت نیست که آدمی ساعات شیرین امروز را فدای روزهای آینده کند؟

        دیدگاه


          #5
          پاسخ : نوشتن عدد دسیمال روی lcd با atmega32

          نوشته اصلی توسط pooyan-shafiei
          خروجی تابع putchar کاراکتره دیگه نه عدد.ورودیش هم کد اسکی اون کاراکتر.
          متغیر h را از نوع 8 بیتی بگیرید.
          کد:
          char str[32];
          unsigned char h=0;
          sprintf(str,"%u",h);
          lcd_puts(str);
          اقای شفیعی صحیح فرمودند

          دیدگاه

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