Conditionele tweesprong. Syntax:
if [expression] then [statement]
of
if [expression] then { [statement block] }
Vergelijkbaar met else:
else [statement]
of
else { [statement block] }
Herhaalt het uitvoeren van het statement block uit totdat de expressie waar is. De controle of de expressie waar is, wordt na het statement block uitgevoerd, daarom zal de statement block altijd tenminste een keer worden uitgevoerd. Syntax:
repeat { [statement block] } until [expression]
Vergelijkbaar met repeat, dit herhaalt het uitvoeren van het statement block uit. Maar de controle of de expressie waar is wordt voor de de uitvoer gedaan, niet daarna. daarom zal als uitkomst van de controle op de expressie negatief is, de statement nooit worden uitgevoerd. Syntax:
while [expression] { [statement block] }
Dit zorgt dat het programma verdergaat met de volgende statement na het opgeven label. Goto syntax:
goto
[labelname]
Label syntax:
labelname:
Het vermijden van het gebruik van goto wordt vaak als goed programmeren gezien. Het gebruik van control statements en subroutines zal resulteren in een beter leesbaar programma.
Roept een subroutine aan. Syntax:
call
[SubName]
waarbij SubName
de naam van de subroutine is die u aanroept.
Dit veroorzaakt dat het uitvoeren van de code voor de opgeven periode stopt. De interval is in millisecondes. Syntax:
delay
[interval]
Opmerking
Op dit moment, wordt door Microbe aangenomen dat de PIC werkt met een kloksnelheid van 4MHz - bijv. elke instructie heeft 1 microseconde nodig om verwerkt te worden. Als dat niet het geval is, dan moet u de interval proportioneel aanpassen.
Dit wordt gebruikt voor het definiëren van de pinbezetting van een (common cathode) zeven segment display verbonden met de PIC. Syntax:
sevenseg
[name] [a] [b] [c] [d] [e] [f] [g]
waar [a]...[g] de pinnen van de PIC zijn waarmee de respectievelijke segmenten van de zeven segment display zijn verbonden. De pinnen kunnen zowel als PORTX.N of RXN worden geschreven.
Bij het tonen van een cijfer op de zeven segment, wordt de pin bezetting behandelt als een alleen lezen variabele.
Voorbeeld 5.4. Een uitvoer naar een zeven segment definiëren
sevenseg seg1 RB0 RB1 RB2 RB3 RB4 RB5 RB6 seg1 = x + 2
Dit gebruikt u om de pinnen van een PIC te definiëren waaraan een toetsenbordje is verbonden. Syntax:
keypad
[name] [rij 1] ... [rij 4] [colum 1] ... [colum n]
waar [rij 1] ... [rij 4] en [colum 1] ... [colum n] de pinnen van de PIC zijn waaraan de respectievelijke rijen en kolommen van het toetsenbordje zijn verbonden (op dit moment kunt u het aantal rijen niet wijzigen). zie de paragraaf met de naam “sevenseg” (hierboven) voor meer informatie over pin bezetting.
U moet de kolommen van het toetsenbord met 100k weerstanden omlaag trekken naar aarde. U moet de pinnen van de rijen als uitgang configureren en de pinnen van de kolommen als ingangen. Nadat het toetsenbordje is gedefinieerd, wordt het behandelt als een read only variabel.
Voorbeeld 5.5. Een toetsenbord definiëren en uitlezen
keypad keypad1 RB0 RB1 RB2 RB3 RB4 RB5 RB6 x = keypad1
De waarden die u van een toetsenbord inleest zijn standaard:
De waarde van het getal als het numerieke toets is (1 tot 3 voor de bovenste rij; hexadecimal A tot D langs de vierde kolom omlaag en verder voor elke extra kolom).
253 voor de toets in rij 4, kolom 1.
254 voor de toets in rij 4, kolom 3.
U kunt deze waarden herdefiniëren door gebruik van het alias commando, waarbij de naam van de toets in rij x, kolom y (rijen en kolommen starten bij 1), is Keypad_x_y. Bijvoorbeeld, om de ster toets op een 4x3 toetsenbord de waarde nul te geven, moet u de volgende alias gebruiken: