avr
Подпрограмма формирования задержки
Для формирования паузы (задержки) в программах для микроконтроллера полезно применять программы, которые не нагружая ми АЛУ микроконтроллера ни память с высокой точностью справляются с этой задачей.
Как уже думаю стало понятно, микроконтроллер в момент паузы работает, то есть выполняет определенную программу, которая заменяет выполнение основной программы требующей той самой задержки.
Ниже показан пример программы формирования задержки. Основа программы это выполнение паузы размером в один машинный такт микроконтроллера - "nop".
#define nop() {asm("nop");} unsigned int x,i; //перечисление переменных // function delay void delay(int t) { for (x=t; x>0 ;x--) nop (); }
Максимальная пауза генерируемая данной программой ограничена максимальным значением переменной "i".
Если необходимо сформировать довольно длительную задержку советую прибегнуть к небольшой хитрости, использовать данную программу в качестве подпрограммы для программы длительной задержки, объясняю:
описываем данную программу задержки как обычно
#define nop() {asm("nop");} unsigned int x,i; //перечисление переменных // function delay void delay(int t) { for (x=t; x>0 ;x--) nop (); }
После чего ниже пишем следующую программу:
// function long delay void long_delay(int p) { for (j=0; j<p; j++) { delay(300); } }
Получается следующее, что в программе длительной задержки мы используем программу формирования обычной задержки несколько раз, тем самым увеличиваем время задержки в разы!
Я не нашел, что искал
Если Вы не нашли на сайте информацию, которую искали и по Вашему мнению она должа быть, просьба указать в комментариях что именно искали.
Администрация приложит все усилия что бы эта информация появилась на сайте.
Коллектив AVRlab.com
Радость, купил радиомодули HM-R433 и HM-T433!
Купил по одному модулю передатчика и по одному модулю приемника.
В работе образовался некоторый застой, поэтому решился на эксперименты с новой периферией для микроконтроллера. Выбор пал именно на эти модули по причине их дешевизны и наличия в магазине.
Стоимость модулей:
HM-R433 - 69,93грн
HM-T433 - 74,61грн.
Вот как выглядят модульки:
приемник HM-R433
передатчик HM-T433
Как вам часики?
Идеи, идеи и еще раз идеи.
Иногда самые простые вещи можно интерпретировать совсем по другому, по оригинальному. Так вот компания BIEGERT & FUNK оригинально представили часы. Отличие данных часов в том, что у них нету привычного циферблата и стрелок!
Время отображается в виде текста, вот наглядный пример.
Меня если честно идея очень заинтересовала, так как вся реализация таких часов может быть осуществлена на микроконтроллере avr. По моему никакой сложности, и программа и сама "железяка".
Space Invaders на микроконтроллере
Вот такая игра на микроконтроллере ATmega328, программная среда как написано на сайте автора "Arduino based".
Вывод видеосигнала может осуществляться как на телевизор так и на монитор от компьютера. Так же присутствует выход для звука. Запаянная платка продается по 40баксов.
Набранные очки сохраняются в энергонезависимую EEPROM, так что при выключении питания все рекорды останутся.
- <<в начало
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- …
- дальше >
- в конец >>