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

📄 dc082.asm

📁 风扇遥控。挡位
💻 ASM
📖 第 1 页 / 共 5 页
字号:
          b0mov     r_BreezeByte1,a   
;==========================================
timecenter10:
          b0bts1    b_trigger64ms		;timer_fanrun每64ms减1
          jmp       timecenter_ret
          bts0      b_middsmf_bit		;在中档睡眠风时为1表示低档自然风
          jmp       timecenter20	;为0时继续往下执行时high_speed为1进入中档自然风 

          bts0      b_highsmf_bit1
          jmp       timecenter60

          bts0      b_highsmf_bit2
          jmp       timecenter40

          bts0      b_highsmf_bit3
          jmp       timecenter20

          bts0      b_higspeed
          jmp       timecenter60

          b0bts0    b_midspeed
          jmp       timecenter40

          b0bts1    b_lowspeed
          jmp       timecenter_ret          
;=====================================              
timecenter20:                         ;低档自然风时间处理
          decms     r_Timer_fanrun	;运行时间减1,每64ms减1
          jmp       timecenter_ret
          b0bclr    fc
          rlcm      r_BreezeByte 		;各挡位运行标志位左移 
          mov       a,#1
          bts0      bit_3		;第3位为1一次循环结束又循环
          b0mov     r_BreezeByte,a
          bts0      bit_0
          mov       a,#c_time4s
          bts0      bit_1
          mov       a,#c_time5s
          bts0      bit_2
          mov       a,#c_time1s
          b0mov     r_timer_fanrun,a
          jmp       timecenter_ret
;====================================== 
timecenter40:                           ;中档自然风时间处理
          decms     r_timer_fanrun
          jmp       timecenter_ret
          b0bclr    fc
          rlcm      r_BreezeByte
          rlcm      r_BreezeByte1
          bts1      bit_9		;
          jmp       timecenter45
          mov       a,#1
          b0mov     r_BreezeByte,a 
          mov       a,#00
          b0mov     r_BreezeByte1,a
 timecenter45:
          bts0      bit_0
          mov       a,#c_time1s
          bts0      bit_1
          mov       a,#c_time4s
          bts0      bit_2
          mov       a,#c_time5s
          bts0      bit_3
          mov       a,#c_time5s
          bts0      bit_4
          mov       a,#c_time5s
          bts0      bit_5
          mov       a,#c_time5s
          bts0      bit_6
          mov       a,#c_time5s
          bts0      bit_7
          mov       a,#c_time5s
          bts0      bit_8
          mov       a,#c_time5s
          b0mov     r_timer_fanrun,a
          jmp       timecenter_ret
 ;========================================     
  timecenter60:                        ;高档自然风时间处理
          decms     r_timer_fanrun
          jmp       timecenter_ret
          b0bclr    fc
          rlcm      r_BreezeByte
          b0mov     a,r_BreezeByte 
          bts0      fz
          mov       a,#1
          b0mov     r_BreezeByte,a 

          mov       a,#c_time5s
          b0mov     r_timer_fanrun,a
          
 ;====================================== 
timecenter_ret:
          ret
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
logic:
	       clr		r_outbytebuf
	       bts0		b_waterkey_err
	       jmp		logic_0        ;缺水停止加湿
	       bts0		b_hum
	       bset		b_humout
logic_0:	       
	       bts1		b_run
	       jmp		logic_ret
	       bts0		b_ion
	       bset		b_ionout
	       cpjnz		r_swdelay,logic_01
	       cpjz		r_lsw_time,logic_00
	       bset		b_lswout
logic_00:
	       cpjz		r_rsw_time,logic_01
	       bset		b_rswout
logic_01: 	         
               bts0    		b_zcf
               jmp     		logic_ret
               bts1     	b_zrf
               jmp     		logic10
               call    		fanrun_zrf
               jmp     		logic_ret
logic10:
               bts1     	b_smf
               jmp     		logic_ret
               call    		fanrun_smf
logic_ret:
	       call		zero_deal
               mov_2		r_outbyte,r_outbytebuf
               ret
;=====================================================
fanrun_zrf:
               bts0      	b_higspeed
               jmp     		runmode1
               bts0      	b_midspeed
               jmp     		runmode2
               bts0      	b_lowspeed
               jmp     		runmode3
               jmp     		fanrun_zrf_ret
;--------------------------------------------------
runmode1:			;高档自然风
               mov     		a,#0
               bts0      	bit_0
               mov     		a,#6
               bts0      	bit_1
               mov     		a,#3
               bts0      	bit_2
               mov     		a,#9
               bts0      	bit_3
               mov     		a,#6
               bts0      	bit_4
               mov     		a,#9
               bts0      	bit_5
               mov     		a,#3
               bts0      	bit_6
               mov     		a,#9
               bts0     	bit_7
               mov     		a,#0
               b0mov     	r_speedbyte1,a
               jmp     		fanrun_zrf_ret
;------------------------------------------------------
runmode2:			;中档自然风
              mov     		a,#0
              bts0      	bit_0
              mov     		a,#6
              bts0      	bit_1
              mov     		a,#3
              bts0      	bit_2
              mov     		a,#6
              bts0      	bit_3
              mov     		a,#3
              bts0      	bit_4
              mov     		a,#0
              bts0     		bit_5
              mov     		a,#6
              bts0      	bit_6
              mov     		a,#3
              bts0     		bit_7
              mov     		a,#6
              bts0      	bit_8
              mov     		a,#0
              b0mov     	r_speedbyte1,a
              jmp     		fanrun_zrf_ret
