IF I WANT TO MAKE FREQUENCY METER (RANGING : 0-3MHz), WITH THE HELP OF BELOW PROGRAMMING......
Freq. Meter Program
- include "mbed.h"
- include "TextLCD.h"
- define PERIOD 0.1
DigitalOut myled1(LED1);
DigitalOut myled2(LED2);
DigitalOut myled3(LED3);
DigitalOut myled4(LED4);
InterruptIn button(p25);
Timer timer;
long var;
long count;
long hertz;
int pos = 0;
int array[100];
TextLCD lcd(p15, p16, p17, p18, p19, p20);
void flip() {
myled4 = !myled4;
array[pos] = timer.read_us();
timer.reset();
timer.start();
pos++;
if (pos == 100) {
pos = 0;
}
}
int main() {
float tim;
pos = 0;
int i;
for (i=0; i<100; i++) {
array[i] = 0;
}
lcd.cls();
lcd.locate(0, 0);
lcd.printf("FREQUENCY METER");
lcd.locate(0, 1);
lcd.printf("SCET EC VIII-SEM");
wait(2);
lcd.cls();
timer.reset();
button.rise(&flip);
var = 0;
tim = PERIOD;
while (1) {
for (i=0; i<100; i++) {
var = var + array[i];
}
count = var / 1000;
hertz = 1000000/count;
var = 0;
myled1 = 1;
wait(tim);
myled1 = 0;
myled2 = 1;
wait(tim);
myled2 = 0;
myled3 = 1;
wait(tim);
myled3 = 0;
lcd.locate(0, 0);
lcd.printf("%ld uSec", count*10);
lcd.locate(0, 1);
lcd.printf("%ld Hz", hertz);
}
}
THEN I DONT GET MESUREMENT FOR FREQUENCY ABOVE 100KHz, SO WHAT WILL BE THE MODIFICATION FOR THAT?????????????????????????
IF I WANT TO MAKE FREQUENCY METER (RANGING : 0-3MHz), WITH THE HELP OF BELOW PROGRAMMING......
Freq. Meter Program
DigitalOut myled1(LED1); DigitalOut myled2(LED2);
DigitalOut myled3(LED3); DigitalOut myled4(LED4); InterruptIn button(p25);
Timer timer; long var; long count; long hertz; int pos = 0; int array[100];
TextLCD lcd(p15, p16, p17, p18, p19, p20);
void flip() { myled4 = !myled4; array[pos] = timer.read_us(); timer.reset(); timer.start(); pos++;
if (pos == 100) { pos = 0; } }
int main() { float tim; pos = 0; int i;
for (i=0; i<100; i++) { array[i] = 0; }
lcd.cls(); lcd.locate(0, 0); lcd.printf("FREQUENCY METER");
lcd.locate(0, 1); lcd.printf("SCET EC VIII-SEM");
wait(2); lcd.cls(); timer.reset(); button.rise(&flip);
var = 0; tim = PERIOD;
while (1) { for (i=0; i<100; i++) { var = var + array[i]; } count = var / 1000; hertz = 1000000/count; var = 0;
myled1 = 1; wait(tim); myled1 = 0; myled2 = 1; wait(tim); myled2 = 0; myled3 = 1; wait(tim); myled3 = 0;
lcd.locate(0, 0); lcd.printf("%ld uSec", count*10); lcd.locate(0, 1); lcd.printf("%ld Hz", hertz);
} }
THEN I DONT GET MESUREMENT FOR FREQUENCY ABOVE 100KHz, SO WHAT WILL BE THE MODIFICATION FOR THAT?????????????????????????