реклама на сайте
подробности

 
 
> Генератор импульсов на Attiny 45, Прямоугольный сигнал. Как получить?
mamuka60
сообщение Oct 30 2012, 18:56
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 30-10-12
Пользователь №: 74 169



Форумчане, здравствуйте! Простите за нубский вопрос. Спасите меня. Сам я разработчик-схемотехник, но в программировании микроконтроллеров понимаю мало, а дело срочное.
Итак, у меня есть всё аппаратное и программное обеспечение: распаянный на колодке контроллер Attiny45 без кварца, программатор SM-4, софт asisp для чтения и записи флеш и еепром, (т.е. сам я прошить-считать-стереть и.т.д. умею). Есть установленная Atmel Studio 6.0. Есть всё. Знаний про написание кода нет.
Требуется: получить с 2х ножек контроллера меандр скважностью 2, частота 50 кГц. Меандры должны идти в противофазе. т.е. если на одной ноге 0 то на другой в это время должен быть 1. Вот и всё, вот и вся задача. Подал питание - и нарубается меандр. Я чувствую, что это просто, а Си и Ассемблер забыл)))) Или чем вы его там пишите...
Ещё конкретнее: как написать программу, компилировать, а лучше, простите за наглость, дайте текст или уже готовую прошивку, но с исходником, чтобы я мог менять частоту и длительность импульсов. Горю, ребята., спасите, на самостоятельное изучение этого вопроса нет времени, но я займусь.
Пишите прямо тут, а ещё лучше - прямо мне в мыло ofts@yandex.ru
Спасибо всем заранее.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Oct 30 2012, 20:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(mamuka60 @ Oct 30 2012, 21:56) *
Пишите прямо тут, а ещё лучше - прямо мне в мыло ofts@yandex.ru

Если допустим небольшой джиттер и вам нужно не ровно 50 КГц, а плюс-минус доли процента, то вот вам готовый пример:
http://zalil.ru/33910003
Кварц на 10 МГц, компилятор - CodeVision (начните с него, для новичка он подходит идеально). После включения питания на PORTB.0 и PORTB.1 появятся противофазные меандры.

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

Литература по программированию AVR вот здесь:
http://lord-n.narod.ru/walla.html

P.S.
Можно вообще без прерываний - цикл с delay(). Или даже вместо delay() использовать несколько десятков "nop" - ов, поскольку вам нужна довольно большая частота. Проще не придумать:

Код
PORTB.0 = 0;
PORTB.1 = 1;
while(1)
{
PORTB = (PORTB ^ 0x03);
delay_us(10);
}

или вот так:

Код
PORTB.0 = 0;
PORTB.1 = 1;
while(1)
{
PORTB = (PORTB ^ 0x03);
#asm("nop")
#asm("nop")
...
#asm("nop")
}
Go to the top of the page
 
+Quote Post
mamuka60
сообщение Oct 31 2012, 19:26
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 30-10-12
Пользователь №: 74 169



[quote name='kovigor' date='Oct 31 2012, 00:44' post='1107114']
Если допустим небольшой джиттер и вам нужно не ровно 50 КГц, а плюс-минус доли процента, то вот вам готовый пример:

Спасибо, товарищ, выручил.
Go to the top of the page
 
+Quote Post
kovigor
сообщение Oct 31 2012, 21:46
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(mamuka60 @ Oct 31 2012, 22:26) *
Спасибо, товарищ, выручил.

Подошло такое решение ?
Go to the top of the page
 
+Quote Post
mamuka60
сообщение Nov 1 2012, 06:57
Сообщение #5





Группа: Новичок
Сообщений: 5
Регистрация: 30-10-12
Пользователь №: 74 169



Цитата(kovigor @ Nov 1 2012, 01:46) *
Подошло такое решение ?


Поскольку кварца на 10 мГц у нас нет, мы прошили Вашим файлом HEX контроллер, и всё заработало. НО! - не на частоте 50 кГц, как надо, а на частоте 33 кГЦ. Как это изменить?
Второй вопрос. Мы скачали рекомендуемый Вами CodeVision, и попробовали вставить туда приведённые Вами кусок (только его)

PORTB.0 = 0;
PORTB.1 = 1;
while(1)
{
PORTB = (PORTB ^ 0x03);
delay_us(10);
}
но в данном случае компилятор ругается вот так, что мол он не понимает delay_us

А AtmelStudio ругается так:


Error 1 expected ';' before numeric constant C:\Users\Отд 120\Documents\Atmel Studio\GccApplication1\GccApplication1\GccApplication1.c 15 13 GccApplication1

И ещё одна деталь. Прилагаю файл, как должны выглядеть осциллограммы. Скважность там не 2, а 2.5


Прикрепленный файл  _____________.pdf ( 21.62 килобайт ) Кол-во скачиваний: 285

Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- mamuka60   Генератор импульсов на Attiny 45   Oct 30 2012, 18:56
|- - Valek   Цитата(mamuka60 @ Nov 1 2012, 10:57) PORT...   Nov 1 2012, 08:14
|- - kovigor   Цитата(mamuka60 @ Nov 1 2012, 10:57) Поск...   Nov 1 2012, 08:33
- - ae_   Цитата(mamuka60 @ Oct 31 2012, 03:56) Под...   Nov 1 2012, 13:02
|- - kovigor   Цитата(ae_ @ Nov 1 2012, 16:02) В tiny45 ...   Nov 1 2012, 21:44
- - mamuka60   Спасибо всем, друзья! Завтра попробуем. Выложу...   Nov 1 2012, 19:00
- - mamuka60   Большое спасибо всем и особенно kovigor, мы получи...   Nov 2 2012, 15:23
|- - _Артём_   Цитата(mamuka60 @ Nov 2 2012, 17:23) Но ...   Nov 2 2012, 15:28
|- - kovigor   Цитата(mamuka60 @ Nov 2 2012, 18:23) Боль...   Nov 2 2012, 16:18
- - 20AmpMax   Здравствуйте. У меня те-же "грабли" что...   Nov 23 2012, 10:12
|- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 14:12) Пом...   Nov 23 2012, 11:43
- - 20AmpMax   А вот все равно Спасибо ! А вот все равно С...   Nov 23 2012, 13:08
|- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 17:08) А в...   Nov 23 2012, 13:12
- - 20AmpMax   Конечно любой главное чтоб генерировал   Nov 23 2012, 13:14
|- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 17:14) Кон...   Nov 23 2012, 13:18
- - 20AmpMax   вот спасибо спасибо спасибо. А с чем Attiny85 ...   Nov 23 2012, 13:36
|- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 17:36) вот...   Nov 23 2012, 13:43
- - 20AmpMax   Если будет интересно то линк на описание проблемы ...   Nov 23 2012, 13:49
|- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 17:49) Есл...   Nov 23 2012, 13:53
- - 20AmpMax   Работает !!!!!!!!...   Nov 23 2012, 14:18
|- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 18:18) Раб...   Nov 23 2012, 16:10
- - 20AmpMax   Да но не совсем нужна ешё техническая доработка (о...   Nov 23 2012, 16:32
|- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 20:32) Man...   Nov 23 2012, 16:51
- - 20AmpMax   Завелась. Работает. Да я сам не вожу у меня и пра...   Nov 23 2012, 17:10
- - kovigor   Цитата(20AmpMax @ Nov 23 2012, 20:10) Зав...   Nov 23 2012, 17:14


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 00:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016