Курсовая работа: Розробка схеми електричної принципової музичного дзвоника
2 Спеціальний
розділ
2.1 Вибір і
обґрунтування елементної бази
При проектуванні
пристрою використані наступні елементи:
Мікроконтролер AT 90S8515фірми Atmel, 2 транзистори типу КТ5503Е та 1
типу КТ819Г, джерелом живлення може бути будь-яке стабілізоване джерело (можна
використати батарею з гальванічних елементів або акумуляторів) з вихідною
напругою 5 В. Передбачено використання реле типу Еestar BT-5S, але
можна використовувати будь-яке інше реле з напругою спрацювання не більше ніж
4,5 В з контактами, розрахованими на комутацію мереженої напруги 220 В. Для
контролю величини напруги доцільно використати детектор зниження напруги
живлення КР1171СП47 або його аналог PST 529.
Мікроконтролер AT 90S8515являє собою 8-розряядний високопродуктивний RISC-контролер загального призначення.
Архітектуру мікроконтролера AT 90S8515зображено на рисунку 2.1.1.

Рисунок 2.1.1 –
Архітектура мікроконтролера AT 90S8515
В
курсовій роботі обрано контролер з сімейства Classic, яке характеризується продуктивністю
до 16 мільйонів операцій в секунду, наявністю пам’яті програм Flash ROM 2-8 кбайт, пам’яті даних EEPROM 64-512 байт, пам’яті даних SRAM 128-512 байт. Контролери даної сім’ї
мають дещо нижчі можливості ніж інші сім’ї з точки зору периферії і
обчислювальних можливостей.
Широка
номенклатура AVR-мікроконтролерів дозволила обрати
такий, який задовольнив всі наші потреби (див пункт 1.2 Технічні
характеристики).
Високу
продуктивність забезпечують:
-
виконанням великої кількості команд за один тактовий
цикл;
-
конвеєром команд, що забезпечують одночасно з виконанням
поточної команди
вибірку наступної;
-
потужною системою команд єдиного 16-розрядного формату;
-
вбудованими апаратними пристроями.
Мале енергоспоживання забезпечують:
-
СМОS-технологія;
-
цілком статична роботою - від покрокового
режиму до максимальної тактової частоти.
Малу вартість як на рівні вартості апаратного обладнання,
так і на рівні вартості розробки і налагодження прикладних програм,
забезпечують:
-
Flash-пам'яттю програм, яку програмують на
цільовій платі;
-
можливістю вибору мікроконтролера з достатньою і
відповідною кількістю функцій і вбудованої периферії.
2.2 Принцип роботи окремих ВІС з використанням часових
діаграм та алгоритмів роботи
- Конвеєрна вибірка команд
мікроконтролером і виконання команд
-
Вхідний
тактовий сигнал (вхід OSC1) внутрішньою схемою мікро контролера ділиться на чотири неперекриваючихся
такти Q1, Q2, Q3, Q4. Внутрішній лічильник команд
збільшується на одиницю при кожному такті Q1, а вибірка команд із пам’яті програм на кожному такті Q4. Декодування і виконання команди
виконується з такту Q1 до Q4. Цей процес показаний на рисунку
2.2.1.
                         
Рисунок
2.2.1 - Діаграма циклів виконання команд
Цикл виконання команди складається із чотирьох тактів Q1, Q2,
Q3 і Q4. Вибірка наступної команди і виконання поточної зміщені по часу таким
чином виконання команди виконується за один цикл. Якщо команда змінює лічильник
команд PC (наприклад команда GOTO) то необхідно два машинних цикла для
виконання команди.
Цикл вибірки команди починається із збільшення лічильника
команд PC в такті Q1. В циклі виконання команди, код завантаженої команди,
поміщається в регістр команд IR на такті Q1. Декодування і виконання команди
виконується в тактах Q1, Q2 і Q4. Операнд із пам’яті даних читається в такті
Q2, а результат виконання команди записується в такті Q4.
2.3 Принцип роботи пристрою згідно схеми електричної
принципової
Принципова схема пристрою зображена на рисунку 2.3.1.

Рисунок 2.3.1 – Схема електрична принципова
При натисненні на кнопку дзвоника SB1 вмикається живлення пристрою,
починає роботу програма, що записана в пам’ять мікроконтролера, на виводі 39 (PA0) з’являється напруга логічної 1. Результатом цього є відкриття
транзистора VT1, спрацьовує реле К1, і К1.1 блокує
кнопку звоника.
Для формування коливань
використовується таймер мікроконтролера і режим його роботи на переключення
зовнішнього виводу PD5 (для отримання потрібної
звукової частоти частоту роботи таймера потрібно збільшити у 2 рази). Сигнал,
що знімають з цього виводу підсилюється транзистором VT2VT3, в колекторну мережу якого
підключено динамічну головку ВА1. Для регулювання гучності послідовно з нею
модна підключити змінний резистор R5, після
програвання мелодії програма записує в енергонезалежну пам’ять мікроконтролера
вказівник на наступну мелодію. Високий рівень напруги на виході 39 зміняється
на низький і реле розриває коло живлення до наступного натиснення на кнопку SB1.
3 Експлуатаційний розділ
3.1 Ініціалізація програмованих ВІС
Програма
ініціалізації мікросхем виконує налагодження портів вводу-виводу мікросхем та
встановлює параметри дільника та входів мікросхеми по яким буде виконуватися
переривання. Також налагоджуються переривання по таймеру. Всі інші переривання
забороняються.
Програма ініціалізації і програма тестування пристрою наведена в пункті
3.2.
3.2 Тест перевірки окремих вузлів або пристроїв
Програма
за якою працює мікропроцесор мовою асемблера АТ90S8515 має наступний вигляд:
bigpause equ 100 ;
задаемо значення стартової паузи
pause1 egu 15 ;
значення паузи перед зміною напрямку руху
pause2 equ 50 ;
задаємо час, на протязі якого планетохід буде відїжджати назад
pause2 equ 50 ;
задаємо час, на протязі якого планетохід буде розвертатися
portA equ 05h ;
адрес порта А
portB equ 06h ;
адрес порта В
org 0h ;
резервування 100 байт починаючи з адресу 0h
reset:
mov r31, 1Fh ;
задаємо направлення роботи портів
out portB, r31 ;
PB0, PB1, PB2, PB3, PB4 - виходи, PB5, PB6 - входи
mov r31, 61h ;
виводимо в порт В код зупинки двигунів,
out portB, r31 ;
і вмикаємо резистори на входах РВ5, РВ6
mov r31, bigpause ;
записуэмо в регістр r31 значення великої паузи
call pause ;
викликаємо підпрограму паузи
jmp start ;
переходимо на мітку старт
start:
mov r31, 00000011b ;
установлюємо на виході РВ1 лог. 1,
out portB, r31 ;
що зумовлює ввімкнення лівого двигуна
mov r31, 00001011b ;
установлюємо на виході РВ3 лог. 1,
out portB, r31 ;
що зумовлює ввімкнення правого двигуна
mov r31, 00001010b ;
установлюэмо на виходіРВ0 лог. 0,
out portb, r31 ;
що і гасить світлодіод
scan:
in r31, portB ;
читаємо стан порту В
test r31, 01000000b ;
перевіряємо чи натиснута права кнопка
jz left ;
якщо натиснута, переходимо на мітку left
test r31, 00100000b ;
перевіряємо чи натиснута ліва кнопка
jz right ;
якщо натиснута, переходимо на мітку right
Страницы: 1, 2, 3, 4 |