Меню English Ukrainian російська Головна

Безкоштовна технічна бібліотека для любителів та професіоналів Безкоштовна технічна бібліотека


Проектуємо пристрої на мікроконтролерах. Енциклопедія радіоелектроніки та електротехніки

Безкоштовна технічна бібліотека

Енциклопедія радіоелектроніки та електротехніки / Мікроконтролери

Коментарі до статті Коментарі до статті

Між початковим задумом створення пристрою на базі мікроконтролера (МК) та розробкою його програми є важливий етап – складання блок-схеми алгоритму. Про нього нерідко забувають або, що ще гірше, їх нехтують. Програмування ведеться "евристично", по суті - методом проб і помилок. Результат - така собі громіздка програма, яка не до кінця зрозуміла навіть її творцю, і погано піддається модернізації. Однак давно відомі та використовуються програмістами досить прості методи, що дозволяють, розпочавши зі словесного формулювання алгоритму, грамотно спроектувати його блок-схему. Професійні інтереси автора статті лежать у галузі розробок на МК серії Z8, але матеріал, що викладається ним, однаково відноситься і до МК інших типів.

Взаємодія будь-якої МК-системи з оператором та об'єктом управління можна представити показаною на рис. 1 схемою [1]. У загальному випадку об'єкт управління забезпечений виконавчими пристроями та датчиками. Людина-оператор впливає на МК за допомогою пристроїв і отримує інформацію про стан об'єкта з показань пристроїв індикації. Перші є перемикачі, кнопки, змінні резистори, другі - світлові (у тому числі графічні та буквено-цифрові) індикатори, звуковипромінюючі та інші сигнальні пристрої.

Проектуємо пристрої на мікроконтролерах

Усі показані на схемі функціональні вузли та зв'язки обов'язкові лише у комплексних діалогових системах контролю та управління. У так званих розімкнених системах управління МК працює "наосліп", не отримуючи жодної інформації про стан об'єкта. Іноді він навіть не видає оператору жодних відомостей про роботу (як своєї, так і об'єкта), особливо якщо є можливість оцінювати результати управління, спостерігаючи за самим об'єктом. У замкнутих системах управління МК коригує керуючі на об'єкт залежно від показань датчиків, але пристрої індикації не обов'язкові і тут. Системи контролю не містять виконавчих пристроїв, а за допомогою оператора лише вибирає контрольовані параметри або перемикає режими роботи індикаторів.

Методика проектування систем на МК [2, 3] включає постановку та аналіз завдання, її інженерну інтерпретацію, розробку блок-схеми алгоритму і тексту прикладної програми. У таких системах максимальну кількість функцій прагнуть покласти саме на програмні засоби. Від ефективності їх реалізації залежать зрештою необхідний обсяг пам'яті, швидкодія та надійність роботи системи в ціпом. Звичайно, доведеться ще розробка принципової схеми і самої конструкції виробу, але їх ми торкнемося лише в міру, необхідної для розробки програми МК.

Постановка завдання - це словесне формулювання вимог до системи, що проектується. Насамперед описують її призначення, характеристики об'єкта управління, датчиків, індикаторів, виконавчих та пристроїв, що задають. Далі слід докладно розповісти про бажану поведінку системи у всіх можливих ситуаціях, у тому числі "нештатних". У жодному разі не можна покладатися на безпомилкові дії оператора. Наприклад, почувши аварійний сигнал, він може замість наказаної кнопки "СТОП" натиснути на кнопку "СТАРТ" або безладно натискати на всі кнопки поспіль. Звичайно, всі подібні ситуації передбачити неможливо, але цього потрібно прагнути. Обов'язково слід задати чисельні значення параметрів системи, що проектується.

Спочатку завдання формулюють, зазвичай, " лише на рівні користувача " . Наприклад, вихідне завдання на розробку системи керування вентилятором може звучати так: "Вмикати та вимикати вентилятор, регулювати інтенсивність повітряного потоку та змінювати його напрям (витяжка/нагнітання)". Інженерний аналіз зведе це завдання до управління швидкістю та напрямком обертання приводу вентилятора – електродвигуна постійного струму. Оскільки потужність вихідних сигналів МК явно недостатня для безпосереднього керування двигуном, між ними доведеться встановити спеціальний пристрій-драйвер, що формує сигнали потрібної потужності, а завдання МК. обмежиться подачею керуючих впливів на драйвер.

