微控制器电路
微控制器电路
Jump to TINA Main Page & General Information
TINA支持很多(PIC,AVR,Arduino, 8051,HCS,STM,ARM,TI-Tiva,TI-Sitara,Infineon-XMC)微控制器; 不断增加新的MCU。 您可以查看,修改和调试在处理器中运行的程序,当然,您也可以创建自己的代码。
在TINA中为微控制器提供程序有两种方法。 您可以使用标准编译器(例如MPLAB for PIC)生成的二进制代码和调试文件,也可以使用内置的汇编程序调试器加载汇编代码以在TINA中运行和调试。
在TINA中,微控制器不仅可以单独模拟,还可以与模拟,数字,HDL或其他模型一起模拟。
运行和编辑MCU代码
从ExamplesMicrocontrollersPic文件夹加载PIC Flasher.TSC电路。
以下使用16F73 PIC单片机的原理图将与16F73 PIC单片机一起出现:

这个电路只是一个接一个地向前计数。 按下
显示器应逐一前进。
双击MCU以查看其中的ASM代码。 (请参阅“快速入门”手册中的更多详细信息)。

TINA有一个很棒的功能,您可以直接在TINA中编辑和更改源代码。
让我们在代码中进行以下更改:
更改25行中的指令(在上面选择)(您可以在代码编辑器窗口的右下角看到行号):
来自addlw 01H
添加02H
按下更改后的代码保存到TINA
如果按
请注意,更改的代码将自动保存在TINA .TSC文件中。
使用调试器
让我们看看另一个具有更多交互性的应用程序。
从ExamplesMicrocontrollersPic文件夹加载TINA的PIC16F84interrupt_rb0.TSC示例。

按
但是,如果单击SW-HL1开关,每次开关从低变为高时,显示屏将由1向前移动。
PIC的中断处理功能将允许我们检测开关变化。
现在,让我们使用TINA的交互式ASM调试器更详细地了解操作。
若要激活调试器,请在“分析”菜单上选择“选项”。 然后设置“启用MCU代码调试器”复选框,如下图“分析选项”对话框中所示。

按OK按钮,将出现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:标签后单击中断服务器中的increment语句,然后按
现在按下
即使您设置了断点,代码执行也不会停止,因为它永远不会到达断点。 但是,当您将开关从低更改为高时,程序将在标记的语句处停止:
INT_SERV: INCF COUNTER, F
现在您可以继续一步一步