;
;
;         mark_t0.txt
;
;           
;  -   - /0
;
;       16
;  - / /0   
;  TCNT0   /256, OCR0A(  /250)
;    OC0Aaddr
;       
; 0,0000000625*256*250=0,004 
;    OCR0A  -
;
;   -  0,1   
;    cnt_tgrd
; 
;
;-----------------------------------------
;             define datas
; .equ dev_tl = 250 ;    OC0A
; .equ dev_ts = 25 ;    0,1 
; .equ hard_th = (1<<WGM01) ;   TCCR0A
; .equ t0_off = 0 ;  TCCR0B  " "
; .equ t0_on = (1<<CS02) ;  TCCR0B  "  "
;                  ;  256
;
;-----------------------------------------
;   -   
; .def flags = r22 ;  () systems flags
; .def tmp0 = r16 ;  ()  
; .def shr_sreg = r15 ;  ()  SREG
;
;-----------------------------------------
;   -   
;
; .equ mark_l = 0 ; -  0,004S
; .equ mark_h = 1 ; -  0,1
;
;-----------------------------------------
;   -    ()
;
;  .dseg
; cnt_tgrd: .byte 1 ;      
;-----------------------------------------
;   -    (EEPROM)
; (  eep_f45.txt)
;  .eseg
;-----------------------------------------
;  irq    
;  .org OC0Aaddr
; irq_t0mark:
;      rjmp proc_t0mark
;
;-----------------------------------------
;      
;
;
; config_t0_mark:
;     clr tmp0
;     out TCNT0,tmp0
;     out TIFR,tmp0
;     out TCCR0B,tmp0 ;   
;     ldi tmp0,dev_tl
;     out OCR0A,tmp0 ;    OCR0A (0,004S)
;     ldi tmp0,hard_th ;
;     out TCCR0A,tmp0
;     in tmp0,TIMSK
;     sbr tmp0,(1<<OCIE0A)
;     out TIMSK,tmp0
;     ldi tmp0,dev_ts
;     sts cnt_tgrd,tmp0 ;    cnt_tgrd  dev_th(0,1S)
;     sei ;  
;     ldi tmp0,t0_on ;  
;
;-----------------------------------------
;    irq
    .cseg
 proc_t0mark:
     push shr_sreg
     in shr_sreg,SREG ;  SREG   
     push tmp0
      sbr flags,(1<<mark_l) ; mark_l = 0.004S
       lds tmp0,cnt_tgrd
       dec tmp0
       sts cnt_tgrd,tmp0 ; mark_h  dev_th
       brne end_t0mark
     stop_tc0 ;   0   ( soft2812.txt)
       ldi tmp0,dev_ts ;   
       sts cnt_tgrd,tmp0 ; mark_h  dev_th
       sbr flags,(1<<mark_h) ; mark_h = 0.2S
 end_t0mark:
      pop tmp0
      out SREG,shr_sreg ;  SREG
			pop shr_sreg
    reti
;
;-----------------------------------------
;