Pisan je u asembleru A51 , i trebao bi raditi komplement na portu
P1.0...paliti-gasiti led diodu. Pisan je za DS5000T 32-16
CSEG ;tu počinje program
Org 00h ;programski brojač počinje brojati od nule("0")
LJMP INIC ;inicjalizacija timera
Org 000Bh ;na ovoj adresi počinje obrada prekida od preliva timera
1
LJMP PRELIV ;ovo će se dogoditi kad dođe do preliva timera 0
Org 1000h ;ovdje počinje inicjalizacija
INIC:
MOV TMOD, #02h ;koristit ću timer 0 u načinu rada 2 (auto-reload)
SETB ET0 ;omogućiti preliv od timera 0 (preliv
obilježen sa TF0)
MOV B, #255 ;toliko puta ćeš mi izvrtit timer od 250 us
SETB TR0 ;start timera 0
CEK: ;petlja čekalica
SJMP CEK ;čekanje da timer okine prekid (tu počinje prekid
programa odnosno tu se postavlja TF0)
PRELIV:
DJNZ B, DALJE ;ide se vrtiti u krug 255 puta
CPL P1.0 ;komplementiraj bit 1
MOV B, #255 ;toliko puta ćeš mi izvrtit timer od 250 us
RETI ;vračamo se u petlju čekalicu
DALJE:
RETI ;na novi prekid timera 0 u petlju čekalicu
END ;kraj programa