Applied engineering Team / Mbed 2 deprecated Mikroupravljaci_vjezba_7_7

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
djdinko
Date:
Fri May 22 15:57:04 2015 +0000
Commit message:
Vjezba 7-7

Changed in this revision

HostIO.cpp Show annotated file Show diff for this revision Revisions of this file
HostIO.h Show annotated file Show diff for this revision Revisions of this file
SegDisplay.cpp Show annotated file Show diff for this revision Revisions of this file
SegDisplay.h Show annotated file Show diff for this revision Revisions of this file
main.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
diff -r 000000000000 -r c771d4ee0a76 HostIO.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HostIO.cpp	Fri May 22 15:57:04 2015 +0000
@@ -0,0 +1,12 @@
+// HostIO.cpp code for Exercise 7-7
+#include "HostIO.h"
+#include "SegDisplay.h" // allow access to functions and objects in SegDisplay.cpp
+Serial pc(USBTX, USBRX); // communication to host PC
+void HostInit(void) {
+pc.printf("\n\rType two digit numbers to be displayed on the 7-seg display\n\r");
+}
+char GetKeyInput(void) {
+char c = pc.getc(); // get keyboard data (note numerical ascii range 0x30-0x39) 
+pc.printf("%c",c); // print ascii value to host PC terminal
+return (c&0x0F); // return value as non-ascii (bitmask c with value 0x0F)
+}
\ No newline at end of file
diff -r 000000000000 -r c771d4ee0a76 HostIO.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/HostIO.h	Fri May 22 15:57:04 2015 +0000
@@ -0,0 +1,8 @@
+// HostIO.h file for Exercise 7-7
+#ifndef HOSTIO_H
+#define HOSTIO_H
+#include "mbed.h"
+extern Serial pc; // allow pc to be manipulated by other files
+void HostInit(void); // function prototype
+char GetKeyInput(void); // function prototype
+#endif
\ No newline at end of file
diff -r 000000000000 -r c771d4ee0a76 SegDisplay.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SegDisplay.cpp	Fri May 22 15:57:04 2015 +0000
@@ -0,0 +1,24 @@
+// SegDisplay.cpp file for Exercise 7-7
+#include "SegDisplay.h"
+BusOut Seg1(p5,p6,p7,p8,p9,p10,p11,p12); // A,B,C,D,E,F,G,DP
+BusOut Seg2(p13,p14,p15,p16,p17,p18,p19,p20); // A,B,C,D,E,F,G,DP
+void SegInit(void) {
+Seg1=SegConvert(0); // initialise to zero
+Seg2=SegConvert(0); // initialise to zero
+}
+char SegConvert(char SegValue) { // function 'SegConvert'
+char SegByte=0x00;
+switch (SegValue) { //DP G F E D C B A
+case 0 : SegByte = 0x3F; break; // 0 0 1 1 1 1 1 1 binary
+case 1 : SegByte = 0x06; break; // 0 0 0 0 0 1 1 0 binary
+case 2 : SegByte = 0x5B; break; // 0 1 0 1 1 0 1 1 binary
+case 3 : SegByte = 0x4F; break; // 0 1 0 0 1 1 1 1 binary
+case 4 : SegByte = 0x66; break; // 0 1 1 0 0 1 1 0 binary
+case 5 : SegByte = 0x6D; break; // 0 1 1 0 1 1 0 1 binary
+case 6 : SegByte = 0x7D; break; // 0 1 1 1 1 1 0 1 binary
+case 7 : SegByte = 0x07; break; // 0 0 0 0 0 1 1 1 binary
+case 8 : SegByte = 0x7F; break; // 0 1 1 1 1 1 1 1 binary
+case 9 : SegByte = 0x6F; break; // 0 1 1 0 1 1 1 1 binary
+}
+return SegByte;
+}
\ No newline at end of file
diff -r 000000000000 -r c771d4ee0a76 SegDisplay.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SegDisplay.h	Fri May 22 15:57:04 2015 +0000
@@ -0,0 +1,9 @@
+// SegDisplay.h file for Exercise 24
+#ifndef SEGDISPLAY_H
+#define SEGDISPLAY_H
+#include "mbed.h"
+extern BusOut Seg1; // allow Seg1 to be manipulated by other files
+extern BusOut Seg2; // allow Seg2 to be manipulated by other files
+void SegInit(void); // function prototype
+char SegConvert(char SegValue); // function prototype
+#endif
\ No newline at end of file
diff -r 000000000000 -r c771d4ee0a76 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri May 22 15:57:04 2015 +0000
@@ -0,0 +1,15 @@
+#include "mbed.h"
+#include "HostIO.h"
+#include "SegDisplay.h"
+char data1, data2; // variable declarations
+int main() { // main program
+SegInit(); // call function to initialise the 7-seg displays
+HostInit(); // call function to initialise the host terminal
+while (1) { // infinite loop
+data2 = GetKeyInput(); // call function to get 1st key press
+Seg2 = SegConvert(data2); // call function to convert and output
+data1 = GetKeyInput(); // call function to get 2nd key press
+Seg1 = SegConvert(data1); // call function to convert and output
+pc.printf(" "); // display spaces between 2 digit numbers
+}
+}
\ No newline at end of file
diff -r 000000000000 -r c771d4ee0a76 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri May 22 15:57:04 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/dbbf35b96557
\ No newline at end of file