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

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


Відладковий модуль для мікроконтролерів серії MCS51. Енциклопедія радіоелектроніки та електротехніки

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

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

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

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

Описуваний нижче пристрій - "напівфабрикат" мікроконтролерної системи, інструмент для її налагодження та об'єкт дослідження одночасно. Воно призначене для придбання навичок програмування та налагодження програм для MCS51, але може служити як макет реальної системи, дозволяючи налагоджувати прикладне програмне забезпечення спільно з об'єктом управління. Маючи такий модуль, розробник буде позбавлений необхідності часто користуватися програматором або емулятором ПЗУ, недоступними для багатьох через високу вартість.

Принципова схема модуля налагодження для МК серії MCS51 зображена на малюнку. Більшість вузлів виконано за типовими схемами, а пристрій сполучення з послідовним портом персонального комп'ютера (ПК) запозичено з приладу, описаного в статті С. Кулешова та Ю. Зауменного "Программатор мікросхем ПЗУ" ("Радіо", 1995 № 10, с. 22 -25). До вільних висновків портів P1 та P3 мікроконтролера DD1 (на схемі вони закінчуються стрілками) можна підключати різні периферійні пристрої. Виделку XP1 з'єднують кабелем з розеткою одного з послідовних портів ПК, під керуванням якого працюватиме модуль.

Відладковий модуль для мікроконтролерів серії MCS51
(Натисніть для збільшення)

Після напруги живлення конденсатор C3 заряджається через резистор R1. За сигналом скидання RES, що формується елементом DD3.4, МК DD1 переходить у вихідний стан і виконує підготовчі операції, у тому числі встановлює рівень логічної 1 на всіх висновках порту P3. Тригер на елементах DD3.1, DD3.2 перебуває у стані, що його вихідним сигналом встановлено такий розподіл пам'яті, що область адрес 0-7FFFH пам'яті програм займає ПЗУ (DD5), а 8000H-0FFFFH - ОЗУ (DD6). Виконується програма Монітор, що у ПЗУ. Набираючи команди Монітора на клавіатурі ПК, оператор може працювати з ОЗП та периферією модуля.

Для переведення тригера в інший стан необхідно подати з керуючого ПК описану нижче команду Монітора RESET, яка встановлює сигнал MOD = 0. Адреси ОЗУ та ПЗУ пам'яті програм змінюються місцями та починає працювати програма, попередньо занесена оператором у ОЗУ модуля. Це дозволяє емулювати роботу реального пристрою та перевіряти програми, відтрансльовані до молодших адрес пам'яті, наприклад, підготовлені для запису в ПЗУ. Кнопка SB1 використовується для встановлення МК у вихідний стан без зміни розподілу пам'яті. Знову запустити Монітор можна лише, натиснувши на кнопку SB2 або вимкнувши та увімкнувши живлення. Це дозволяє в програмах, що налагоджуються, вільно оперувати станом порту P3 (наприклад, працюючи з периферією), не побоюючись випадково переключити розподіл пам'яті.

Світлодіод HL1 служить найпростішим засобом відображення інформації та дуже корисний, особливо якщо зв'язок з ПК з тієї чи іншої причини відсутній. Після подачі живлення він блимає із частотою приблизно 1 Гц, що свідчить про працездатність Монітора. Стабілітрон захищає пристрій від неправильної полярності або підвищеної напруги джерела живлення +5 ст.

Програма Монітор (табл.1) забезпечує керування модулем та його взаємодію через послідовний порт RS-232C з ПК, з якого передаються команди та дані, необхідні для роботи над конкретним завданням. Через цей же порт ПК отримує та відображає на своєму екрані результати роботи модуля. У ПК має бути запущена комунікаційна програма "Telemax" із широко поширеної оболонки Norton Commander 5.0, "Hyper Terminal" з Windows 95 OSR2 або інша подібна. В крайньому випадку можна обійтися без спеціальної програми, просто посилаючи командою MS DOS файли з підготовленими даними в послідовний порт ПК.

Відладковий модуль для мікроконтролерів серії MCS51
(Натисніть для збільшення)

Налаштовуючи комунікаційну програму, слід видалити рядки ініціалізації модему, встановити режими "Локальне відлуння" та "Трансляція CR/LF", при необхідності вибрати термінал ANSI та кодову таблицю ASCII. Режим роботи послідовного порту повинен бути наступним: швидкість - 4800 Бод, число біт на символ - 8, контроль паритету вимкнено, число стоп-бітів - 1. Якщо все правильно, текст, що набирається на клавіатурі ПК, буде надходити в налагоджувальний модуль, а його відповіді - на екрані.