Не будемо докладно зупинятись на виборі силових елементів керування, датчиків та пристроїв їх поєднання з МК. Сьогодні для цього випускаються спеціалізовані мікросхеми, застосовувати які набагато ефективніше, ніж будувати систему з дискретних компонентів.

Припустимо, що буде використано інтегральний драйвер електродвигуна постійного струму LMD18200 фірми National Semiconductor. Типова схема його включення показано на рис. 2. Він містить міст з потужних МОП-транзисторів, діагональ якого включають двигун.

Проектуємо пристрої на мікроконтролерах

Керують драйвером за допомогою трьох логічних сигналів. На вхід PWM (Pulse Width Modulation – широтно-імпульсна модуляція, ШІМ) подають прямокутні імпульси, від відношення тривалості яких до періоду повторення (коефіцієнта заповнення) залежить частота обертання двигуна. Логічним рівнем сигналу на вході DIR (direction - напрямок) задають полярність напруги, що подається на двигун, отже, напрямок його обертання. Встановивши рівень балка. 1 на вході BR (brake - гальмо), двигун зупиняють, причому якщо в цей час на вході PWM лог. 0, ланцюг живлення двигуна виявиться просто розімкнутим, інакше висновки двигуна будуть ще й з'єднані між собою, що забезпечить екстрене гальмування.

У драйвер вбудовано два датчики. Один з них генерує струм, що з висновку CUR (current - струм) і пропорційний струму двигуна з коефіцієнтом 377 мкА/А. Вихід датчика температури TF (Thermal Flag – прапор температури) – дискретний з відкритим колектором. Він перетворюється на стан балка. 0. якщо кристал драйвера нагрівся вище 145 °С.

Сформулюємо вимоги до пристрою управління електродвигуном вентилятора, а по суті драйвером двигуна.

Пристрій управління повинен бути забезпечений кнопками, натискаючи на які оператор (користувач) зможе вмикати та вимикати двигун, змінювати напрямок, збільшувати та зменшувати частоту його обертання. Повинна бути передбачена індикація напрямку обертання двигуна світловими сигналами різного кольору та звукова сигналізація про аварію (перегрівання або перевантаження).

Після подачі напруги живлення пристрій повинен, не включаючи двигун, чекати на команду, що задає напрямок обертання. Її одержання слід підтвердити світловим сигналом. За командою "ПУСК" двигун повинен бути увімкнений і почати обертатися в заданому напрямку із середньою частотою (коефіцієнт заповнення сигналу PWM = 0.5). За командами "ПОГЛЯДНІШЕ" та "ШВИДШЕ" коефіцієнт заповнення повинен відповідно зменшуватися або збільшуватися, не виходячи за межі 0.2... 1. Команда "СТОП" повинна негайно зупиняти двигун, після чого його можна знову запустити, подавши команду "ПУСК".

У разі перевищення допустимого значення споживаного струму, що може бути наслідком, наприклад, механічного заклинювання валу двигуна, останній потрібно вимкнути і подати уривчастий звуковий сигнал частотою 1000 Гц у вигляді коротких посилок (тривалість їх і пауз між ними 1 с). При перегріві мікросхеми необхідно зупинити двигун та подати звуковий сигнал довгими посилками (тривалість посилок та пауз 2 с). Звукова сигналізація повинна залишатися включеною до того часу. поки оператор не подасть команду "СТОП", що повертає пристрій у вихідний стан. До подачі такої команди воно не повинно реагувати на жодні інші.