;------------------------------------------------------
runmode3:              		;低档自然风
              mov     		a,#0
              bts0      	bit_0
              mov     		a,#3
              bts0      	bit_1
              mov     		a,#0
              bts0       	bit_2
              mov     		a,#6
              b0mov     	r_speedbyte1,a
fanrun_zrf_ret:
	      
              ret
;==========================================
fanrun_smf:
              bts1   		b_higspeed
              jmp     		fanrun_smf10
              bts0    		b_highsmf_bit1
              jmp     		runmode1
              bts0    		b_highsmf_bit2
              jmp     		runmode2
              bts0    		b_highsmf_bit3
              jmp     		runmode3
fanrun_smf10:
              bts1    		b_midspeed
              jmp     		fanrun_smf20
              bts1    		b_middsmf_bit
              jmp     		runmode2
              bts0    		b_middsmf_bit
              jmp     		runmode3
fanrun_smf20:
              bts0    		b_lowspeed
              jmp     		runmode3
              ret
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
driver:
		bts0		b_run
		jmp		driver10
		b0bclr		p_flz_out
		b0bclr          p_sw_l
		b0bclr		p_sw_r
		jmp             driver20
driver10:
		bts0		b_ionout
		b0bset		p_flz_out
		bts1		b_ionout
		b0bclr		p_flz_out
		bts0		b_rswout
		b0bset		p_sw_r
		bts1		b_rswout
                b0bclr		p_sw_r
                bts0		b_lswout
		b0bset		p_sw_l
		bts1		b_lswout
                b0bclr		p_sw_l
driver20:                
                bts0		b_humout
                jmp		driver30
                b0bclr		p_fan
                b0bclr		p_hum_out
                ret
driver30:
		b0bset		p_fan
                b0bset		p_hum_out
                ret

;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
displaytime:
		bts1            b_run
                jmp             displaytime_ret
		bts0		b_zcf
		jmp		displaytime_ret
                bts1            b_lowspeed
                jmp             displaytime10
                b0mov           a,r_speedbyte_buf
                sub             a,#3            ;是否等于3节
                jmp             displaytime30             
displaytime10:
                bts1            b_midspeed
                jmp             displaytime20
                b0mov           a,r_speedbyte_buf
                sub             a,#6          ;是否等于6节 
                jmp             displaytime30
displaytime20:
                bts1            b_higspeed
                jmp             displaytime_ret
                b0mov           a,r_speedbyte_buf
                sub             a,#9         ;是否等于9节
displaytime30:
                b0bts0          fc
                mov             a,#01h
                b0bts1          fc
                incs            r_speedbyte_buf
                b0mov           r_speedbyte_buf,a
                jmp		displaytime_ret
displaytime_ret:
                ret
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
delay_off:
		bts1     	b_offdelay
              	jmp     	delay_offret
                cpjz		r_speedbyte1,delay_offret
              	decms     	r_speedbyte1   ;在高档关机每500ms减一节
                ret
              	bclr     	b_offdelay
              	nop
delay_offret:
                ret
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
lcdupdata:
		b0bset		p_cs
		nop
                nop
                call     	write_lcd
                call     	write_address
                b0bclr		p_cs
                mov_1		r_reg0,10;9
                b0mov		y,#r_lcdram$m
                b0mov		z,#r_lcdram$l
                
lcdupdata10:
		incms		z      	;从4DH开始
		nop
		b0mov		a,@yz		
                b0mov          	r_sent_data,a
                call           	write_data 
                nop
                decms     	r_reg0
                jmp      	lcdupdata10
                nop
                nop
                nop
                b0bset      	p_cs
                ;b0bset      	p_data
                ;b0bset      	p_write
                ret
;-----------------------------------------------                
write_lcd:
                nop
                nop
                mov_1		r_count,3
                mov_1		r_sent_data,10100000b
                call    	send_r
                nop
                nop
                ret
;===================address:A5A4A3A2A1A0==================
write_address:
                mov_1		r_count,6
                mov     	a,#48     ;r_address
                b0mov     	r_sent_data,a
                call    	send_r
                nop
                nop
                ret
 ;====================data:d0d1d2d3=========================
write_data:
                
                mov_1		r_count,8   
                call    	send_r
                nop
                nop
                ret
                              
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
init1621:               
                b0bset     	p_cs
                nop
                nop
                nop
                nop
                nop
                nop
                nop
                mov_1     	r_count,3 
                mov_1     	r_sent_data,80h
                call    	send_r
                mov_1     	r_sent_data,0e3h
                call    	send_l
                mov_1		r_sent_data,18h
                call    	send_l
                mov_1		r_sent_data,01h
                call    	send_l
                mov_1     	r_sent_data,04h
                call    	send_l
                mov_1     	r_sent_data,05h
                call    	send_l
                mov_1     	r_sent_data,80h
                call    	send_l
                mov_1     	r_sent_data,29h
                call    	send_l
                mov_1     	r_sent_data,03h
                call    	send_l 
                nop
                nop
                b0bset    	p_cs;=============送完命令码后置1片选端
                ret
;==========================================================       
 ;送数据     
 ;input:send_data  count
send_l:
                mov_1    	r_count,9 ;r_count
send_r:       
                b0bclr    	p_cs 
                nop
                nop
                nop
                b0bclr    	fc
                rlcm    	r_sent_data

                b0bts1    	fc
                b0bclr    	p_data
                b0bts0     	fc
                b0bset    	p_data
send2:
                b0bclr   	p_write                
                nop
                nop
                nop
                nop
                nop
                b0bset    	p_write                
                decms    	r_count
                jmp    		send_r
                nop 
                b0bset    	p_data
                b0bset    	p_write
                ret  
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$	
		endp




















		

	

⌨️ 快捷键说明

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