Mikrokontrollerkretsar
Mikrokontrollerkretsar
Jump to TINA Main Page & General Information
TINA stöder mycket av (PIC, AVR, Arduino, 8051, HCS, STM, ARM, TI-Tiva, TI-Sitara, Infineon-XMC) mikrokontroller; nya MCU: er läggs ständigt till. Du kan se, modifiera och felsöka programmet som körs i processorn och naturligtvis kan du skapa din egen kod.
Det finns två sätt att tillhandahålla programmet för mikrokontroller i TINA. Du kan använda binärkoden och felsökningsfilen som gjorts av en standardkompilator (t.ex. MPLAB för PIC) eller du kan bara ladda din monterings kod för att köra och felsöka i TINA med hjälp av den inbyggda assembler-debuggeren.
I TINA kan mikrocontrollers simuleras inte bara ensam men också tillsammans med analoga, digitala, HDL eller andra modeller.
Köra och redigera MCU-kod
Ladda PIC Flasher.TSC-kretsen från mappen ExamplesMicrocontrollersPic.
Följande schematiska med hjälp av 16F73 PIC-mikrokontroller visas med 16F73 PIC-mikrokontrollern:
Denna krets räknar enkelt fram en-för-en. tryck på
Displayen ska gå framåt en efter en.
Dubbelklicka på MCU-enheten för att se ASM-koden i den. (se mer information i snabbstartshandboken).
TINA har en bra funktion där du kan redigera och ändra källkoden direkt i TINA.
Låt oss göra följande ändring i koden:
Ändra anvisningarna (vald ovan) i rad 25 (du kan se linjenummeret längst ner till höger i kodredigeringsfönstret):
från addlw 01H
att addlw 02H
Spara den ändrade koden till TINA genom att trycka på
Om du trycker på
Observera att den ändrade koden automatiskt sparas i filen TINA .TSC.
Använda debugger
Låt oss se en annan applikation med mer interaktivitet.
Ladda PIC16F84interrupt_rb0.TSC-exemplet på TINA från mappen ExamplesMicrocontrollersPic.
Tryck
Om du klickar på SW-HL1-omkopplaren kommer displayen att gå framåt med 1 varje gång växeln ändras från Låg till Hög.
PIC: s avbrottshanteringsfunktion tillåter oss att upptäcka växlingsändringar.
Låt oss nu se operationen mer detaljerat med hjälp av TINAs interaktiva ASM-felsökare.
För att aktivera felsökaren, välj Alternativ på Analys-menyn. Ställ sedan in kryssrutan "Aktivera MCU-kodfelsökare", som visas nedan i dialogrutan Analysalternativ.
Tryck på OK-knappen och MCU-debugger kommer att visas:
Låt oss följa programkörningen steg för steg genom att trycka på
Efter omkring 14-klick kommer vi till PT1: etiketten där programmet verkar vara i en oändlig loop.
PT1: INCF TEMP, F GOTO PT1
NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT
öka COUNTER och kopiera till PORT A, och utgången blir 1. Efter detta kommer programmet att återgå till "oändliga loop" på PT1.
Redigering av koden i debuggeren
Låt oss nu göra en liten förändring i programmet för att visa användningen av debuggern. Kopiera INCF COUNTER, F-steget med Kopiera och klistra in så här:
INT_SERV: INCF COUNTER, F INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORTA
Nu när du trycker på
Tryck på Ja och tryck på
Du kan också kontrollera kretsen i det kontinuerliga körläge för debugger genom att trycka på
Även om debuggeren kör fort, kan du fortfarande se "oändlig cykel" och sedan hoppa till avbrytarserverdelen (INT_SERV:) när du byter strömbrytaren.
Gör en brytpunkt
Genom att använda steg-för-steg-läget är det ofta omöjligt att komma till en viss punkt i programmet. Även om du är tillräckligt tålmodig för att klara tusen steg, kan programmets flöde inte låta dig stega där du vill.
För att stoppa vid en särskild linje kan du markera målsättningen genom att ange en "brytpunkt".
Kör programmet i kontinuerligt läge för debugger med hjälp av
För att visa detta klickar du på inkrementet i vår avbrottservern efter INT_SERV: etiketten och trycker på
Tryck nu på
Även om du har ställt en brytpunkt, kommer kodkörningen inte att sluta eftersom den aldrig kommer till brytpunkten. När du ändrar växeln från Låg till Hög slutar programmet dock med det markerade uttalandet:
INT_SERV: INCF COUNTER, F
Nu kan du fortsätta antingen steg för steg