Чудес от данного частотомера ждать не стоит, его возможности не велики, мерит он всего лишь до 8 МГц. Программа подсчитывает тактовые импульсы в течение 1 секунды и отображать его на ЖК-дисплее, измеряемая частота отобрадается в герцах. МК работает от 8Мгц, внешний или внутренний генератор разницы нет.
Схема частотомера:
Исходный код в программе BASCOM AVR прилагается и скачать его можно ниже в архиве, проект просимулирован как в Proteus так и собран в железе на макетной плате, работает отлично!
Исходный код программы:
Тут настройки контроллера и назначение выводов дисплея 1602....
Config Timer1 = Counter , Edge = Rising
Ddrb.1 = 0
Portb.1 = 1
Config Timer0 = Timer , Prescale = 1024
Enable Timer1
Enable Timer0
Enable Interrupts
On Ovf1 Pulse_counter
On Ovf0 Displays
Dim A As Long , B As Byte , I As Long
B = 0
Cls
Locate 1 , 1
Lcd "Frequency meter"
Locate 2 , 1
Lcd "cxema21.ucoz.ru"
Wait 5
Cls
Start Timer0
Do
Loop
End
Displays:
Incr I
If I > 30 Then
Stop Timer0
Cls
Home
A = B * 65536
A = A + Counter1
Lcd "Frequency:"
Locate 2 , 1
Lcd A ; " HZ"
B = 0
I = 0
Counter1 = 0
Start Timer0
End If
Return
Pulse_counter:
Incr B
Counter1 = 0
Return
Фотографии работы:
еще....
Скачать файлы проекта (~2кб.)
|