Вже цьому етапі слід абстрагуватися від подробиць, несуттєвих розробки програми МК. Наприклад, у разі немає значення то. що об'єкт управління (двигун) служить приводом вентилятора, від його обертання залежить тип вентиляції(витяжна чи припливна), як від частоти - інтенсивність потоку повітря. Більше того, розробляючи алгоритм, можна взагалі забути про двигун і його драйвер, зосередившись на формуванні сигналів PWM, що управляють. DIR, BR та обробки сигналів датчиків CUR та ТЕ.

Аналізуючи сформульоване завдання, бажано одразу виявити деякі проблеми, які неминуче виявлять себе на наступних етапах. Наприклад, чи має система реагувати на команду "ПУСК", якщо напрямок обертання попередньо не заданий? Якщо так. то в якому напрямку повинен обертатися двигун у такому разі? Чи повинні зберігатися задані частота та напрямок обертання після зупинки та повторного пуску двигуна? А після усунення аварійної ситуації? На всі подібні питання необхідно відповісти якомога раніше.

З словесного описи, становлять списки вхідних і вихідних сигналів МК. У перший з них включають команди, що подаються оператором, і сигнали датчиків: "Витяжка". "Нагнітання". "ПУСК". "ШВИДШЕ". "ПОВІЛЬНІШЕ". "Стоп". "ПЕРЕВАНТАЖЕННЯ" (CUR). "ПЕРІГРІВ" (TF). У другій - сигнали керування драйвером двигуна та індикаторами: PWM – частота обертання. DIR – напрямок обертання, BR – вимкнути двигун. G - увімкнути зелений світлодіод. Y-включити жовтий світлодіод. S – звук.

З урахуванням сказаного можна зробити попередній висновок у тому. що потрібно МК. що має не менше 14 висновків для підключення зовнішніх ланцюгів (вісім входів та шість виходів). Оскільки сигнал CUR - аналоговий, знадобиться компаратор для порівняння показань датчика з допустимим значенням та формування логічного сигналу "ПЕРЕВАНТАЖЕННЯ". Тому кращий МК. з вбудованим компаратором. Придатна, наприклад, мінімальна 18-висновна модифікація МК серії Z86. Найдешевший варіант – мікросхема. Z86E02. Поки це все. щодо апаратної частини пристрою. Розподіл вхідних та вихідних сигналів за висновками МК на даному етапі несуттєвий.

Далі рекомендується словесно заданий алгоритм зобразити як так званого графа кінцевого автомата. Дискретний пристрій вважають кінцевим автоматом, якщо вдається перерахувати всі стани, в яких він може знаходитися, всі події (зовнішні впливи), що призводять до змін стану, і всі вихідні сигнали, що формуються. Саме такі пристрої з урахуванням МК.

Приклад графа автомата наведено на рис. 3.

Проектуємо пристрої на мікроконтролерах

Стани зображені вузлами (вершинами) графа. В даному випадку їх чотири: А. В. С і D. Вершини з'єднані дугами, забезпеченими стрілками, що показують напрямок переходу, над дугою вказують подію Xi, що викликає даний перехід, а під нею - набір Yi вихідних сигналів, що формуються автоматично в цей момент і які не змінюються до наступного переходу. Теоретично з кожної вершини графа має виходити стільки дуг. скільки можливо різних зовнішніх впливів на автомат. Якщо деяка подія не змінює стану автомата, відповідну дугу показують, що входить у ту саму вершину, з якої вона вийшла. Однак, щоб не захаращувати креслення, на практиці залишають лише ті з подібних дуг. з якими пов'язані зміни вихідних сигналів. Наприклад, із графа, показаного на рис. 3. можна видалити дуги А-А та В-В. Звичайною мовою це означає, що автомат у станах А і В на подію Х3 не реагує.

Події, що впливають на автомат, що реалізується у вигляді програми МК. бувають як " прямими " , викликаними змінами логічних рівнів сигналів, поданих зовнішні висновки МК, а й " непрямими " . До останніх відносять, наприклад, певний результат порівняння обчисленого та заданого значень деякого параметра або завершення будь-якої тривалої операції. Грань між прямими і опосередкованими подіями іноді провести важко. Скажімо, така поширена подія, як спрацьовування вбудованого в МК таймера, можна вважати непрямим, якщо його фіксувати. аналізуючи число, що знаходиться у відповідному регістрі, або прямим, реагуючи на сигнал, що генерується таймером після закінчення рахунку. Вихідні сигнали також можуть бути непрямими, які не змінюють безпосередньо логічні рівні на виходах МК. Нерідко при переходах між станами автомата лише надають певні значення змінним програми.

