Voorbeeldprogramma's voor de 80C51.


De programma's zijn beschikbaar als bronprogramma, een .a51 file die met de assembler vertaald kan worden tot elke andere vorm die nuttig is. Sla zo'n file op in de directory waarin ook de assembler, die in de hulpprogramma's zit, staat.

--> Testprogramma van het practicum, waarmee de hele computerprint gecontroleerd kan worden.

--> Start.a51 om een eigen programma mee te beginnen. Dit programma doet nog niks, maar een aantal adressen is al vastgelegd en er is een ORG en een END.
Om met een nieuw programma te beginnen: copier deze file, geef hem een nieuwe naam en open die in de editor van WipUptools.

De allereenvoudigste programma's

Begin heel eenvoudig en bouw langzaam uit. Test steeds als je iets gedaan hebt of het nog doet wat je wilt. De eerste programma's heten dus "Test".

--> Test1.a51 leest poort P3 uit (waarin het drukknopje TEST zit) en zet dat op poort P1 (aangesloten op het display). Kijk in het programma en zie dat er meer commentaar is dan instructie. Doe dit altijd, anders ben je z de weg kwijt in je eigen bos.

--> Test2.a51 zet het hele display aan als op het knopje TEST gedrukt wordt. Diverse nieuwe gebruiken zijn nu toegevoegd.

Dutycycle golfvorm op de interrupt

Deze gebruikt Timer 0 en stuurt het middelste streepje van het display (Poort P1, bit 6) aan. Gebruik dit als voorbeeld, om het uit te proberen of om er mee verder te gaan.

--> Dutycycle0.a51 maakt een golfvorm van 3,5 kHz met een dutycycle van 50%. De hoogtijd komt uit RAM-adres 23 en 22 en de laag-tijd uit 21 en 20.

--> Dutycycle1.a51 Als Dutycycle 0, maar de hoog-tijd in 22 en de laag-tijd in 20 worden tegengesteld veranderd. Er zit een wachttijd in waardoor het streepje langzaam van helderheid verandert.

--> Dutycycle2.a51 Nu is er een subroutine toegevoegd die de dutycycle instelt aan de hand van het getal in het A-register.

Muziek loopt ook op de interrupt

Behalve een veranderende dutycycle kun je verschillende frequenties opwekken op de interrupt. Daarmee kun je bijvoorbeeld muzieknoten genereren.

--> Bach.a51 Ach ja, het is natuurlijk maar n toon tegelijk, maar kijk voor meer informatie in de kop van het programma.