[ Bojan11 @ 19.07.2006. 15:03 ] @
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 |