 .Include "2313def.inc"
;=====================
.equ	OCR1BL	= 0x28
.equ	OCR1BH	= 0x29 ;В инклуднике их пачемуто небыло :( 
.equ	TCCR0B	= 0x33 ; Позже люди ругались, что это устаревший инклудник, 
;=====================   увы, другова у меня нет

;   Недоделки
; -Выключать при простое (по идее неплохо-б, если-б он сам отключался 
;через некоторое время, если его включили, и не пользуют)
; -глюк прокрутки (Пака колёсико не провернётся на один шаг(т.е. зависло на пол шага), 
;отсчёт времени не начинается, впринципи не существенно, но у каво-нить вал-кодер может 
;оказаться без фиксации на полном шаге,..)
;
;

.def reg=R16 				.def 	Temp1=R16
.def reg_1=R17 				.def	Temp2=R17
.def reg_2=R18				.def	Temp3=R18
.def slot_L=R19 			.def 	Temp=R25
.def slot_H=R20 			.def 	Temp4=R26
.def flajki=R21     
.def Nolik=R22
.def obraz_L=R23
.def obraz_H=R24
 

.CSEG 
.org 0
 rjmp RESET ; Reset Handler
 rjmp intt_0 ; External Interrupt0 Handler
 rjmp intt_1 ; External Interrupt1 Handler
 rjmp TIM1_CAPT ; Timer1 Capture Handler
 rjmp TIM1_COMPA ; Timer1 CompareA Handler
 rjmp TIM1_OVF ; Timer1 Overflow Handler
 rjmp TIM0_OVF ; Timer0 Overflow Handler
 rjmp USART0_RXC ; USART0 RX Complete Handler
 rjmp USART0_DRE ; USART0,UDR Empty Handler
 rjmp USART0_TXC ; USART0 TX Complete Handler
 rjmp ANA_COMP ; Analog Comparator Handler
 rjmp PCINT ; Pin Change Interrupt
 rjmp TIMER1_COMPB ; Timer1 Compare B Handler
 rjmp TIMER0_COMPA ; Timer0 Compare A Handler
 rjmp TIMER0_COMPB ; Timer0 Compare B Handler
 rjmp USI_START ; USI Start Handler
 rjmp USI_OVERFLOW ; USI Overflow Handler
 rjmp EE_READY ; EEPROM Ready Handler
 rjmp WDT_OVERFLOW ; Watchdog Overflow Handler


 ; RESET: ; Reset Handler
 ; intt_0: ; External Interrupt0 Handler
 ; intt_1: ; External Interrupt1 Handler
  TIM1_CAPT: ; Timer1 Capture Handler
 ; TIM1_COMPA: ; Timer1 CompareA Handler
  TIM1_OVF: ; Timer1 Overflow Handler
  TIM0_OVF: ; Timer0 Overflow Handler
  USART0_RXC: ; USART0 RX Complete Handler
  USART0_DRE: ; USART0,UDR Empty Handler
  USART0_TXC: ; USART0 TX Complete Handler
  ANA_COMP: ; Analog Comparator Handler
  PCINT: ; Pin Change Interrupt
 ; TIMER1_COMPB: ; Timer1 Compare B Handler
 ; TIMER0_COMPA: ; Timer0 Compare A Handler
  TIMER0_COMPB: ; Timer0 Compare B Handler
  USI_START: ; USI Start Handler
  USI_OVERFLOW: ; USI Overflow Handler
  EE_READY: ; EEPROM Ready Handler
  WDT_OVERFLOW: ; Watchdog Overflow Handler
 reti
                                     
;жжжжжжжжжжжжжжжжжжжжжжжжж   -настройка-  жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

RESET:  
	cli
	clr reg

pauzaee: 
	dec reg 
	brne pauzaee ;Пауза от дребезга. 

;-------- СТЁК
	ldi reg,RamEnd       ;установка указателя стека
    out SPL,reg

;-------- ЛАПКИ
	ldi reg,0b11111111  	;Индикатор (Бит 7-Розетка. )
	out ddrB,reg 
	ldi reg,0b01110010  	;(0 колесо_вх)          
	out ddrD,reg			;(1 свет_в_Фотопару) (2 ONN-OFF(INT_подтянут)) 
							;(3 колесо(INT) 
							;((4 6 Цифры Ш и Л.) (5 пищелка)

	ldi reg,0b01010110   ;---Кажись 4 и 6 нафик нинада (но пусть, раз работает)
	out portD,reg			;подтянул он/офф(при киданьи на минус сработает)
							;... (включил напругу ИК-светику)(и цифры, чтоб кра)
;-------- ПЕРЕМЕННЫЕ
	ldi Nolik,0
	cbr flajki,0b11111011  	;7- (СОН) ;6- (визг серены) ;5- (Щелчёк) 
					;4- (Секундомер);3- (мелодия) ;2- (0 или 99) ;1-(звон гимна) 
		 		 
;--------  СОН в режиме @повер довн@.
	ldi reg,0b00110000
	out MCUCR,reg
;-------- индикатор
    rcall TIM_0A_INDICAT  

sei ;=======================================


;--------  Два минусика на экран
	ldi obraz_H,0b00111111  
	ldi obraz_L,0b00111111 
	ldi reg,255 
	rcall PAUZA_65536  	;пауза

;-------- Загрузить текушее НУЛЕВОЕ время
	ldi slot_L,0
	rcall load_cifer_L		 
	ldi slot_H,10
	rcall load_cifer_H 

;-------- а патом уж можна считать что включенО(калесо и кнопка) :)
	ldi reg,0b01100000
	out GIMSK,reg   	

  	
                                      
;жжжжжжжжжжжжжжжжжжжжжжжжжж -прога- жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж

CIKL: 					;rjmp muzz_on
	sbrc flajki,6
	rcall VIZG_SERENI ;визг серены
	sbrc flajki,5
	rcall s4el4ek ;
	sbrc flajki,3
	rcall muzz_on
	rjmp CIKL

.Include "-call.asm"
.Include "-interupt.asm"
.Include "-data.asm"