Повертаючись до розв'язуваного завдання, побудуємо граф автомата керування двигуном. Аналізуючи завдання, можна виділити такі стани:

  • ПОЧАТОК – встановлюється негайно після включення живлення. Виконуються необхідні початкові дії – задаються вихідні значення змінних програми та вихідних сигналів, налаштовуються периферійні пристрої. Після цього автомат перетворюється на стан СТОП1 (гарний приклад переходу по непрямому подію - завершення ініціалізації);
  • СТОП 1 - автомат входить до нього після завершення ініціалізації або вийшовши з аварійної ситуації. Виходить за командами, що задають напрямок обертання двигуна:
  • СТОП2 - автомат чекає на команду "ПУСК";
  • РОБОТА – основний стан, пристрій генерує сигнал PWM. Вихід за командою "СТОП" або сигналами аварійних датчиків;
  • ПЕРЕГРІВ. ПЕРЕВАНТАЖЕННЯ - стани, в які автомат переходить зі стану РОБОТА в результаті спрацьовування відповідних датчиків. Двигун вимкнено, пристрій генерує звукові сигнали. Вихід – лише за командою "СТОП".

Побудований граф показано на рис. 4.

Проектуємо пристрої на мікроконтролерах

Неважко помітити, що неможливо змінити випадково заданий неправильний напрямок обертання, не ввімкнувши, а потім вимкнувши двигун. До того ж, щоб запустити його, завжди потрібно подати дві команди – напрямки та пуску. Відмовившись від команди "ПУСК", можна виключити стан СТОП2. а дуги команд "НАГНІТАННЯ" та "Витяг" направити безпосередньо в стан РОБОТА. В результаті на пульті управління стане однією кнопкою менше, звільниться один вхід МК. а двигун буде включатися відразу після натискання будь-якої з кнопок, що задають напрямок. Строго кажучи, на будь-яку зміну заданого алгоритму управління потрібно отримати згоду замовника чи майбутнього користувача пристрою. Але в аматорській практиці замовник, виконавець та користувач нерідко - одна особа і достатньо "порадитись із самим собою".

Впадає у вічі, що граф не відбиває спосіб формування сигналу PWM зі змінним коефіцієнтом заповнення. У випадку це може робити спеціальний пристрій, керований від МК. Але ми прагнемо все реалізувати суто програмним шляхом, тому доведеться розбити стан роботи на два. У першому з них (РОБОТАО) PWM = 0, ьо другому (РОБОТА 1) - PWM = 1.

Тепер передбачимо події, що викликають переходи між ними - почергові спрацьовування двох таймерів, один з яких задає тривалість імпульсів PWM, а другий - пауз між ними, причому кожен таймер, спрацювавши, запускає інший. Завдяки тому, що в даному випадку логічні таймери ніколи не працюють одночасно, їх можна буде реалізувати за допомогою одного фізичного таймера, програмно змінюючи його витримку часу після кожного спрацьовування.

Командами "ШВИДШЕ" і "ПОВІЛЬНІШЕ" регулюють витримки часу таймерів, залишаючи їх суму незмінною і рівною заданому періоду повторення імпульсів PWM. Реагувати на ці команди автомат може в обох аналізованих станах. Проте задля спрощення алгоритму допустимо обмежитися реакцією лише у одному з них. Завдяки короткочасності цих станів затримка виконання залишиться непомітною оператору.

