working multi line scoller message on lcd

Dependencies:   mbed C12832_lcd

Committer:
andrewbw01
Date:
Wed Mar 03 14:24:49 2021 +0000
Revision:
0:1f7f335b262d
working multi line scrolling message on LCD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
andrewbw01 0:1f7f335b262d 1 #include "mbed.h"
andrewbw01 0:1f7f335b262d 2 #include "C12832_lcd.h"
andrewbw01 0:1f7f335b262d 3
andrewbw01 0:1f7f335b262d 4 C12832_LCD lcd; // create lcd object
andrewbw01 0:1f7f335b262d 5
andrewbw01 0:1f7f335b262d 6 char welcome_str1[] ="**********";
andrewbw01 0:1f7f335b262d 7 char welcome_str2[] =" Welcome ";
andrewbw01 0:1f7f335b262d 8 char welcome_str3[] ="**********";
andrewbw01 0:1f7f335b262d 9
andrewbw01 0:1f7f335b262d 10 int vert_line_hight = 9;
andrewbw01 0:1f7f335b262d 11
andrewbw01 0:1f7f335b262d 12 void scroll_msg_right(void); // fuction prototypes
andrewbw01 0:1f7f335b262d 13 void scroll_msg_left(void);
andrewbw01 0:1f7f335b262d 14
andrewbw01 0:1f7f335b262d 15
andrewbw01 0:1f7f335b262d 16 int main()
andrewbw01 0:1f7f335b262d 17 {
andrewbw01 0:1f7f335b262d 18 scroll_msg_right();
andrewbw01 0:1f7f335b262d 19 wait(0.1);
andrewbw01 0:1f7f335b262d 20 scroll_msg_left();
andrewbw01 0:1f7f335b262d 21
andrewbw01 0:1f7f335b262d 22 while(1)
andrewbw01 0:1f7f335b262d 23 {}
andrewbw01 0:1f7f335b262d 24 }
andrewbw01 0:1f7f335b262d 25
andrewbw01 0:1f7f335b262d 26
andrewbw01 0:1f7f335b262d 27
andrewbw01 0:1f7f335b262d 28 // scroll message right
andrewbw01 0:1f7f335b262d 29 void scroll_msg_right(void)
andrewbw01 0:1f7f335b262d 30 {
andrewbw01 0:1f7f335b262d 31 for(int i=10; i>0; i--) // scroll one character on at a time
andrewbw01 0:1f7f335b262d 32 {
andrewbw01 0:1f7f335b262d 33 lcd.cls();
andrewbw01 0:1f7f335b262d 34 lcd.locate(0,0);
andrewbw01 0:1f7f335b262d 35 lcd.printf("%s", (welcome_str1+i));
andrewbw01 0:1f7f335b262d 36
andrewbw01 0:1f7f335b262d 37 lcd.locate(0, vert_line_hight);
andrewbw01 0:1f7f335b262d 38 lcd.printf("%s", (welcome_str2+i));
andrewbw01 0:1f7f335b262d 39
andrewbw01 0:1f7f335b262d 40 lcd.locate(0, vert_line_hight*2);
andrewbw01 0:1f7f335b262d 41 lcd.printf("%s", (welcome_str3+i));
andrewbw01 0:1f7f335b262d 42
andrewbw01 0:1f7f335b262d 43 wait(0.2);
andrewbw01 0:1f7f335b262d 44 }
andrewbw01 0:1f7f335b262d 45
andrewbw01 0:1f7f335b262d 46 for(int i=0; i<45; i++) // scroll message
andrewbw01 0:1f7f335b262d 47 {
andrewbw01 0:1f7f335b262d 48 lcd.cls();
andrewbw01 0:1f7f335b262d 49 lcd.locate(i,0);
andrewbw01 0:1f7f335b262d 50 lcd.printf("%s", welcome_str1);
andrewbw01 0:1f7f335b262d 51
andrewbw01 0:1f7f335b262d 52 lcd.locate(i, vert_line_hight);
andrewbw01 0:1f7f335b262d 53 lcd.printf("%s", welcome_str2);
andrewbw01 0:1f7f335b262d 54
andrewbw01 0:1f7f335b262d 55 lcd.locate(i, vert_line_hight*2);
andrewbw01 0:1f7f335b262d 56 lcd.printf("%s", welcome_str3);
andrewbw01 0:1f7f335b262d 57
andrewbw01 0:1f7f335b262d 58 wait(0.075);
andrewbw01 0:1f7f335b262d 59 }
andrewbw01 0:1f7f335b262d 60 }
andrewbw01 0:1f7f335b262d 61
andrewbw01 0:1f7f335b262d 62
andrewbw01 0:1f7f335b262d 63 void scroll_msg_left(void)
andrewbw01 0:1f7f335b262d 64 {
andrewbw01 0:1f7f335b262d 65 for(int i=45; i>0; i--)
andrewbw01 0:1f7f335b262d 66 {
andrewbw01 0:1f7f335b262d 67 lcd.cls();
andrewbw01 0:1f7f335b262d 68 lcd.locate(i,0);
andrewbw01 0:1f7f335b262d 69 lcd.printf("%s", welcome_str1);
andrewbw01 0:1f7f335b262d 70
andrewbw01 0:1f7f335b262d 71 lcd.locate(i, vert_line_hight);
andrewbw01 0:1f7f335b262d 72 lcd.printf("%s", welcome_str2);
andrewbw01 0:1f7f335b262d 73
andrewbw01 0:1f7f335b262d 74 lcd.locate(i, vert_line_hight*2);
andrewbw01 0:1f7f335b262d 75 lcd.printf("%s", welcome_str3);
andrewbw01 0:1f7f335b262d 76
andrewbw01 0:1f7f335b262d 77 wait(0.075);
andrewbw01 0:1f7f335b262d 78 }
andrewbw01 0:1f7f335b262d 79
andrewbw01 0:1f7f335b262d 80 for(int i=0; i<11; i++) // scroll one character on at a time
andrewbw01 0:1f7f335b262d 81 {
andrewbw01 0:1f7f335b262d 82 lcd.cls();
andrewbw01 0:1f7f335b262d 83 lcd.locate(0,0);
andrewbw01 0:1f7f335b262d 84 lcd.printf("%s", (welcome_str1+i));
andrewbw01 0:1f7f335b262d 85
andrewbw01 0:1f7f335b262d 86 lcd.locate(0, vert_line_hight);
andrewbw01 0:1f7f335b262d 87 lcd.printf("%s", (welcome_str2+i));
andrewbw01 0:1f7f335b262d 88
andrewbw01 0:1f7f335b262d 89 lcd.locate(0, vert_line_hight*2);
andrewbw01 0:1f7f335b262d 90 lcd.printf("%s", (welcome_str3+i));
andrewbw01 0:1f7f335b262d 91
andrewbw01 0:1f7f335b262d 92 wait(0.2);
andrewbw01 0:1f7f335b262d 93 }
andrewbw01 0:1f7f335b262d 94 }