У даному уроці зберемо простий девайс на мікроконтролері AVR, який буде просто блимати світлодіодом, примітно, що програма для сього пристрої пишеться в середовищі BASCOM-AVR. Для наочності роботи даного пристрою, я намалював блок схему його роботи:

Як видно з блок схеми, спочатку подається логічна 1 на порт мікроконтролера, потім слід затримка на 250 мілісекунд, далі подається логічний 0 і знову слід затримка на 250 мілісекунд і все повторюється заново.

Для пристрою я вирішив використовувати AVR мікроконтролер Attiny13, в попередніх уроках я зробив для нього просту отладочную плату, На якій можна реалізувати даний проект. Порт у мікроконтролера я вибрав PB2. Можна, звичайно, використовувати й інші порти мікроконтролера. Для цього, в програмі впишіть ім’я іншого порту. Отже, після недовгого роздуму народилася така схема:

Невеликий опис до схеми: IC1-мікроконтролер Attiny13, резистор R2 – струмообмежувальним для світлодіода HL1, світлодіод HL1 – будь-який світлодіод, резистор R1 – підтягуючий, він підтягує ніжку RESET мікроконтролера до «плюса» харчування, це робиться для того, щоб запобігти випадковий скидання мікроконтролера. Ось із серії збірки «заліза» все, але не поспішайте включати девайс, адже без програми нічого не заробить. А програма для мікроконтролера не така вже складна і працює за алгоритмом, описаним вище в блок схемою.

Програма:
$ Regfile = «attiny13.dat» ‘задаємо реєстраційний файл для мікроконтролера Attiny13
$ Crystal = 9600000 ‘задаємо частоту на якій працюватиме тактовий генератор мікроконтролера
Config Portb.2 = Output ‘конфігуруємо PORTB.2 (7 нога) на вихід
Do ‘відкриваємо операторну дужку нескінченного циклу
Portb.2 = 1 ‘встановлюємо на PORTB.2 логічну одиницю
Waitms 250 ‘затримка в 250 мілісекунд
Portb.2 = 0 ‘встановлюємо на PORTB.2 логічний нуль
Waitms 250 ‘затримка в 250 мілісекунд
Loop ‘закриваємо операторну дужку нескінченного циклу
End ‘кінець програми

Як видно вище, програма дуже проста і добре прокоментована, тепер тільки напишіть все це в BASCOM-AVR і відкомпілюйте, в результаті ви отримаєте HEX файл – це і є вже готова програма для мікроконтролера, залишилося тільки прошити її в мікроконтролер і встановити фьюз біти. Фьюз біти, встановлюємо на 9.6МГц без дільника на 8 (дивіться картинку нижче).

Про прошивку мікроконтролера я вже розповідав уроком раніше.
Тепер прошивати мікроконтролер і вставляйте його в панельку пристрої і подавайте харчування. Про диво, світлодіод закліпав! Якщо ж ні, то шукайте помилки в монтажі або при програмуванні!

І відео роботи на отладочной платі:

Завантажити исходники проекту і прошивку

Автор: Яковлєв Олександр В’ячеславович (м.Вітебськ, Білорусь)

cxem.net