;
;         "clocker.txt" ;     /
;         
;
g_clock:    ;    /1  
   push PSW ;  PSW  
	 setb RS0
	 setb RS1 ;  RB3
	  .using 3 ;   "  RB3"
	 mov TL1,r2
	 mov TH1,r3 ;  /1
	 setb s_ovf ;     
	  jnb esmpf,g_tpi
		 setb smpf
 g_tpi:
	 inc r4 ;   +1
	 cjne r4,#mask60,of_clock ;    - 
	 mov r4,#0 ; -  = 0
	 setb m_ovf ;     
	 inc r5 ;   +1
	 cjne r5,#mask60,of_clock ;    - 
	 mov r5,#0 ; -  = 0
	 setb h_ovf ;     
	 inc r6 ;   +1
	 cjne r6,#mask24,of_clock ;    - 
	 mov r6,#0 ;   = 0
	 setb d_ovf ;     
 of_clock:
   jnb fnvs,g_tp0 ;      
   clr fnvs ;  
   mov smarkh,corsekh
   mov smarkl,corsekl
 g_tp0:
   mov r7,OVFTRG ;   OVFTRG  
                     ;      
                     ;       
                     ;   
      jb egcprt,ptr_gclk ;       egcprt=1
       ajmp noprtc
 ptr_gclk:    ;     / 
             ;  
     push ACC
      mov a,#0b00001100 ;  - 
      acall wrslus
      acall wait_wrt
      mov a,#0b00000100 ;    entry mode set = 0b00000100
                      ;      
      acall wrslus
      acall wait_wrt
      mov a,asgclk ;      
			              ; (  asgclk)
      setb ACC.7
      acall wrslus
      acall wait_wrt
      jbc gclkrl,pt_rwr0 ; gclkrl=1  gclkrl  0 
      sjmp noptrwr
  pt_rwr0:
      mov r7,#0b00001110 ;     
                        ;  
   noptrwr:    ;      (r4-r5-r6) 
    jb egsptr,g_tp4 ;  ,  
       mov a,#0x20 ;    3  
        acall wrdat ;      
        acall wait_wrt
        acall wrdat
        acall wait_wrt
        acall wrdat ;       
        acall wait_wrt ;   
    sjmp g_tp1
  g_tp4:
    mov a,r4
    acall binodec
    mov r1,a
    anl a,#0x0f
    orl a,#0x30 ;    
     acall wrdat ;    ddram wh1602
      acall wait_wrt
    mov a,#0xf0
    anl a,r1
    swap a
    orl a,#0x30 ;    
     acall wrdat ;    ddram wh1602
      acall wait_wrt
    mov a,#0x3A ;     (    1 )
     acall wrdat ;    ddram wh1602
      acall wait_wrt
  g_tp1:
    mov a,r7
    jnb ACC.1,g_pt2 ;   
		               ;    
    mov a,r5
    acall binodec
    mov r1,a
    anl a,#0x0f
    orl a,#0x30 ;    
     acall wrdat ;    ddram wh1602
      acall wait_wrt
    mov a,#0xf0
    anl a,r1
    swap a
    orl a,#0x30 ;    
     acall wrdat ;    ddram wh1602
      acall wait_wrt
    mov a,#0x3A ;     (    1 )
     acall wrdat ;    ddram wh1602
      acall wait_wrt
    mov a,r7
    jnb ACC.2,g_pt2 ;   
		               ;     
    mov a,r6
    acall binodec
    mov r1,a
    anl a,#0x0f
    orl a,#0x30 ;    
     acall wrdat ;    ddram wh1602
      acall wait_wrt
    mov a,#0xf0
    anl a,r1
    swap a
    orl a,#0x30
    cjne a,#0x30,g_pt3
    mov a,#0x20 ;     
  g_pt3:
    acall wrdat ;    ddram wh1602
     acall wait_wrt
  g_pt2:
    mov r7,#0 ;    
    mov a,OVFTRG
    anl a,EOVFIR
    jz g_pt5 ;        - 
    setb prwf ;     
  g_pt5:
     pop ACC ;     -
 noprtc:
    pop PSW
      .using 0 ;   "  RB0"
	reti ;    /1 
;------------------------------------------------------------------
;