Уважаемые посетители! Форум CQHAM.RU существует исключительно за счет показа рекламы. Мы будем благодарны, если Вы не будете блокировать рекламу на нашем Форуме. Просим внести cqham.ru в список исключений для Вашего блокировщика рекламы.
Страница 5 из 5 ПерваяПервая ... 2345
Показано с 41 по 45 из 45

Тема: Делитель частоты на 74HC74

  1. #41
    Теперь частоту меряет, но показания скачут плюс минус примерно 20 кГц.
    Измерено на самопальном генераторе на кварце, генераторе на кварце tiny2313 4 МГц.
    Возможно слишком короткий период измерения - всего 200 тактовых импульсов Т2 при системной частоте 16 МГц. Делитель Т2 на 1024.
    Есть мысли?
    Никогда такого не было и вот опять...


  2. #42
    Не дождавшись умных мыслей, решил попробовать сам
    Т0 - счетчик входных импульсов (прерывание по переполнению)
    Т1 - интервал времени (делитель на 1024, прерывание по совпадению 15625 - 1 секунда)
    Показания в килогерцах с сотыми долями (десятки герц).
    Показания прыгать перестали. Мерил пока что самопальный генератор на 3.6964 МГц.
    В качестве бонуса решил сделать для своего приборчика измерение напряжения до 30 вольт (вход РС1, делитель напряжения 10К/2К).
    Привожу программу, опыт не большой, поэтому изяществом языка не блещет, но работает.
    Может кому пригодится. (CVAVR, mega8)
    Не забыть в конфигурации проекта для sprintf включить тип переменной float

    Chip type : ATmega8
    Program type : Application
    AVR Core Clock frequency: 16,000000 MHz
    Memory model : Small
    External RAM size : 0
    Data Stack size : 256
    ******************** ******************** *************/


    #include <mega8.h>


    #asm
    .equ __lcd_port=0x12
    #endasm


    #include <alcd.h>
    #include <stdio.h>
    #include <delay.h>


    float A=0; // частота или напряжение
    unsigned char C=0; // временная переменная
    char temp[64];// массив LCD


    interrupt [TIM0_OVF] void timer0_ovf_isr(void)
    {
    A=A+256;
    }




    interrupt [TIM1_COMPA] void timer1_compa_isr(voi d)
    {
    C=TCNT2;
    A=(A+C)/100;


    lcd_clear();
    lcd_gotoxy(0,0);
    sprintf(temp,"%.2f", A);
    lcd_puts(temp);
    lcd_gotoxy(4,1);
    lcd_puts("kHz");
    A=0;
    C=0;


    TIFR=0xFF;
    #asm("cli")
    TCNT1=0;
    TCNT0=0;
    #asm("sei")
    }




    interrupt [ADC_INT] void adc_isr(void)
    {
    unsigned int adc_data;


    adc_data=ADCW;


    A=adc_data/204.8*6;
    lcd_clear();
    lcd_gotoxy(0,0);
    sprintf(temp,"%.2f", A);
    lcd_puts(temp);
    lcd_gotoxy(7,0);
    lcd_puts("V");
    }


    void main(void)
    {


    PORTB=0xFF;
    DDRB=0x00;


    PORTC=0x7D;
    DDRC=0x00;

    PORTD=0x00;
    DDRD=0xEF;


    TCCR0=0x06;
    TCNT0=0x00;


    TCCR1A=0x00;
    TCCR1B=0x0D;
    TCNT1H=0x00;
    TCNT1L=0x00;
    ICR1H=0x00;
    ICR1L=0x00;
    OCR1AH=0x3D;
    OCR1AL=0x09;
    OCR1BH=0x00;
    OCR1BL=0x00;


    ASSR=0x00;
    TCCR2=0x00;
    TCNT2=0x00;
    OCR2=0x00;


    MCUCR=0x00;


    TIMSK=0x00;


    UCSRB=0x00;


    ACSR=0x80;
    SFIOR=0x00;


    ADMUX=0x41;
    ADCSRA=0x00;


    SPCR=0x00;


    TWCR=0x00;


    // Alphanumeric LCD initialization
    // Connections specified in the
    // Project|Configure|C Compiler|Libraries|A lphanumeric LCD menu:
    // RS - PORTD Bit 0
    // RD - PORTD Bit 1
    // EN - PORTD Bit 2
    // D4 - PORTD Bit 3
    // D5 - PORTD Bit 5
    // D6 - PORTD Bit 6
    // D7 - PORTD Bit 7
    // Characters/line: 8
    lcd_init(8);


    #asm("sei")
    lcd_puts(" V & F ");


    m1: while (1)
    {
    if(PINB.1==0)
    {
    ADCSRA=0x00; //частота
    TIMSK=0x11;
    TIFR=0xFF;
    }
    if(PINB.2==0)
    {
    TIMSK=0x00;
    TIFR=0xFF; //напряжение
    ADCSRA=0x8C;
    goto m2;
    }
    }
    m2: while (1)
    {
    delay_ms(500);
    ADCSRA=0xCC;
    delay_ms(500);
    if(PINB.1==0)goto m1;
    }
    }

    Добавлено через 53 минут(ы):

    Ну и схемы
    Нажмите на изображение для увеличения. 

Название:	Делитель10.GIF 
Просмотров:	1280 
Размер:	17.8 Кб 
ID:	276130Нажмите на изображение для увеличения. 

Название:	Частота - напряжение.GIF 
Просмотров:	1120 
Размер:	15.8 Кб 
ID:	276131
    Последний раз редактировалось Ромм; 03.12.2017 в 21:02.
    Никогда такого не было и вот опять...

  3. #43
    В прерывании Т1 исправить С=TCNT0;
    Никогда такого не было и вот опять...

  4. #44
    ДОПОЛНИТЕЛЬНО шунтировать диодами затвор BF998 нет необходимости, у них затворы и так имеют встроенные защитные диоды!!!
    Хатуль мадан.

  5. #45
    Так они какими внутри диодами зашунтированы? Я например не знаю. А КД409 диоды ВЧ от превышения напряжения на затворе.
    Внутренние я так понял для защиты от статики при монтаже.
    Никогда такого не было и вот опять...

Страница 5 из 5 ПерваяПервая ... 2345

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Аналоговый делитель частоты 10:5
    от Gunes в разделе Измерения
    Ответов: 3
    Последнее сообщение: 21.05.2014, 06:16
  2. Делитель частоты
    от mityai в разделе Для начинающих
    Ответов: 35
    Последнее сообщение: 11.04.2012, 12:08
  3. Нужна помощь. (делитель частоты)
    от Belko999 в разделе Технический кабинет
    Ответов: 11
    Последнее сообщение: 19.05.2009, 16:04
  4. делитель частоты КР193ИЕ6
    от ZOOM в разделе Технический кабинет
    Ответов: 3
    Последнее сообщение: 27.03.2008, 13:12
  5. Делитель частоты на 100
    от Евг в разделе Технический кабинет
    Ответов: 8
    Последнее сообщение: 07.10.2007, 13:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •