LPC1114FN28 BOARD. LCD. ANALOG IN, FORMATS

Dependencies:   TextLCD mbed

/media/uploads/strain11/lcd_16x1_adc.jpg

Committer:
strain11
Date:
Sun Oct 12 01:09:24 2014 +0000
Revision:
0:86deffea405f
Simple program to LCP1114 board, which uses LEDs to monitor activity, 16X2 LCD to display the analog input value in float format and 5 digits

Who changed what in which revision?

UserRevisionLine numberNew contents of line
strain11 0:86deffea405f 1 //
strain11 0:86deffea405f 2 //==============================================================================
strain11 0:86deffea405f 3 //Include mbed header file which contains the definition of DigitalOut class.
strain11 0:86deffea405f 4 #include "mbed.h"
strain11 0:86deffea405f 5 //Include TextLCD header file which contains the definition of TextLCD class.
strain11 0:86deffea405f 6 #include "TextLCD.h"
strain11 0:86deffea405f 7 #define __IRC_OSC_CLK (12000000UL)
strain11 0:86deffea405f 8 //==============================================================================
strain11 0:86deffea405f 9
strain11 0:86deffea405f 10 DigitalOut ld_1(dp14);
strain11 0:86deffea405f 11 DigitalOut ld_2(dp28);
strain11 0:86deffea405f 12 //------------------------------------------------------------------------------
strain11 0:86deffea405f 13 AnalogIn canal_0 (dp9);
strain11 0:86deffea405f 14
strain11 0:86deffea405f 15 //==============================================================================
strain11 0:86deffea405f 16 //Initialize TextLCD with the correct pins
strain11 0:86deffea405f 17 //TextLCD_I2C lcd(&i2c_lcd, 0x42, TextLCD::LCD20x4); // I2C bus, PCF8574 Slaveaddress, LCD Type
strain11 0:86deffea405f 18 //TextLCD_I2C lcd(&i2c_lcd, 0x42, TextLCD::LCD16x2, TextLCD::WS0010); // I2C bus, PCF8574 addr, LCD Type, Ctrl Type
strain11 0:86deffea405f 19 //..............................................................................
strain11 0:86deffea405f 20 //SPI spi_lcd(p5, NC, p7); // MOSI, MISO, SCLK
strain11 0:86deffea405f 21 //TextLCD_SPI lcd(&spi_lcd, p8, TextLCD::LCD24x4); // SPI bus, CS pin, LCD Type
strain11 0:86deffea405f 22 //------------------------------------------------------------------------------
strain11 0:86deffea405f 23 TextLCD lcd(dp17, dp18, dp1, dp2, dp6, dp4, TextLCD::LCD16x2); // rs, e, d4-d7, LCD Type
strain11 0:86deffea405f 24 // rs, e, d4- d5- d6- d7, LCD Type
strain11 0:86deffea405f 25 //------------------------------------------------------------------------------
strain11 0:86deffea405f 26 //==============================================================================
strain11 0:86deffea405f 27 //..............................variaveis
strain11 0:86deffea405f 28 char dezmilhar;
strain11 0:86deffea405f 29 char milhar;
strain11 0:86deffea405f 30 char centena;
strain11 0:86deffea405f 31 char dezena;
strain11 0:86deffea405f 32 char unidade;
strain11 0:86deffea405f 33 unsigned short i;
strain11 0:86deffea405f 34 unsigned short valor_adc;
strain11 0:86deffea405f 35 //unsigned short temp;
strain11 0:86deffea405f 36 //------------------------------------------------------------------------------
strain11 0:86deffea405f 37
strain11 0:86deffea405f 38 void converte_4_digitos(void);
strain11 0:86deffea405f 39 void pisca_leds(void);
strain11 0:86deffea405f 40 void alterna_leds(void);
strain11 0:86deffea405f 41 void converte_adc(void);
strain11 0:86deffea405f 42 //==============================================================================
strain11 0:86deffea405f 43 //Main function
strain11 0:86deffea405f 44 //------------------------------------------------------------------------------
strain11 0:86deffea405f 45 int main()
strain11 0:86deffea405f 46 {
strain11 0:86deffea405f 47 //Clear the LCD display
strain11 0:86deffea405f 48 lcd.cls();
strain11 0:86deffea405f 49 //------------------------------------------------------------------------------
strain11 0:86deffea405f 50 pisca_leds();
strain11 0:86deffea405f 51 wait(0.20);
strain11 0:86deffea405f 52 alterna_leds();
strain11 0:86deffea405f 53 wait(0.20);
strain11 0:86deffea405f 54 //------------------------------------------------------------------------------
strain11 0:86deffea405f 55 //Locate Row 0 Column 0 in the LCD display
strain11 0:86deffea405f 56 lcd.locate(0, 0);
strain11 0:86deffea405f 57 //Print "The End"
strain11 0:86deffea405f 58 lcd.printf("CONTAGEM:");
strain11 0:86deffea405f 59
strain11 0:86deffea405f 60 //CONTA DE 0 A 2000
strain11 0:86deffea405f 61 for( i=0 ; i<=2000 ; i++)
strain11 0:86deffea405f 62 {
strain11 0:86deffea405f 63 //syntax Lcd.locate (coluna, linha) no LCD display
strain11 0:86deffea405f 64 lcd.locate(0, 1);
strain11 0:86deffea405f 65 //Call PrintToLCD function
strain11 0:86deffea405f 66 lcd.printf(" ");
strain11 0:86deffea405f 67 lcd.locate(0, 1);
strain11 0:86deffea405f 68 lcd.printf("%f", canal_0.read());
strain11 0:86deffea405f 69 valor_adc = canal_0.read()*10000;
strain11 0:86deffea405f 70 converte_adc();
strain11 0:86deffea405f 71 //wait for 250ms
strain11 0:86deffea405f 72 converte_4_digitos();
strain11 0:86deffea405f 73
strain11 0:86deffea405f 74 wait(0.25);
strain11 0:86deffea405f 75 }
strain11 0:86deffea405f 76 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 77 wait(3);
strain11 0:86deffea405f 78 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 79 //Clear the LCD display
strain11 0:86deffea405f 80 lcd.cls();
strain11 0:86deffea405f 81 //syntax Lcd.locate (coluna, linha) no LCD display
strain11 0:86deffea405f 82 lcd.locate(0, 0);
strain11 0:86deffea405f 83 //Print "The End"
strain11 0:86deffea405f 84 lcd.printf("FIM !");
strain11 0:86deffea405f 85 //-------------------------------------------------------------------------
strain11 0:86deffea405f 86 pisca_leds();
strain11 0:86deffea405f 87 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 88
strain11 0:86deffea405f 89
strain11 0:86deffea405f 90 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 91 }
strain11 0:86deffea405f 92 //=============================================================================
strain11 0:86deffea405f 93 //............................FIM DO PROGRAMA
strain11 0:86deffea405f 94 //=============================================================================
strain11 0:86deffea405f 95 //........................S U B _ R O T I N A S
strain11 0:86deffea405f 96 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 97 //.......................................................
strain11 0:86deffea405f 98 void converte_4_digitos(void){
strain11 0:86deffea405f 99 // milhar = (i /1000) % 10 ;
strain11 0:86deffea405f 100 milhar = (i /1000) ;
strain11 0:86deffea405f 101 centena = (i /100) % 10;
strain11 0:86deffea405f 102 dezena = (i/10) % 10;
strain11 0:86deffea405f 103 unidade = i % 10;
strain11 0:86deffea405f 104 //-------------------------------------------------------
strain11 0:86deffea405f 105 //.....syntax Lcd.locate (coluna, linha) no LCD display
strain11 0:86deffea405f 106 //-------------------------------------------------------
strain11 0:86deffea405f 107 lcd.locate(11, 0);
strain11 0:86deffea405f 108 lcd.printf("%d", milhar );
strain11 0:86deffea405f 109
strain11 0:86deffea405f 110 lcd.locate(12, 0);
strain11 0:86deffea405f 111 lcd.printf("%d", centena );
strain11 0:86deffea405f 112
strain11 0:86deffea405f 113 lcd.locate(13, 0);
strain11 0:86deffea405f 114 lcd.printf("%d", dezena );
strain11 0:86deffea405f 115
strain11 0:86deffea405f 116 lcd.locate(14, 0);
strain11 0:86deffea405f 117 lcd.printf("%d", unidade );
strain11 0:86deffea405f 118 alterna_leds();
strain11 0:86deffea405f 119 }
strain11 0:86deffea405f 120 //=============================================================================
strain11 0:86deffea405f 121 void pisca_leds(void)
strain11 0:86deffea405f 122 {
strain11 0:86deffea405f 123 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 124 ld_1 = 1;
strain11 0:86deffea405f 125 ld_2 = 1;
strain11 0:86deffea405f 126 wait(0.20);
strain11 0:86deffea405f 127 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 128 ld_1 = 0;
strain11 0:86deffea405f 129 ld_2 = 0;
strain11 0:86deffea405f 130 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 131 }
strain11 0:86deffea405f 132 //=============================================================================
strain11 0:86deffea405f 133 //=============================================================================
strain11 0:86deffea405f 134 void alterna_leds(void)
strain11 0:86deffea405f 135 {
strain11 0:86deffea405f 136 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 137 ld_1 = 1;
strain11 0:86deffea405f 138 wait(0.05);
strain11 0:86deffea405f 139 ld_2 = 0;
strain11 0:86deffea405f 140 wait(0.10);
strain11 0:86deffea405f 141 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 142 ld_1 = 0;
strain11 0:86deffea405f 143 wait(0.05);
strain11 0:86deffea405f 144 ld_2 = 1;
strain11 0:86deffea405f 145 wait(0.10);
strain11 0:86deffea405f 146
strain11 0:86deffea405f 147 ld_1 = 0;
strain11 0:86deffea405f 148 ld_2 = 0;
strain11 0:86deffea405f 149 //-----------------------------------------------------------------------------
strain11 0:86deffea405f 150 }
strain11 0:86deffea405f 151 //=============================================================================
strain11 0:86deffea405f 152 //.......................................................
strain11 0:86deffea405f 153 void converte_adc(void){
strain11 0:86deffea405f 154 // milhar = (i /1000) % 10 ;
strain11 0:86deffea405f 155 dezmilhar = (valor_adc/10000);
strain11 0:86deffea405f 156 milhar = (valor_adc /1000)% 10 ;
strain11 0:86deffea405f 157 centena = (valor_adc /100) % 10;
strain11 0:86deffea405f 158 dezena = (valor_adc/10) % 10;
strain11 0:86deffea405f 159 unidade = valor_adc % 10;
strain11 0:86deffea405f 160 //-------------------------------------------------------
strain11 0:86deffea405f 161 //.....syntax Lcd.locate (coluna, linha) no LCD display
strain11 0:86deffea405f 162 //-------------------------------------------------------
strain11 0:86deffea405f 163 lcd.locate(11, 1);
strain11 0:86deffea405f 164 lcd.printf("%d", dezmilhar );
strain11 0:86deffea405f 165
strain11 0:86deffea405f 166 lcd.locate(12, 1);
strain11 0:86deffea405f 167 lcd.printf("%d", milhar );
strain11 0:86deffea405f 168
strain11 0:86deffea405f 169 lcd.locate(13, 1);
strain11 0:86deffea405f 170 lcd.printf("%d", centena );
strain11 0:86deffea405f 171
strain11 0:86deffea405f 172 lcd.locate(14, 1);
strain11 0:86deffea405f 173 lcd.printf("%d", dezena );
strain11 0:86deffea405f 174
strain11 0:86deffea405f 175 lcd.locate(15, 1);
strain11 0:86deffea405f 176 lcd.printf("%d", unidade );
strain11 0:86deffea405f 177
strain11 0:86deffea405f 178 alterna_leds();
strain11 0:86deffea405f 179 }