і мікроконтролера для сигналізації візьмемо контролер з сімейства MCS - 51 фірми Atmel, а саме AT89C51. Даний мікроконтролер має 4 КБ флеш-пам'яті з внутрісхемний програмуванням, 125 байт внутрішнього ОЗП, 2 16-ти розрядних таймер-лічильника, 1 послідовний інтерфейс UART, робочий діапазон температур від - 40 до +80 C 0. Напруга живлення від 4.5 до 5.5 В, необхідний струм 20 мА.
На малюнку 4.1 представлено розташування висновків даного мікроконтролера.
Малюнок 4.1 - Мікроконтролер AT89C51
У пристрої використовуються порти P3.0 (RxD) і P3.1 (TxD) для послідовного інтерфейсу, входи XTAL1 і XTAL2 для підключення кварцового резонатора, порти P1.1, P1.2 і P1.3 для підключення датчиків.
4.1 Ланцюг скидання
Ланцюг скидання включається для початкової установки всіх внутрішніх систем процесора в момент включення живлення. На малюнку 4.2 представлена ??схема початкового скидання.
Малюнок 4.2 - Схема початкового скидання
Щоб при включенні живлення скидання було гарантовано виконаний, висновок RST повинен утримуватися в стані високого рівня протягом часу, достатнього для запуску тактового генератора плюс ще мінімум два машинних циклу. Час запуску тактового генератора залежить від його частоти роботи і для 10 МГц кварцового резонатора становить у середньому 1 мс. Якщо взяти значення резистора рівним 1кОм, то за формулою ємність конденсатора становитиме 1 мкФ.
4.2 Кварцовий резонатор
Він призначений для формування та видачі внутрішніх синхросигналов фаз, тактів і циклів. Для роботи з послідовним портом мікроконтролера візьмемо частоту резонатора 11.059 МГЦ. Схема підключення кварцового резонатора показана на малюнку 5.3.
Рис. 4.3 - Схема підключення кварцового резонатора
Значення ємностей в даній схемі зазвичай беруть 3010 пФ
4.3 Ланцюги харчування та інше
Для фільтрації (згладжування) кидків напруги в ланцюзі живлення зазвичай використовують конденсатор. Візьмемо його ємність рівною 1 мкФ.
Малюнок 4.4 - Ланцюг живлення мікроконтролера
На вхід DEMA необхідно подати логічну «1» тобто напругу більше 2.4В, візьмемо 3В. У нас є джерело живлення +5 В, значить необхідно поставити резистор, на якому падає 2В. Якщо струм дорівнює 50мкА, то необхідний резистор 39 кОм
5. Розробка програми мовою асемблера
Лістинг програми на мові асемблера
org 0; початок з 0 адреси
jmp START; перехід на мітку
ORG 0BH; після мітки START, програма починається в 0ВН
START: P0, # 0; подаємо нулі на невикористовувані контакти
mov P3, # 00000011b; подаємо нулі на невикористовувані контакти
mov SP, # 80h; запис починається з адреси 81h
mov 08h, # 0FFh; запис в ОЗУ первісного стану порту Р1
mov 09h, # 0h; запис в 0ЗУ первісного стану порту Р2
PROVERKA: TMO...