Hello world, LED villogtatás MCS-51 (Intel 8051, 8052) mikrovezérlőhöz

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.

blink.a51:

; 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

Oldalak