;
;         "hard_uim.txt" ;   
;
;
MAIN_PROG       CODE

; these first 4 instructions are not required if the internal oscillator is not used
start
        call    0x3FF             ; retrieve factory calibration value
        bsf     STATUS,RP0        ; set file register bank to 1 
        movwf   OSCCAL            ; update register with factory cal value
; -------------------------------------
        clrf ANSEL ;     
        bsf PIE1,TMR1IE ;   /1 
; -------------------------------------
        bcf     STATUS,RP0        ; set file register bank to 0
; -------------------------------------
     clrf PORTC ;    PORTC " "
     bsf PORTC,t_mk_TxD ;   t_mk_TxD  1
     bsf     STATUS,RP0        ; set file register bank to 1
     clrf TRISC ; PORTC   ,      
     bcf     STATUS,RP0        ; set file register bank to 0
     movlw 7
     movwf CMCON ;  
     movlw b'00110100' ;    1:8   
     movwf T1CON ;  /1 
     clrf TMR1L
     clrf TMR1H
     bcf PIR1,TMR1IF ;    
     movlw (1<<GIE)|(1<<PEIE)
     movwf INTCON ;  
;     DS18B20   
     movlw b'11111110'
     movwf PORTA
     bsf     STATUS,RP0        ; set file register bank to 1 
     movlw b'11111100'
     movwf TRISA
     bsf WPUA,WPUA5
     bsf WPUA,WPUA4 ;   
     bcf OPTION_REG,NOT_RAPU ;   RA5  RA4
     bcf     STATUS,RP0        ; set file register bank to 0
;     bcf port_m,L_APU ;  
; -------------------------------------
; remaining code goes here

;        goto $
;
; -------------------------------------
  bsf T1CON,TMR1ON ;   -
hot_init
 clrf kd_flags
 clrf mt_flags
 clrf t_mk_flg ;   
 call tst_strs
  call prepare
  call w_ksda
  clrf m_flags
  bsf port_ksd,L_INH ;  
 btfss port_m,M_DAT
 goto er_kz
; bcf port_m,L_APU ;  
;