Pavle Popovic 0494
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 /* mbed Microcontroller Library 00002 * Copyright (c) 2019 ARM Limited 00003 * SPDX-License-Identifier: Apache-2.0 00004 */ 00005 00006 #include "mbed.h"//uvoz biblioteka 00007 00008 #define SCALER 4900//definisanje direktiva 00009 00010 AnalogIn pot1(PA_0);//glavne promenljive 00011 AnalogIn pot2(PA_1); 00012 PwmOut buzz(PA_11); 00013 InterruptIn sw1(PC_9); 00014 BusOut display(PA_10,PA_9,PA_8,PB_10,PB_5,PB_4,PB_3,PA_5); 00015 DigitalOut SEL2(PC_7); 00016 DigitalOut SEL1(PB_6); 00017 00018 void ISR_sw1(void);//pomocne funkcije 00019 00020 int main()//glavna funkcija 00021 { 00022 buzz.period_ms(1); 00023 sw1.fall(&ISR_sw1); 00024 while (true) { 00025 buzz.period_us(pot2.read()*SCALER+100);//kada stavim 50 pocetnu vrednost ne cuje se po cetak pa zato sam stavio 100us 00026 buzz.write(pot1.read()); 00027 wait_ms(10); 00028 } 00029 } 00030 00031 void ISR_sw1()//interrupt sub-routine 00032 { 00033 int i=pot1.read()*100; 00034 00035 int d; 00036 int j; 00037 d=i/10; 00038 j=i%10; 00039 while(!sw1.read()) 00040 { 00041 if(i<10) 00042 { 00043 SEL2.write(0); 00044 switch(i) 00045 { 00046 case 0:display.write(0xC0);break; 00047 case 1:display.write(0xF9);break; 00048 case 2:display.write(0xA4);break; 00049 case 3:display.write(0xB0);break; 00050 case 4:display.write(0x99);break; 00051 case 5:display.write(0x92);break; 00052 case 6:display.write(0x82);break; 00053 case 7:display.write(0xF8);break; 00054 case 8:display.write(0x80);break; 00055 case 9:display.write(0x90);break; 00056 00057 } 00058 SEL2.write(1); 00059 wait_us(500); 00060 } 00061 else 00062 { 00063 SEL1.write(0); 00064 switch(d) 00065 { 00066 case 1:display.write(0xF9);break; 00067 case 2:display.write(0xA4);break; 00068 case 3:display.write(0xB0);break; 00069 case 4:display.write(0x99);break; 00070 case 5:display.write(0x92);break; 00071 case 6:display.write(0x82);break; 00072 case 7:display.write(0xF8);break; 00073 case 8:display.write(0x80);break; 00074 case 9:display.write(0x90);break; 00075 00076 } 00077 wait_us(500); 00078 00079 SEL1.write(1); 00080 00081 SEL2.write(0); 00082 switch(j) 00083 { 00084 case 0:display.write(0xC0);break; 00085 case 1:display.write(0xF9);break; 00086 case 2:display.write(0xA4);break; 00087 case 3:display.write(0xB0);break; 00088 case 4:display.write(0x99);break; 00089 case 5:display.write(0x92);break; 00090 case 6:display.write(0x82);break; 00091 case 7:display.write(0xF8);break; 00092 case 8:display.write(0x80);break; 00093 case 9:display.write(0x90);break; 00094 00095 } 00096 wait_us(500); 00097 SEL1.write(1); 00098 } 00099 } 00100 00101 00102 }
Generated on Fri Sep 16 2022 22:13:55 by
1.7.2