Ще одне необхідне уточнення – перевірка допустимості значень витримок часу. Відповідно до завдання, коефіцієнт заповнення сигналу PWM. рівний Т1/(Т1+Т0). де Т1 і Т0 - витримки часу таймерів повинен завжди залишатися в інтервалі 0,2... 1. Тому після кожної команди зміни швидкості автомат повинен переходити в стан ПЕРЕВІРКА і тільки з нього повертатися в стан РОБОТА по одній з двох дуг. Перша відповідає позитивному результату перевірки, під час переходу нею встановлюються нові значення витримок. Друга - результат негативний, діяли раніше витримки залишаються постійними.

Продовжуючи аналізувати граф, звертаємо увагу, що стани ПЕРЕГРІВ і ПЕРЕВАНТАЖЕННЯ відрізняються тільки періодом повторення звукового сигналу. Їх непогано об'єднати в одне, назвавши його Аварією. Звуковий сигнал S можна генерувати за допомогою двох таймерів, подібно до розглянутого вище сигналу PWM. Більше того, бажано використовувати той самий "фізичний" таймер, який у цьому стані залишається безробітним.

Щоб зробити звук переривчастим, можна застосувати ще один таймер, але простіше обійтися без нього, підраховуючи періоди сигналу, що генерується, за допомогою лічильника, реалізованого програмно, через певне їх число включаючи і вимикаючи вихідний сигнал. Все це вимагатиме передбачити додаткові стани автомата та переходи між ними.

Розроблений граф автомата керування двигуном показано на рис. 5.

Проектуємо пристрої на мікроконтролерах

Зверніть увагу, що словесні формулювання виконуваних дій замінені наданням певних значень змінним. Наприклад, замість фрази "включити жовтий світлодіод" зазначено Y = 1 і уточнено, що зелений світлодіод слід вимкнути, G = 0. Крім згадуваних раніше вихідних сигналів і витримок таймерів, введені константа Т-період повторення імпульсів PWM і змінна N - число імпульсів S , що залишилися до завершення формованого інтервалу звукового сигналу.

Наступний крок - перетворення графа на блок-схему алгоритму роботи МК. Насамперед, всі вершини графа (стану автомата) слід пронумерувати. Порядок нумерації має дуже велике значення при апаратній реалізації автомата. Вибравши його правильно, можна значно спростити пристрій. Для програмної реалізації це настільки істотно, й у більшості випадків нумерація то, можливо довільної. У програмі обов'язково передбачають так звану "змінну стани", якій у процесі роботи надають значення, що дорівнює номерам поточних станів. У складних програмах таких змінних може бути кілька. Багато мов програмування дають числовим значенням символічні імена. Цим можна широко користуватися, так як рядок програми, в якій змінній надається значення RABOTA, набагато наочніше рядка, що привласнює, наприклад, значення 6.

На рис. 6 типова блок-схема керуючого алгоритму представлена ​​у найзагальнішому вигляді. Після ініціалізації програма працює циклічно. Проаналізувавши змінну стану, вона у кожному циклі виконує відповідну процедуру. Зміна стану автомата відображається привласненням нового значення змінної стану, в результаті наступного циклу буде виконана інша процедура.

Проектуємо пристрої на мікроконтролерах

Процедури, що реалізують кожен із станів автомата, будують за блок-схемами, аналогічними показаною на рис. 7. Насамперед аналізують зовнішні впливи (події). Далі процес ділять на стільки гілок, скільки дуг виходить з відповідної вершини графа автомата, в кожній з них передбачено виконання функцій, необхідних для реалізації даного переходу, на закінчення надають змінної стану значення, що дорівнює номеру вершини, в яку спрямована дуга. Можливий інший підхід: спочатку реалізують дуги, що входять у вершину, а потім реагують на впливи. Його основний недолік - програма повинна "знати", з якого стану автомат перейшов у це, чого не потрібно в попередньому випадку.

Проектуємо пристрої на мікроконтролерах

Зверніть увагу, що на рис. 7 показано два можливі варіанти виходу з процедури-стану. У першому - події аналізуються циклічно, доки виявлено одне їх, що викликає вихід із цього стану. У другому - якщо жодного з таких впливів немає. процедура завершується, як показано штриховою лінією.

