ЗМІСТ
1. Текст задачі з вихідними даними ........................................... 3
2. Аналіз вихідного ТЗ та обґрунтування прийнятих рішень 4
2.1. Розбиття загальної задачі на під задачі............................................... 4
2.2. Вибір засобу реалізації кожної з підзадач ......................................... 4
2.3. Обґрунтування вибору ОМК для вирішення задачі .......................... 5
3. Функціональна схема пристрою та її короткий опис.. 5
4. Алгоритм роботи МКП ..................................................................... 7
5. Розподіл пам'яті даних та програм ........................................ 9
5.1. Розподіл пам'яті даних ........................................................................ 9
5.2. Розподіл пам'яті програм 9
6. Текст програми ............................................................................... 10
7. Налагодження і перевірка працездатності програми 12
Висновок ................................................................................................. 14
Використана література ................................................................. 15
Запропонуйте мікроконтролерний пристрій (МКП), на основі МК РІС 16С5х, який дозволяє здійснити опит двійкового датчика та, в залежності від його стану, або організувати процедуру "очікування події", або сформувати та видати керуючий сигнал у вигляді послідовності імпульсних сигналів з параметрами: tі=100tц, tп= 100tц, де tц- тривалість циклу виконання команди МК.
В відповіді привести: функціональну схему МКП (20 балів), алгоритм робочої програми (15 балів),вихідний текст програми (або її фрагмент) на Асемблері (15 балів).
При розробці МКП враховувати наступні додаткові вихідні дані:
1. Рівні вхідних сигналів - ТТЛ.
2. Генератор тактових сигналів – внутрішній RC.
3. Сигнал "Скидання" по ввімкненню живлення - внутрішній.
2.1. Розбиття загальної задачі на підзадачі
Задану вихідну задачу можна розбити на 3 глобальних задачі, які в свою чергу поділяються на більш прості підзадачі:
1. Програмування внутрішньої архітектури МК – ініціалізація МК.
1.1. Організація внутрішнього RC-генератору.
1.2. Організація сигналу "Скидання" по ввімкненню живлення - внутрішній.
1.3. Настроювання портів на ввід і вивід
2. Задача прийому вхідних дискретних сигналів від датчика обробки вхідних даних і прийняття рішення
2.1. Організація процедури чекання події
2.2. Аналіз станів датчика
3. Видача керуючої послідовності сигналів на об'єкт керування (формування управляючих сигналів).
3.1. Організація циклу формування дискретного сигналу
3.2. Організація затримки
2.2. Вибір способу реалізації кожної з підзадач (апаратний або програмний)
Усі МКП розробляються за допомогою програмних і апаратних способів реалізації.
Переваги апаратної реалізації полягають у тім, що:
а) використання спеціальних БІС спрощує розробку і забезпечує високу швидкодію системи в цілому;
б) зменшується час на розробку і налагодження пристрою.
Переваги програмної реалізації такі:
а) менша вартість і споживана потужність системи;
б) менша кількість компонентів у системі, а значить вище надійність системи в цілому;
в) час життя системи значно вище в порівнянні з апаратною реалізацією;
г) можливість простої модифікації системи (шляхом перепрограмування).
Вибір певного способу реалізації залежить від конкретної задачі і вимог, які ставляться в ТЗ, з метою максимально раціонального використання можливостей, що надає МК. Хоча існують підзадачі, вирішення яких можливе лише апаратним або навпаки лише програмним засобом, інші – апаратно-програмним, раціональне поєднання всіх способів – задача проектувальника.
За технічним завданням рівні вхідних сигналів відповідають ТТЛ логіці, тобто немає потреби використовувати яких не-будь архітектурних рішень для узгодження сигналів із архітектурою МК.
Технічне завдання вимагає організацію внутрішнього RC-генератору і внутрішнього сигналу "Скидання" по ввімкненню живлення. Ці задачі будуть вирішені апаратним способом, оскільки це найлегший і ефективний спосіб для вирішення цих задач, і розглянуті під час розробки структурної схеми МК.
Інші задачі організації процедури чекання події, аналізу станів датчика, видачі керуючої послідовності сигналів на об'єкт керування (організація циклу формування дискретного сигналу, організація затримки) будуть реалізовані програмним способом оскільки ТЗ не накладає жорстких обмежень на швидкодію системи, період слідування керуючих сигналів більше tц контролера, а деякі задачі нижнього рівня, як читання стану порту вводу МК, або запис даних в пам'ять МК можливо реалізувати лише програмним способом. Крім того вимога створення мікроконтролерного пристрою, ставить саме за мету використання програмних можливостей МК для вирішення цих задач. Їх реалізація буде розглянута підчас розробки загального алгоритму роботи МКП і тексту програми.
2.3. Обґрунтування вибору ОМК для вирішення задачі
Для рішення даної задачі необхідний МК, що містить у собі наступні характеристики відповідно до ТЗ:
1) має 2 лінії вводу/виводу (1 – вхідні дані і 1 – вихідні дані);
2) має внутрішній RC генератор;
3) має в наявності ПЗП;
4) не обов’язково включає додаткових функціональних вузлів (АЦП, ЦАП, ШИМ, USART і т.д.);
5) буде доступним і порівняно недорогим;
6) згідно із ТЗ має бути із серії МК РІС 16С5х
Ще одним немаловажним моментом є наявність документації на МК, щоб правильно його запрограмувати.
Визначеним вимогам відповідає велика кількість МК, тому керуючись критерієм максимальної доступності і дешевизни, а також тим, що програма буде невеликої складності і може бути відлагоджена на етапі розробки програмними засобами, а також немає потреби перепрограмовувати МК в подальшому, вибираємо МК РІС 16С54, як той що найбільш відповідає визначеним вимогам.
3 ФУНКЦІОНАЛЬНА СХЕМА ПРИСТРОЮ І ЇЇ КОРОТКИЙ ОПИС
Згідно із визначеними вимогами щодо структури МК, апаратними рішеннями отримали наступну функціональну схему пристрою, зображену на рисунку 3.1.
Біт стану з датчика поступає на вхід RB0, за технічним завданням сигнали з датчика відповідають рівням ТТЛ логіки, тому не має потреби приймати якихось конструктивних рішень, щодо узгодження сигналів з датчика і входом RB0, а подавати напряму, що зображено на рисунку 3.1
В схемі використано внутрішній RС генератор. Ним треба керувати шляхом підключення зовнішнього, по відношенню до контролера, RC-ланцюга (рис. 3.2).
Рис. 3.2 Підключення RC-ланцюга керування внутрішнім RС генератором
Для значень Rext, нижче 2.2 кОм, генератор може працювати нестабільно або не запускатися. При дуже великих значеннях Rext (наприклад, 1 МОМ), генератор стає чутливим до завад, витоків і вологості. Рекомендований діапазон значень Rext від 3 до 100 кОм. Хоча генератор дієздатний і при відсутності зовнішнього конденсатора (Сext = 0), для збільшення стабільності роботи рекомендується використовувати конденсатор ємністю понад 20 пФ. При малій ємності Сext, чи взагалі без цього конденсатора, частота генератора сильно залежить від монтажних ємностей. Розкид буде тим більший, чим більше величина резистора Rext (бо вплив струмів витоків на частоту RC генератора сильніший при більших значеннях Rext), і чим менша величина ємності Сext (бо в цьому випадку сильніше проявляється вплив монтажних ємностей). Тому ми вибираємо Rext рівним 100 кОм, а Сext рівним 20 пФ.
Згідно із технічним завданням МК має внутрішній сигнал "Скидання" по ввімкненню живлення, для цього достатньо просто об'єднати входи Vdd і
(рис. 3.1), при поданні напруги на вхід Vdd відбудеться автоматичне скидання мікро контролера.На виході контролера RA0 формуються послідовності управляючих сигналів, що далі поступають на об’єкт керування. Оскільки ТЗ не дає ніяких вимог щодо рівней вихідних сигналів, а необхідна затримка реалізується програмно, вони безпосередньо знімаються з виходу RA0 і поступають на об’єкт керування.
4. АЛГОРИТМ РОБОТИ МКП
Згідно із окресленими під задачами загальний алгоритм роботи програми буде складатися із наступних блоків (рис. 4.1):
Блок ініціалізації МК передбачає настроювання відповідних бітів портів А і В на ввід/вивід і інші конфігурування МК.
Блок чекання події означає читання даних з входу RB0, аналізу і переходу до наступного блоку якщо отримано 1, або повернення до читання знов доки не отримано 1. Це можна проілюструвати наступним фрагментом блок-схеми (рис. 4.2):
Блок формування керуючої послідовності сигналів реалізує в циклі формування скидання і встановлення в одиницю на виводі RА0, в результаті чого ми отримали послідовність імпульсів необхідної тривалості (рис. 4.3), що задається блоком затримки.
Рис. 4.3 Блок формування керуючої послідовності сигналів
Блок затримки представляє собою цикл із інкрементом спеціальної змінної, що триває 100 тактів(рис 4.4).
Рис. 4.4 Блок затримки.
Таким чином по приходу сигналу «Скидання» контролер починає виконувати свою програму, що містить ініціалізацію МК, обробку вхідних даних і видачу керуючої послідовності сигналів. У безупинному циклі роботи МК зчитує біт RВ0 порту В (значення D), і якщо поступила 1 формує на виході керуючу послідовність сигналів. Потім усе повторюється.