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

what is the concept of moving message display

can anyone give me guidance about moving message display concept

  • "can anyone give me guidance about moving message display concept"

    Sure,

    Wire your curcuit like this:

    8051<-->Display

    Use the following code:

    void main(void)
    {
    DisplayMovingMessage();
    while(1);
    }

    You may need to flesh out one or two details but I've done most of the work for you.

    Stefan

  • Hiya,
    It depends on which display you ask about.
    If you mean the LCD then there are some ways to move a message. Firstly, you may use special LCD commands (for example, command 00011Dxx, where D is direction). This way gives you a chance to move and show about 40 chars via 16-chars display. Another limit is that a dual-line LCD will move both lines at each command.
    Second way is different:
    1) make a buffer enough for your message; put to there a message started and ended with both 16 empty chars (0x20); be careful to delete null-terminator sign of a string;
    2) init LCD;
    3) set a pointer to the buffer;
    4) send 16 bytes from pointer to LCD;
    5) wait appropriate time depends on moving speed;
    6) increase pointer by 1;
    do repeat from step 4 as long as last char of your message gone out from display area (size of you message + 16).

    Okay, if you talk about LED matrix dot display so then it depends on shematic of a board and may be very different and difficult from described above.

  • "guidance about moving message display"

    Maybe just take a static message display and put wheels on it?

  • Here's the code. It's not tested, certainly not guaranteed, and may not even work in your system.

    #define DISPLAY_LEN 12
    
    extern void display_char (
      char c, unsigned char pos);
    
    void moving_message (
      char *new_msg)
    {
    static unsigned int index;
    static unsigned int len;
    static char *message;
    
    unsigned char i;
    
    if (new_msg == NULL)
      {
      index = 0;
      message = new_msg;
      len = strlen (message);
      }
    
    for (i = 0; i<DISPLAY_LEN; i++)
      {
      display_char (message[(i+index)%len], i);
      }
    
    index = (index+1)%len;
    }

    Good luck. :-)

    Jon

  • Thanks for your support sorry I do not mention that I am working on Dot Matrics 7x5(Total of 19 Matric attached with
    89c51 & 74164 I sent a single character on display which is clearly visible on serially connected matrics with 74164 on second time when I sent 00 data and again sent data on matrics, it break the data on dot matrics.

    Kindly Guide me for this and how can I send u my code which is on assembly language.

    Thanks
    AFZAAL BAIG

  • Thanks for your support sorry I do not mention that I am working on Dot Matrics 7x5(Total of 19 Matric attached with
    89c51 & 74164 I sent a single character on display which is clearly visible on serially connected matrics with 74164 on second time when I sent 00 data and again sent data on matrics, it break the data on dot matrics.

    Kindly Guide me for this and how can I send u my code which is on assembly language.

    Thanks
    AFZAAL BAIG

  • Thanks for your support sorry I do not mention that I am working on Dot Matrics 7x5(Total of 19 Matric attached with
    89c51 & 74164 I sent a single character on display which is clearly visible on serially connected matrics with 74164 on second time when I sent 00 data and again sent data on matrics, it break the data on dot matrics.

    Kindly Guide me for this and how can I send u my code which is on assembly language.

    Thanks
    AFZAAL BAIG

  • Thanks for your support sorry I do not mention that I am working on Dot Matrics 7x5(Total of 19 Matric attached with
    89c51 & 74164 I sent a single character on display which is clearly visible on serially connected matrics with 74164 on second time when I sent 00 data and again sent data on matrics, it break the data on dot matrics.

    Kindly Guide me for this and how can I send u my code which is on assembly language.

    Thanks
    AFZAAL BAIG