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.
Diff: main.cpp
- Revision:
- 0:e02364deebdf
- Child:
- 1:ca304c1f69b8
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue May 03 17:32:11 2022 +0000
@@ -0,0 +1,140 @@
+#include "mbed.h"
+#include "Blink.h"
+//Definiranje ulaza
+InterruptIn button(USER_BUTTON);
+
+//Definiranje tajmera
+Timer debounce;
+Timer Prekid1;
+Timer Prekid2;
+Ticker flipper;
+
+//Definifanje izlaza
+LED led1(D11);
+LED led2(D12);
+
+LED led5(D15);
+BusOut Seg1(D2,D3,D4,D5,D6,D7,D8,D9);
+
+//Definiranje funkcija
+char SegConvert(int SegValue);
+void Binary (int g);
+void prekid(void);
+
+//Funkcija upravljanja s 7 segmentnim displeom
+char SegConvert(int SegValue) {
+ char SegByte=0x00;
+ switch (SegValue) {
+ case 0 : SegByte = 0x3F;break;
+ case 1 : SegByte = 0x06;break;
+ case 2 : SegByte = 0x5B;break;
+ case 3 : SegByte = 0x4F;break;
+ case 4 : SegByte = 0x66;break;
+ case 5 : SegByte = 0x6D;break;
+ case 6 : SegByte = 0x7D;break;
+ case 7 : SegByte = 0x07;break;
+ case 8 : SegByte = 0x7F;break;
+ case 9 : SegByte = 0x6F;break;
+ }
+ return SegByte;
+}
+
+//Funkcija prekida
+void prekid()
+{
+ if(debounce.read_ms()>200){
+ led1.status(0);
+ led2.status(0);
+
+ led5.status(0);
+ while(Prekid1.read()<=10){
+ Prekid1.start();
+ Prekid2.start();
+ if(Prekid2.read_ms()>=500)
+ {
+ led1.flip();
+ Prekid2.stop();
+ Prekid2.reset();
+ }
+ }
+ Prekid1.stop();
+ Prekid1.reset();
+ }
+ debounce.reset();
+}
+
+//Funkcija odredivanja stanja LED
+void Binary (int g)
+{
+ switch (g) {
+ case 0: {
+ break;
+ }
+ case 1: {
+ led1.flip();
+ break;
+ }
+ case 2: {
+ led2.flip();
+ break;
+ }
+ case 3: {
+ led1.flip();
+ led2.flip();
+ break;
+ }
+ case 4: {
+ led2.flip();
+ led1.flip();
+ break;
+ }
+ case 5: {
+ led2.flip();
+
+ break;
+ }
+ case 6: {
+
+ led1.flip();
+ break;
+ }
+ case 7: {
+ led2.flip();
+ led1.flip();
+
+ break;
+ }
+ case 8: {
+ led2.flip();
+ led1.flip();
+ led2.flip();
+ break;
+ }
+
+ }
+}
+
+//funkcija Ticker-a
+void flip(){
+ led5.flip();
+}
+
+//main funkcija
+int main()
+{
+ debounce.start();
+ button.rise(&prekid);
+ flipper.attach(&flip,0.2);
+ int i;
+ while(1){
+ for (i=0;i<10;i++){
+ led1.status(0);
+ led2.status(0);
+
+ led5.status(0);
+ Seg1=SegConvert(i);
+ Binary(i);
+ wait_ms(1000);
+ }
+ }
+}