Помощь с проектом(ШИМ на Attiny2313 c индикацыей на диодах)

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
xWolf
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Ср мар 24, 2010 00:20:01

Помощь с проектом(ШИМ на Attiny2313 c индикацыей на диодах)

Сообщение xWolf »

Решил обратитса за помощью к форумчанам, нужна помощь в написании прошивки на мой проек. короче накрылася в машине регулятор оборотов вентилятора печки, после долгих поисков решил собрать некий ШИМ на Тиньки с индикацыей со светодиодов, нужна помощь в написании прошивки. Я в С не очень как то в основном писал только на Делфи. Вот что я наваял)) Нашел прошивку которой начал осваивать язык...

[quote]
#include <avr/io.h>//библиотека ввода/вывода
#include <avr/interrupt.h>//библиотека прерываний

#define nop() {asm("nop");}//функция позаимствованная из ассемблера "nop"

//перечисление переменных
unsigned int i=50;//переменная для ШИМ
unsigned int p;//переменная для ШИМ
unsigned int pp=50;//переменная для ШИМ скорость нарастания напряжения
unsigned int ms;//переменная для задержки
unsigned int x;//переменная для задержки

//Попрограммы обработки прерываний
SIGNAL(SIG_INTERRUPT0)//обработка прерываний кнопки "+"
{
pp=pp+5;//увеличение при нажатии на кнопку "+" на 1
if (pp > 50) pp= 50;
i=i-5;
if (i < 0) i = 0;
}

SIGNAL(SIG_INTERRUPT1)//обработка прерываний кнопки "-"
{
pp=pp-5;//уменьшение при нажатии на кнопку "-" на 1
if (pp < 0) pp = 0;
i=i+5;
if (i > 50) i = 0;
}

//функция задержки
void delay_ms(int ms)
{
for (x=ms;x>0;x--)
nop ();
}

//Функция включения бита 0 порта B
void ledon(int ms)
{
PORTB = 0b00000100;
delay_ms(ms);
}

//Функция выключения бита 0 порта B
void ledoff(int ms)
{
PORTB = 0b00000000;
delay_ms(ms);
}

//Основная программа
int main( void )
{
DDRB=0b11111111;//конфигурирование порта B на выход

GIMSK=0b11000000; //разрешаем прерывание int0 и int1
MCUCR=0b00001111;// прерывание по возрастающему фронту - для кнопки 1 и 2

sei();//разрешаем прерывания

for (;;)//бесконечный цикл
{
//p=pp-i;//реализация
ledon(100);//программного
ledoff(100);//ШИМ
}
}
[/quote]
Вложения
4.RAR
(15.24 КБ) 146 скачиваний
[url=http://southwc.ru/a_720240689-cqs_xwolf_4.JPG.htm][img]http://southwc.ru/1/21/thumbs/a_720240689-cqs_xwolf_4.JPG[/img][/url][url=http://southwc.ru/v_296008559-viu_xwolf_5.JPG.htm][img]http://southwc.ru/1/21/thumbs/v_296008559-viu_xwolf_5.JPG[/img][/url][url=http://southwc.ru/q_635084203-bfi_xwolf_9.JPG.htm][img]http://southwc.ru/1/21/thumbs/q_635084203-bfi_xwolf_9.JPG[/img][/url]
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: Помощь с проектом(ШИМ на Attiny2313 c индикацыей на диод

Сообщение ChipKiller »

... не понял зачем использовать программный ШИМ, когда почти в каждой AVR он поддерживается аппаратно? ... и что Вы пытаетесь выводить на индикатор - если скорость вращения, то ее еще нужно измерить.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»