This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

problem in string display

#include<reg51.h>
#include<string.h>
#include<stdio.h>
#define lcd_data P1
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
unsigned char n[5]="hello";
unsigned char m[]="welcome rakesh";
void cmd_lcd(unsigned char);
void write_lcd(char);
void delay(unsigned int);
void lcd_int()
{ cmd_lcd(0x38); cmd_lcd(0x0c); cmd_lcd(0x01); cmd_lcd(0x80);
} void cmd_lcd(unsigned char x)
{ x=lcd_data;
rs=0;
rw=0;
en=1;
delay(50);
en=0;
}

void write_lcd(char s)
{

s=lcd_data;
rs=1;
rw=0;
en=1;
delay(500);
en=0;
} void delay(unsigned int temp)
{ unsigned int i,j;
for(i=0;i<255;i++);
for(j=0;j<temp;j++);
}

void main()
{ void lcd_int(); void write_lcd(n); void delay(500); void cmd_lcd(0x01); void delay(100); void write_lcd(m); void delay(100);
}

this code shows following error:
Build target 'Target 1'
compiling lcdc04.c...
LCDC04.C(50): error C161: 'n': formal parameter ignored
Target not created

please help me in clearing this...

Parents
  • Step one must be to tidy up the listing a bit and fix some of the obvious errors.

    #include<reg51.h>
    #include<string.h>
    #include<stdio.h>
    
    #define lcd_data P1
    
    sbit rs=P2^0;
    sbit rw=P2^1;
    sbit en=P2^2;
    
    unsigned char n[]="hello";
    unsigned char m[]="welcome rakesh";
    
    void cmd_lcd(unsigned char);
    void write_lcd(char);
    void delay(unsigned int);
    
    void lcd_int(void)
    {
      cmd_lcd(0x38);
      cmd_lcd(0x0c);
      cmd_lcd(0x01);
      cmd_lcd(0x80);
    }
    
    void cmd_lcd(unsigned char x)
    {
      lcd_data=x;
      rs=0;
      rw=0;
      en=1;
      delay(50);
      en=0;
    }
    
    void write_lcd(char s)
    {
      lcd_data=s;
      rs=1;
      rw=0;
      en=1;
      delay(500);
      en=0;
    }
    
    void delay(unsigned int temp)
    {
      unsigned int i,j;
    
      for(i=0;i<255;i++)
        for(j=0;j<temp;j++)
          ;
    }
    
    void main()
    {
      unsigned int i;
    
      lcd_int();
    
      for (i=0;n[i]!=0;++i)
        write_lcd(n[i]);
    
      delay(500);
    
      cmd_lcd(0x01);
      delay(100);
    
      for (i=0;m[i]!=0;++i)
        write_lcd(m[i]);
    
      delay(100);
    
      for (;;)
        ;
    }
    

Reply
  • Step one must be to tidy up the listing a bit and fix some of the obvious errors.

    #include<reg51.h>
    #include<string.h>
    #include<stdio.h>
    
    #define lcd_data P1
    
    sbit rs=P2^0;
    sbit rw=P2^1;
    sbit en=P2^2;
    
    unsigned char n[]="hello";
    unsigned char m[]="welcome rakesh";
    
    void cmd_lcd(unsigned char);
    void write_lcd(char);
    void delay(unsigned int);
    
    void lcd_int(void)
    {
      cmd_lcd(0x38);
      cmd_lcd(0x0c);
      cmd_lcd(0x01);
      cmd_lcd(0x80);
    }
    
    void cmd_lcd(unsigned char x)
    {
      lcd_data=x;
      rs=0;
      rw=0;
      en=1;
      delay(50);
      en=0;
    }
    
    void write_lcd(char s)
    {
      lcd_data=s;
      rs=1;
      rw=0;
      en=1;
      delay(500);
      en=0;
    }
    
    void delay(unsigned int temp)
    {
      unsigned int i,j;
    
      for(i=0;i<255;i++)
        for(j=0;j<temp;j++)
          ;
    }
    
    void main()
    {
      unsigned int i;
    
      lcd_int();
    
      for (i=0;n[i]!=0;++i)
        write_lcd(n[i]);
    
      delay(500);
    
      cmd_lcd(0x01);
      delay(100);
    
      for (i=0;m[i]!=0;++i)
        write_lcd(m[i]);
    
      delay(100);
    
      for (;;)
        ;
    }
    

Children