微控制器电路

微控制器电路

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中运行和调试。

使用带有汇编语言编程的PIC单片机创建一个简单的计数器电路

使用带有C语言编程的PIC单片机创建一个简单的计数器电路

使用TINA进行基本的单片机调试

在TINA中,微控制器不仅可以单独模拟,还可以与模拟,数字,HDL或其他模型一起模拟。

运行和编辑MCU代码

从ExamplesMicrocontrollersPic文件夹加载PIC Flasher.TSC电路。

以下使用16F73 PIC单片机的原理图将与16F73 PIC单片机一起出现:

微控制器电路,图像1

这个电路只是一个接一个地向前计数。 按下 按钮,看看它是如何工作的。

显示器应逐一前进。

双击MCU以查看其中的ASM代码。 (请参阅“快速入门”手册中的更多详细信息)。

TINA有一个很棒的功能,您可以直接在TINA中编辑和更改源代码。

让我们在代码中进行以下更改:

更改25行中的指令(在上面选择)(您可以在代码编辑器窗口的右下角看到行号):

来自addlw 01H

添加02H

按下更改后的代码保存到TINA 图标并关闭打开的MCU窗口。

如果按 按钮现在,增量将是2!

请注意,更改的代码将自动保存在TINA .TSC文件中。

使用调试器

让我们看看另一个具有更多交互性的应用程序。

从ExamplesMicrocontrollersPic文件夹加载TINA的PIC16F84interrupt_rb0.TSC示例。

按钮。 起初似乎没有任何事情发生。

但是,如果单击SW-HL1开关,每次开关从低变为高时,显示屏将由1向前移动。

PIC的中断处理功能将允许我们检测开关变化。

现在让我们使用TINA的交互式ASM调试器更详细地了解操作。

要激活调试器,请在“分析”菜单上选择“选项”。 然后设置“启用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

递增COUNTER并复制到PORT A,输出将为1。 在此之后,程序将返回到PT1的“无限循环”。

编辑调试器中的代码

现在让我们对程序进行一些小改动,以演示调试器的使用。 使用复制和粘贴复制INCF COUNTER,F语句,如下所示:

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

现在当你按下 该计划将要求:

按是,然后按 按钮再次。 现在,在交换机的每次低 - 高变化时,增量将为2。

您也可以按下调试器的连续运行模式检查电路 按钮。

即使调试器运行速度很快,您仍然可以看到“无限循环”,然后在更改开关时跳转到中断服务器部分(INT_SERV:)。

打个断点

使用逐步模式,通常无法到达程序中的特定点。 即使你足够耐心地迈出一千步,程序的流程也许不允许你走到你想要的地方。

要在特定行停止,可以通过设置“断点”来标记目标语句。

使用调试器在连续模式下运行程序 运行命令,现在程序将在执行标记命令之前停在所需的行。

要演示这一点,请在INT_SERV:标签后单击中断服务器中的increment语句,然后按 切换中断按钮。

现在按下 运行按钮。 程序开始以“无限循环”运行。

即使您设置了断点,代码执行也不会停止,因为它永远不会到达断点。 但是,当您将开关从低更改为高时,程序将在标记的语句处停止:

   INT_SERV:
             INCF COUNTER, F

现在您可以继续一步一步 或者在运行模式下