Приветствую Вас, Гость! Регистрация RSS

Вторник, 22.08.2017
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 2 из 9«123489»
Форум » Форум mega-avr.ucoz.ru » Вопросы начинающих » первые вопросы (кто собрал программатор, вставил мк- а он не работает)
первые вопросы
eslavaДата: Четверг, 23.09.2010, 00:08 | Сообщение # 21
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
а где ошибка у Вас или тут
Файл: 2845924.jpg(201Kb)
 
eslavaДата: Четверг, 23.09.2010, 00:12 | Сообщение # 22
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
тут поменьше рисунок
Файл: 7013997.jpg(76Kb)
 
АвторДата: Четверг, 23.09.2010, 08:26 | Сообщение # 23
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Здравствуйте! Ошибки у меня нету. Я работаю с Atmega8535. На рисунке 2845924 все верно. Установите фьюзы согласно этому рисунку ( ну конечно на свой страх и риск ) и в меню Program выбирайте Fuse Bit(s). Далее уберите все галочки и в меню Read выбирайте Fuse Bit(s), жмите Yes и смотрите какие галочки установились. Должно всё получиться. Если нет, то будем разбираться. smile


_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Четверг, 23.09.2010, 22:55 | Сообщение # 24
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Добрый день! Спасибо за ответ. Я сейчас занялся изучение шима, но не все понятно пока...
 
АвторДата: Пятница, 24.09.2010, 09:01 | Сообщение # 25
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Здравствуйте Вячеслав! Как у вас обстоит дело с фьюзами? Всё получилось?


_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Пятница, 24.09.2010, 12:20 | Сообщение # 26
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Здравствуйте! Не знаю Вашего имени. Я фьюзы решил пока не трогать, а заняться изучением шима и таймеров. Но немогу найти на языке Си вразумительного описания. Что такое шим понял, а вот на Си реализацию нет.
 
АвторДата: Пятница, 24.09.2010, 12:53 | Сообщение # 27
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Моё имя Иван. С ШИМ-ом работал на Atmega8535, на Atmega8 тоже ничего сложного ( в железе я с этим девайсом ещё не работал ). Я сегодня или завтра покапаюсь в pdf - инфе на Atmega8 и попробую программную реализацию в cvavr; результаты выложу в следующем сообщении.


_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Пятница, 24.09.2010, 13:20 | Сообщение # 28
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Принято Иван! А где взять инфу на Atmega8 на русском?
 
АвторДата: Суббота, 25.09.2010, 13:54 | Сообщение # 29
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Конкретно сказать не могу, это надо пробовать искать по поисковикам. Я в основном использую PDF - документацию на english-е.

Здесь есть описание на Atmega128_rus; может чем - то поможет, предварительно понять архитектуру микроконтроллеров ATMEL

Здесь можно вычитать что - то полезное по ATMEL:
Рынок микроэлектроники



_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
АвторДата: Вторник, 28.09.2010, 10:34 | Сообщение # 30
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
День добрый! Поковырялся с PWM на atmega8, но только в программе - симмуляторе PROTEUS ( там все работает ).

