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

📄 dc082.asm

📁 风扇遥控。挡位
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;**************************************************
;                 项目说明
;**************************************************
;客户名称:
;产品名称、型号:
;作者:	
;项目开始日期:2008-1-14
;项目完成日期:
;芯片型号:SN8P2722
;晶振:4M
;校验和:DA08
;版本号:1.0
;备注:
;***************************************************
;                 芯片端口定义
;*************************************************** 
;
;                                  
;                       ---------------    ---------------                      
;                       |              |____|            |                        
;                   --- |1  VDD                 VSS    14|---       
;            OUTPORT--- |2  P0.3/XIN            P4.4   13|---COM1           
;                   --- |3  P0.2 /XOUT          P4.3   12|---COM2        
;                       |4  P0.4 /REST          P4.2   11|---COM3                        
;             BZUUER--- |5  P5.3 /BZ1        P4.1/AIN1 10|---AD       
;           LEDSEG0 --- |6  P5.4 /BZ0              P4.0 9|---LEDSEG1        
;           LEDSEG3 --- |7  P0.1/INT1              P0.0 8|---LEDSEG2                                  
;                        ---------------------------------      
;*******************************i/o*************************************
 chip          SN8P2722
//{{SONIX_CODE_OPTION
	.Code_Option	LVD		LVD_H		; 2.4V Reset Enable LVD36 bit of PFLAG for 3.6V Low Voltage Indicator
	.Code_Option	Reset_Pin	P03
	.Code_Option	Watch_Dog	Always_On	; Watchdog still enable even in Green and Sleep mode
	.Code_Option	High_Clk	IHRC_16M	; Internal 16M RC Oscillator
	.Code_Option	Fcpu		Fosc/4
	.Code_Option	Security	Enable
	.Code_Option	Noise_Filter	Disable
//}}SONIX_CODE_OPTION
 
 .nolist					        ; do not list the macro file

	INCLUDESTD		MACRO1.H
	INCLUDESTD		MACRO2.H
	INCLUDESTD		MACRO3.H
;************************************************************************
p_buzport		equ	p0
p_buz			equ	p_buzport.4
p_speed_out		equ	p0.6;调速
p_flz_out		equ	p0.7
p_tr_ad			equ	p4.0;室内温度
p_sw_l			equ	p5.0;左摇
p_sw_r			equ	p5.1;右摇
p_write 		equ	p5.3
p_data			equ	p5.2
p_waterkeyport      	equ     p0
p_waterkeyline      	equ     p_waterkeyport.3    ;水位检测口
p_rec                   equ     p0.0
p_c_f                   equ     p0.4
p_zero			equ	p4.2
p_cs			equ	p5.4
p_hum_out		equ	p0.5
p_fan			equ	p4.4
p_key			equ	p4.1
p_backled               equ     p4.3
;**************************************************************
			org	00h	;Data section start from RAM address 0
r_blink_byte        	equ     04h
r_blink_byte1    	equ     05h
r_trigger_byte   	equ     06h
b_trigger2ms     	equ     r_trigger_byte.0
b_trigger4ms     	equ     r_trigger_byte.1
b_trigger8ms     	equ     r_trigger_byte.2
b_trigger16ms    	equ     r_trigger_byte.3
b_trigger32ms    	equ     r_trigger_byte.4
b_trigger64ms    	equ     r_trigger_byte.5
b_trigger125ms   	equ     r_trigger_byte.6
b_trigger250ms   	equ     r_trigger_byte.7

