微控制器電路

微控制器電路

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

現在您可以繼續一步一步 或者在運行模式下