Возбуд убрать не получится. На частотах ниже 70Мгц сильно падает чутье.UkrRadist писал(а):а можно как то убрать это возбуждение,что бы показовало ноль при отсутствии сигнала?И ще:что покажет частотомер.если на вход подать частоту ниже 70МГц(по Даташиту - это минимальная вх.частота)?
Схема
[img]http://kiro_1.users.photofile.ru/photo/kiro_1/3814294/xlarge/88720947.jpg[/img]
Код
Код: Выделить всё
#include <iom8v.h>
#include <stdlib.h>
#include <macros.h>
#include <stdlib.h>
#include <math.h>
#include <interrupt.h>
#define SetBit(x,y) (x|=y)
#define ClrBit(x,y) (x&=~y)
#define TestBit(x,y) (x&y)
#define LCD_RST 0b00000001
#define LCD_E 0b00000010
#define LCD_RW 0b00000100
#define LCD_RS 0b00001000
#define LCD_CS2 0b00010000
#define LCD_CS1 0b00100000
#define LCD_DB PORTB
#define LCD_COM PORTC
#include "delay.h"
#include "ks0108.h"
unsigned char text,str[];
unsigned char rez[1];
unsigned int HZ=0;
unsigned int HZ0=0;
unsigned int speed1=0;
unsigned int taho=0;
void port_init(void)
{
PORTB = 0xFF;
DDRB = 0xFF;
PORTC = 0xFF;
DDRC = 0xFF;
PORTD = 0x00;
DDRD = 0x00;
}
void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0xFF; //setup
TCNT1L = 0xFF;
//OCR1AH = 0xFF;
//OCR1AL = 0x09;
OCR1BH = 0x3D;
OCR1BL = 0x85;
ICR1H = 0x08;
ICR1L = 0x08;
//TCCR1A = 0xE0;
TCCR1B = 0b00000011; //start Timer
}
#pragma interrupt_handler TIM1_OVF_isr:iv_TIM1_OVF
void TIM1_OVF_isr(void)
{
//external interupt on INT1
TCNT1=0;
speed1=HZ;
taho=HZ0;
HZ=0;
HZ0=0;
}
#pragma interrupt_handler int1_isr:iv_INT1
void int1_isr(void)
{
//external interupt on INT1
HZ+=1;
}
#pragma interrupt_handler int0_isr:iv_EXT_INT0
void int0_isr(void)
{
//external interupt on INT1
HZ0+=1;
}
void main()
{
char String;
int i,j;
char spd[1];
char str[10];
DDRC=0xFF;
DDRD=0x00;
DDRB=0xFF;
CLI(); //disable all interrupts
init_lcd();
timer1_init();
Delay_ms(10);
clear();
Delay_ms(10);
MCUCR = 0x0A;// для обоих портов //MCUCR = 0x0C; чисто для int1
GICR = 0xC0;// для обоих портов //GICR = 0x80; чисто для int1
TIMSK = 4; //timer interrupt sources
SEI();
while(1){
....
вывод инфы на дисплей
display(speed1);
display(taho);
....
}
}
