Jovan Jovanovic 2019/0469

Dependencies:   19E042PIM_MB_PINS

main2.txt

Committer:
dzombah
Date:
2022-01-17
Revision:
0:01c4b34da6d2

File content as of revision 0:01c4b34da6d2:

// 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);
    }
}