r_trigger_byte1     	equ     07h
b_trigger500ms   	equ     r_trigger_byte1.0 
b_trigger1s      	equ     r_trigger_byte1.1 
b_trigger2s      	equ     r_trigger_byte1.2 
b_trigger4s      	equ     r_trigger_byte1.3 
b_trigger8s      	equ     r_trigger_byte1.4 
b_trigger16s     	equ     r_trigger_byte1.5
b_trigger32s     	equ     r_trigger_byte1.6
b_trigger64s     	equ     r_trigger_byte1.7
;----------------------------------------------------
r_buz_time       	equ     08h
r_buz_count      	equ     09h
r_buz_timecnt    	equ     0ah   ;蜂鸣器间隔时间寄存器
;---------------------------------------------------
r_2ms_cnt        	equ     0bh
r_time_1s		equ	0ch
r_time_2s		equ	0dh
r_time_60s		equ	0eh
r_timeflag       	equ     0fh
b_16ms			equ	r_timeflag.0
b_time_8ms		equ	r_timeflag.1
b_time_64ms		equ	r_timeflag.2
b_time_4ms		equ	r_timeflag.3
b_time_500ms		equ	r_timeflag.4
b_time_1s		equ	r_timeflag.5
b_time_32ms		equ	r_timeflag.6
b_time_125ms		equ	r_timeflag.7
;-----------------------------------------
r_sysflag        	equ     10h
b_run            	equ     r_sysflag.0
b_ion			equ	r_sysflag.1
b_hum			equ	r_sysflag.2
b_f			equ	r_sysflag.3
b_offdelay		equ	r_sysflag.4
b_start_sw		equ	r_sysflag.5;按摇头键开始摇头标志
b_settime		equ	r_sysflag.6;有时间设置标志
;---------------------------------------------
r_timebyte1       	equ     11h
r_timebyte2		equ	12h
r_timebyte1_buf       	equ     13h
r_timebyte2_buf		equ	14h
r_settime		equ	15h
r_time_sec		equ	16h
r_time_min		equ	17h

;-----------------------------------
r_keyvalue       	equ     18h
r_keybuf         	equ     19h
r_keybyte        	equ     1ah
b_keyon      		equ     r_keybyte.0
b_keysame        	equ     r_keybyte.1
b_keylong        	equ     r_keybyte.2
r_keycnt         	equ     1bh
;------------------------------------------
r_disdata0       	equ     1ch
r_disdata1       	equ     1dh
;-------------------------------------------
r_zero			equ	1eh
b_zero_low		equ	r_zero.2
r_flashcnt		equ	5dh
r_flashcnt1		equ	5eh
;-----------------------------------------
r_speedbyte_buf         equ     5fh ;速度显示用
r_speedbyte1		equ	60h
r_speedbyte2		equ	61h ;速度模式用
b_lowspeed		equ	r_speedbyte2.0
b_midspeed		equ	r_speedbyte2.1
b_higspeed		equ	r_speedbyte2.2
b_nospeed		equ	r_speedbyte2.3
;-----------------------------------------
r_modebyte		equ	20h
b_zcf			equ	r_modebyte.0
b_zrf			equ	r_modebyte.1
b_smf			equ	r_modebyte.2
b_nomode		equ	r_modebyte.3
;--------------------------------------------
r_swbyte		equ	21h
b_sw90			equ	r_swbyte.0
b_sw180			equ	r_swbyte.1
b_sw360			equ	r_swbyte.2
b_nosw			equ	r_swbyte.3
r_lsw_time		equ	22h;左摇时间
r_rsw_time		equ	23h;右摇时间
r_lsw_timebuf		equ	24h;左摇时间缓存
r_rsw_timebuf		equ	25h;右摇时间缓存
r_swdelay		equ	26h;摇头停1s
;----------------------------------------------
r_BreezeByte		equ	27h
      bit_7             equ   	r_BreezeByte.7      
      bit_6             equ   	r_BreezeByte.6
      bit_5             equ   	r_BreezeByte.5      
      bit_4             equ   	r_BreezeByte.4      
      bit_3             equ   	r_BreezeByte.3      
      bit_2             equ   	r_BreezeByte.2      
      bit_1             equ   	r_BreezeByte.1      
      bit_0             equ   	r_BreezeByte.0
r_BreezeByte1           equ     28h
      bit_8             equ   	r_BreezeByte1.0
      bit_9             equ   	r_BreezeByte1.1 
r_Usertrigger           equ     29h
      b_middsmf_bit  	EQU    	r_usertrigger.0
      b_highsmf_bit1 	EQU    	r_usertrigger.1 
      b_highsmf_bit2 	EQU    	r_usertrigger.2 
      b_highsmf_bit3 	EQU    	r_usertrigger.3
