roboforum.ru

Технический форум по робототехнике.

Частотометр

Раздел создан специально для людей которым интересна робототехника, но в силу разных причин они не знают с чего начать.
Задавайте ваши вопросы, какими бы простыми они не казались, постоянные посетители форума постараются ответить на них по мере своих сил.
Робот своими руками. Самодельный робот.

Частотометр

Сообщение MOHTEP2 » 17 июн 2008, 11:24

вот кодик

Код: Выделить всёРазвернуть
$regfile = "m128def.dat"
$crystal = 14745600                                         

Config Lcd = 16 * 1a
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2

Config Timer0 = Counter , Edge = Falling
Config PortE.0 = Input                                     
PortE.0 = 1                                                 


Do
   Cls
   Lcd Timer0
   Waitms 100
Loop
End


Но он чет отрабатывает не верно. Пишит чифры но не спорта ???
Помагите подправить код или переписать его чтоб чтитывалось значение с порта E пин 0...
MOHTEP2
 

Re: Частотометр

Сообщение EdGull » 17 июн 2008, 11:28

когда вход или тока еще конфигурирование порта то это pin
Config PinE.0 = Input
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Частотометр

Сообщение MOHTEP2 » 17 июн 2008, 11:31

Было

Config Timer0 = Counter , Edge = Falling
Config PortE.0 = Input
PortE.0 = 1

нужно

Config Timer0 = Counter , Edge = Falling
Config PortE.0 = Input
Config PinE.0 = Input
PortE.0 = 1

Правильно я понял?
MOHTEP2
 

Re: Частотометр

Сообщение EdGull » 17 июн 2008, 11:33

нет. нужно
Config Timer0 = Counter , Edge = Falling
Config PinE.0 = Input
тебе подтяжка по входу нужна, ты зачем туду единицу шлешь?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Частотометр

Сообщение MOHTEP2 » 17 июн 2008, 11:38

EdGull писал(а):нет. нужно
Config Timer0 = Counter , Edge = Falling
Config PinE.0 = Input
тебе подтяжка по входу нужна, ты зачем туду единицу шлешь?


я просто еше плохо знаю етот язык я нашол пример и подумал что он подойдет для измерения частоты точнее пока от кварцевого генератора на 7 мгц

Добавлено спустя 2 минуты 6 секунд:
народ ес не тяжело кинте сылку или пример где можно почитать и посмотреть исходники кода на васике про измерения количества импульсов поданый на вход... :oops:
MOHTEP2
 

Re: Частотометр

Сообщение EdGull » 17 июн 2008, 11:48

а какой язык хорошо знаешь?
и ваще, напиши на псевдо коде чё хочешь получить
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Частотометр

Сообщение MOHTEP2 » 17 июн 2008, 12:00

Мне нужно измерение количества импульсов за промежуток времени...

Кинь кодик ес не задруднит....
А так меня васик пропер :)

Добавлено спустя 2 минуты 11 секунд:
Через пень колоды знаю васик.... :oops: писал проги под досом лет 10 назат .
MOHTEP2
 

Re: Частотометр

Сообщение EdGull » 17 июн 2008, 12:07

не... я не программист.
я писать коды не умею, так если тока ногами подёргать
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Частотометр

Сообщение MOHTEP2 » 17 июн 2008, 16:13

Вот кодик....

Код: Выделить всёРазвернуть

$regfile = "m128def.dat"
$crystal = 14745600
$lib "glcdKS108.lib"
' configure lcd display
Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 1 , Ce2 = 0 , Cd = 4 , Rd = 3 , Reset = 2 , Enable = 5
Setfont Font8x8

Config Portd = Input
Const Reload = 62500


Dim Count As Integer
Dim Rez As Single
'Oaeia? n?aaaouaaao ea?ao? naeoiao
Config Timer1 = Timer , Prescale = 64
Ocr1ah = High(reload)
Ocr1al = Low(reload)
Tccr1a = 0
Set Tccr1b.3

On Compare1a Timer1_isr
On Int0 Countimp

Enable Compare1a
Enable Int0
Enable Interrupts

Cls

Do

Loop
'===== залетаем каждую секунду=========
Timer1_isr:
Disable Int0
Rez = 1 / Count
Count = 0
Cls
Lcdat 3 , 1 , Rez
Enable Int0
Return

'============ сюда при приходе импульса на PD2
Countimp:
Incr Count
Return
'============================================






Теперь проблема в том что подключен генератор на 7.372800МГЦ ана дисплее отображается 0.00004321..... Вчем ошибка?

Добавлено спустя 2 минуты 12 секунд:
EdGull писал(а):не... я не программист.
я писать коды не умею, так если тока ногами подёргать


Верю тебе что ток нагами дергаеш :ROFL: А я снежный человек Пишу с вершин гималайских гор :ROFL:
MOHTEP2
 


Вернуться в Новичкам или основы основ роботостроения.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0