PWM организовал на таймере/счетчике 2. Установки в мастере ( Clock Value можно по-манипулировать и посмотреть как влияет:

Режим PWM устанавливается путем установки в лог.1 битов WGM21 И WGM20 регистра управления TCCR2 - режим Fast PWM. Манипуляция ШИМ-ом осуществляется записью числа от 0 до 255 в регистр OCR2:


OCR2=0x01


OCR2=0x85


OCR2=0xfd

Желтый - сигнал PWM, красный - после RC цепи.

Общий вид инициализации таймера/счетчика2:

//порт
PORTB=0x00;
DDRB=0x08;
//таймер
ASSR=0x00;
TCCR2=0x6F;
TCNT2=0x00;
OCR2=0x01;

Задействовал кнопки для регулирования ШИМ. Схемка:

Вот проект pwm_mega8 + proteus 7.5 sp3 для RC - 4Мгц. Попробуйте, как будет в железе работать!



_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Вторник, 28.09.2010, 20:36 | Сообщение # 31
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Я так понял к выводу ОС2 можно подсоединить вольтметр(или базу транзистора и светодиод) и наблюдать изменение напряжения
А выводы PD0 B PD1 НЕ 30 И 31, а соответственно на atmega8?

Да еще а где здесь ошибка

#

Code
include <mega8.h>
#include <delay.h>

//Програма инициализации ШИМ
void init_pwm (void)
{
TCCR1A=(1<<COM1A1)|(1<<PWM10); //На выводе OC1A единица, когда OCR1A==TCNT1, восьмибитный ШИМ
TCCR1B=(1<<CS10);   //Делитель= /1

OCR1A=0x00;   //Начальная яркость нулевая
}

//Основная програма
int main(void)
{ unsigned char i;

DDRB=0x02;    //Инициализация PB1 (OC1A) как выход
init_pwm();

while (1)
{
for (i=0;i<255;i++)  //Плавно повышаем яркость
{
OCR1A++;
delay_ms(5000);
}
for (i=0;i<255;i++)  //Плавно понижаем яркость
{
OCR1A--;
delay_ms(5000);
}
}

return 1;
}

компилятор выдает ошибку в строках почему и что они обозначают?

Сообщение отредактировал eslava - Вторник, 28.09.2010, 20:36
 
АвторДата: Четверг, 30.09.2010, 08:45 | Сообщение # 32
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Проблема в том, что cvavr не воспринимает такую запись:

TCCR1A=(1<<COM1A1)|(1<<PWM10);
TCCR1B=(1<<CS10);

нужно переписать так и тогда будет работать:

TCCR1A=0x81;
TCCR1B=0x01;

Quote
Я так понял к выводу ОС2 можно подсоединить вольтметр(или базу транзистора и светодиод) и наблюдать изменение напряжения

Так и делают. Можно, например управлять скоростью вентилятора ( которые стоят на процессоре комп-ра ), взависимости от температуры, измеренной датчиком ds18b20.



_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Четверг, 30.09.2010, 13:11 | Сообщение # 33
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Добрый день, Иван! А эту запись TCCR1A=0x81; TCCR1B=0x01; нельзя записать в двоичной системе?
И что означает TCCR1B=(1<<CS10); //Делитель= /1
 
АвторДата: Четверг, 30.09.2010, 15:45 | Сообщение # 34
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Конечно можно! Запись будет выглядеть так:

TCCR1A=0b10000001 //Со стороны компилятора;
TCCR1B=0b00000001 //никаких притензий;

Так даже проще, т.к. видно какие биты установлены.

----------------------------------------------------------------------------------------------------------------------------------- -
TCCR1B=( 1<<CS10 ); //означает - установить бит CS10 в 1. << - операция сдвига влево.

Данная запись действует в среде разработки IAR Embedded Workbench for AVR - проектирования встроенных микропроцессорных систем. Интегрированная среда разработки, компиляторы С/С++, отладчик, дополнительные средства.



_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Четверг, 30.09.2010, 16:53 | Сообщение # 35
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Работает. светодиод на max слабо горит
Я так понял если менять значение OCR1A то будет меняться яркость(тобишь U на ноге) А в каких
пределах менять можно значение OCR1A?


Сообщение отредактировал eslava - Четверг, 30.09.2010, 17:16
 
АвторДата: Четверг, 30.09.2010, 20:53 | Сообщение # 36
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Да. Меняя значение регистра OCR1A от 0 до 255 ( 0х00 - 0хff ), будет меняться значение ШИМ, а на выходе RC-цепочки напряжение где-то от 0.4в до 4.95в т.е. до напряжения питания. Если использовать каскад на транзисторе ( полевой или биполярный ), то можно управлять большим напряжением, например, 12в.
------------------------------------------------------------------------------------------------------------------------------------------ -----------------------------------------------------------------

WGM10 1
WGM11 1
WGM12 1
WGM13 1

************** режим Fast PWM с использованием регистра ( младшая половина L )OCR1A ( 0-255 или 0x00-0xff )

WGM10 1
WGM11 1
WGM12 1
WGM13 0

************** режим Fast PWM, 10-bit с использованием двух половинок регистров OCR1AH and OCR1AL ( 0-1023 или 0x00-0x03ff )



_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Четверг, 30.09.2010, 21:06 | Сообщение # 37
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Вот это уже что-то! Но моя цель сделать на Attiny13 простенькую ИК систему - включил, увеличил-уменьшил U на ноге.
Наверно следующий этап менять частоту на выходе и извлечение простенького звука...
 
АвторДата: Четверг, 30.09.2010, 21:18 | Сообщение # 38
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Quote
следующий этап менять частоту на выходе и извлечение простенького звука...

Идея не плохая.

Quote
...на Attiny13 простенькую ИК систему - включил, увеличил-уменьшил U на ноге...

У меня была мысль сделать для усилителя мощности, но как-то забылось. Сейчас думаю, надо по-мозговать об этом...



_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
eslavaДата: Четверг, 30.09.2010, 21:23 | Сообщение # 39
Заглянувший
Сообщений: 22
Репутация: 0
Город: Кировоград
Статус: Отсутствует
Да, так как сделать частоту например 4кгц на ноге?
 
АвторДата: Пятница, 01.10.2010, 19:04 | Сообщение # 40
Автор сайта
Сообщений: 200
Репутация: 3
Город: Омск
Статус: Отсутствует
Вечер добрый! Сделать 4кГц на выводе можно таким способом:



#define time 300 //подбираем нужную частоту прямоугольного сигнала

DDRD=0x01; // вывод PD0, например
PORTD=0x00;

while( 1 )
{
PORTD.0=1; delay_ms( time );
PORTD.0=0; delay_ms( time );
}

Подключаем бипер и слушаем, как микроконтроллер "разговаривает".



_____________________________________________________________
Радиоэлектроника и Программирование занимательная штука...
 
Форум » Форум mega-avr.ucoz.ru » Вопросы начинающих » первые вопросы (кто собрал программатор, вставил мк- а он не работает)
Страница 2 из 9«123489»
Поиск: