;pracuje jako 5-ti bitovy binarni citac ;vystupy 3 a 4 jsou prohozene kvuli desce .device attiny13 .def i=r20 ;prvni citac, cita jen pro zpomaleni .def j=r21 ;druhy citac, cita az do TOP, pak se oba vynulujou .def top=r22 ;maximalni hodnota pro citac j -> vynulovani a dalsi faze .org 0x0000 ;RESET rjmp RESET ;skok na start po resetu .org 0x0006 ;TC0 overflow A rjmp CASOVAC .org 0x0010 RESET: ldi r16,low(RAMEND) ;nastavi stack pointer out SPL,r16 cli ;zakazat vsechna preruseni LDI r16,0b11111110 ;smer pinu OUT DDRB,r16 LDI r16,0 ;PullUpy OUT PORTB,r16 ldi r16,(1< jdi na loop ldi top,1 ;ANO -> nastavit top na 1 a vymazat citace clr i clr j CEKANI: ldi top,2 ;cekame na uvolneni, zatim se prepina s top=2 in r16,PINB ;kontrola jestli je PINB0 vypnutej sbrc r16, 0 rjmp CEKANI rjmp LOOP ;skok na loop CASOVAC: cpi top,40 breq CASEND inc i cpi i,10 brne CASEND clr i inc j cp j,top brne CASEND inc top clr i clr j in r16,PORTB sbrs r16,1 sbi PORTB,1 sbrc r16,1 cbi PORTB,1 CASEND: RETI