A következő kód a P1.0-ás portra kötött (tranzisztorral meghajtott) LED-et kapcsolgatja ki-be kb. 500 ms-onként, ha 11,0592 MHz-es kvarcot használunk.
; LED blinking
.area RSEG (ABS,DATA)
.org 0x0000
.area HOME (CODE)
.area CSEG (CODE)
loop:mov b, #0xFF
acall delay
clr p1.0
mov b, #0xFF
acall delay
setb p1.0
ajmp loop delay:mov acc, #0xFF
delay_loop:
djnz acc, delay_loop
mov acc, #0xFF
djnz b, delay_loop
ret
Fordítás az SDCC fordítóban található sdas8051 assemblerrel lehetséges:
sdas8051 -los blink.rel blink.a51
sdcc --model-small --code-size 32768 blink.rel
A keletkező blink.ihx fájlt kell a programmemóriába égetni:
:1D00000075F0FF1110C29075F0FF1110D290010075E0FFD5E0FD75E0FFD5F0F722EC
:00000001FF