⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0712.asm

📁 AV汇编 遥控 家庭功放带遥控 开关
💻 ASM
📖 第 1 页 / 共 2 页
字号:
     bright:
		  clr          pt11_stb
		  mov          a,#0bdh
		  call         outdata
		  setb         pt11_stb
	   	  ret
     indata:
	      mov          r6,#8
		  setb         pt11_data
	 indata1:
	      setb         pt11_clk
		  clr	       pt11_clk
		  mov          c,pt11_data
		  rrc          a
		  djnz         r6,indata1
		  ret
          ;///////////////////////////////////////////////
    ctrl_shuju:
          mov      dptr,#tonedata
		  movc     a,@a+dptr
          ret
     tonedata:
          db   00h,01h,02h,03h,04h,05h,06h,07h
          DB   0EH,0DH,0CH,0BH,0AH,09H,08H
		  ;//////////////////////////////////////////////////
     delay10:
           mov        r4,#10
   	 d10:
	       mov        r5,#248
		   djnz       r5,$
		   djnz       r4,d10
		   ret 
		   ;///////////////////////////////////////////////////
	   bin2bcd:
	       mov        b,#10
		   div        ab
		   mov        disp0,a
		   mov        disp1,b
		   ret
           ;////////////////////////////////
      delay:
	     nop
		 nop
		 nop
		 nop
		 nop
		 ret
		 ;////////////////////////////////
	 pt2314_wr_bal:
	    mov     pt2314_msb,a
		lcall   pt2314_wr
		ret	   
		 ;//////////////////////////////
      pt2314_wr:
      	acall       sta
		mov         a,#pt_2314add
		acall       senddate
		acall       ack
		mov         a,pt2314_msb
		acall       senddate
      	acall       ack
		acall       stop
		ret
	 ack:	
		call        delay 
		setb        pt14_clk	
		call        delay
		setb    	pt14_data
	 ack_1:
	    mov  	    c,pt14_data
		jc   	    ack_1
		clr         pt14_clk
		clr     	pt14_data
		ret
   	nack:	
	    setb    	pt14_data
		setb        pt14_clk
		acall       delay
	    clr         pt14_clk
		acall       delay
		clr     	pt14_data
		ret
     sta:
	    setb        pt14_clk
		setb    	pt14_data
		acall       delay
		clr     	pt14_data
		acall       delay
		clr         pt14_clk
		ret
    stop:
	    clr         pt14_clk
		clr     	pt14_data
		acall       delay
		setb        pt14_clk
		acall       delay
		setb    	pt14_data
		acall       delay
		ret
    senddate:
	  	mov        r2,#8
    loopw:
     	rlc         a
		mov         pt14_data,c
		acall       delay
		setb        pt14_clk
		acall   	delay
		clr         pt14_clk
		acall   	delay
		djnz     	r2,loopw
		clr     	pt14_data
		ret
		;/////////////////////////////////////
	 ack1:	
		call        delay 
		setb        scl02	
		call        delay
		setb    	sda02
	 ack_1_1:
	    mov  	    c,sda02
		jc   	    ack_1_1
		clr         scl02
		clr     	sda02
		ret
   	nack1:	
	    setb    	sda02
		setb        scl02
		acall       delay
	    clr         scl02
		acall       delay
		clr     	sda02
		ret
     sta1:
	    setb        scl02
		setb    	sda02
		acall       delay
		clr     	sda02
		acall       delay
		clr         scl02
		ret
    stop1:
	    clr         scl02
		clr     	sda02
		acall       delay
		setb        scl02
		acall       delay
		setb    	sda02
		acall       delay
		ret
    senddate1:
	  	mov        r2,#8
    loopw1:
     	rlc         a
		mov         sda02,c
		acall       delay
		setb        scl02
		acall   	delay
		clr         scl02
		acall   	delay
		djnz     	r2,loopw1
		clr     	sda02
		ret
    rd24: 
     	push     	acc
		setb        sda02       
	    clr         scl02 
	    call        sta1
		mov         a,#0a0h
	    call        senddate1
		call        ack1
		pop         acc
		call        senddate1	
		call        ack1
		call        sta1
		mov         a,#0a1h
		call        senddate1	
		call        ack1
		setb        sda02
	    mov         r7,#8
	    clr         a
		setb        sda02
    rd00: 	
      	rl          a
		setb        scl02
		mov       	c,sda02
		mov         acc.0,c	
		clr         scl02
		djnz        r7,rd00 
		ret
	 wt24: 	
	 	push        acc
		setb        sda02
		clr         scl02
		call        sta1	
		mov         a,#0a0h
	    call        senddate1
	    call        ack1
		pop         acc
		call        senddate1
	    call        ack1
		mov         a,b
		call        senddate1
   	    call        ack1
		call        stop
		call        delay
		ret
    bmqup:
	    
		db 64,172,0,128

	disp:
		push       acc
		push       psw
		mov        psw,#00h
		mov        th1,#0e8h
		mov        tl1,#30h
		mov        a,p3
		anl        a,#0f3h
		mov        r7,a
		xrl        a,lastbmq
		jz         keyscan   
		mov        a,r7
		mov        b,#64
		div        ab
		mov        dptr,#bmqup
		movc       a,@a+dptr
		xrl        a,lastbmq
		mov        lastbmq,r7
		jz         bmupkey
		mov        a,r7  
		jnz        keyscan
		mov        no_m,#6
		jmp        scnext
    bmupkey:
	    mov        a,r7
		jnz        keyscan
		mov        no_m,#6
		jmp        scnext
     keyscan:
		mov        a,p1
		orl        a,#0f8h
		mov        r7,a
		orl        a,#1
		cjne       a,#0ffh,kscnnext
		mov        a,khave
		cjne       a,#5ah,kscn5
		mov        khave,#0	  
	    clr        kdcnt
		clr        klx
		ajmp       scnext
     kscn5:
		mov        kdcnt,#0
		mov        kdcnt,#0
		ajmp       scnext
    kscnnext:
		mov        a,khave
		cjne       a,#5ah,scn2
		inc        klx
		cjne       a,#5ah,scn2
		mov        klx,#0
		jmp        yijian 
		ajmp       scnext
   scn2:
		inc        kdcnt
		mov        a,kdcnt
		cjne       a,#6,scnext
		mov        khave,#5ah
    yijian:
		mov        r6,#8
		clr        c
		mov        a,r7
		orl        a,#1
		cpl        a
    yjloop:
   	    rlc        a
		jc         yjget
		djnz       r6,yjloop
		jmp        scnext
	yjget:
	    mov        dptr,#yjtab
		mov        a,r6
		movc       a,@a+dptr
		mov        no_m,a  
    scnext:
		pop       acc
		pop       psw
    yjtab:
	    db        0,1,2,3,4,5
    table1: 
	     DB 00H,01H,03H,04H,06H,07H,09H,0AH,0CH,0DH,0FH,10H,12H,13H ,15H,16H
         DB 18H,19H,1BH,1CH,1EH,1FH,21H,22H,24H,25H ;(PT6311片内积存器地址) 
	   



	 
      rem:
	     push   acc
		 push   psw
		 mov    psw,#10
		 clr    tr0
		 clr    ex1
		 mov    27h,th0
		 mov    28h,tl0
		 mov    th0,#00h
		 mov    tl0,#00h
		 setb   tr0
		 jnb    29h.0,reset_12
		 mov    4ah,27h
		 mov    4bh,28h
		 mov    4ch,#03h
		 mov    4dh,#9dh
		 nop 
		 call   sub0
		 nop
		 jc     x1_009
		 mov    4ch,#05h
		 mov    4dh,#2dh
		 mov    4ah,27h
		 mov    4bh,28h
		 nop
		 call    sub0
		 nop
		 jnc     x1_01
		 clr     c
		 nop
		 ljmp    x1_01
		 clr     c
		 nop 
		 ljmp    x1_02
   x1_009:
         nop
		 ljmp    x1_005
   x1_001:
         nop
		 ajmp    x1_out1
   reset_12:
         nop
		 ajmp    rest_1
   x1_01:
         mov     4ch,#0dh
		 mov     4dh,#0d0h
		 mov     4ah,#27h
		 mov     4bh,#28h
		 nop
		 call    sub0
		 nop
		 jc      x_01t
		 nop
		 ajmp    x1_005
   x_01t:
      	 nop
		 ajmp    x_01
   rest_1:
         mov     4ch,#2ah
		 mov     4dh,#0f8h
		 mov     4ah,27h
		 mov     4bh,28h
		 nop  
		 call    sub0
		 nop
		 jc      x1_009
		 mov     4ch,#2eh
		 mov     4dh,#0e0h
		 mov     4ah,27h
		 mov     4bh,28h
		 nop
		 call    sub0
		 nop
		 jnc     rest_2
		 mov     4ch,#03h
		 mov     4dh,#08h
		 mov     4ah,#03
		 mov     4bh,no_n
		 nop
		 call    sub0
		 jc      x1_005
		 mov     4ch,#03h
		 mov     4dh,#1eh
		 mov     4ah,#03h
		 mov     4ah,no_n
		 nop
		 call    sub0
		 nop
		 jnc     x1_005
		 mov     no_n,#00
		 djnz    remvol,x1_005
		 mov     remvol,#01
		 mov     a,#2ch
		 mov     a,#00h
		 jnz     rest_3
		 nop
		 ajmp    x1_10
   rest_3:
         mov     a,#2ch
		 xrl     a,#12h
		 jnz     x1_005
		 nop
		 ajmp    x1_10
   	rest_2:
	     mov     4ch,#33h
		 mov     4dh,#90h
		 mov     4ah,27h
		 mov     4bh,28
		 nop
		 call    sub0
		 nop
		 jc      x1_005
		 mov     4ch,#25h
		 mov     4dh,#0e8h
		 mov     4ah,27h
		 mov     4bh,28h
		 nop
		 call    sub0
		 nop
		 jnc     x1_005
		 setb    29h.0
		 mov     cs_x1,#08h
		 mov     cs0_x1,#04h
		 mov     r1,#2ah
	     nop
		 ajmp    x1_out1
    x1_005:
		 nop
		 ajmp    x1s_06
    x_01: 
	     setb    c 
    x1_02:
	  	 mov     a,u0_x1
		 rrc     a
		 mov     u0_x1,a
		 djnz    cs_x1,x1_out1
         mov     cs_x1,#08h
         mov     @r1,u0_x1
		 inc     r1
		 djnz    cs0_x1,x1_out1
		 mov     remvol,#02h	
		 nop
		 ljmp    x1_10
	x1_out1:	
		 setb     ex1
		 pop      psw
		 pop      acc
		 reti
		 reti
    x1_10:
	     mov    a,2ah   
		 xrl    a,#80h   ;用户码
		 jnz    x1s_06
	   	 mov    a,#2bh
		 xrl    a,#7fh	  ;用户码
	     jnz    x1s_06
		 mov    a,2ch
		 cpl    a
		 xrl    a,2dh
		 jnz    x1s_06
		 mov    r0,#0bh
		 mov    dptr,#tab_remot
	lookup_1:
		 mov    a,r0
		 movc   a,@a+dptr
		 xrl    a,2ch
		 jz     rem_bak0
		 djnz   r0,lookup_1
   rem_bak0:
		 mov    no_m,r0
		 mov    no_n,#00h
		 nop
		 sjmp   x1s_06	
   rem_bak:
		  mov   no_m,#00h
   x1s_06:
		  clr    29h.0
		  setb   ex1
		  pop    psw
		  pop    acc
		  reti
		  reti
   sub0:
          clr    cy
		  mov    a,4bh
		  subb   a,4dh
		  jnc    x1_s1
		  dec    4ah
    x1_s1:
	      clr    cy
		  mov    a,4ah
		  subb   a,4ch
		  ret
		  ret
	  itt0:
		  mov   th0,#00h
		  mov   tl0,#00h
		  reti
		  reti
     tab_remot:
	        db  00h
			DB	01H   ;POWER
			db  14h	  ;FUNTION
			DB	18H   ;MUTE   
			DB	16H   ;DVD  
			DB	15H   ;TUNER 
			DB	17H   ;CD 
			DB	1aH   ;AUX2
			DB	0dH   ;PHONO
			DB	1fH   ;AUX1
			DB	58H   ;VOLUP  
			DB	5cH   ;VOLDN 			
			mov    dptr,#loop
			MOV    A,#00H
			jmp    @A+DPTR

end
       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -