17436

Ознайомлення з принципом роботи частотомірів

Лабораторная работа

Коммуникация, связь, радиоэлектроника и цифровые приборы

Мета роботи Ознайомлення з принципом роботи частотомірів Теоретичні відомості Вимірювання частоти та періоду сигналів по методу прямого перетворення базується на реалізації двох операцій: перетворенні вимірюваного сигналу в послідовність дискретних імпульсів ц

Украинкский

2013-07-01

701 KB

4 чел.


Мета роботи

Ознайомлення з принципом роботи частотомірів

Теоретичні відомості

Вимірювання частоти та періоду сигналів по методу прямого перетворення базується на реалізації двох операцій: перетворенні вимірюваного сигналу в послідовність дискретних імпульсів цієї ж самої частоти та підрахунку кількості цих імпульсів на протязі відомого та строго-визначеного часового інтервалу. Принцип дії таких частотомірів, на прикладі часового інтервалу, який формується за 10 періодів тактового генератора відомого періоду Т0, ілюструється часовою діаграмою представленою на рис.1.

Рис. 1 – Часова діаграма роботи частотоміра, який працює
по методу прямого перетворення

Для вимірювання частоти з допомогою мікроконтролера необхідно:

  •  з допомогою одного з таймерів сформувати часовий інтервал відомої тривалості Т0;
  •  на протязі цього часового інтервалу лічильником підрахувати кількість імпульсів сформованих формувачем NX;
  •  розрахувати частоту вхідного сигналу fX згідно виразу .

Якщо сформований часовий інтервал 1 с., то

Завдання:

  •  Виміряти частоту вихідної напруги мультивібратора напруги та відобразити виміряне значення на рідкокристалічному дисплеї;

№ варіанту

1

2

3

4

5

6

7

8

9

0

Частота кварцу, МГц

11,5

11

10,5

10

9,5

9

8,5

8

7,5

12

Програмна реалізація

#include <REG51.H>

#include <stdio.h>

/*---------------------------------*/

#define Fclc 10000000

#define TREF 1.0

unsigned char idata THH0;

unsigned char idata TL0_T;

unsigned char idata TH0_T;

unsigned char idata THH0_T;

/*---------------------------------*/

#define LCD_DAT P2

#define LCD_RS P2_1

#define LCD_RW P2_2

#define LCD_E P2_3

/*---------------------------------*/

void init_LCD(void);

void out_com_lcd(char out);

char putchar(unsigned char out);

void inc_kursor_pos_lcd(unsigned char n);

unsigned char print_ram_adres_lcd;

unsigned char freq_pos;

/*---------------------------------*/

void init_T0(void);

void init_T1(void);

/*---------------------------------*/

void delay(unsigned int n);

/*---------------------------------*/

void main(void)

{

init_LCD();

printf("\n   ");

freq_pos=print_ram_adres_lcd;

init_T0();        //Timer

init_T1();        //Counter

EA=1;

while(1)

 {

 }

}

/*---------------------------------*/

void delay(unsigned int n)

{

unsigned int i,j;

for(j=0;j<n;j++)

 for(i=0;i<0x200;i++);

}

/*---------------------------------*/

void init_LCD(void)

{

unsigned char init_comand[]={0x30,0x30,0x30,0x38,0x0F,0x1,0x6};

unsigned char i;

LCD_RS=0;

LCD_RW=0;

LCD_E=0;

delay(100);

for(i=0;i<7;i++)

 out_com_lcd(init_comand[i]);

print_ram_adres_lcd=0;

}

/*---------------------------------*/

void out_com_lcd(char out)

{

unsigned char a;

LCD_RS=0;

LCD_RW=0;

LCD_DAT &= 0x0F;   //4-bit interface

LCD_DAT |= out & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

for(a=0;a<200;a++);

LCD_DAT &= 0x0F;

LCD_DAT |= (out <<4) & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

for(a=0;a<200;a++);

delay(5);

}

/*---------------------------------*/

char putchar(unsigned char out)

{

unsigned char a;

if(out=='\n')

 {

 print_ram_adres_lcd=0x2;

 out_com_lcd(0x80+print_ram_adres_lcd);

 return out;

 }

out_com_lcd(0x80+print_ram_adres_lcd);

LCD_RS=1;

LCD_RW=0;

LCD_E=0;

LCD_DAT &= 0x0F;   //4-bit interface

LCD_DAT |= out & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

for(a=0;a<200;a++);

LCD_DAT &= 0x0F;

LCD_DAT |= (out <<4) & 0xF0;

for(a=0;a<200;a++);

LCD_E=1;

for(a=0;a<200;a++);

LCD_E=0;

inc_kursor_pos_lcd(1);

return out;

}

/*---------------------------------*/

void inc_kursor_pos_lcd(unsigned char n)

{

unsigned char i;

for(i=0;i<n;i++)

 {

 print_ram_adres_lcd++;

 if(print_ram_adres_lcd==0x11)print_ram_adres_lcd=0x42;

 if(print_ram_adres_lcd==0x51)print_ram_adres_lcd=0x12;

 if(print_ram_adres_lcd==0x21)print_ram_adres_lcd=0x52;

 if(print_ram_adres_lcd==0x61)print_ram_adres_lcd=0x2;

 }

}

