Урок 6. Перша конструкція на мікроконтролері AVR

В цьому уроці зберемо простий девайс на мікроконтролері 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 (дивіться картинку нижче).

Фьюз біти

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

mc125-4.jpg

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
IC1 МК AVR 8-біт
ATtiny13
1
R1 Резистор
10 кОм
1
R2 Резистор
150 Ом
1
HL1 Світлодіод 1
Bat1 Елемент живлення 1
Додати всі

Прикреплені файли:

Top