Микроконтролер кола
Микроконтролер кола
Jump to TINA Main Page & General Information
ТИНА поддржува многу (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) микроконтролери; нови MCU постојано се додаваат. Можете да ја видите, измените и дебагирате програмата што работи во процесорот и, се разбира, можете да креирате ваш сопствен код.
Постојат два начина за обезбедување на програма за микроконтролери во TINA. Можете да го користите бинарниот код и датотеката за дебагирање направени од стандарден компајлер (на пр. MPLAB за PICs) или можете едноставно да го вчитате вашиот код за склоп да се кандидира и дебагира во TINA користејќи го вградениот асемблер-дебагер.
Во TINA микроконтролерите може да се симулираат не само сами, туку и заедно со аналогни, дигитални, HDL или други модели.
Вклучување и уредување на MCU код
Вчитајте го PIC Flasher.TSC коло од папката ExamplesMicrocontrollersPic.
Следниве шема со користење на 16F73 PIC микроконтролер ќе се појави со 16F73 PIC микроконтролер:
Ова коло едноставно се брои напред еден по еден. Притиснете го
На екранот треба да се повлече еден по еден.
Двоен-клик на MCU за да го видите кодот ASM во неа. (види повеќе детали во Прирачникот за брз старт).
TINA има одлична функција со која можете да го уредувате и менувате изворниот код директно во TINA.
Да направиме следнава промена во кодот:
Променете ја инструкцијата (избрана погоре) во линијата 25 (можете да го видите бројот на линијата во десниот долен агол од прозорецот за уредување кодот):
од додатокот 01H
за да додадете 02H
Зачувај го изменетиот код на TINA со притискање на
Ако го притиснете
Забележете дека изменетиот код автоматски ќе биде зачуван во TINA .TSC датотеката.
Користење на дебагерот
Ајде да видиме друга апликација со поголема интерактивност.
Вчитајте го примерот на TINA од PIC16F84interrupt_rb0.TSC од папката ExamplesMicrocontrollersPic.
Притиснете го копчето за
Меѓутоа, ако кликнете на прекинувачот SW-HL1., Екранот ќе премине напред со 1 секој пат кога прекинувачот ќе се промени од Low to High.
Способноста за ракување со прекинувачот на PIC ќе ни овозможи да откриеме промени на прекинувачот.
Сега, да ја видиме операцијата подетално користејќи го интерактивниот дебагер на ASM за ТИНА.
За активирање на дебагерот, изберете Опција од менито Анализа. Потоа поставете го полето за избор „Овозможи отстранувач на грешки за 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
Сега кога ќе притиснете
Притиснете Yes и притиснете го
Можете исто така да го проверите кругот во континуираниот Running режим на дебагерот со притискање на
Иако дебагерот ќе работи брзо, сеуште можете да го видите "бесконечниот циклус", а потоа да скокнете до дел од серверот за прекини (INT_SERV:) кога ќе го промените прекинувачот.
Изработка на точка на прекин
Со користење на чекор-по-чекор режим, често е невозможно да се дојде до одредена точка во програмата. Дури и ако сте доволно стрпливи да направите чекори од илјада чекори, протокот на програмата може да не дозволи да направите чекор каде што сакате.
За да застанете на одредена линија, можете да ја означите целната изјава со поставување на "точка на прекин".
Стартувај ја програмата во континуиран режим на дебагерот со помош на
За да го демонстрирате ова, кликнете на инкрементната изјава во нашиот прекинувачки сервер по ознаката INT_SERV: и притиснете го
Сега притиснете
И покрај тоа што сте поставиле точка на прекин, извршувањето на кодот нема да запре, бидејќи никогаш нема да дојде до точка на прекин. Меѓутоа, кога го менувате префрлувачот од Low to High, програмата ќе застане на означената изјава:
INT_SERV: INCF COUNTER, F
Сега можете да продолжите или чекор по чекор