Pavle Popovic 2020/0494

Dependencies:   Adafruit_GFX 19E042PIM_MB_PINS

Committer:
pavle1
Date:
Mon Jan 17 16:05:55 2022 +0000
Revision:
0:4b068ef5ed41
Pavle Popovic 2020/0494

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pavle1 0:4b068ef5ed41 1 /* mbed Microcontroller Library
pavle1 0:4b068ef5ed41 2 * Copyright (c) 2019 ARM Limited
pavle1 0:4b068ef5ed41 3 * SPDX-License-Identifier: Apache-2.0
pavle1 0:4b068ef5ed41 4 */
pavle1 0:4b068ef5ed41 5
pavle1 0:4b068ef5ed41 6 #include "mbed.h"//uvoz biblioteka
pavle1 0:4b068ef5ed41 7
pavle1 0:4b068ef5ed41 8 #define SCALER 4950//definisanje direktiva
pavle1 0:4b068ef5ed41 9
pavle1 0:4b068ef5ed41 10 AnalogIn pot1(PA_0);//glavne promenljive
pavle1 0:4b068ef5ed41 11 AnalogIn pot2(PA_1);
pavle1 0:4b068ef5ed41 12 PwmOut buzz(PA_11);
pavle1 0:4b068ef5ed41 13 InterruptIn sw1(PC_9);
pavle1 0:4b068ef5ed41 14 BusOut display(PA_10,PA_9,PA_8,PB_10,PB_5,PB_4,PB_3,PA_5);
pavle1 0:4b068ef5ed41 15 DigitalOut SEL2(PC_7);
pavle1 0:4b068ef5ed41 16 DigitalOut SEL1(PB_6);
pavle1 0:4b068ef5ed41 17
pavle1 0:4b068ef5ed41 18 void ISR_sw1(void);//pomocne funkcije
pavle1 0:4b068ef5ed41 19
pavle1 0:4b068ef5ed41 20 int main()//glavna funkcija
pavle1 0:4b068ef5ed41 21 {
pavle1 0:4b068ef5ed41 22 buzz.period_ms(1);
pavle1 0:4b068ef5ed41 23 sw1.fall(&ISR_sw1);
pavle1 0:4b068ef5ed41 24 while (true) {
pavle1 0:4b068ef5ed41 25 buzz.period_us(pot2.read()*SCALER+50);
pavle1 0:4b068ef5ed41 26 buzz.write(pot1.read());
pavle1 0:4b068ef5ed41 27 wait_ms(1);
pavle1 0:4b068ef5ed41 28 }
pavle1 0:4b068ef5ed41 29 }
pavle1 0:4b068ef5ed41 30
pavle1 0:4b068ef5ed41 31 void ISR_sw1()//interrupt sub-routine
pavle1 0:4b068ef5ed41 32 {
pavle1 0:4b068ef5ed41 33 int i=pot1.read()*100;
pavle1 0:4b068ef5ed41 34
pavle1 0:4b068ef5ed41 35 int d;
pavle1 0:4b068ef5ed41 36 d=i/10;
pavle1 0:4b068ef5ed41 37 while(!sw1.read())
pavle1 0:4b068ef5ed41 38 {
pavle1 0:4b068ef5ed41 39 SEL1.write(1);
pavle1 0:4b068ef5ed41 40 SEL2.write(0);
pavle1 0:4b068ef5ed41 41 switch(d)
pavle1 0:4b068ef5ed41 42 {
pavle1 0:4b068ef5ed41 43 case 0:display.write(0xC0);break;
pavle1 0:4b068ef5ed41 44 case 1:display.write(0xF9);break;
pavle1 0:4b068ef5ed41 45 case 2:display.write(0xA4);break;
pavle1 0:4b068ef5ed41 46 case 3:display.write(0xB0);break;
pavle1 0:4b068ef5ed41 47 case 4:display.write(0x99);break;
pavle1 0:4b068ef5ed41 48 case 5:display.write(0x92);break;
pavle1 0:4b068ef5ed41 49 case 6:display.write(0x82);break;
pavle1 0:4b068ef5ed41 50 case 7:display.write(0xF8);break;
pavle1 0:4b068ef5ed41 51 case 8:display.write(0x80);break;
pavle1 0:4b068ef5ed41 52 case 9:display.write(0x90);break;
pavle1 0:4b068ef5ed41 53 }
pavle1 0:4b068ef5ed41 54 wait_us(500);
pavle1 0:4b068ef5ed41 55 SEL2.write(1);
pavle1 0:4b068ef5ed41 56 }
pavle1 0:4b068ef5ed41 57
pavle1 0:4b068ef5ed41 58
pavle1 0:4b068ef5ed41 59 }