Stap 1: Schrijven in de vergadering voor dummies
Open van MPLAB IDE en maak een nieuwe bronbestand "*.s" zodat uw bestand zal in de vergadering modus en de juiste kleuren zal verschijnen. Bijvoorbeeld instructies zijn in het blauw, reacties zijn in het groen en namen zijn in het rood.
Er zijn enkele fundamentele, maar essentiële instructies in vergadering die we zullen moeten gebruiken voor ons project. Langs de lijnen van elke instructie uit te leggen, zal ik ook praten over sommige hebben-to-know en fundamentele dingen over de logica van de machine (bijvoorbeeld dat een logica HIGH / "1" is een ingang en een logica LOW / "0" is een output). Dus, niet missen iets tijdens het lezen! Deze instructies zijn zeer gemakkelijk te begrijpen als het doel van vergadering is om te kunnen communiceren met de machine. En machines, verschillend van de menselijke hersenen, erg ingewikkeld logica niet accepteren. We moeten breken het ingewikkelde probleem aan talloze eenvoudige stappen om te kunnen schrijven in vergadering gedaan. Op deze manier kunnen we zeggen dat de vergadering zowel gemakkelijk is (elke stap) en compliceren (in het algemeen zodra het programma krijgt super lange)! Proberen niet te verliezen van het grote beeld tijdens het schrijven in vergadering!
Hier zijn sommige introductie voor enkele elementaire instructies:
===================================================================================
MOV:
De instructie MOV neemt in 2 parameters en verplaatsen van de eerste waarde van de parameter in de tweede parameter. In het algemeen gebruiken we #lit8 of #16 uitspreken een letterlijke nummer; Wns (start) en Wnd (bestemming) worden gebruikt om uit te drukken een geselecteerde werken-register.
Voorbeeld: als we willen naar een aantal (laten we zeggen 8), een werkende registor, dan we gewoon schrijven:
MOV #8, W0
===================================================================================
Ja:
Ja instructies wordt ingesteld op een bepaalde bit van een bijzonder register te hoog, dat 1 is. Het duurt in twee parameters: eerste is de naam van het register; tweede is het nummer van de bits in het bijzonder register die u hebt geselecteerd in de eerste parameter.
Voorbeeld: als we instellen van de PORTB wilt, bit 1 om een invoer pin, dan we schrijven:
JA PORTB, #1
==================================================================================
BCLR:
BCLR instructies zal een bepaalde bit van een bijzonder register te laag, die is ingesteld op 0 ingesteld. Het duurt in twee parameters: eerste is de naam van het register; tweede is het nummer van de bits in het bijzonder register die u hebt geselecteerd in de eerste parameter.
Voorbeeld: als we instellen van PORTA wilt, bit 0 om een invoer pin, dan we schrijven:
BCLR PORTA, #0
==================================================================================
BTSS:
BTSS betekent "bit test overslaan als deze is ingesteld", die weer twee parameters van een register en een beetje rekening. Deze intruction zal testen op de bijzondere bit; Als deze bit hoog is, dan wordt de volgende regel overgeslagen. Dit is zeer handig in het gebruik van loops.
==================================================================================
BTSC:
BTSS betekent "bit test overslaan als duidelijk", waarin weer in twee parameters van een register en een beetje. Deze intruction zal testen op de bijzondere bit; Als deze bit laag is, dan wordt de volgende regel overgeslagen. Het komt in een paar met BTSS.
=================================================================================
BEHA:
BEHA betekent "tak" waarin in één parameter: de naam van de reeks instructies hebt namen vóór. Dit gaat goed met de instructie van BTSS en BTSC. Bijvoorbeeld:
Loop: BTSS PORTA, #0
BEHA lus
De bovenstaande regels zijn ons te vertellen: als PORTA #0 hoog is, dan het zal wip naar de regel "BEHA Loop" te krijgen uit de lus; Als het is laag, vervolgens gaat terug tot de Loop-instructie en de BTSS-instructie blijven doen. Het is belangrijk om te merken dat niet alleen put letters bij het benoemen van uw nemen loops, naam verdunt zoals "IsItDone?", vergadering houdt niet van dit soort namen...
================================================================================
NOP:
Dit betekend gewoon geen operatie, hetgeen nuttig is wanneer u wil gewoon het programma te wachten voor een bepaalde tijdsduur.
================================================================================