Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Таймер-счётчик на WinAVR под Mega48 
:(
    Опции темы
kaspersky89
Дата 7.12.2007, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Помогите плиз с исходником примера как сосчитать импульсы поступающие на вход контроллера а потом в зависимомти от частоты выдавать на определённой ноге логическую1 или 0. ОООЧЕнь нужно.
PM MAIL   Вверх
kaspersky89
Дата 7.12.2007, 22:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Тут все ведь такие умные и опытные в программинге МК. Очень нужно в ближайшие часы исходник. Может влом кому ламеру помогать,но ё-моё вспомните себя когда зелёными такимиже были smile 
PM MAIL   Вверх
kaspersky89
Дата 8.12.2007, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Я то думал форум про программистов контроллеров, а тут.......  Ладно пацаны, на каждого найдётся свой кирпич. Если я лох в контроллерах и прерываниях, то это не значит что надо забивать на это.
PM MAIL   Вверх
cardinal
Дата 8.12.2007, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



Посмотри вот этот пример
http://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=33571
Там есть исходник. Там считаются импульсы и потом из них считается частота...

Добавлено через 26 секунд
И не надо плодить всякие ненужные сообщения...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
kaspersky89
Дата 9.12.2007, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



 cardinal   извини если флудил не по теме, просто нервишки не к чёрту. Попробую прогрызть тот исходник который по твоей ссылке. smile 
PM MAIL   Вверх
kaspersky89
Дата 10.12.2007, 05:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Короче мужики, выручите кому невлом, тут схемку скинул, в ней номиналы ещё не проставил да и так пару косяков найдётся. Нужен исходник на WinAVR, на INT0 меги подаются импульсы с катушки зажигания, их типо нужно сосчитать, а по другому таймеру через секунду подсчёт, и вывод логической 1 или 0. Остальное доделаю сам, Я понимаю конечно тупая задача, но так уж вышло что времени в обрезю Это тестовая схема, см потом доделаю и еепром и кнопки и дисплей.

user posted image
PM MAIL   Вверх
Mazzi
Дата 10.12.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Найдутся те кому не в лом  если за бабки..  smile 


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
kaspersky89
Дата 10.12.2007, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Mazzi Реально гворишь, Наши россияне как американцы уже, без бабок даже прикурить спичек не дадут блин smile  20-30 факинговых строчек кода ито проплачивать надо. Жаль. smile 
PM MAIL   Вверх
cardinal
Дата 10.12.2007, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 8
Всего: 99



kaspersky89, чтобы написать эти факинговые 20-30 строк кода надо посидеть пару лет и бесплатно погеморроится. Тебе не кажется, что если вот так рассуждать, то можно и на поезде без билета ездить и объяснять это тем, что поезд ведь все равно туда едет, что трудно меня прихватить. Так что ты не прав!


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Lazin
Дата 10.12.2007, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 3
Всего: 154



kaspersky89, могу предложить такой вариант: ты берешь свою схему, определяешь где входы-выходы, пишешь код для настройки ножек контроллера. Понять что для работы с портом B нужны регистры PORTD и DDRD, и научиться их использовать не трудно. В общем нужно разобраться что туда записать. Затем нужно настроить прерывание по INT0, на срабатывание по нужному фронту импульса, и разрешить его. Далее нужно настроить таймер 0 на работу в нормальном режиме. После этого останется реализовать логику, а это элементарно, просто увеличивай значение счетчика при каждом новом импульсе, по прерыванию от таймера управляй выводами, и все.
Примеры программ и доки есть в дистрибутиве WinAvr, за то время что тема существует уже мог бы и прочитать))
Я могу выложить пример работы с таймером, и то только потому, что он есть в одном из моих проектов
Код

TCCR0=0x00; //stop
ASSR=0x00; //set async mode
TCNT0=0xC0; //set count
OCR0=0x40;
TCCR0=TIMER0_CLK; //start timer

ISR(TIMER0_OVF_vect)
{             
}

PM MAIL Skype GTalk   Вверх
kaspersky89
Дата 10.12.2007, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Вродебы чегото дошло до меня, тут кусок кода для подсчёта импульсов на ногу INT0 контроллера. Смысл такой - по каждому входному импульсу происходит прерывание и переменная которая с количеством оборотов увеличевается на единицу.

Lazin ***********************************************************
TCCR0=0x00; //stop
ASSR=0x00; //set async mode
TCNT0=0xC0; //set count
OCR0=0x40;
TCCR0=TIMER0_CLK; //start timer