r_timer_fanrun          equ     2ah
r_Time30MinCnt          equ     2bh
;---------------------------------------------------
r_ad_delaycnt	        equ	2ch
r_ad_buf_low            equ     2dh
r_ad_buf_hig            equ     2eh
r_adc_sp		equ     2fh
r_adtemp		equ	30h
r_adtemp_buf		equ	31h
r_ad_error		equ	32h
	b_openerr	equ	r_ad_error.0
	b_offerr	equ	r_ad_error.1
;----------------------------------------------------
r_waterkeycnt1       	equ     33h  ; 水位检测用     
r_waterkeycnt	 	equ     34h  ;
r_watererror      	equ     35h  ;   
	b_waterkey_err  equ     r_watererror.0	
;----------------------------------------------------
r_outbytebuf		equ	36h	
	b_ionout	equ	r_outbytebuf.0
	b_rswout	equ	r_outbytebuf.1
	b_lswout	equ	r_outbytebuf.2
	b_humout	equ	r_outbytebuf.3
r_outbyte		equ	37h
r_timezero		equ	38h
;-------------------------------------------------
r_f_cnt			equ	39h
r_c_cnt			equ	3ah
;---------------------------------------------------------
r_data_low     		  equ  	3bh             ;低八位数据寄存器 
r_data_hig                equ   3ch
R_REC_TIME                equ   3dh
r_ir_flag      		  equ  	3eh             ;接收信号标志位 
    	B_REC_LOW         equ   r_ir_flag.0
    	B_REC_FINISH      equ   r_ir_flag.1
    	B_REC_REPEAT      equ   r_ir_flag.2
    	b_keylong1	  equ	r_ir_flag.3
R_REC_CNT                 equ   3fh  
R_REC_REPEAT_CNT          equ   40h
R_REC_CODE                equ   41h
r_remote_cnt		  equ   42h
;----------------------------------------------------------
r_backled_cnt             equ   43h
r_ledbyte1buf		  equ     44h
      	lcd_p5            equ     r_ledbyte1buf.0
      	lcd_p4            equ     r_ledbyte1buf.1        
      	lcd_p3            equ     r_ledbyte1buf.2
      	lcd_p2            equ     r_ledbyte1buf.3
      	lcd_p6            equ     r_ledbyte1buf.4
      	lcd_p7            equ     r_ledbyte1buf.5
      	lcd_p8            equ     r_ledbyte1buf.6
      	lcd_p9            equ     r_ledbyte1buf.7
r_ledbyte2buf		  equ     45h  
        lcd_f6		  equ	  r_ledbyte2buf.0
        lcd_f1		  equ	  r_ledbyte2buf.1
        lcd_f2		  equ	  r_ledbyte2buf.2
        lcd_p1		  equ	  r_ledbyte2buf.3
        
        lcd_f5		  equ	  r_ledbyte2buf.5
        lcd_f4		  equ	  r_ledbyte2buf.6
        lcd_f3		  equ	  r_ledbyte2buf.7
r_ledbyte3buf		  equ     46h
      	lcd_3a            equ     r_ledbyte3buf.0
      	lcd_3b            equ     r_ledbyte3buf.1
      	lcd_3g            equ     r_ledbyte3buf.2
      	lcd_3c            equ     r_ledbyte3buf.3
      	lcd_s9            equ     r_ledbyte3buf.4
      	lcd_3f            equ     r_ledbyte3buf.5
      	lcd_3e            equ     r_ledbyte3buf.6
      	lcd_3d            equ     r_ledbyte3buf.7
r_ledbyte4buf		  equ     47h
      	lcd_4a            equ     r_ledbyte4buf.0
      	lcd_4b            equ     r_ledbyte4buf.1
      	lcd_4g            equ     r_ledbyte4buf.2
      	lcd_4c           equ     r_ledbyte4buf.3
      	lcd_s10            equ     r_ledbyte4buf.4
      	lcd_4e            equ     r_ledbyte4buf.5
      	lcd_4f            equ     r_ledbyte4buf.6
      	lcd_4d            equ     r_ledbyte4buf.7