/*---------------------------------*/

void init_T0(void)

{

long t,NT0;

t=TREF*Fclc/12.0;

NT0=0xFFFFFF-t;

TL0_T=NT0;

TH0_T=(NT0&0xFF00)>>8;

THH0_T=(NT0&0xFF0000)>>16;

TL0 = TL0_T;

TH0 = TH0_T;

THH0= THH0_T;

TMOD &= 0XF0;                    /* clear Timer 0   */

TMOD  |= 0X1;

ET0 = 1;        /* IE.1*/

TR0 = 1;                /* TCON.4 start timer  */

}

/*---------------------------------*/

void init_T1(void)

{

TMOD  &= 0XF;       /* clear Timer 1 control    */

TMOD = 0X51 ;

TL1 = 0X0 ;                  /* value set by user         */

TH1 = 0X0 ;                 /* value set by user          */

ET1 = 1 ;          /* ET0 is IE.3         */

TR1 = 1;                /* TCON.6  start timer      */

}

/*---------------------------------*/

void int_T0(void) interrupt 1

{

unsigned int N,Freq;

THH0++;

if(THH0==0)

 {

 TR0=0;

 TR1=0;

 TL0 = TL0_T;

 TH0 = TH0_T;

 THH0=THH0_T;

 N=(TH1<<8);

 N=N|TL1;

 TH1=0;

 TL1=0;

 Freq = N/TREF;

 print_ram_adres_lcd=freq_pos;

 printf("%d Hz",Freq);

 TR0=1;

 TR1=1;

 }

}

/*---------------------------------*/

void int_T1(void) interrupt 3

{

TR1=0;

TR1=1;

}

/*---------------------------------*/

Результати  даної  роботи

Висновок

На даній лабораторній роботі я   ознайомився з принципом роботи частотомірів, 

а також   з його застосуванням. Розробив програму  яка відповідає вихідному результату.


 

А также другие работы, которые могут Вас заинтересовать

13529. Сокрытие информации на HTML – страницах 894 KB
  Сокрытие информации на HTML – страницах Подготовка к работе По указанной литературе и методическим указаниям изучить основные понятия стеганографии и криптографии уяснить принцип сокрытия информации на HTMLстраницах. Ответить на контрольные вопросы. ...
13530. Сокрытие информации в субтитрах 198.5 KB
  Сокрытие информации в субтитрах Подготовка к работе По указанной литературе и методическим указаниям изучить основные понятия стеганографии и криптографии уяснить принцип сокрытия информации в субтитрах. Ответить на контрольные вопросы. Контроль
13531. Проведення реєстрації осіб, які виявили бажання пройти зовнішнє незалежне оцінювання 172 KB
  Урок інформатики Проведення реєстрації осіб які виявили бажання пройти зовнішнє незалежне оцінювання в 2013 році. Робота з програмою створення заявиреєстраційної картки. Тема уроку: Проведення реєстрації осіб які виявили бажання пройти зовнішнє незалежне оцін...
13532. Системы счисления и двоичное представление информации в памяти компьютера 218 KB
  Системы счисления и двоичное представление информации в памяти компьютера. Что нужно знать: перевод чисел между десятичной двоичной восьмеричной и шестнадцатеричной системами счисления см. презентацию Системы счислени
13533. Использование информационных моделей (таблицы, диаграммы, графики) 822 KB
  Тема: Использование информационных моделей таблицы диаграммы графики. Перебор вариантов выбор лучшего по какомуто признаку. Что нужно знать: в принципе особых дополнительных знаний кроме здравого смысла и умения перебирать варианты не пропустив ни од...
13534. Построение таблиц истинности логических выражений 501.5 KB
  Тема: Построение таблиц истинности логических выражений. Про обозначения К сожалению обозначения логических операций И ИЛИ и НЕ принятые в серьезной математической логике  неудобны интуитивно непонятны и никак не проявляют аналогии с обычной алгеброй. Ав...
13535. Файловая система 188.5 KB
  Тема: Файловая система. Что нужно знать: данные на дисках хранятся в виде файлов наборов данных имеющих имя чтобы было удобнее разбираться с множеством файлов их объединяют в каталоги в Windows каталоги называются папками каталог можно воспринимать как ко...
13536. Проверка закономерностей методом рассуждений 134 KB
  A5 базовый уровень время – 2 мин Тема: Проверка закономерностей методом рассуждений. Что нужно знать: в общемто никаких знаний из курса информатики здесь не требуется эту задачу можно давать детям начальной школы для развития логического мышления в задачах ...
13537. Поиск и сортировка информации в базах данных 1.19 MB
  Тема: Поиск и сортировка информации в базах данных. Что нужно знать: при составлении условия отбора можно использовать знаки отношений меньше или равно больше или равно не равно последовательность выполнения логических операций в сложных ...