Якщо зовнішніх впливів небагато і реакція на них у кожному стані специфічна, процедури виявлення подій включають блоки обробки станів. Наприклад, перевіряти, чи кнопка "ПУСК" натиснута, можна тільки в тому стані, в якому автомат повинен на це реагувати. Часто процедуру фільтрації подій виносять у головний цикл (на рис. 6 вона показана штриховою лінією) і передбачають змінну, якій надають значення, однозначно пов'язане з подією. Наприклад, результат опитування клавіатури – код натиснутої клавіші. У блоці обробки стану, виконаному за другим із розглянутих вище варіантів, лише аналізують значення цієї змінної.

На відміну від теоретичної моделі, реальні події нерідко відбуваються одночасно. У подібній ситуації автомат повинен насамперед прореагувати на подію, яка має найвищий пріоритет. Найпростіший спосіб задати пріоритети – вибрати правильну послідовність аналізу подій. Наприклад, згідно з блок-схемою, показаною на рис. 7, найвищий пріоритет у події Х1. нижчий – у ХЗ. Якщо високопріоритетні події відбуваються значно частіше, що мають низький пріоритет, черга до останніх може ніколи не дійти. Щоб уникнути цього рідкісним подіям, слід віддавати найвищі пріоритети. Іноді розподіл останніх доводиться змінювати в процесі роботи програми, наприклад, поміщаючи кожну щойно оброблену подію на кінець черги.

Непередбачувана поведінка системи на МК часто пояснюється перешкодами чи брязкотом контактів органів управління. Подібні неправдиві події необхідно "відсіювати" за допомогою програмних фільтрів. Найчастіше для визнання події доконаним достатньо переконатися, що логічний рівень сигналу на відповідному вході МК залишався незмінним протягом певного часу. У відповідальних випадках застосовують і складніші процедури.

Серед безлічі подій нерідко можна виділити "екстренні", реакція на які має бути негайною. Типовий приклад. Щоб не пропустити момент спрацьовування таймера, програмі доводиться безперервно перевіряти стан його регістру, не маючи можливості до закінчення витримки займатися чимось. Сигнал запиту переривання, що генерується таймером після закінчення рахунку, вирішує проблему. Прийнявши його. МК негайно (принаймні значно швидше, ніж при звичайній програмній обробці тієї ж події) переходить до виконання підпрограми обслуговування даного переривання, адреса (вектор) якої повинен бути вказаний в спеціально відведених осередках пам'яті програм.

Апарат пріоритетних векторних переривань програми, що виконується, передбачений в переважній більшості МК. Переривання може бути як зовнішніми, і внутрішніми. В останньому випадку вхід запиту переривання немає зовнішнього виведення, а з'єднаний з джерелом запитів, що знаходяться безпосередньо на кристалі МК. Зазвичай передбачені внутрішні переривання як від таймера, а й інших вбудованих у цей МК пристроїв: контролерів послідовних портів, компараторів аналогових сигналів, аналого-цифрових перетворювачів.

Нерідко одна з внутрішніх переривань сучасних МК пов'язані з так званим сторожовим таймером (Watch Dog), службовцям захисту від випадкових збоїв. Цей таймер вимагає постійної

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

Перериваннями керують, дозволяючи або забороняючи їх залежно від стану автомата, що реалізується. Якщо одне і те ж переривання в різних станах необхідно обробляти по-різному, процедуру обробки будують подібно до головного циклу програми, передбачаючи в ній аналіз стану. Відмінність у тому. що таку процедуру не замикають у кільце. Завершивши її, МК продовжить виконувати програму з того місця, де її було перервано. Це загрожує збоями, тому що в стані, що змінився в результаті обробки переривання, продовження перерваних дій може дати неправильний результат. Захищаються від подібних помилок, забороняючи переривання на час виконання критичних ділянок програмного ходу. безперечно, уповільнює реакцію системи.

Якщо джерел запитів переривань у системі більше передбачених їм входів МК, апаратно реалізують груповий запит, об'єднуючи виходи кількох джерел за схемою АБО. Прийнявши такий запит. МК зобов'язаний з'ясувати, хто його послав і відповідним чином обробити.