r_ledbyte5buf		  equ     48h
      	lcd_5a            equ     r_ledbyte5buf.0
      	lcd_5b            equ     r_ledbyte5buf.1
      	lcd_5g            equ     r_ledbyte5buf.2
      	lcd_5c		  equ	  r_ledbyte5buf.3
      	lcd_col            equ     r_ledbyte5buf.4
      	lcd_5f            equ     r_ledbyte5buf.5
      	lcd_5e            equ     r_ledbyte5buf.6
      	lcd_5d            equ     r_ledbyte5buf.7
r_ledbyte6buf		  equ     49h
      	lcd_2a            equ     r_ledbyte6buf.0
      	lcd_2f            equ     r_ledbyte6buf.1
      	lcd_2e            equ     r_ledbyte6buf.2
      	lcd_s8            equ     r_ledbyte6buf.3
      	lcd_2b		  equ	  r_ledbyte6buf.4
      	lcd_2g            equ     r_ledbyte6buf.5
      	lcd_2c            equ     r_ledbyte6buf.6
      	lcd_2d            equ     r_ledbyte6buf.7
r_ledbyte7buf	          equ     4ah
      	lcd_1a            equ     r_ledbyte7buf.0
      	lcd_1f            equ     r_ledbyte7buf.1
      	lcd_1e            equ     r_ledbyte7buf.2
      	lcd_s7            equ     r_ledbyte7buf.3
      	lcd_1b            equ     r_ledbyte7buf.5
      	lcd_1g            equ     r_ledbyte7buf.6
      	lcd_1c            equ     r_ledbyte7buf.7
      	lcd_1d            EQU     r_ledbyte7buf.4
r_ledbyte8buf		  equ     4bh
      	lcd_6a            equ     r_ledbyte8buf.0
      	lcd_6f            equ     r_ledbyte8buf.1      
      	lcd_6e            equ     r_ledbyte8buf.2
      	lcd_6d            equ     r_ledbyte8buf.3
      	lcd_s6            equ     r_ledbyte8buf.4
      	lcd_6b            equ     r_ledbyte8buf.5
      	lcd_6g            equ     r_ledbyte8buf.6
      	lcd_6c            equ     r_ledbyte8buf.7
      
r_ledbyte9buf		  equ     4ch
      	lcd_s11           EQU     r_ledbyte9buf.0
      	lcd_s3            EQU     r_ledbyte9buf.1
      	lcd_s2            equ     r_ledbyte9buf.2
      	lcd_s1            equ     r_ledbyte9buf.3
      	lcd_s5            equ     r_ledbyte9buf.4
      	lcd_360           equ     r_ledbyte9buf.5
      	lcd_180           equ     r_ledbyte9buf.6
      	lcd_90            equ     r_ledbyte9buf.7
r_lcdram		  equ	  4dh
r_ledbyte1		  equ	  4eh
r_ledbyte2		  equ	  4fh

r_ledbyte3		  equ	  51h
r_ledbyte4		  equ	  52h
r_ledbyte5	          equ	  53h
r_ledbyte6	          equ     54h
r_ledbyte7		  equ	  55h
r_ledbyte8		  equ	  56h
r_ledbyte9		  equ	  57h

r_zcfdispay_cnt		  equ	  58h
r_reg0			  equ	  59h
r_sent_data		  equ     5ah
r_count			  equ	  5bh
;r_adtime_12ms		  equ	  62h
r_zcf_time		  equ	  63h
r_tempad_time		  equ	  64h
r_timezero_buf		  equ	  65h
r_keyad_buf		  equ	  62h
;***************************宏定义*****************************
mov_1			macro	vr1,vr2		;送立即数
			mov	a,#vr2
			b0mov   vr1,a
			endm
mov_2			macro	vr1,vr2		;送寄存器里的数
			b0mov	a,vr2
			b0mov   vr1,a
			endm			
