Микроконтроллер

Микроконтроллер

Jump to TINA Main Page & General Information 

ТИНА поддерживает много (ПИК, АВР, Ардуино, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMCмикроконтроллеры; новые MCU постоянно добавляются. Вы можете видеть, изменять и отлаживать программу, запущенную в процессоре, и, конечно, вы можете создавать свой собственный код.

Существует два способа предоставления программы для микроконтроллеров в TINA. Вы можете использовать двоичный код и файл отладки, созданные стандартным компилятором (например, MPLAB для PIC), или вы можете просто загрузить свой код сборки для запуска и отладки в TINA, используя встроенный ассемблер-отладчик.

Создание простой счетной схемы с использованием микроконтроллера PIC с программированием на ассемблере

Создание простой счетной схемы с использованием микроконтроллера PIC с программированием на языке Си

Базовая отладка микроконтроллера с использованием TINA

В TINA микроконтроллеры можно моделировать не только отдельно, но и вместе с аналоговыми, цифровыми, HDL или другими моделями.

Запуск и редактирование кода MCU

Загрузите схему PIC Flasher.TSC из папки examplesMicrocontrollersPic.

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

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

Эта схема просто считает один за другим. нажмите Кнопка, чтобы увидеть, как это работает.

Дисплей должен шагнуть вперед один за другим.

Дважды щелкните MCU, чтобы увидеть код ASM в нем. (подробности см. в руководстве Быстрый старт).

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

Давайте сделаем следующее изменение в коде:

Измените инструкцию (выделенную выше) в строке 25 (номер строки можно увидеть в правом нижнем углу окна редактора кода):

из дополнения 01H

добавить 02H

Сохраните измененный код в TINA, нажав значок и закройте открытые окна MCU.

Если вы нажмете Теперь кнопка увеличится на 2!

Обратите внимание, что измененный код будет автоматически сохранен в файле TINA .TSC.

Использование отладчика

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

Загрузите пример TINA PIC16F84interrupt_rb0.TSC из папки examplesMicrocontrollersPic.

Нажмите кнопка. Сначала кажется, что ничего не происходит.

Однако, если вы нажмете на переключатель SW-HL1., Дисплей будет перемещаться вперед на 1 каждый раз, когда переключатель переключается с низкого на высокий.

Возможность обработки прерываний PIC позволит нам обнаружить изменения в коммутаторе.

Теперь давайте рассмотрим операцию более подробно с помощью интерактивного отладчика ASM TINA.

Чтобы активировать отладчик, выберите «Option» в меню «Analysis». Затем установите флажок «Включить отладчик кода MCU», как показано ниже в диалоговом окне «Параметры анализа».

Нажмите кнопку OK, и появится отладчик MCU:

Давайте пошагово проследим за выполнением программы, нажав Кнопка трассировки в.

После примерно щелчка 14 мы попадаем на метку PT1:, где программа, кажется, находится в бесконечном цикле.

PT1: INCF TEMP, F GOTO PT1

Теперь нажмите на переключатель SW-HL1 и измените его на Высокий. (Вы должны щелкнуть, когда курсор изменится на стрелку, направленную вверх Î). Вернитесь к отладчику и нажмите Трассировка в кнопку дважды. Программа распознает прерывание и перейдет в


NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT

увеличьте СЧЕТЧИК и скопируйте в ПОРТ A, и на выходе будет 1. После этого программа вернется к «бесконечному циклу» в PT1.

Редактирование кода в отладчике

Теперь давайте внесем небольшое изменение в программу, чтобы продемонстрировать использование отладчика. Дублируйте оператор INCF COUNTER, F, используя Copy и Paste, следующим образом:

        INT_SERV:
        INCF COUNTER, F 
        INCF COUNTER, F 
        MOVF COUNTER, 0
        MOVWF PORTA    

Теперь, когда вы нажимаете программа спросит:

Нажмите Да и нажмите кнопка снова. Теперь приращение будет 2 при каждой смене переключателя на низкий-высокий.

Вы также можете проверить цепь в режиме непрерывной работы отладчика, нажав Кнопка.

Даже если отладчик будет работать быстро, вы все равно сможете увидеть «бесконечный цикл», а затем перейти к серверной части прерывания (INT_SERV:) при смене переключателя.

Создание точки останова

Используя пошаговый режим, часто невозможно добраться до определенной точки в программе. Даже если вы достаточно терпеливы, чтобы пройти тысячу шагов, поток программы может не позволить вам идти туда, куда вы хотите.

Чтобы остановиться на определенной строке, вы можете пометить целевой оператор, установив «точку останова».

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

Чтобы продемонстрировать это, щелкните оператор приращения на нашем сервере прерываний после метки INT_SERV: и нажмите Переключить кнопку разрыва.

Теперь нажмите Кнопка запуска. Программа начинает работать в «бесконечном цикле».

Даже если вы установили точку останова, выполнение кода не остановится, потому что оно никогда не достигнет точки останова. Тем не менее, когда вы переключите переключатель с низкого на высокий уровень, программа остановится на отмеченном операторе:

   INT_SERV:
             INCF COUNTER, F

Теперь вы можете продолжить любой шаг за шагом или в режиме Run