Berg
Members-
Постов
183 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Весь контент Berg
-
Я и не вникал в ваш код, у меня из глаз кровь пошла от переменных: caunterTimer0, timerState, timerCaunter, caunter.
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Как то так И частота вывода на дисплей у вас высока. В Протеусе покажет, в железе едва. Ой, регистр TCCR0B забыл под ваш МК вернуть
- 8 951 ответ
-
- Микроконтроллер
- МК
-
(и ещё 2 )
C тегом:
-
Датчик движ. в состоянии покоя потребляет 33мкА, движение перед ним 180-250мкА. При Uпит. 5v., вывод out не подключен.
-
Думаю тут не все так однозначно. К примеру сбились регистры таймера, обработчик прерывания перестал выполнятся, какие-то флаги не выставились, что-то не вычислилось и в итоге ракета не улетела в космос, дом сгорел и т.д., а основной цикл так и продолжает работать Когда делал термостат для водонагревателя, то для надежности в обработчике прерыв. выставлял флаг, а уже в основном цикле по состоянию флага сбрасывал wd. Если программа в результате анализа видит, что что-то не правильно работает, то выключаем таймер и МК уходит в рестарт.
-
можно не кнопку, а делитель напряж. с фоторезистором.., светло - погасла, темно - загорелась
- 11 ответов
-
- attiny13 ШИМ
- isp
-
(и ещё 1 )
C тегом:
-
осталось прикрепить к ней вибромоторчики, к лыжам зубные щетки и настроить чтоб ездила по кругу
-
вскрывал только одну сигналку и там по входу сразу бросается в глаза после диода варистор 7D220K (18в если не ошибаюсь), далее последовательно резистор 10 Ом, эл-лит 100мкф, емкость 0.1мкф и уже сам 7805
-
Для чего так много кнопок? Или это еще по совместительству клавишный музыкальный инструмент? Резисторы подтяжки кнопок можно использовать внутренние микроконтроллера. Резисторы индикаторов 600 - 1000 Ом Базовые 1.5к
-
Электролитические конденсаторы проверь.
-
Думаю Юрий Куклачев соорудил бы механическое устройство подачи корма. Останется научить нужного кота активировать подачу корма.
-
Он вам и не нужен. Для вашей среды у вас есть #include <tiny13a.h>
- 7 ответов
-
1
-
- МК Аттини13
- Прошивка
-
(и ещё 1 )
C тегом:
-
можно и без переменной, а просто опросить нужные регистры PINB только переделайте под ваш CodeWizard #include <avr/io.h> uint8_t flag_but; int main(void) { PORTB |= (1<<PB0); // подтянем внутренним резистором к питанию (кнопка) DDRB |= (1<<PB3)|(1<<PB1); // на выход (светики) while(1){ if(!(PINB&(1<<PB0))){ if(!flag_but){ flag_but=1; // PORTB ^= (1<<PB1); // это ваш пример вкл/выкл 1 светика: нажали - загорелся, нажали - погас if(PINB&(1<<PB3)){PORTB &=~ ((1<<PB1)|(1<<PB3));} // если 2-ой лед уже горит, то гасим 1 и 2 (определили, что это 3-е нажатие) else if(PINB&(1<<PB1)){PORTB |= (1<<PB3);} // иначе если горит 1-ый, то зажгем 2 (определили, что это 2-е нажатие) else{PORTB |= (1<<PB1);} // иначе зажгем 1 (определили, что это 1-е нажатие) } } else{flag_but=0;} } }
- 7 ответов
-
- МК Аттини13
- Прошивка
-
(и ещё 1 )
C тегом:
-
Потребовалось мне как-то зашить в флеш чип W25Q16 аудио фрагменты в количестве 88шт. для последующего воспроизведения микроконтроллером. Для этого пришлось в HEX-редакторе компоновать все эти фрагменты и отдельно записывать начальный адрес и длину каждого фрагмента. Это очень тяжкий рутинный труд, к тому же из-за однообразных телодвижений не сложно совершить ошибку и весь труд будет насмарку. На это у меня ушло несколько часов и как итог пропустил один фрагмент, и перепутал 2 аудио фрагмента местами. Все эти ошибки обнаружил уже после того как прошил флеш чип и стал пробовать в железе. Потом еще куча времени на поиск и исправление ошибок. И тут пришла мысль. А почему бы не автоматизировать весь этот процесс. В итоге написал не большую программку, которая сама собирает, выбранные аудио фрагменты, в файл прошивки. Так же генерируется код в виде массива и макросов для доступа к фрагментам из программы микроконтроллера. Т.е. теперь подготовить файл прошивки можно за несколько минут, а так же получаем код в виде массива и макросов. Копи-пастим в свой проект и редактируем при необходимости. Выкладываю сей софт и исходник (HiAsm), может кому пригодится. Это моя вторая программа созданная в HiAsm, так что там черт голову сломает. По сути делал то что мне нужно и параллельно вникал как HiAsm-ом пользоваться. files_flash1.zip
-
В каком магазине брали?
-
Чтоб больше не возникало таких вопросов http://fusecalc.mirmk.ru/ Выбираем МК и жмем кнопку "Установить значения по умолчанию". Не забываем ориентироваться по фьюзу SPIEN. Он всегда установлен.
-
Ну если нет желания само обучаться, то искать готовое и пробовать повторять. Вот первая попавшаяся поделка для вывода загрузки ЦП на стрелочный индикатор. И на сайте этого форума что-то подобное видел без использования МК.
-
Вспомнил. Не советую для вывода этого синуса использовать распространенный дисплей типа nokia5110, так как изображение его довольно инертно. Т.е. если на нем нарисовать горизонтальную полосу и быстро ее опустить вниз, то за этой полосой будет виден серый(градиентный) след. Это я иногда использую в своих самоделках при стирании содержимого экрана. Горизонтальная или вертикальная полоса пролетает по экрану, стирает его содержимое и при этом оставляет симпатичный серый след.
-
Так в чем проблемы? Установите приложение HiASM. Видеоуроков по ней тьма на ютубе. Создайте в ней приложение работающее фоном. Параметр загрузки процессора выдавайте на COM порт. Далее через переходник на МК. И далее визуализируйте параметр загрузки процессора как вам угодно. Но думаю будет красивше, если параметр загрузки будет влиять на амплитуду синуса. Уверен, что такие самоделки уже существуют.
-
Возьмите фен для волос и погрейте плату(ы). Если включаться станет нормально, то после остывания(снова появления проблем с включением), сужайте область прогрева для выявления проблематичного электролита.
-
В ванной комнате ставь и все. Нефиг сидеть и смотреть на хим. процесс Не подогреваю. Реакция и так идет с выделением не большого кол-ва тепла. От применения хлоро содержащей бытовой химии вони куда больше.
-
как-то так #include <avr/pgmspace.h> … static const uint8_t small_number[][5] PROGMEM= { {7,5,5,5,7}, {1,3,1,1,1}, {7,1,7,4,7}, {7,1,7,1,7}, {5,5,7,1,1}, {7,4,7,1,7}, {7,4,7,5,7}, {7,1,1,1,1}, {7,5,7,5,7}, {7,5,7,1,7} }; uint8_t x,y,z; ... int main() { … x=1; y=1; z = pgm_read_byte(&(small_number[x][y])); // z будет равно 3 … }
-
Какую функцию выполняют VD1, VD2 ?