Команди Монітора можна набирати як у верхньому, так і нижньому регістрах клавіатури. Усі символи мають бути у кодуванні ASCII. Клавіша [BackSpace] видаляє з буфера модуля налагодження останній введений символ. Кожна команда складається з імені та операнда. Ознакою закінчення імені служить символ розділювача: пробіл, табуляція, переклад рядка або повернення каретки. Далі умовно позначатимемо його символом підкреслення (_), але вводити можна будь-який із названих.

Прийнявши роздільник, Монітор порівнює перші чотири раніше прийняті і символи, що знаходяться в буфері, з вмістом наявної в ПЗУ таблиці команд. Виявивши збіг, він запам'ятовує адресу оброблювача команди з тієї ж таблиці і починає прийом операнда - одного або кількох шістнадцятирічних чисел. Умовимося, що одно- та двобайтні адреси внутрішньої та зовнішньої пам'яті МК будуть позначені відповідно XX та XXXX, довжина блоку – YYYY, інші дані – ZZ або ZZZZ. Наприклад, XXXX,YYYY - блок зовнішньої пам'яті даних, що починається з адреси XXXX, довжиною байт YYYY. Усі незначні нулі необхідно вказувати. Операнд також має закінчитися роздільником, після прийому якого запускається обробник команди. Роздільник, введений у порожній буфер, ігнорується.

RESET_ ZZZZ_ - включається другий режим розподілу пам'яті, МК наводиться у вихідний стан, управління передається на адресу ZZZZ. Для нормальної роботи команди потрібна справна ОЗУ.

