Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of TextLCD by
Revision 9:a504aa8ce73b, committed 2016-10-05
- Comitter:
- a00958821
- Date:
- Wed Oct 05 21:47:44 2016 +0000
- Parent:
- 8:308d188a2d3a
- Commit message:
- Laboratio 4, clase de micro controladores. Basic LCD
Changed in this revision
| mainLCD.cpp | Show annotated file Show diff for this revision Revisions of this file |
| mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mainLCD.cpp Wed Oct 05 21:47:44 2016 +0000
@@ -0,0 +1,186 @@
+#include "mbed.h"
+#include "TextLCD.h"
+
+TextLCD lcd(D2, D3, D4, D5, D6, D7); // rs, e, d4-d7
+
+DigitalOut col1 (D8);
+DigitalOut col2 (D9);
+DigitalOut col3 (D10);
+DigitalOut col4 (D11);
+DigitalIn fila1 (A5);
+DigitalIn fila2 (A4);
+DigitalIn fila3 (A3);
+DigitalIn fila4 (A2);
+DigitalIn Reset (D12);
+DigitalIn Next (USER_BUTTON);
+
+char Simbolos[4][4] = {
+ {'1','2','3','A'},
+ {'4','5','6','B'},
+ {'7','8','9','C'},
+ {'*','0','#','D'}
+ };
+int usrInput();
+void turnOffteclado();
+int * teclado();
+void printLCD(int a, int b);
+
+
+int n = 0;
+
+int main() {
+
+ int j = 0;
+ while(1){
+ if (n == 0)
+ {
+ j=0;
+ lcd.cls();
+ wait(1);
+ lcd.printf("A");
+ while (j == 0)
+ {
+ if (Next == 0)
+ {
+ j = 1;
+ n = 1;
+ }
+ }
+ }
+ if (n == 1)
+ {
+ j = 0;
+ lcd.cls();
+ wait(1);
+ lcd.printf("Unas kguamas o k");
+ while (j == 0)
+ {
+ if (Next == 0)
+ {
+ j = 1;
+ n =2;
+ }
+ }
+ }
+ while (n == 2)
+ {
+ j = 0;
+ lcd.cls();
+ wait(1);
+ lcd.printf("Unas kguamas o kDos kguamas o k?");
+ while (j == 0)
+ {
+ if (Next == 0)
+ {
+ j = 1;
+ n =3;
+ }
+ }
+ }
+ lcd.cls();
+ wait(1);
+ while (n == 3)
+ {
+ j = 0;
+ int *Index ;
+ Index = teclado();
+ printLCD(Index[0],Index[1]);
+
+ }
+
+
+ }
+}
+
+void printLCD(int a, int b)
+{
+ lcd.printf("%c",Simbolos[a][b]);
+ wait(.3);
+}
+
+int * teclado()
+{
+ static int r[2];
+ turnOffteclado();
+ int numero;
+ while(1)
+ {
+ if (Next == 0)
+ {
+ lcd.cls();
+ n = 0;
+ wait_ms(30);
+ break;
+ }
+
+ col1 = 1;
+ numero = usrInput();
+ if (numero != 0)
+ {
+ r[0]=numero-1;
+ r[1]=0;
+ //wait_ms(30);
+ return r;
+ }
+ turnOffteclado();
+ col2 = 1;
+ numero = usrInput();
+ if (numero != 0)
+ {
+ r[0]=numero-1;
+ r[1]=1;
+ //wait_ms(30);
+ return r;
+ }
+ turnOffteclado();
+ col3 = 1;
+ numero = usrInput();
+ if (numero != 0)
+ {
+ r[0]=numero-1;
+ r[1]=2;
+ //wait_ms(30);
+ return r;
+ }
+ turnOffteclado();
+ col4 = 1;
+ numero = usrInput();
+ if (numero != 0)
+ {
+ r[0]=numero-1;
+ r[1]=3;
+ //wait_ms(30);
+ return r;
+ }
+ turnOffteclado();
+
+ }
+}
+
+void turnOffteclado()
+{
+ col1 = col2 = col3 = col4 = 0;
+}
+
+int usrInput()
+{
+ if (fila1 == 1)
+ {
+ return 1;
+ }
+ else if (fila2 == 1)
+ {
+ return 2;
+ }
+ else if (fila3 == 1)
+ {
+ return 3;
+ }
+ else if (fila4 == 1)
+ {
+ return 4;
+ }
+ else{
+ return 0;
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Wed Oct 05 21:47:44 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/2241e3a39974 \ No newline at end of file