ISR(TIMER0_OVF_vect)
{             
}
*********************************************************************
Kaspersky89******************************************************
// прерывание импульсами от катушки зажигания
INTERRUPT (SIG_INTERRUPT0) {

    //останавливаем счетчик 1
    TCCR0 = 0;

    //записываем замеренное значение в переменную типа INT
    oboroty = TCNT0;

    //увеличиваем счетчик на единицу
     oboroty++;
    
    //обнуляем и запускаем счетчик 1
    TCNT0 = 0;
    TCCR0 = 0x05;
*******************************************************************

У меня два вопроса:

Правильно ли я настроил прерывание на ногу INT0 ?
Lazin  как из твоего примера настроить таймер на 1 секунду чтобы из него колдовать с подсчитанными оборотами


P.S. Заранне извиняюсь если туплю чего, и путаюсь в терминах.

PM MAIL   Вверх
kaspersky89
Дата 10.12.2007, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Решил на форуме продолжать свой проект по мере его развития.

Если что, Модератор всегда может его удалить(кстати насчёт бесплатного проезда в поезде, было дело катался  по стране автостопом на фурах, типа курс выживания молодога бойца с ночёвкой в чистом поле smile ,красота,  проехал бесплатно, и впечатлений набрался и проехал на халяву, правдо пневматический друг всегда был при  себе всё таки в России живём)

Тут добавил окончательный вариант тестовой схемы(назовём её ver0.1)

Сегодня в Eagl-е сделаю печатку, завтра спаяю, и надеюсь напишу программу для Меги48(благо программа  для тестовой версии будет небольшая попробую написать) если кто поможет буду только рад smile smile , жаль пиво   бандеролью в благодарность кодэрам которые мне помогают не выйдет отослать.

<a href="http://ipicture.ru/Gallery/Viewfull/162523.html" target="_blank"><img src="http://ipicture.ru/uploads/071210/thumbs/Ur55DIDM2F.jpg"</img></a>
PM MAIL   Вверх
kaspersky89
Дата 11.12.2007, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Знаю что достал всех своим ламерством, но situation.

Тут скидываю файл с плохим, но всё-же качеством, это PCB-фотка из Eagle, плата односторонняя, автоматическая разводка выполнилась только на 71%, а остальное пришлось самому, вручную на перемычках доделывать.
user posted image


!!! ОГРОМНЕЙШАЯ ПРОСЬБА !!! Если вдруг, ктонить забредёт, и по какомуто невероятному случаю захочет мне помочь, то благодарности моей не будет границ. 
  
Схему то я сегодня ночью буду делать, напечатал уже, потом утюг, сверло и т.д. Попробую работать как можно тише, соседи злые(но иногда они меня достают,и тогда в отместку ночью включаю свой ламповый комбик в него электро-гитару и Ария с Кипеловым снова оживает smile ), нужно обязатьльно успеть к завтрашнему утру, полностью собрать и запрограммировать схему. Как говориться всё или ничего, быть или не быть, со щитом а может быть на щите, назад пути нет а впереди одна Ж.... .

Если не поможет мне никто сегодня и не напишет программу, то так тому и быть, буду в гордом одиночестве пополняя запасы кофе в желудке работать мозгами и руками пока не свалюсь спать.

Да уж, наверное так и будет, чтож господа, я ещё раз убедился в своих взглядах на жизнь, и стал на пункт жёстче и грубей. Видя такое к себе отношение, в следущий раз, в обычной жизни, когда кто-нибудь будет просить меня о помощи я скажу нет, а может пошлю по известной российской дорожке, потому как моё озлобившееся сознание скажет, а почему я должен для кого-то что-то делать если меня все посылают нах когда мне что-то нужно, даже когда нужен какойто пустяк который для кого-нибудь будет плёвым делом. 

Это так,  для философских рассуждений за хорошей закусью и и стаканом водки.

P.S. Я по приколу и свою фотку скинул, что то отмечали, косячили рок, а тут цифрофик под руками 
оказался.

user posted image




PM MAIL   Вверх
Lazin
Дата 12.12.2007, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

Репутация: 3
Всего: 154



Цитата(kaspersky89 @  10.12.2007,  18:13 Найти цитируемый пост)
Lazin  как из твоего примера настроить таймер на 1 секунду чтобы из него колдовать с подсчитанными оборотами

Зависит от частоты кварц. генератора. 
Цитата(kaspersky89 @  10.12.2007,  18:13 Найти цитируемый пост)
Правильно ли я настроил прерывание на ногу INT0 ?

Я вообще не понял что ты написал, в WinAVR используется макрос ISR()  для определения прерываний. Для int0 он выглядит так
Код

#include <avr/interrupt.h>

ISR(INT0_vect)
{
}

помимо этого прерывание нужно разрешить.
Цитата(kaspersky89 @  11.12.2007,  23:39 Найти цитируемый пост)
Если не поможет мне никто сегодня и не напишет программу, то так тому и быть, буду в гордом одиночестве пополняя запасы кофе в желудке работать мозгами и руками пока не свалюсь спать.

Поверь мне, все через это прошли smile

Добавлено через 2 минуты и 46 секунд
WinAVR Tutorials
PM MAIL Skype GTalk   Вверх
kaspersky89
Дата 12.12.2007, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 62
Регистрация: 7.12.2007

Репутация: 1
Всего: 1



Lazin Респект тебе. Наставил меня хоть на путь истиный, типа по нужному вектору прерывания начал думать мозг(точно крыша уже едет smile ). Доделаю сегодня к вечеру проект, и скину исходники. С преподом кое-как отбрехался до завтрого.
Препёрло значит прийдётся сделать.

Так один раз директор ко мне подходит и говорит, "если через два дня не будет программы, то у меня на столе будет лежать приказ о твоём отчислении" я вообще в шоке минуты две на одном месте как зомби стоял,(а программа эта в Blitz3D территория колледжа нашего с физикой и спец эффектами, я застрял както из за сложности проекта) так потом все чакры на связь с космосом открылись, сразу и алгоритмы в голове появились, и фотошоп с 3Дмаксом только и летали к моему процессору на обработку графики smile   

После этого случая выработался эммунитет на  подушку, а сплю теперь в маршрутке, благо дорога минут 40 гдето  smile  
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0980 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.