Esercitazione4_1

Dependencies:   mbed

LCD.cpp

Committer:
dfalanga
Date:
2016-11-28
Revision:
0:723d0d8c0d09

File content as of revision 0:723d0d8c0d09:

/* Program Example 1: Declaration of objects and functions in LCD.cpp file 2. */ 
#include "LCD.h" 
DigitalOut RS(D12); 
DigitalOut E(D11);
BusOut data(D5, D4, D3, D2);
    void toggle_enable(void)
    { 
        E=1;
        wait(0.001);
        E=0; 
        wait(0.001);
    } 

    void LCD_init(void) { 
        wait(0.02); // pause for 20 ms 
        RS=0; // set low to write control data 
        E=0; // set low 20. //function mode 21. 
        data=0x2; // 4 bit mode (data packet 1, DB4-DB7) 22. 
        toggle_enable();  
        data=0x8; // 2-line, 7 dot char (data packet 2, DB0-DB3) 24. 
        toggle_enable(); //display mode 26. 
        data=0x0; // 4 bit mode (data packet 1, DB4-DB7)
        toggle_enable(); 
        data=0xF; // display on, cursor on, blink on 
        toggle_enable(); //clear display 
        data=0x0; // 
        toggle_enable(); 
        data=0x1; // clear 
        toggle_enable(); 
    } //display function 

    void display_to_LCD(char value) 
    { 
        RS=1; // set high to write character data 
        data=value>>4; // value shifted right 4 = upper nibble 
        toggle_enable(); 
        data=value; // value bitmask with 0x0F = lower nibble 
        toggle_enable(); 
     }  //locate function 
     void set_location(char location) 
     { 
        RS=0; 
        data=(location|0x80)>>4; // upper nibble 
        toggle_enable(); 
        data=location&0x0F; // lower nibble 
        toggle_enable(); 
     }