LCD demo

Dependencies:   N5110 mbed

Fork of 1620_App_Board_LDR by Craig Evans

Committer:
eencae
Date:
Wed Mar 15 09:59:04 2017 +0000
Revision:
4:5d40f64a82c1
Parent:
3:ce5582846693
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:99902f3f1508 1 /* ELEC1620 Application Board Example
eencae 0:99902f3f1508 2
eencae 4:5d40f64a82c1 3 LCD
eencae 0:99902f3f1508 4
eencae 4:5d40f64a82c1 5 (c) Dr Craig A. Evans, University of Leeds, March 2017
eencae 0:99902f3f1508 6
eencae 0:99902f3f1508 7 */
eencae 0:99902f3f1508 8
eencae 0:99902f3f1508 9 #include "mbed.h"
eencae 0:99902f3f1508 10 #include "N5110.h"
eencae 0:99902f3f1508 11
eencae 4:5d40f64a82c1 12 // JP1 must be in 2/3 position
eencae 0:99902f3f1508 13 N5110 lcd(p8,p9,p10,p11,p13,p21);
eencae 0:99902f3f1508 14
eencae 4:5d40f64a82c1 15 const int run[12][10] = {
eencae 4:5d40f64a82c1 16 { 0,0,0,0,0,1,1,1,0,0 },
eencae 4:5d40f64a82c1 17 { 0,0,0,0,0,1,1,1,0,0 },
eencae 4:5d40f64a82c1 18 { 0,0,0,1,1,1,1,0,0,0 },
eencae 4:5d40f64a82c1 19 { 0,0,1,1,1,1,0,1,0,0 },
eencae 4:5d40f64a82c1 20 { 0,1,1,0,1,1,0,1,1,1 },
eencae 4:5d40f64a82c1 21 { 1,0,0,0,1,1,0,0,0,0 },
eencae 4:5d40f64a82c1 22 { 0,0,0,1,1,1,1,0,0,0 },
eencae 4:5d40f64a82c1 23 { 0,0,1,1,0,0,1,1,0,0 },
eencae 4:5d40f64a82c1 24 { 1,1,1,1,0,0,0,1,1,0 },
eencae 4:5d40f64a82c1 25 { 0,0,0,0,0,0,1,1,0,0 },
eencae 4:5d40f64a82c1 26 { 0,0,0,0,0,1,1,0,0,0 },
eencae 4:5d40f64a82c1 27 { 0,0,0,0,1,1,0,0,0,0 },
eencae 0:99902f3f1508 28
eencae 4:5d40f64a82c1 29
eencae 4:5d40f64a82c1 30 };
eencae 4:5d40f64a82c1 31
eencae 4:5d40f64a82c1 32 int main()
eencae 4:5d40f64a82c1 33 {
eencae 4:5d40f64a82c1 34
eencae 4:5d40f64a82c1 35 // need to initialise the lcd first, do this once outside of the loop
eencae 4:5d40f64a82c1 36 lcd.init();
eencae 0:99902f3f1508 37
eencae 4:5d40f64a82c1 38 int x = 0; // starting position
eencae 4:5d40f64a82c1 39
eencae 0:99902f3f1508 40 while(1) {
eencae 4:5d40f64a82c1 41
eencae 4:5d40f64a82c1 42 // clear the display at the start of the loop
eencae 2:1c669cb14c5b 43 lcd.clear();
eencae 4:5d40f64a82c1 44
eencae 4:5d40f64a82c1 45 // print any text
eencae 4:5d40f64a82c1 46 lcd.printString("Run!",0,0);
eencae 4:5d40f64a82c1 47
eencae 4:5d40f64a82c1 48 // draw the required shapes
eencae 4:5d40f64a82c1 49 lcd.drawRect(0,40,84,8,FILL_BLACK);
eencae 4:5d40f64a82c1 50 lcd.drawCircle(70,10,5,FILL_TRANSPARENT);
eencae 4:5d40f64a82c1 51
eencae 4:5d40f64a82c1 52 // draw the sprite at the correct place
eencae 4:5d40f64a82c1 53 lcd.drawSprite(x,40-12,12,10,(int *)run);
eencae 2:1c669cb14c5b 54
eencae 4:5d40f64a82c1 55 x+=2; // increment x to move sprite across 2 pixels each loop
eencae 2:1c669cb14c5b 56
eencae 4:5d40f64a82c1 57 if (x>83) { // if gone off screen then move back to left
eencae 4:5d40f64a82c1 58 x=0;
eencae 4:5d40f64a82c1 59 }
eencae 4:5d40f64a82c1 60
eencae 4:5d40f64a82c1 61 lcd.refresh(); // refresh the LCD so the pixels appear
eencae 4:5d40f64a82c1 62 wait_ms(1000/10); // this gives a refresh rate of 10 frames per second
eencae 0:99902f3f1508 63 }
eencae 0:99902f3f1508 64 }
eencae 1:b5c4ca3bf074 65
eencae 1:b5c4ca3bf074 66