cpjz     		macro 	var, j_addr       ;寄存器为0时跳转
         		b0mov	a,var
         		b0bts0	fz
         		jmp	j_addr
         		endm
cpjnz    		macro 	var, j_addr       ;寄存器不为0时跳转
         		b0mov	a,var
         		b0bts1	fz
         		jmp	j_addr
         		endm			
;**************************常数********************************
c_buz_long        	equ     50       ;50*4=200ms
c_buz_short       	equ     20       ;20*4=80ms	
c_2ms_cntinit     	equ     16
c_buz_timecnt     	equ     125      ;间隔500ms响

c_time5s		equ	78
c_time1s		equ	15
c_time4s		equ	62
;******************************************************************
.CODE
		org		00h
		jmp		start
		org		08h
		jmp		int_t
		org		10h
		jmp		start
;---------------------------------------------------------
tabeltemp_c:
;***Sensor type is CW36-503-3980***
;***Up_Res is 0  Down_Res is 22000    The ADC is 8 Bit ***
             dw   30,31,32,34,35,37,39,40,42,44;0C`~9C`
             dw   46,47,49,51,53,55,57,59,61,64;10C`~19C`
             dw   66,68,70,73,75,77,80,82,85,87;20C`~29C`
             dw   90,92,95,97,100,102,105,107,110,112;30C`~39C`
             dw   115,118,120,123,125,128,130,133,135,137;40C`~49C`
             dw   140,142,145,147,149,152,154,156,158,160;50C`~59C`
             dw   162,165,167,169,171,173,175,177,178,180;60C`~69C`
             dw   182,184,185,187,189,190,192,194,195,197;70C`~79C`
             dw   198,199,201,202,203,205,206,207,208,209;80C`~89C`
             dw   211,212,213,214,215,216,217,218,219,220;90C`~99C`
             dw   255,255;
tabeltemp_f:
             dw   1,2,3,4,5,6,7,8,9,10
             dw   11,12,13,14,15,16,17,18,19,20
             dw   21,22,23,24,25,26,27,27,27,27
             dw   27,27,30,31,31,32,33,34,34,35;30f`~39f`
             dw   35,37,39,39,40,41,42,42,44,42;40f`~49f`
             dw   46,47,48,49,50,51,52,53,54,55;50f`~59f`
             dw   57,58,59,60,61,62,64,65,66,68;60f`~69f`
             dw   69,70,71,73,75,76,76,77,80,81;70f`~79f`
             dw   82,83,85,86,87,88,90,92,93,95;80f`~89f`
             dw   96,97,98,100,101,102,105,106,107,110;90f`~99f`
             dw   110 ,110;
tabel_stoptime:
             dw   0
             dw   62;50;42;1档
             dw   59;48;40
             dw   55;45;37
             dw   49;43;35
             dw   41;42;34
             dw   34;37;29
             dw   26;32;24
             dw   17;26;8档
             dw   8 ;9档
tabel_8:
		; abgc fed
	     dw	  11101011b;11010111b;0
	     dw	  00001010b;01010000b;1
	     dw   11000111b;11100011b;2
	     dw   10001111b;11110001b;3
	     dw   00101110b;01110100b;4
	     dw   10101101b;10110101b;5
	     dw   11101101b;10110111b;6
	     dw   00001011b;11010000b;7
	     dw   11101111b;11110111b;8
	     dw	  10101111b;11110101b;9
tabel_88:
		; afed bgc
	     dw	  10101111b;11110101b;0
	     dw	  10100000b;00000101b;1
	     dw   01101101b;10110110b;2
	     dw   11101001b;10010111b;3
	     dw   11100010b;01000111b;4
	     dw   11001011b;11010011b;5
	     dw   11001111b;11110011b;6
	     dw   10100001b;10000101b;7
	     dw   11101111b;11110111b;8
	     dw   11101011b;11010111b;9	     
tabel_888:
		; afe bgcd
	     dw	  11010111b;11111011b;0 col点亮
	     dw	  01010000b;00011010b;1
	     dw   10110101b;10111101b;2
	     dw   11110001b;10011111b;3

⌨️ 快捷键说明

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