Весь алгоритм роботи пристрою іноді реалізують набором підпрограм обробки переривань. І тут головний цикл вироджується у кілька машинних команд, до єдиної команди безумовного переходу саму себе. Багато МК спеціально передбачені команди HALT чи IDLE, якими вони. по суті припиняють працювати (іноді вимикається навіть тактовий генератор). Вивести МК з цього стану здатний лише надійшов запит переривання. Закінчивши обробку запиту. МК виконує передбачений у головному циклі безумовний перехід на команду зупинки та знову "засинає". Цей режим дуже економічний, оскільки потужність, споживана зупиненим МК, багаторазово зменшується, зростаючи лише під час реакції на зовнішні впливи.

Розроблена з урахуванням викладеного блок-схема алгоритму управління електродвигуном вентилятора і двох частин, зображених на рис. 8 (головний цикл) та рис. 9 (обробка переривання від таймера). Обидві вони відповідають переважно розглянутим вище типовим блок схемам, крім те, що об'єднані однакові операції, виконувані під час обробки різних подій. Обробник переривання від таймера формує сигнали PWM і S. При переході зі стану СТОП у стан РОБОТА переривання дозволяється, а при поверненні стан СТОП - забороняється.

Проектуємо пристрої на мікроконтролерах

У програмі з'явилася змінна стан ST, якій наочності присвоюються рядкові значення - назви відповідних станів. Як говорилося вище, у програмі це будуть числа – номери станів або їх символічні імена. Значення, що присвоюються змінною N0, обрані виходячи з припущення, що періоди повторення імпульсів PWR і S, що формуються, однакові і рівні 1 мс. Якщо це не так. блок-схему доведеться трохи змінити.

Проектуємо пристрої на мікроконтролерах

Тепер можна переходити до вибору МК, розподілу вхідних та вихідних сигналів з його висновків та розробки повної принципової схеми пристрою. Визначивши, з якими зовнішніми ланцюгами будуть з'єднані розряди того чи іншого порту вводу/виводу МК, та логічні рівні, сигналів у цих ланцюгах, програміст може розпочинати розробку програми.

література

  1. Франке К. Введення у мікро-ЕОМ: Пер. з ним. - М: Енергоатомієдат. 1998.
  2. Каган Б. М., Сташин В. В. Основи проектування мікропроцесорних пристроїв автоматики. - М: Енергоатомієдат. 1987.
  3. Сташин В. В., Урусов А. В., Мологоїцева О. Ф. Проектування цифрових пристроїв на однокристальних мікроконтролерах. - М: Енергоатомієдат. 1990.

Автор: М.Гладштейн, м.Рибінськ

Дивіться інші статті розділу Мікроконтролери.

Читайте та пишіть корисні коментарі до цієї статті.

<< Назад

Останні новини науки та техніки, новинки електроніки:

Новий спосіб управління та маніпулювання оптичними сигналами 05.05.2024

Сучасний світ науки та технологій стрімко розвивається, і з кожним днем ​​з'являються нові методи та технології, які відкривають перед нами нові перспективи у різних галузях. Однією з таких інновацій є розробка німецькими вченими нового способу керування оптичними сигналами, що може призвести до значного прогресу фотоніки. Нещодавні дослідження дозволили німецьким ученим створити регульовану хвильову пластину всередині хвилеводу із плавленого кремнезему. Цей метод, заснований на використанні рідкокристалічного шару, дозволяє ефективно змінювати поляризацію світла через хвилевід. Цей технологічний прорив відкриває нові перспективи розробки компактних і ефективних фотонних пристроїв, здатних обробляти великі обсяги даних. Електрооптичний контроль поляризації, що надається новим методом, може стати основою створення нового класу інтегрованих фотонних пристроїв. Це відкриває широкі можливості для застосування. ...>>

Приміальна клавіатура Seneca 05.05.2024

