Мікроконтролерні схеми

Мікроконтролерні схеми

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, використовуючи вбудований ассемблер-відладчик.

Створення простої схеми лічильника з використанням мікроконтролера PIC з програмуванням мови асемблера

Створення простий зустрічної схеми з використанням мікроконтролера PIC з програмуванням мовою С

Основна налагодження мікроконтролерів за допомогою TINA

У TINA мікроконтролери можна імітувати не тільки поодинці, а й разом з аналоговими, цифровими, HDL або іншими моделями.

Запуск і редагування MCU коду

Завантажте ланцюг PIC Flasher.TSC з папки ExamplesMicrocontrollersPic.

Наступні схеми, що використовують мікроконтролер 16F73 PIC, з'являться з мікроконтролером PIC 16F73:

Мікроконтролерні схеми, зображення 1

Ця схема просто розраховує вперед один за одним. Натисніть кнопку , щоб побачити, як він працює.

Дисплей повинен переходити один на один вперед.

Двічі клацніть MCU, щоб побачити в ньому код ASM. (докладніше див. у посібнику з швидкого початку).

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

Дозволяє зробити наступну зміну коду:

Змініть інструкцію (обрану вище) у рядку 25 (ви побачите номер рядка у нижньому правому куті вікна редактора коду):

від додавання 01H

для додавання 02H

Збережіть змінений код в TINA, натиснувши кнопку і закрийте відкриті вікна MCU.

Якщо ви натиснете кнопка зараз, приріст буде 2!

Зверніть увагу, що змінений код буде автоматично збережено у файлі TINA .TSC.

Використання відладчика

Давайте розглянемо іншу програму з більшою інтерактивністю.

Завантажте приклад TINA з папки PIC16F84interrupt_rb0.TSC з папки ExamplesMicrocontrollersPic.

Натисніть . Здається, спочатку нічого не відбувається.

Однак, якщо натиснути на перемикач SW-HL1., На дисплеї буде переходити 1 вперед, коли перемикач змінюється з низького на високий.

Можливість обробки переривань PIC дозволить нам виявити зміни комутатора.

Тепер подивимося більш детально, використовуючи інтерактивний ASMA-відладчик TINA.

Щоб активувати відладчик, виберіть параметр у меню Аналіз. Потім встановіть прапорець «Увімкнути відладчик коду MCU», як показано нижче в діалоговому вікні Параметри аналізу.

Натисніть кнопку ОК і з'явиться відладчик MCU:

Давайте слідуємо за кроком, виконуючи програму, натиснувши кнопку Кнопка Trace Into.

Після клацань 14 ми потрапляємо на позначку PT1: де програма здається в нескінченному циклі.

PT1: INCF TEMP, F GOTO PT1

Тепер натисніть на перемикач SW-HL1 і змініть його на High. (Ви повинні натиснути, коли курсор змінюється на стрілку, що вказує вгору Î). Поверніться до Debugger і натисніть кнопку Двічі натискайте кнопку Трасування. Програма розпізнає переривання і стрибне в


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    

Тепер, коли ви натискаєте кнопку програма запитає:

Натисніть Так і натисніть кнопку знову. Тепер інкремент буде 2 при кожному зсуві перемикача Low-High.

Ви також можете перевірити схему в безперервному режимі роботи відладчика, натиснувши кнопку кнопки.

Навіть незважаючи на те, що відладчик буде працювати швидко, ви все одно зможете побачити “нескінченний цикл”, а потім перейти до сервера переривання (INT_SERV:), коли ви зміните перемикач.

Створення точки зупину

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

Щоб зупинитись на певному рядку, ви можете позначити цільову операцію, встановивши “точку зупину”.

Запустіть програму в безперервному режимі відладчика за допомогою Запустити команду і тепер програма зупиниться на потрібній лінії перед виконанням позначеної команди.

Для того, щоб продемонструвати це, клацніть на вираженні приросту на нашому сервері переривань після етикетки INT_SERV: і натисніть кнопку Перемикання кнопки перерви.

Тепер натисніть кнопку Запустити кнопку. Програма починає працювати в "нескінченному циклі".

Навіть якщо ви встановили точку зупинки, виконання коду не зупиниться, оскільки ніколи не дістанеться до точки зупину. Проте, коли ви зміните перемикач із режиму від низького до високого, програма зупиниться на позначці:

   INT_SERV:
             INCF COUNTER, F

Тепер ви можете продовжувати або крок за кроком або в режимі запуску