Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CSEG AT 0
- LJMP START
- CSEG AT 03h // to sprzetowo wykonuje sie przy przerwaniu
- LJMP INT0service // odliczylo 1/20 sekundy
- CSEG AT 30h
- INT0service:
- CLR TF0 //
- MOV TH0,#76 //
- MOV TL0,#01 //
- MOV TMOD,#01 // zerujemy zegarek
- DEC A //odejmujemy 1 od 20 z sekundy
- JZ MinelaSekunda // jezeli minela sekunda, przechodzimy do operacji MinelaSekunda
- RETI
- MinelaSekunda:
- DEC P2 // zapalamy diody
- MOV A,#20 // zerujemy minute
- RETI
- CSEG AT 60h
- Start:
- MOV P2,#0FFh // gasimy wszystkie diody
- MOV A,#20 //zerujemy minute
- SETB ET0 // odpalamy przerwanie na timerze 0
- SETB EA // odpalamy globalnie przerwania
- MOV TH0,#76
- MOV TL0,#01
- MOV TMOD,#01
- SETB TR0 // ustawiamy zegarek zeby do przepelnienia odmierzyl dokladnie 1/20 sekundy
- Loop:
- SJMP Loop; //program nigdy nie skonczy pracy - nieskonczona petla
- END
- /*
- Sekunda:
- MOV R7,#20
- LCALL JednaDwudziesta
- DEC A
- MOV P2,A
- SJMP Sekunda
- RET
- JednaDwudziesta:
- CLR TF0
- MOV TH0,#76
- MOV TL0,#01
- MOV TMOD,#01
- SETB TR0
- JNB TF0,$
- CLR TR0
- DJNZ R7,JednaDwudziesta
- RET
- */
- /*
- LJMP Start
- CSEG AT 30h
- Sekunda:
- MOV R7,#20
- LCALL JednaDwudziesta
- DEC A
- MOV P2,A
- SJMP Sekunda
- RET
- JednaDwudziesta:
- CLR TF0
- MOV TH0,#76
- MOV TL0,#01
- MOV TMOD,#01
- SETB TR0
- JNB TF0,$
- CLR TR0
- DJNZ R7,JednaDwudziesta
- RET
- Start:
- MOV R0,#0
- MOV A,#0FFh
- //MOV A,#4
- LJMP Sekunda
- END
- */
- /*
- JB SWITCH,$
- SETB TR0
- loop1:
- JNB TF0,loop2
- MOV TH0,#76
- MOV TL0,#01
- CLR TF0
- INC R0
- CJNE R0,#20,loop2
- MOV R0,#0
- RLC A
- MOV P2,A
- loop2:
- JNB SWITCH,loop1
- CLR TR0
- AJMP Start
- END */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement