Мікроконтролерні схеми
Мікроконтролерні схеми
Jump to TINA Main Page & General Information
TINA підтримує багато (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) мікроконтролери; постійно додаються нові MCU. Ви можете бачити, модифікувати та налагоджувати програму, що працює в процесорі, і, звичайно, ви можете створити власний код.
Існує два способи забезпечення програми для мікроконтролерів в TINA. Ви можете скористатися двійковим кодом і файлом налагодження, створеним стандартним компілятором (наприклад, MPLAB для ПОС), або ви можете просто завантажити код асемблера для запуску та налагодження в TINA, використовуючи вбудований ассемблер-відладчик.
У TINA мікроконтролери можна імітувати не тільки поодинці, а й разом з аналоговими, цифровими, HDL або іншими моделями.
Запуск і редагування MCU коду
Завантажте ланцюг PIC Flasher.TSC з папки ExamplesMicrocontrollersPic.
Наступні схеми, що використовують мікроконтролер 16F73 PIC, з'являться з мікроконтролером PIC 16F73:
Ця схема просто розраховує вперед один за одним. Натисніть кнопку
Дисплей повинен переходити один на один вперед.
Двічі клацніть MCU, щоб побачити в ньому код ASM. (докладніше див. у посібнику з швидкого початку).
TINA має чудову функцію, за допомогою якої ви можете редагувати та змінювати вихідний код безпосередньо в TINA.
Дозволяє зробити наступну зміну коду:
Змініть інструкцію (обрану вище) у рядку 25 (ви побачите номер рядка у нижньому правому куті вікна редактора коду):
від додавання 01H
для додавання 02H
Збережіть змінений код в TINA, натиснувши кнопку
Якщо ви натиснете
Зверніть увагу, що змінений код буде автоматично збережено у файлі TINA .TSC.
Використання відладчика
Давайте розглянемо іншу програму з більшою інтерактивністю.
Завантажте приклад TINA з папки PIC16F84interrupt_rb0.TSC з папки ExamplesMicrocontrollersPic.
Натисніть
Однак, якщо натиснути на перемикач SW-HL1., На дисплеї буде переходити 1 вперед, коли перемикач змінюється з низького на високий.
Можливість обробки переривань PIC дозволить нам виявити зміни комутатора.
Тепер давайте розглянемо операцію більш докладно за допомогою інтерактивного налагоджувача ASM TINA.
Щоб активувати налагоджувач, виберіть Option у меню Аналіз. Потім встановіть прапорець «Увімкнути налагоджувач коду MCU», як показано нижче у діалоговому вікні «Параметри аналізу».
Натисніть кнопку ОК і з'явиться відладчик MCU:
Давайте слідуємо за кроком, виконуючи програму, натиснувши кнопку
Після клацань 14 ми потрапляємо на позначку PT1: де програма здається в нескінченному циклі.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
збільшити значення COUNTER і скопіювати його до PORT A, а вихід буде 1. Після цього програма повернеться до “нескінченного циклу” на PT1.
Редагування коду в відладчику
Тепер давайте зробимо невелику зміну в програмі, щоб продемонструвати використання відладчика. Дублюйте оператор INCF COUNTER, F, використовуючи команду Копіювати та Вставити так:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Тепер, коли ви натискаєте кнопку
Натисніть Так і натисніть кнопку
Ви також можете перевірити схему в безперервному режимі роботи відладчика, натиснувши кнопку
Навіть незважаючи на те, що відладчик буде працювати швидко, ви все одно зможете побачити “нескінченний цикл”, а потім перейти до сервера переривання (INT_SERV:), коли ви зміните перемикач.
Створення точки зупину
Використовуючи покроковий режим, часто неможливо дістатися до певної точки програми. Навіть якщо ви достатньо терплячі, щоб пройти тисячу кроків, потік програми може не дозволити вам зробити крок, де ви хочете.
Щоб зупинитись на певному рядку, ви можете позначити цільову операцію, встановивши “точку зупину”.
Запустіть програму в безперервному режимі відладчика за допомогою
Для того, щоб продемонструвати це, клацніть на вираженні приросту на нашому сервері переривань після етикетки INT_SERV: і натисніть кнопку
Тепер натисніть кнопку
Навіть якщо ви встановили точку зупинки, виконання коду не зупиниться, оскільки ніколи не дістанеться до точки зупину. Проте, коли ви зміните перемикач із режиму від низького до високого, програма зупиниться на позначці:
INT_SERV: INCF COUNTER, F
Тепер ви можете продовжувати або крок за кроком