Microcontroller circuits
Microcontroller circuits
Jump to TINA Main Page & General Information
Sinusuportahan ng TINA ng maraming (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) microcontrollers; mga bagong MCU ay patuloy na idinadagdag. Maaari mong makita, baguhin at i-debug ang program na tumatakbo sa processor at, syempre, maaari kang lumikha ng iyong sariling code.
Mayroong dalawang paraan ng pagbibigay ng programa para sa microcontrollers sa TINA. Maaari mong gamitin ang binary code at debug file na ginawa ng isang karaniwang tagatala (hal. MPLAB para sa PICs) o maaari mo lamang i-load ang iyong assembly code upang tumakbo at mag-debug sa TINA gamit ang built in na assembler-debugger.
Sa TINA microcontrollers ay maaaring kunwa hindi lamang nag-iisa ngunit din kasama ang analog, digital, HDL o iba pang mga modelo.
Pagpapatakbo at pag-edit ng MCU code
I-load ang PIC Flasher.TSC circuit mula sa folder na ExamplesMicrocontrollersPic.
Ang mga sumusunod na eskematiko gamit ang 16F73 PIC microcontroller ay lilitaw sa 16F73 PIC microcontroller:
Ang circuit na ito ay binibilang lamang sa bawat isa. pindutin ang
Ang display ay dapat sumulong nang isa-isa.
I-double-click ang MCU upang makita ang ASM code dito. (tingnan ang higit pang mga detalye sa manu-manong Quick Start).
Ang TINA ay may isang mahusay na tampok kung saan maaari mong i-edit at baguhin ang source code nang direkta sa TINA.
Hinahayaan kang gumawa ng sumusunod na pagbabago sa code:
Baguhin ang pagtuturo (pinili sa itaas) sa linya 25 (maaari mong makita ang numero ng linya sa kanang ibabang sulok ng window ng editor ng code):
mula sa addlw 01H
upang magdagdag ng 02H
I-save ang nabagong code sa TINA sa pamamagitan ng pagpindot sa
Kung pinindot mo ang
Tandaan na ang nabagong code ay awtomatikong mai-save sa TINA TSC file.
Gamit ang debugger
Tingnan natin ang isa pang application na may higit na interactivity.
I-load ang PIC16F84interrupt_rb0.TSC halimbawa ng TINA mula sa folder na ExamplesMicrocontrollersPic.
Pindutin ang
Gayunpaman, kung nag-click ka sa SW-HL1 switch, ang display ay susulong sa pamamagitan ng 1 sa bawat oras na lumipat ang mga pagbabago mula sa Mababang hanggang Mataas.
Ang matakpan ng kakayahan ng paghawak ng PIC ay magpapahintulot sa amin na makita ang mga pagbabago sa switch.
Ngayon tingnan natin ang operasyon nang mas detalyado gamit ang interactive ASM debugger ng TINA.
Upang buhayin ang debugger, piliin ang Opsyon sa menu ng Pagsusuri. Pagkatapos itakda ang "Paganahin ang MCU Code debugger checkbox", tulad ng ipinakita sa ibaba sa dialog box ng Mga Pagpipilian sa Pagsusuri.
Pindutin ang pindutan ng OK at lilitaw ang MCU debugger:
Sundin ang hakbang na hakbang sa pagpapatupad ng programa sa pamamagitan ng pagpindot sa
Matapos ang pag-click sa paligid ng 14 makakakuha kami sa PT1: label kung saan ang program ay tila nasa isang walang-katapusang loop.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
dagdagan ang COUNTER at kopyahin sa PORT A, at ang output ay 1. Pagkatapos nito ang programa ay babalik sa "walang katapusan na loop" sa PT1.
Ang pag-edit ng code sa debugger
Ngayon gumawa ng isang maliit na pagbabago sa programa upang ipakita ang paggamit ng debugger. Doblehin ang INCF COUNTER, F pahayag gamit ang Kopyahin at I-paste tulad nito:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Ngayon kapag pinindot mo ang
Pindutin ang Oo at pindutin ang
Maaari mo ring suriin ang circuit sa tuloy-tuloy na Running mode ng debugger sa pamamagitan ng pagpindot sa
Kahit na ang debugger ay tatakbo nang mabilis, maaari mo pa ring makita ang "walang katapusan na cycle" at pagkatapos ay tumalon sa bahagi ng Interrupt server (INT_SERV:) kapag binago mo ang switch.
Paggawa ng breakpoint
Gamit ang step-by-step na mode, madalas na imposible na makapunta sa isang partikular na punto sa programa. Kahit na ikaw ay sapat na pasyente upang hakbang ng isang libong mga hakbang, ang daloy ng programa ay maaaring hindi daan sa iyo upang hakbang kung saan mo nais.
Upang huminto sa partikular na linya, maaari mong markahan ang target na pahayag sa pamamagitan ng pagtatakda ng isang "breakpoint".
Patakbuhin ang programa sa patuloy na mode ng debugger gamit ang
Upang ipakita ito, mag-click sa statement ng increment sa aming pag-abala ng server pagkatapos ng INT_SERV: label at pindutin ang
Ngayon pindutin ang
Kahit na nagtakda ka ng breakpoint, ang pagpapatupad ng code ay hindi hihinto dahil hindi ito makakakuha ng breakpoint. Gayunpaman, kapag binago mo ang paglipat mula sa Mababang hanggang Mataas ang programa ay titigil sa minarkahang pahayag:
INT_SERV: INCF COUNTER, F
Ngayon ay maaari mong ipagpatuloy ang alinman sa hakbang-hakbang