DATA_ XXXX:_ ZZ_ [ZZ_][XXXX:_ZZ_ [ZZ_]._- вводиться інформація в послідовні осередки зовнішньої пам'яті даних, починаючи з адреси XXXX . Квадратні дужки вводити не потрібно, вони лише свідчать, що число операндів ZZ_ то, можливо довільним. Введення даних закінчується символом точки. У табл. 2 наведено приклад використання команд DATA та RESET для введення в ОЗУ простої програми та її запуску.

READ_XX_ або READ_XXXX_ - читається слово (два послідовні байти) з осередків пам'яті внутрішнього або зовнішнього ОЗУ даних. Результат у вигляді шістнадцяткового числа (байт за старшою адресою - першим) передається до послідовного порту.

WRITE_XX,ZZ_, WRITE_XX,ZZZZ_, WRITE_XXXX,ZZ_ чи WRITE_XXXX,ZZZZ_ - записується байт ZZ чи слово ZZZZ на адресу XX чи ХХХХ.

Слід пам'ятати, що команди READ і WRITE реалізовані з допомогою непрямої адресації, тому з регістрами спеціальних функцій працювати неможливо. Для доступу до регістрів слід спеціально для кожного з них написати процедури обміну прямою адресацією. Прикладом може бути обробник команди SPEED. Якщо в модулі встановлено МК з 256-байтним внутрішнім ОЗУ, команди READ та WRITE зможуть працювати з його додатковими 128 байтами за адресами 80H-0FFH.

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

SAVE_XXXX,YYYY_ - до послідовного порту передається вміст блоку зовнішньої пам'яті даних.

CALL_ZZZZ_ - викликається підпрограма, що починається з адреси ZZZZ. Для повернення в Монітор вона має закінчитись командою RET. На час виконання підпрограми переривання заборонено.

CHECK_XXXX,YYYY_ - обчислюється контрольна сума - молодший байт суми всіх байтів блоку зовнішньої пам'яті даних.

FILL_XXXX,YYYY,ZZ_ - заповнюється байтом ZZ область зовнішньої пам'яті даних та обчислюється її контрольна сума.

COPY_XXXX,YYYY,ZZZZ_ або COPY_PXXXX,YYYY,ZZZZ_ - копіюється за адресою ZZZZ блок зовнішньої пам'яті даних. Символ P вказує, що область, що копіюється, знаходиться в пам'яті програм. Одночасно обчислюється контрольна сума.

TEST_XXXX,YYYY_ - перевіряється справність блоку зовнішнього ОЗП. За відсутності помилок виводиться повідомлення "OK", інакше - "XXXX: YY<>ZZ", де XXXX - адреса збійного осередку, YY - записане у ній, а ZZ - лічене значення. Команда не руйнує вміст оперативної пам'яті.

SPEED_ZZ_ або SPEED_ZZ+_ - змінюється швидкість обміну даними через послідовний порт. За умовчанням вона дорівнює 4800 Бод (визначається байтом програми Монітора за адресою 2DH). Значення, рівне операнду ZZ, міститься в регістр TH1 мікроконтролера і визначає швидкість роботи його приймача. Знак плюс в операнді призводить до подвоєння швидкості за рахунок встановлення біта PCON.7.

Послідовний порт ПК може працювати зі швидкостями 110, 300, 1200, 2400, 4800, 9600, 19200, 38400, 57600 Бод та вище. Можливість досить точного настроювання послідовного порту МК серії MSC51 на зазначені швидкості залежить від частоти застосованого кварцового резонатора. Наприклад, якщо вона дорівнює 12 МГц, порт може бути налаштований на 300, 600, 1200, 2400 та 4800 Бод командою SPEED з операндами відповідно 98, CC, E6, F3 та F3+. Застосувавши резонатор на 11 МГц, можна було досягти швидкості 9600 Бод. Однак при передачі файлів МК, ймовірно, не встигатиме обробляти дані, що надходять з занадто високою швидкістю.

Описаний набір команд може бути розширений та доповнений без повторної трансляції Монітора та навіть без стирання ПЗП. Оброблювач нової команди розміщують у його вільній області. Ім'я команди (чотири перші символи у верхньому регістрі) записують, починаючи з адреси 5ABH, далі йдуть двобайтний адресу обробника і байт 0FFH. Обробник повинен закінчуватися переходом на адресу 23FH.

Всі згадувані далі однобайтні адреси осередків відносяться до внутрішнього ОЗУ МК. Монітор використовує банки регістрів 0 та 2, а також осередки 20H-3FH. Стек росте з адреси 50Н. У вільний від прийому та обробки команд час мікроконтролер безперервно виконує підпрограму, що знаходиться в ПЗП за адресою, вказаною в 35H і 36H. За умовчанням він дорівнює 063H. Ця підпрограма, періодично змінюючи стан розряду P3.4, запалює та гасить світлодіод HL1. Частота миготіння залежить від вмісту 3DH. Якщо планується використовувати цей розряд для інших цілей, слід подати команду WRITE_35,006A_.

У осередках 37H і 38H знаходиться адреса обробника переривання від послідовного порту, який фактично служить кістяком Монітора та визначає його реакції на команди оператора. За замовчуванням тут записано 0, що відповідає виклику стандартного оброблювача, що знаходиться у ПЗП за адресою 081H.

Записавши за адресою 3BH код, відмінний від 0, можна активізувати функцію "Луна". Всі дані, що приймаються через послідовний порт, Монітор буде відсилати назад. Це дозволить вимкнути "Локальне відлуння" в комунікаційній програмі, а при необхідності - зберегти в текстовому файлі всі команди, що надсилаються, і його відповіді на них.

Число за адресою 3AH задає паузу між прийомом команди Монітором та відповіддю на неї, необхідну для перемикання деяких комунікаційних програм передачі на прийом (для "Telemax" цього не потрібно). Воно дорівнює тривалості паузи на секундах, помноженої на 50.

Один з результатів роботи команд, що оперують блоками пам'яті (LOAD, SAVE, CHECK, FILL, COPY) - контрольна сума блоку, що поміщається в комірку 39H. Її можна використовувати контролю правильності виконання перелічених команд.

Монітор може безпосередньо приймати файли формату Intel HEX, що створюються багатьма асемблерами. Достатньо переслати такий файл до послідовного порту ПК за допомогою комунікаційної програми або просто командою MSDOS COPY <ім'я файлу> COM2. Попередньо використовуваний порт (у разі COM2) має бути налаштований командою MODE COM2:4800,N,8,1. Інформація буде записана у зовнішню пам'ять даних модуля налагодження, а в разі розбіжності контрольних сум видано відповідне повідомлення.

Кожен рядок файлу формату Intel HEX починається символом двокрапки, за яким без пробілів слідують подані двозначними шістнадцятковими числами байти:

  • число байтів даних, які у рядку;
  • старший та молодший байти адреси першого з байтів даних;
  • нульовий байт;
  • байти даних (їх число задано першим байтом рядка);
  • контрольна сума
  • молодший байт звичайної суми всіх байтів рядка, взятого зі знаком мінус.

HEX-файл завжди завершується рядком, що містить після двокрапки нульові значення числа байтів даних та адреси, за якими йдуть ознака останнього рядка (01) та контрольна сума, що дорівнює FF. У табл.3 наведено приклад такого файлу, що містить ті ж дані, що і командою Монітора DATA, що вводяться, згідно з табл.2.

Автор: В.Оглезнєв, м.Іжевськ

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

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

<< Назад

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

Машина для проріджування квітів у садах 02.05.2024

У сучасному сільському господарстві розвивається технологічний прогрес, спрямований на підвищення ефективності догляду за рослинами. В Італії було представлено інноваційну машину для проріджування квітів Florix, створену з метою оптимізації етапу збирання врожаю. Цей інструмент оснащений мобільними важелями, що дозволяють легко адаптувати його до особливостей саду. Оператор може регулювати швидкість тонких проводів, керуючи ним із кабіни трактора за допомогою джойстика. Такий підхід значно підвищує ефективність процесу проріджування квітів, забезпечуючи можливість індивідуального налаштування під конкретні умови саду, а також сорт та вид фруктів, що вирощуються на ньому. Після дворічних випробувань машини Florix на різних типах плодів результати виявились дуже обнадійливими. Фермери, такі як Філіберто Монтанарі, який використовував машину Florix протягом кількох років, відзначають значне скорочення часу та трудовитрат, необхідних для проріджування кольорів. ...>>

Удосконалений мікроскоп інфрачервоного діапазону 02.05.2024

Мікроскопи відіграють важливу роль у наукових дослідженнях, дозволяючи вченим занурюватися у світ невидимих ​​для ока структур та процесів. Однак різні методи мікроскопії мають обмеження, і серед них було обмеження дозволу при використанні інфрачервоного діапазону. Але останні досягнення японських дослідників із Токійського університету відкривають нові перспективи вивчення мікросвіту. Вчені з Токійського університету представили новий мікроскоп, який революціонізує можливості мікроскопії в інфрачервоному діапазоні. Цей удосконалений прилад дозволяє побачити внутрішні структури живих бактерій із дивовижною чіткістю в нанометровому масштабі. Зазвичай мікроскопи в середньому інфрачервоному діапазоні обмежені низьким дозволом, але нова розробка японських дослідників дозволяє подолати ці обмеження. За словами вчених, розроблений мікроскоп дозволяє створювати зображення з роздільною здатністю до 120 нанометрів, що в 30 разів перевищує дозвіл традиційних метрів. ...>>

Пастка для комах 01.05.2024

Сільське господарство - одна з ключових галузей економіки, і боротьба зі шкідниками є невід'ємною частиною цього процесу. Команда вчених з Індійської ради сільськогосподарських досліджень – Центрального науково-дослідного інституту картоплі (ICAR-CPRI) у Шимлі представила інноваційне вирішення цієї проблеми – повітряну пастку для комах, яка працює від вітру. Цей пристрій адресує недоліки традиційних методів боротьби зі шкідниками, надаючи дані про популяцію комах у реальному часі. Пастка повністю працює за рахунок енергії вітру, що робить її екологічно чистим рішенням, яке не вимагає електроживлення. Її унікальна конструкція дозволяє відстежувати як шкідливі, так і корисні комахи, забезпечуючи повний огляд популяції в будь-якій сільськогосподарській зоні. "Оцінюючи цільових шкідників у потрібний час, ми можемо вживати необхідних заходів для контролю як комах-шкідників, так і хвороб", - зазначає Капіл. ...>>

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

Графен прискорює оптичні комутатори у 100 разів 05.08.2013

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

"Щодня величезні обсяги інформації проходять через оптичні волокна, фотодетектори та лазери. Сигнали, що надсилаються в інфрачервоному діапазоні хвиль, проходять через оптичні перемикачі, які конвертують їх у послідовність імпульсів світла", - йдеться у роботі вчених.

Суть винаходу полягає у використанні графену конструкції оптичного перемикача замість звичайного напівпровідника. Графен є решіткою з атомів вуглецю товщиною в один шар.

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

"Чим більше ми дізнаємося про графен, тим більше нових чудових властивостей у ньому відкриваємо, - зазначає Саймон Бендінг (Simon Bending), один з керівників центру дослідження графена при Батському університеті. - У процесі нашого дослідження ми побачили, що даний матеріал має унікальні оптичні властивостями, що відкривають нові можливості”.

Раніше графен уже пропонувався для використання у телекомунікаційному устаткуванні. У березні цього року Вчені з Технологічного інституту Джорджії, США розробили антену з графену, яка дозволила передавати дані зі швидкістю 1 Тбіт/с.

Як інший приклад можна навести спільну роботу нобелівських лауреатів Андрія Гейма та Костянтина Новосьолова, які два роки тому розробили спосіб підвищення у 20 разів швидкості передачі даних по оптоволоконних мережах. В основі їх роботи також лежав відкритий раніше графен.

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

▪ Лазерне ППО Skyranger 30 HEL

▪ Рослинний міношукач

▪ Брехня змінює мозок

▪ Бездротова колонка Drifter

▪ Новий контролер гарячої заміни

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

 

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

▪ розділ сайту Радіоприйом. Добірка статей

▪ стаття Справа в капелюсі. Крилатий вислів

▪ стаття За які заслуги А. В. Суворов був зроблений генерал-фельдмаршалом? Детальна відповідь

▪ стаття JK-тригер. Радіо - початківцям

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

▪ стаття МікроГЕС. Енциклопедія радіоелектроніки та електротехніки

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

ім'я:


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


коментар:





All languages ​​of this page

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

www.diagram.com.ua

www.diagram.com.ua
2000-2024