Jovan Jovanovic 2019/0469
Dependencies: 19E042PIM_MB_PINS
Diff: main2.txt
- Revision:
- 0:01c4b34da6d2
diff -r 000000000000 -r 01c4b34da6d2 main2.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main2.txt Mon Jan 17 16:12:11 2022 +0000 @@ -0,0 +1,99 @@ +// biblioteke za uvoz: +#include "mbed.h" + +//makroi: + +#define WAITTIME_MS 1 + + +const int n = 5000; +const int k = -4995; + +//Pinovi: +#define A PA_10 +#define B PA_9 +#define C PA_8 +#define D PB_10 +#define E PB_5 +#define F PB_4 +#define G PB_3 +#define SEL1 PB_6 +#define SEL2 PC_7 +#define SW1 PC_9 +#define POT1 PA_0 +#define POT2 PA_1 +#define BUZZ PA_11 +#define LD2 PB_15 + +//Promenjive: +PwmOut buzzer (BUZZ); +InterruptIn sw1 (SW1); +AnalogIn pot1 (POT1); +AnalogIn pot2 (POT2); +BusOut display (A,B,C,D,E,F,G); +BusOut select (SEL2,SEL1); + + + + + +//Definisanje funkcija: + + + +void konvertor (int num){ + switch(num){ + case 0:display = 0b1000000;break; + case 1:display = 0b1111001;break; + case 2:display = 0b0100100;break; + case 3:display = 0b0110000;break; + case 4:display = 0b0011001;break; + case 5:display = 0b0010010;break; + case 6:display = 0b0000010;break; + case 7:display = 0b1111000;break; + case 8:display = 0b0000000;break; + case 9:display = 0b0010000;break; + default:display = 0x7f; break; + + } +} + + +void ispisi(int num){ + int j = num%10,d = num/10; + if(d==0) + konvertor(-1); + else + konvertor(d); + select = 0b01; + wait_ms(WAITTIME_MS); + konvertor(j); + select = 0b10; + wait_ms(WAITTIME_MS); + +} + +void ISR_sw1(){ + + ispisi(pot1* 10); +} + + + +//Glavna funkcija: +int main(){ + + + + + + + while(1){ + + buzzer=pot1.read(); + buzzer.period_us(n + k*pot2.read()); + wait_ms(50); + + sw1.fall(&ISR_sw1); + } +} \ No newline at end of file