.inlcude "tn2313def.inc" ldi r16, ramend out spl, r16 ldi r16, 0b11110111 ; pripojeny prevodnik out portd, r16 ldi r16, 0xFF out portb, r16 ; vystup start: ldi r16, 0 out portd, r16 ; nulovani ldi r17,0 rcall CS0 rcall hodiny rcall data CS0: cbi portd,1 ; vynulovanim bitu zapnu prevod ldi r18,9 ; na odpocet opakovani pri zaplnovani bajtu ret ; dem dom hodiny: rcall cas sbi portd,5 ; nabezna hrana clk rcall cas cbi portd,5 ; reaguje na sestupnou hranu ret cas: ret ; spozdeni data: sec ; nastaveni C status.reg na 1 sbis pind,3 ; preskoci dalsi pokud je bit nastaveny clc ; nastavi C status.reg na 0 ror r17 ; posune C do registru r17 dec r18 ; odpocitavam bity breq CS1 ; pokud je bajt plny rjmp hodiny ; pokud nemame plno tak nacteme dalsi bit CS1: com r17 ; neguje registr kvuli zobrazeni vystupu out portb,r17 ; zobrazim sbi portd,1 ; vypnu prevod rjmp start ; jdu odznovu