اطلاعیه

Collapse
No announcement yet.

سوالی در مورد کتاب خانه alcd.h و توابع آن...................

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

    سوالی در مورد کتاب خانه alcd.h و توابع آن...................

    سلام
    کسی تا حالا با این کتاب خانه کار کرده
    توابعش چیا هستش؟؟؟؟؟؟
    کسی لیست توابعش رو داره؟؟؟
    فرقش با کتابخونه lcd.h چیه؟؟؟؟

    تو نت گشتم و تو eca هم همینطور ولی مطلبی درست و حسابی در این زمینه نیود..................... :cry:
    ممنون میشم دوستان راهنمایی کنن :redface:
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

    به زبان سی برای کامپایلر gcc یا همون AVR studio خودمون.
    کد:
    
    #ifndef _LCD_2H_H_
    #define _LCD_2H_H_ 1
    
    #ifdef __cplusplus
    extern "C" {
    #endif /* __cplusplus */
    
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    
    /** output pins to lcd : **/
    #define LCD_CONT_PORT PORTA /* port register to control pins */
    #define LCD_CONT_DDR  DDRA  /* direction register to control pins */
    #define LCD_DATA_PORT PORTA /* port register to data pins */
    #define LCD_DATA_DDR  DDRA  /* direction register to data pins */
    #define LCD_DATA_PIN  PINA  /* input register to data pins */
    #define LCD_RS 0 /* RS pin - register */
    #define LCD_RW 1 /* RW pin - read/write */
    #define LCD_EN 2 /* EN pin - enable */
    #define LCD_D4 4 /* D4 pin - data 4 */
    #define LCD_D5 5 /* D5 pin - data 5 */
    #define LCD_D6 6 /* D6 pin - data 6 */
    #define LCD_D7 7 /* D7 pin - data 7 */
    
    /** macro routines **/
    #define lcd_clear()     lcd_cmd(0x01) /* clear lcd */
    #define lcd_home()     lcd_cmd(0x02) /* cursor to home */
    #define lcd_cursor_on()   lcd_cmd(0x0E) /* displays lcd cursor */
    #define lcd_cursor_blink() lcd_cmd(0x0F) /* displays lcd blinking cursor */
    #define lcd_cursor_off()  lcd_cmd(0x0C) /* turn off cursor */
    #define lcd_blank()     lcd_cmd(0x08) /* blank lcd */
    #define lcd_visible()    lcd_cmd(0x0C) /* show lcd */
    #define lcd_shift_left()  lcd_cmd(0x1E) /* scrol characters left */
    #define lcd_shift_right()  lcd_cmd(0x18) /* scrol characters right */
    #define lcd_cursor_left()  lcd_cmd(0x10) /* moves cursor poisitions left */
    #define lcd_cursor_right() lcd_cmd(0x14) /* moves cursor poisitions right */
    #define lcd_showchar(num)  lcd_putc(num) /* show defined character symbol in lcd CGRAM */
    
    /** global variables **/
    const unsigned char PROGMEM _DDRAM_addr[4] = {0,64,20,84};
    
    /** needed prototypes **/
    void lcd_busy_wait(void);
    
    /** lcd delay (1ms) **/
    void lcd_delay(void) {
     unsigned short count = F_CPU / 4000 * 1;
     
     asm volatile (
      "1: sbiw %0,1""\n\t"
      "brne 1b"
      : "=w" (count)
      : "0" (count)
     );
    }
    
    /** send byte to lcd (0:command or 1:character) **/
    void lcd_send_byte(unsigned char byte, unsigned char type) {
     /*lcd_busy_wait();*/
     
     /* data pins set as output */
     LCD_DATA_DDR |= ((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     
     /* send byte high nibble */
     LCD_DATA_PORT &= ~((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     if (byte & (1 << 7)) {LCD_DATA_PORT |= (1 << LCD_D7);}
     if (byte & (1 << 6)) {LCD_DATA_PORT |= (1 << LCD_D6);}
     if (byte & (1 << 5)) {LCD_DATA_PORT |= (1 << LCD_D5);}
     if (byte & (1 << 4)) {LCD_DATA_PORT |= (1 << LCD_D4);}
     
     LCD_CONT_PORT |= (1 << LCD_EN);
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     LCD_CONT_PORT &= ~(1 << LCD_EN);
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
     
     /* send byte low nibble */
     LCD_DATA_PORT &= ~((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     if (byte & (1 << 3)) {LCD_DATA_PORT |= (1 << LCD_D7);}
     if (byte & (1 << 2)) {LCD_DATA_PORT |= (1 << LCD_D6);}
     if (byte & (1 << 1)) {LCD_DATA_PORT |= (1 << LCD_D5);}
     if (byte & (1 << 0)) {LCD_DATA_PORT |= (1 << LCD_D4);}
     
     LCD_CONT_PORT |= (1 << LCD_EN);
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     LCD_CONT_PORT &= ~(1 << LCD_EN);
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
    }
    
    /** send command to lcd **/
    void lcd_cmd(unsigned char cm) {
     lcd_send_byte(cm, 0);
    }
    
    /** send character to lcd **/
    void lcd_putc(unsigned char ch){
     lcd_send_byte(ch, 1);
    }
    
    /** read byte from lcd (0:command or 1:character) **/
    unsigned char lcd_read_byte(unsigned char addr, unsigned char type) {
     unsigned char ans = 0;
     
     if (type) {lcd_cmd(addr);}
     /*lcd_busy_wait();*/
     
     /* data pins set as input */
     LCD_DATA_DDR &= ~((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     
     /* read byte high nibble */
     LCD_CONT_PORT |= ((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     
     if (LCD_DATA_PIN & (1 << LCD_D7)) {ans |= (1 << 7);}
     if (LCD_DATA_PIN & (1 << LCD_D6)) {ans |= (1 << 6);}
     if (LCD_DATA_PIN & (1 << LCD_D5)) {ans |= (1 << 5);}
     if (LCD_DATA_PIN & (1 << LCD_D4)) {ans |= (1 << 4);}
     
     LCD_CONT_PORT &= ~((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
     
     /* read byte low nibble */
     LCD_CONT_PORT |= ((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     
     if (LCD_DATA_PIN & (1 << LCD_D7)) {ans |= (1 << 3);}
     if (LCD_DATA_PIN & (1 << LCD_D6)) {ans |= (1 << 2);}
     if (LCD_DATA_PIN & (1 << LCD_D5)) {ans |= (1 << 1);}
     if (LCD_DATA_PIN & (1 << LCD_D4)) {ans |= (1 << 0);}
     
     LCD_CONT_PORT &= ~((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
     
     return ans;
    }
    
    /** wait to end lcd busy status **/
    void lcd_busy_wait(void) {
     while (lcd_read_byte(0, 0) & (1 << 7));
    }
    
    /** read character or byte from DDRAM or CGRAM **/
    unsigned char lcd_read_char(unsigned char addr) {
     return lcd_read_byte(addr, 1);
    }
    
    /** initialize lcd **/
    void lcd_init(void) {
     /* set pins */
     LCD_CONT_PORT &= ~((1 << LCD_EN) | (1 << LCD_RW) | (1 << LCD_RS));
     LCD_CONT_DDR |= ((1 << LCD_EN) | (1 <<LCD_RW) | (1 << LCD_RS));
     
     /* software set */
     lcd_cmd(0x33);
     lcd_cmd(0x32);
     lcd_cmd(0x28); /* function: two lines - 4bit mode - 5*7 font */
     lcd_cmd(0x0C); /* lcd/cursor: display on - cursor off */
     /*lcd_cmd(0x06);*/
    }
    
    /** lcd cursor to x,y position - set DDRAM address **/
    void lcd_gotoxy(unsigned char x, unsigned char y) {
     x %= 40; /* set in range */
     y %= 4;  /* set in range */
     lcd_cmd(1 << 7 | (pgm_read_byte(&_DDRAM_addr[y]) + x));
    }
    
    #define lcd_puts(s)    (_lcd_puts(0, s))    /* print string to lcd */
    #define lcd_puts_P(s)   (_lcd_puts(1, s))    /* print flash string to lcd */
    #define lcd_puts_PSTR(s) (_lcd_puts(1, PSTR(s))) /* print flash string to lcd */
    
    /** print string to lcd private function **/
    void _lcd_puts(unsigned char sIsP, const char *str) {
     unsigned char ch;
     
     while ((ch = (sIsP) ? (pgm_read_byte(str++)) : (*str++))) {
      lcd_putc(ch);
     }
    }
    
    /** defines character symbol in lcd CGRAM **/
    void lcd_defchar(const unsigned char *cch, unsigned char num) {
     unsigned char a;
     
     num = ((1 << 6) | (num << 3));
     
     for (a = 0; a < 8; a++) {
      lcd_cmd(num++);
      lcd_putc(pgm_read_byte(cch++));
     }
    }
    
    #ifdef __cplusplus
    }
    #endif /* __cplusplus */
    
    #endif /* _LCD_2H_H_ */
    البته کدویژن نسخه V2.05.0 Advanced هم از کتابخونه ای با همین نام استفاده می کنه که اینم کدش هست:
    کد:
    
    
    #ifndef _LCD_2H_H_
    #define _LCD_2H_H_ 1
    
    #ifdef __cplusplus
    extern "C" {
    #endif /* __cplusplus */
    
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    
    /** output pins to lcd : **/
    #define LCD_CONT_PORT PORTA /* port register to control pins */
    #define LCD_CONT_DDR  DDRA  /* direction register to control pins */
    #define LCD_DATA_PORT PORTA /* port register to data pins */
    #define LCD_DATA_DDR  DDRA  /* direction register to data pins */
    #define LCD_DATA_PIN  PINA  /* input register to data pins */
    #define LCD_RS 0 /* RS pin - register */
    #define LCD_RW 1 /* RW pin - read/write */
    #define LCD_EN 2 /* EN pin - enable */
    #define LCD_D4 4 /* D4 pin - data 4 */
    #define LCD_D5 5 /* D5 pin - data 5 */
    #define LCD_D6 6 /* D6 pin - data 6 */
    #define LCD_D7 7 /* D7 pin - data 7 */
    
    /** macro routines **/
    #define lcd_clear()     lcd_cmd(0x01) /* clear lcd */
    #define lcd_home()     lcd_cmd(0x02) /* cursor to home */
    #define lcd_cursor_on()   lcd_cmd(0x0E) /* displays lcd cursor */
    #define lcd_cursor_blink() lcd_cmd(0x0F) /* displays lcd blinking cursor */
    #define lcd_cursor_off()  lcd_cmd(0x0C) /* turn off cursor */
    #define lcd_blank()     lcd_cmd(0x08) /* blank lcd */
    #define lcd_visible()    lcd_cmd(0x0C) /* show lcd */
    #define lcd_shift_left()  lcd_cmd(0x1E) /* scrol characters left */
    #define lcd_shift_right()  lcd_cmd(0x18) /* scrol characters right */
    #define lcd_cursor_left()  lcd_cmd(0x10) /* moves cursor poisitions left */
    #define lcd_cursor_right() lcd_cmd(0x14) /* moves cursor poisitions right */
    #define lcd_showchar(num)  lcd_putc(num) /* show defined character symbol in lcd CGRAM */
    
    /** global variables **/
    const unsigned char PROGMEM _DDRAM_addr[4] = {0,64,20,84};
    
    /** needed prototypes **/
    void lcd_busy_wait(void);
    
    /** lcd delay (1ms) **/
    void lcd_delay(void) {
     unsigned short count = F_CPU / 4000 * 1;
     
     asm volatile (
      "1: sbiw %0,1""\n\t"
      "brne 1b"
      : "=w" (count)
      : "0" (count)
     );
    }
    
    /** send byte to lcd (0:command or 1:character) **/
    void lcd_send_byte(unsigned char byte, unsigned char type) {
     /*lcd_busy_wait();*/
     
     /* data pins set as output */
     LCD_DATA_DDR |= ((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     
     /* send byte high nibble */
     LCD_DATA_PORT &= ~((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     if (byte & (1 << 7)) {LCD_DATA_PORT |= (1 << LCD_D7);}
     if (byte & (1 << 6)) {LCD_DATA_PORT |= (1 << LCD_D6);}
     if (byte & (1 << 5)) {LCD_DATA_PORT |= (1 << LCD_D5);}
     if (byte & (1 << 4)) {LCD_DATA_PORT |= (1 << LCD_D4);}
     
     LCD_CONT_PORT |= (1 << LCD_EN);
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     LCD_CONT_PORT &= ~(1 << LCD_EN);
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
     
     /* send byte low nibble */
     LCD_DATA_PORT &= ~((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     if (byte & (1 << 3)) {LCD_DATA_PORT |= (1 << LCD_D7);}
     if (byte & (1 << 2)) {LCD_DATA_PORT |= (1 << LCD_D6);}
     if (byte & (1 << 1)) {LCD_DATA_PORT |= (1 << LCD_D5);}
     if (byte & (1 << 0)) {LCD_DATA_PORT |= (1 << LCD_D4);}
     
     LCD_CONT_PORT |= (1 << LCD_EN);
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     LCD_CONT_PORT &= ~(1 << LCD_EN);
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
    }
    
    /** send command to lcd **/
    void lcd_cmd(unsigned char cm) {
     lcd_send_byte(cm, 0);
    }
    
    /** send character to lcd **/
    void lcd_putc(unsigned char ch){
     lcd_send_byte(ch, 1);
    }
    
    /** read byte from lcd (0:command or 1:character) **/
    unsigned char lcd_read_byte(unsigned char addr, unsigned char type) {
     unsigned char ans = 0;
     
     if (type) {lcd_cmd(addr);}
     /*lcd_busy_wait();*/
     
     /* data pins set as input */
     LCD_DATA_DDR &= ~((1 << LCD_D7) | (1 << LCD_D6) | (1 << LCD_D5) | (1 << LCD_D4));
     
     /* read byte high nibble */
     LCD_CONT_PORT |= ((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     
     if (LCD_DATA_PIN & (1 << LCD_D7)) {ans |= (1 << 7);}
     if (LCD_DATA_PIN & (1 << LCD_D6)) {ans |= (1 << 6);}
     if (LCD_DATA_PIN & (1 << LCD_D5)) {ans |= (1 << 5);}
     if (LCD_DATA_PIN & (1 << LCD_D4)) {ans |= (1 << 4);}
     
     LCD_CONT_PORT &= ~((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
     
     /* read byte low nibble */
     LCD_CONT_PORT |= ((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT |= (1 << LCD_RS);}
     lcd_delay();
     
     if (LCD_DATA_PIN & (1 << LCD_D7)) {ans |= (1 << 3);}
     if (LCD_DATA_PIN & (1 << LCD_D6)) {ans |= (1 << 2);}
     if (LCD_DATA_PIN & (1 << LCD_D5)) {ans |= (1 << 1);}
     if (LCD_DATA_PIN & (1 << LCD_D4)) {ans |= (1 << 0);}
     
     LCD_CONT_PORT &= ~((1 << LCD_EN) | (1 << LCD_RW));
     if (type) {LCD_CONT_PORT &= ~(1 << LCD_RS);}
     lcd_delay();
     
     return ans;
    }
    
    /** wait to end lcd busy status **/
    void lcd_busy_wait(void) {
     while (lcd_read_byte(0, 0) & (1 << 7));
    }
    
    /** read character or byte from DDRAM or CGRAM **/
    unsigned char lcd_read_char(unsigned char addr) {
     return lcd_read_byte(addr, 1);
    }
    
    /** initialize lcd **/
    void lcd_init(void) {
     /* set pins */
     LCD_CONT_PORT &= ~((1 << LCD_EN) | (1 << LCD_RW) | (1 << LCD_RS));
     LCD_CONT_DDR |= ((1 << LCD_EN) | (1 <<LCD_RW) | (1 << LCD_RS));
     
     /* software set */
     lcd_cmd(0x33);
     lcd_cmd(0x32);
     lcd_cmd(0x28); /* function: two lines - 4bit mode - 5*7 font */
     lcd_cmd(0x0C); /* lcd/cursor: display on - cursor off */
     /*lcd_cmd(0x06);*/
    }
    
    /** lcd cursor to x,y position - set DDRAM address **/
    void lcd_gotoxy(unsigned char x, unsigned char y) {
     x %= 40; /* set in range */
     y %= 4;  /* set in range */
     lcd_cmd(1 << 7 | (pgm_read_byte(&_DDRAM_addr[y]) + x));
    }
    
    #define lcd_puts(s)    (_lcd_puts(0, s))    /* print string to lcd */
    #define lcd_puts_P(s)   (_lcd_puts(1, s))    /* print flash string to lcd */
    #define lcd_puts_PSTR(s) (_lcd_puts(1, PSTR(s))) /* print flash string to lcd */
    
    /** print string to lcd private function **/
    void _lcd_puts(unsigned char sIsP, const char *str) {
     unsigned char ch;
     
     while ((ch = (sIsP) ? (pgm_read_byte(str++)) : (*str++))) {
      lcd_putc(ch);
     }
    }
    
    /** defines character symbol in lcd CGRAM **/
    void lcd_defchar(const unsigned char *cch, unsigned char num) {
     unsigned char a;
     
     num = ((1 << 6) | (num << 3));
     
     for (a = 0; a < 8; a++) {
      lcd_cmd(num++);
      lcd_putc(pgm_read_byte(cch++));
     }
    }
    
    #ifdef __cplusplus
    }
    #endif /* __cplusplus */
    
    #endif /* _LCD_2H_H_ */
    اللهم صل علی محمد و ال محمد و عجل فرجهم
    >>> www.DMF313.ir <<<
    اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
    در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
    است.

    دیدگاه


      #3
      پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

      حالا alcd.h با lcd.h چه فرقی داره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

      نحوه تعریف پایه متصل با lcd تو کتابخونه alcd.h چطوریه؟؟؟؟

      یکم بیشتر میشه در مورد ای کتاب خونه توضیح بدی...........
      اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

      اگه دوس دارید سریع به جواب برسید :
      1) قبل از پرسیدن سوال، بسرچید.
      2) سوالاتون رو با جزئیات کامل مطرح کنید.

      دیدگاه


        #4
        پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

        حالا alcd.h با lcd.h چه فرقی داره؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
        این چیزی که من میدونم اینه که lcd.h نسخه قدیمی تره alcd.h هست و عبارت a که اضافه شده اول حرف alphanumeric هست که مخصوص ال سی دی های کاراکتری هست.

        نحوه تعریف پایه متصل با lcd تو کتابخونه alcd.h چطوریه؟؟؟؟
        توی کدویژن که بعد از ست کردن ویزارد خودش کد رو تولید میکنه و توی AVR Studio هم فقط کافیه که کد مربوط به قسمت زیر رو تغییر بدی و هرجا PORTA یا DDRA یا PINA دیدی با پورت مورد نظر تغییر بدی
        کد:
        #define LCD_CONT_PORT PORTA /* port register to control pins */
        #define LCD_CONT_DDR  DDRA  /* direction register to control pins */
        #define LCD_DATA_PORT PORTA /* port register to data pins */
        #define LCD_DATA_DDR  DDRA  /* direction register to data pins */
        #define LCD_DATA_PIN  PINA  /* input register to data pins */
        مثلا اگه بخای روی پورت D وصل کنی به صورت زیر در میاد:
        کد:
        #define LCD_CONT_PORT PORTD /* port register to control pins */
        #define LCD_CONT_DDR  DDRD  /* direction register to control pins */
        #define LCD_DATA_PORT PORTD /* port register to data pins */
        #define LCD_DATA_DDR  DDRD  /* direction register to data pins */
        #define LCD_DATA_PIN  PIND  /* input register to data pins */
        اللهم صل علی محمد و ال محمد و عجل فرجهم
        >>> www.DMF313.ir <<<
        اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
        در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
        است.

        دیدگاه


          #5
          پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

          مهندس من یه پروژه دانلود کردم که با alcd.h هستش ولی اونطوری که شما گفتید نیست
          این از لاینک دانلود فایل پروژه + کد ها (من با سی کار میکنم--کد های بیسیکش رو بیخیال شو...)
          http://cld.persiangig.com/download/4dCX8wBSLu/LCD%5Bww.IranLed.com%5D.zip/dl



          اینم از کداش

          #include <mega8.h>
          #include <alcd.h>
          #include <stdio.h>
          #include <delay.h>

          unsigned int a;
          unsigned int b;

          char aa[20];
          char bb[20];

          void main(){
          lcd_init(16);
          do{
          sprintf(aa,"A=%d%.Ta",a);
          sprintf(bb,"B=%d%.Ta",b);
          lcd_gotoxy(0,0);
          lcd_putsf("Www.IranLed.Com"
          lcd_gotoxy(0,1);
          lcd_putsf("h.unique"
          lcd_gotoxy(0,2);
          lcd_puts(aa);
          lcd_gotoxy(0,3);
          lcd_puts(bb);
          delay_ms(500);
          lcd_clear();
          a=a+2;
          b=b+3;
          delay_ms(250);
          }while(1);
          }
          اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

          اگه دوس دارید سریع به جواب برسید :
          1) قبل از پرسیدن سوال، بسرچید.
          2) سوالاتون رو با جزئیات کامل مطرح کنید.

          دیدگاه


            #6
            پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

            خب مشکلش چیه؟
            درست کار میکنه که... :eek:
            کامپایل کردم ارور نداد... :eek:
            آها....

            ببین این پروژه کدویژن هست باید توی ویزارد کدویژن پورت ال سی دی رو مشخص کنی.
            اللهم صل علی محمد و ال محمد و عجل فرجهم
            >>> www.DMF313.ir <<<
            اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
            در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
            است.

            دیدگاه


              #7
              پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

              [color=blue][b]باسلام
              این کتابخونه یکی از قابلیت های نسخه های جدید کدویژن هستش و برخلاف lcd.h میتوان پین ها را بصورت گرافیکی تعریف کرد برای اینکار اول به:
              منوی Project ---> گزینه ی Configure ---> سربرگ C Compiler ---> سربرگ Libraries ---> سربرگ (Alphanumeric LCD (alcd.h
              میرویم و تیک اون گذینه رو فعال میکنیم و به راحتی پین هارا تعریف میکنیم و بعد OK میزنیم بعد کتابخونه alcd.h رو اینکلود میکنیم و راحت به کارمون ادامه میدیم . (اینطوری ، دیگه نیازی به دستورات تعریف پین نداریم)
              [center]نکته : نام و عملکرد توابع این کتابخونه با کتابخونه lcd.h یکسان هستش!
              1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
              من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
              !Electronic On! Programming On
              هوشمندانه سوال بپرسیم!
              http://ir02x6.persiangig.com/logo/eca/tanks_01.png

              دیدگاه


                #8
                پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

                نوشته اصلی توسط حمید زارع
                خب مشکلش چیه؟
                درست کار میکنه که... :eek:
                کامپایل کردم ارور نداد... :eek:
                آها....

                ببین این پروژه کدویژن هست باید توی ویزارد کدویژن پورت ال سی دی رو مشخص کنی.

                نحوه تعیین پایه متصل به LCD >???????????????????????????// :angry: :angry: :angry: :angry: :angry: :angry:

                کدی در این باره من بین کد های پروژه بالا نمیبینم/ :cry: :cry: :cry: :cry: :cry:
                اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                اگه دوس دارید سریع به جواب برسید :
                1) قبل از پرسیدن سوال، بسرچید.
                2) سوالاتون رو با جزئیات کامل مطرح کنید.

                دیدگاه


                  #9
                  پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

                  نکته : نام و عملکرد توابع این کتابخونه با کتابخونه lcd.h یکسان هستش!

                  ولی اگه اشتباه نکنم تعداد توابع LCD از ALCD باید بیشتر باشه.................

                  لیست توابع هر دو رو داری بزاری؟؟؟؟؟؟؟؟؟؟/
                  اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                  اگه دوس دارید سریع به جواب برسید :
                  1) قبل از پرسیدن سوال، بسرچید.
                  2) سوالاتون رو با جزئیات کامل مطرح کنید.

                  دیدگاه


                    #10
                    پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

                    نوشته اصلی توسط Mahan.Rafiee
                    [color=blue][b]باسلام
                    این کتابخونه یکی از قابلیت های نسخه های جدید کدویژن هستش و برخلاف lcd.h میتوان پین ها را بصورت گرافیکی تعریف کرد برای اینکار اول به:
                    منوی Project ---> گزینه ی Configure ---> سربرگ C Compiler ---> سربرگ Libraries ---> سربرگ (Alphanumeric LCD (alcd.h
                    میرویم و تیک اون گذینه رو فعال میکنیم و به راحتی پین هارا تعریف میکنیم و بعد OK میزنیم بعد کتابخونه alcd.h رو اینکلود میکنیم و راحت به کارمون ادامه میدیم . (اینطوری ، دیگه نیازی به دستورات تعریف پین نداریم)
                    [center]نکته : نام و عملکرد توابع این کتابخونه با کتابخونه lcd.h یکسان هستش!
                    مسیری که گفتی رفتم ولی
                    سربرگ (Alphanumeric LCD (alcd.h
                    موجود نبود.........................


                    کد ویژنم هم فکر کنم فایل کتاب خونه alcd رو نداره........ :cry:
                    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                    اگه دوس دارید سریع به جواب برسید :
                    1) قبل از پرسیدن سوال، بسرچید.
                    2) سوالاتون رو با جزئیات کامل مطرح کنید.

                    دیدگاه


                      #11
                      پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

                      کد ویژنم هم فکر کنم فایل کتاب خونه alcd رو نداره.
                      ورژن کدویژنت چنده؟ احتمالا ورژنت قدیمیه
                      اللهم صل علی محمد و ال محمد و عجل فرجهم
                      >>> www.DMF313.ir <<<
                      اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
                      در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
                      است.

                      دیدگاه


                        #12
                        پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

                        نوشته اصلی توسط حمید زارع
                        ورژن کدویژنت چنده؟ احتمالا ورژنت قدیمیه
                        CodeVisionAVR V2.04.4a
                        اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

                        اگه دوس دارید سریع به جواب برسید :
                        1) قبل از پرسیدن سوال، بسرچید.
                        2) سوالاتون رو با جزئیات کامل مطرح کنید.

                        دیدگاه


                          #13
                          پاسخ : سوالی در مورد کتاب خانه alcd.h و توابع آن...................

                          ورژن V2.05.0 Advanced رو نصب کن دیگه :wow: :wow: :wow: :wow:
                          اللهم صل علی محمد و ال محمد و عجل فرجهم
                          >>> www.DMF313.ir <<<
                          اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
                          در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
                          است.

                          دیدگاه

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