Stap 7: Eerste programma
OK, ga terug in de map "BIN". Met het Kladblok, maak een bestand genaamd "BLINK_LED. ASM"en voer de volgende code:
;Blinking LED test<br>;written by yoruk for
$INCLUDE (at89s52.inc) ; include the header file
org 000h ; starts program
start: ; this is a line label name setb p2.0 ; setting pin p2.0 to high (so turn the led off) setb p2.1 ; setting pin p2.1 to high setb p2.2 ; setting pin p2.2 to high clr p2.5 ; setting pin 2.5 to LOW,so turn on the led lcall delay ;wait a little bit by calling the Delay function clr p2.0 ; setting p2.0 to low clr p2.1 ; so turn on the leds clr p2.2 lcall delay ;wait again jmp start ; go to the first line... in a loop
delay : mov R2, #40 outer : mov R1, #200 inner : mov R0, #240 take : djnz R0, Take djnz R1, inner djnz R2, outer ret end ;end of this file, no more assembly language after
Zoals u zien kunt, knippert we gewoon een led te beginnen. Hoe het werkt? We uitschakelen de led bedraad op de pennen van de P2.0, P2.1 en P2.2. Dan we een vertraging-functie noemen, we weer op de leds, we weer wachten en wij het opnieuw doen. De vertraging functie gewoon doen een aantal lussen om dummy computing tijd te hebben. Door lussen samenstellen, zouden we veel kunnen wachten.
Sla het bestand, dan daling het op de batch-bestand. U moet geen fouten of waarschuwingen. Het resultaat van de compilatie is een HEX bestand (tevens bijgevoegd in deze stap), klaar om te uploaden.