|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
19.05.2013, 11:14 | #1 (permalink) |
Member
Регистрация: 28.11.2010
Сообщений: 728
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 45
|
Мигалка на микроконтроллере
ПОДСКАЖИТЕ что мне нужно сделать!!! |
19.05.2013, 11:14 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Почитав аналогичные темы вы наберетесь больше информации Бегущий огонь на микроконтроллере Термометр на микроконтроллере Таймер на микроконтроллере Мигалка для барабана Мигалка на микросхеме |
19.05.2013, 11:28 | #2 (permalink) |
Member
Регистрация: 11.04.2007
Адрес: Санкт-Петербург
Сообщений: 40,320
Записей в дневнике: 73
Сказал(а) спасибо: 885
Поблагодарили 2,792 раз(а) в 431 сообщениях
Репутация: 186775
|
Обычно, вместе с программой, выкладывают и установку фьюзов.
__________________
Пингвин птица гордая, пока не пнёшь - не полетит. |
19.05.2013, 17:04 | #3 (permalink) |
Member
Регистрация: 28.11.2010
Сообщений: 728
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 45
|
там не дали такой информации.вот схема и прошивка.
------------------------------------------------------ SB1 будет для переключения режима мигания, а кнопка SB2 для изменения частоты мигания. Исходный код приведен ниже: int main(void) { DDRD = 0xff; /* все выводы порта D сконфигурировать как выходы */ DDRC = 0x00; //выводы порта С сконфигурировать как входы PORTC = 0xff; // установить "1" на всех выводах порта C, // включаем подтягивающие резисторы int i=0; //для задержек int j=0; //для смены битов порта D int d=20; //для изменения периода миганий int sw=0; //для изменения режимов миганий while (1) // Бесконечный цикл { if (!(PINC & (1<<PINC4))) //если логический ноль на 4 бите порта С { sw++; //преключить режим миганий if(sw>4)sw=0; } if (!(PINC & (1<<PINC3))) //если логический ноль на 3 бите порта С { d+=20; //увеличить период миганий if(d>260)d=20; } switch(sw) { case 0: DDRD |= 1<<j; for(i=0;i<d;i++)_delay_us(50); DDRD &= ~(1<<j); for(i=0;i<d;i++)_delay_us(50); j++; if(j>3)j=0; break; case 1: DDRD |= 1<<j; for(i=0;i<d;i++)_delay_us(50); DDRD &= ~(1<<j); for(i=0;i<d;i++)_delay_us(50); j--; if(j<0)j=3; break; case 2: DDRD &= ~(1<<j); for(i=0;i<d;i++)_delay_us(50); DDRD |= 1<<j; for(i=0;i<d;i++)_delay_us(50); j++; if(j>3)j=0; break; case 3: DDRD &= ~(1<<j); for(i=0;i<d;i++)_delay_us(50); DDRD |= 1<<j; for(i=0;i<d;i++)_delay_us(50); j--; if(j<0)j=3; break; case 4: DDRD=0xff; for(i=0;i<d;i++)_delay_us(50); DDRD=0x00; for(i=0;i<d;i++)_delay_us(50); break; } } } |
19.05.2013, 17:10 | #4 (permalink) |
Member
Регистрация: 11.04.2007
Адрес: Санкт-Петербург
Сообщений: 40,320
Записей в дневнике: 73
Сказал(а) спасибо: 885
Поблагодарили 2,792 раз(а) в 431 сообщениях
Репутация: 186775
|
Такую прошивку надо компилировать под конкретный микроконтроллер.
И советую воспользоваться калькулятором фьюзов. FUSE calculator
__________________
Пингвин птица гордая, пока не пнёшь - не полетит. |
19.05.2013, 17:29 | #5 (permalink) |
Member
Регистрация: 28.11.2010
Сообщений: 728
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 45
|
вы конечно извините.но я только начинаю работать с микроконтролерами.это будет моя первая схема.поэтому не очень в этом разбираюсь и прошу помощи.как и что делать с нуля?
И ещё вопрос.почему в одной версии uniprof пишет, что записало, а в другой не определяет.обе версии 2010 года.одинаковые. |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
19.05.2013, 18:31 | #7 (permalink) |
Member
Регистрация: 11.04.2007
Адрес: Санкт-Петербург
Сообщений: 40,320
Записей в дневнике: 73
Сказал(а) спасибо: 885
Поблагодарили 2,792 раз(а) в 431 сообщениях
Репутация: 186775
|
Я же говорю, что сначала надо скомпилировать файл, а уже потом записывать на МК.
__________________
Пингвин птица гордая, пока не пнёшь - не полетит. |
19.05.2013, 20:12 | #9 (permalink) |
Member
Регистрация: 27.12.2010
Сообщений: 935
Записей в дневнике: 1
Сказал(а) спасибо: 0
Поблагодарили 14 раз(а) в 1 сообщении
Репутация: 2174
|
Не компилировалось, потому что не были указаны соответствующие библиотеки. Вот скомпилированная прошивка Фьюзы изменять не нужно
|
19.05.2013, 23:00 | #10 (permalink) |
Banned
Регистрация: 25.11.2011
Адрес: Украина, Харьков
Сообщений: 1,206
Сказал(а) спасибо: 27
Поблагодарили 82 раз(а) в 10 сообщениях
Репутация: 18288
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|