Клавіатури – невід'ємна частина нашої повсякденної роботи за комп'ютером. Однак однією з головних проблем, з якою стикаються користувачі, є шум, особливо у випадку преміальних моделей. Але з появою нової клавіатури Seneca від Norbauer & Co може змінитися. Seneca – це не просто клавіатура, це результат п'ятирічної роботи розробників над створенням ідеального пристрою. Кожен аспект цієї клавіатури, починаючи від акустичних властивостей до механічних характеристик, був ретельно продуманий і збалансований. Однією з ключових особливостей Seneca є безшумні стабілізатори, які вирішують проблему шуму, характерну для багатьох клавіатур. Крім того, клавіатура підтримує різні варіанти ширини клавіш, що робить її зручною для будь-якого користувача. І хоча Seneca поки не доступна для покупки, її реліз запланований на кінець літа. Seneca від Norbauer & Co є втіленням нових стандартів у клавіатурному дизайні. Її ...>>

Запрацювала найвища у світі астрономічна обсерваторія 04.05.2024

Дослідження космосу та її таємниць - це завдання, яка привертає увагу астрономів з усього світу. У свіжому повітрі високих гір, далеко від міських світлових забруднень, зірки та планети розкривають свої секрети з більшою ясністю. Відкривається нова сторінка в історії астрономії із відкриттям найвищої у світі астрономічної обсерваторії – Атакамської обсерваторії Токійського університету. Атакамська обсерваторія, розташована на висоті 5640 метрів над рівнем моря, відкриває нові можливості для астрономів у вивченні космосу. Це місце стало найвищим для розміщення наземного телескопа, надаючи дослідникам унікальний інструмент вивчення інфрачервоних хвиль у Всесвіті. Хоча висотне розташування забезпечує більш чисте небо та менший вплив атмосфери на спостереження, будівництво обсерваторії на високій горі є величезними труднощами та викликами. Однак, незважаючи на складнощі, нова обсерваторія відкриває перед астрономами широкі перспективи для дослідження. ...>>

Випадкова новина з Архіву

У людей пам'ять краще працює у темряві 16.05.2017

Американські вчені з'ясували, що людська пам'ять значно краще працює із заплющеними очима.

Дослідники вирішили з'ясувати, чи дійсно людська пам'ять краще працює з закритими очима і в темряві. Набраній групі добровольців продемонстрували фільм, який раніше ними не бачив. Після закінчення перегляду всі учасники експерименту переказали у подробицях події, показані в кінострічці.

Експеримент полягав у тому, що людей поділили на групи. Однією з них дозволили, згадуючи моменти фільму, заплющувати очі, а іншим цього не дозволили робити. Порівнявши отримані результати, з'ясувалося, що заплющуючи очі, людина активізує свою пам'ять. Усі, хто так робив, згадали із щойно переглянутого матеріалу значно більше, ніж решта. Таким чином вчені довели, що дійсно люди в темряві або із заплющеними очима здатні активізувати пам'ять і краще зосереджуватися.

Інші цікаві новини:

▪ Водоміти для підводних човнів

▪ Електровелосипед ADO A20

▪ Відеокарта EVGA GeForce GTX 980 Hybrid

▪ Приймач внутрішньосистемного інтерфейсу з пропускною здатністю 56 Гбіт/с

▪ Повернення до Едісона

Стрічка новин науки та техніки, новинок електроніки

 

Цікаві матеріали Безкоштовної технічної бібліотеки:

▪ Розділ сайту Веселі завдання. Добірка статей

▪ стаття Магнітофон. Історія винаходу та виробництва

▪ стаття Що таке молюск? Детальна відповідь

▪ стаття Топінамбур. Легенди, вирощування, способи застосування

▪ стаття Джерело живлення з плавною інверсією напруги. Енциклопедія радіоелектроніки та електротехніки

▪ стаття Прилад для перевірки акумуляторів. Енциклопедія радіоелектроніки та електротехніки

Залишіть свій коментар до цієї статті:

ім'я:


E-mail (не обов'язково):


коментар:





All languages ​​of this page

Головна сторінка | Бібліотека | Статті | Карта сайту | Відгуки про сайт

www.diagram.com.ua

www.diagram.com.ua
2000-2024