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

📄 zxce_1_cpu2.asm

📁 c8051f020和prt905还有tc35语言
💻 ASM
📖 第 1 页 / 共 5 页
字号:
		mov			dph,dp_h
		mov			dpl,dp_l
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr
;csq
		mov			a,csqbuf1
		movx		@dptr,a
		inc			dptr
		mov			a,csqbuf2
		movx		@dptr,a
		inc			dptr
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr
;rh		
		mov			dp_h,dph
		mov			dp_l,dpl
		mov			dptr,#rh_buf
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#rh_buf+1
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#rh_buf+2
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr
;ht		
		mov			dp_h,dph
		mov			dp_l,dpl
		mov			dptr,#ht_buf
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+1
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+2
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+3
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+4
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
	
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		mov			dptr,#a_hrbuf
		mov			r0,#06h
put_dat4_t:
		movx		a,@dptr
		inc			dptr
		lcall		push_dptr
		djnz		r0,put_dat4_t

		mov			dph,dp_h
		mov			dpl,dp_l
		mov			a,#29h						;")"
		movx		@dptr,a

		lcall		set_wdot
		ret




;---------------put_dtt_ready--------------------整点回复数据
put_dtt4:
		mov			dptr,#txd_buf
		mov			a,#28h		;"("
		movx		@dptr,a
		inc			dptr
		mov			a,#44h		;"D"
		movx		@dptr,a
		inc			dptr
		mov			a,#54h		;"T"
		movx		@dptr,a
		inc			dptr
		mov			a,#54h		;"T"
		movx		@dptr,a
		inc			dptr
		mov			a,#34h		;"4"
		movx		@dptr,a
		inc			dptr
		mov			a,#2fh		;"/"
		movx		@dptr,a
		inc			dptr

		mov			dp_h,dph
		mov			dp_l,dpl
		mov			dptr,#t1_max_buf
		mov			r0,#3ch						;12道数据,60位
put_dtt4_tmax:
		movx		a,@dptr
		inc			dptr
		lcall		push_dptr
		djnz		r0,put_dtt4_tmax

		mov			dph,dp_h
		mov			dpl,dp_l
		mov			a,#2fh			;"/"
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		
		mov			dptr,#vcc_buf
		mov			r0,#03h
put_dtt4_vcc:
		movx		a,@dptr
		inc			dptr
		lcall		push_dptr
		djnz		r0,put_dtt4_vcc
		mov			dph,dp_h
		mov			dpl,dp_l
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr

;csq		
		mov			a,csqbuf1
		movx		@dptr,a
		inc			dptr
		mov			a,csqbuf2
		movx		@dptr,a
		inc			dptr
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
;rh		
		mov			dptr,#rh_buf
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		mov			dptr,#rh_buf+1
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		mov			dptr,#rh_buf+2
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
;ht		
		mov			dptr,#ht_buf
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+1
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+2
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+3
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#ht_buf+4
		movx		a,@dptr
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
	
		mov			a,#2fh						;"/"
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		
		mov			dptr,#a_hrbuf
		mov			r0,#06h
put_dtt4_tim:
		movx		a,@dptr
		inc			dptr
		lcall		push_dptr
		djnz		r0,put_dtt4_tim
		mov			dph,dp_h
		mov			dpl,dp_l
		mov			a,#29h						;")"
		movx		@dptr,a
		lcall		set_wdot
		ret
;--------------外部晶体时钟初始化------------------
clk_init:
		mov			oscxcn,#66h
		clr			a
		djnz		acc,$
		djnz		acc,$
		djnz		acc,$
		djnz		acc,$
osc_wait:
		mov			a,oscxcn
		jnb			acc.7,osc_wait
		orl			oscicn,#08h
		lcall		set_wdot
		ret
;----------------串行I/O端口初始化-------------------
port_init:					
		mov			xbr0,#04h
		mov			xbr1,#00h
		mov			xbr2,#44h
		nop
		mov			p0mdout,#00001111b
		nop
		mov			p1mdin,#11111111b
		mov			p1mdout,#11111111b
		mov			p2mdout,#00111111b
		lcall		set_wdot	
		ret
;-------------uart串口的初始化参数设置------------------
init_uart0:					
		mov			scon0,#50h		;串口0,方式1,8位UART,使能接收
		mov			tmod,#20h			;方式2,用定时器T1
		mov			th1,#70h			;设置定时器T1作为UART0波特率重载值
		orl			ckcon,#10h		;T1使用系统时钟
		orl			pcon,#80h			;禁止UART0波特率/2 功能
		setb		tr1
		lcall		set_wdot	
		ret
init_uart1:
		mov			scon1,#50h
		mov			rcap4h,#0ffh
		mov			rcap4l,#0b8h
		orl			ckcon,#40h
		orl			pcon,#10h
		orl			t4con,#00110000b
		anl			t4con,#11110100b
		orl			t4con,#00000100b
		lcall		set_wdot
		ret
;------------使能/复位WDT--------------
set_wdot:					
		push		dph
		push		dpl
		push		acc
		mov			wdtcn, #0a5h
		pop			acc
		pop			dpl
		pop			dph
		ret
;-------------堆栈子程序----------------
push_dptr:
		push		dph
		push		dpl
		mov			dph,dp_h
		mov			dpl,dp_l
		movx		@dptr,a
		inc			dptr
		mov			dp_h,dph
		mov			dp_l,dpl
		pop			dpl
		pop			dph
		ret
;-------------延时------------------
delay_1s:
		mov			r4,#65h
delay_1s_1:				
		lcall		delay_100ms
		djnz		r4,delay_1s_1
		lcall		set_wdot
		ret
;-------------延时100ms--------------
delay_100ms:
		mov			r5,#0ffh
		mov			r6,#0ffh
delay_100ms_1:				
		djnz		r6,$
		mov			r6,#0ffh
		djnz		r5,delay_100ms_1
		lcall		set_wdot
		ret
;--------------延时1ms----------------
delay_1ms:
		push		dpl
		push		dph
		push		acc
		push		05h
		push		06h

		mov			r5,#0ffh
delay_1ms_1:					
		mov			R6, #0ffh
		djnz		r6, $
		djnz		r5,delay_1ms_1
		lcall		set_wdot
		pop			06h
		pop			05h
		pop			acc
		pop			dph
		pop			dpl
		ret
;-----------------------------------------
tc35_delay:
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		set_wdot
		ret
;---------------------------------------
set_power:
		setb		tc35_up
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		clr			tc35_up
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		delay_1s
		lcall		set_wdot
		ret
;-----------------------------------------------
set_igt:
		setb		igt
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		clr			igt
		lcall		delay_1s
		lcall		set_wdot
		ret
;---------------------------------------------------
set_led:
		clr			led
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms	
		lcall		delay_100ms
		lcall		delay_100ms			
		setb		led
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms	
		lcall		delay_100ms
		lcall		delay_100ms	
		lcall		set_wdot
		ret
;-------------------------------------------------
set_spk:					
		clr			spk
		lcall		delay_100ms					
		lcall		delay_100ms	
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms	
		lcall		delay_100ms					
		lcall		delay_100ms	
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms			
		setb		spk
		lcall		delay_100ms					
		lcall		delay_100ms	
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms	
		lcall		delay_100ms					
		lcall		delay_100ms	
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms
		lcall		delay_100ms			
		lcall		set_wdot
		ret
;----------------清温度缓冲区----------------------
clr_wendu_buf:	
		mov			r0,#0ffh
		mov			dptr,#t1_buf
clr_t_buf_1:					
		mov			a,#38h
		movx		@dptr,a
		inc			dptr
		djnz		r0,clr_t_buf_1
		mov			a,#38h
		movx		@dptr,a
		mov			r1,#0ch
		mov			dptr,#t1_buf
clr_t_buf_2:
		mov			a,#2dh
		movx		@dptr,a
		inc			dptr
		inc			dptr
		inc			dptr
		inc			dptr
		inc			dptr
		djnz		r1,clr_t_buf_2
		mov			a,#2dh
		lcall		set_wdot
		ret

;-------------清温度最大值缓冲区----------------
clr_wendu_buf_max:	
		mov			r0,#0ffh
		mov			dptr,#t1_max_buf
clr_t_buf_max_1:					
		mov			a,#38h
		movx		@dptr,a
		inc			dptr
		djnz		r0,clr_t_buf_max_1
		mov			a,#38h
		movx		@dptr,a
		mov			r1,#32h
		mov			dptr,#t1_max_buf
clr_t_buf_max_2:					
		mov			a,#2dh
		movx		@dptr,a
		inc			dptr
		inc			dptr
		inc			dptr
		inc			dptr
		inc			dptr
		djnz		r1,clr_t_buf_max_2
		mov			a,#2dh
		movx		@dptr,a
		lcall		set_wdot
		ret
;----------------清接收缓冲区----------------------
clr_rxd_buf:					
		mov			r0,#0ffh
		mov			dptr,#rxd_buf
clr_rx_data_buf_1:					
		mov			a,#0ffh
		movx		@dptr,a
		inc			dptr
		djnz		r0,clr_rx_data_buf_1
		mov			a,#0ffh
		movx		@dptr,a
		lcall		set_wdot
		ret
;---------------清发送缓冲区-----------------
clr_txd_buf:					
		mov			r0,#0ffh
		mov			dptr,#txd_buf
clr_tx_data_buf_1:					
		mov			a,#0ffh
		movx		@dptr,a
		inc			dptr
		djnz		r0,clr_tx_data_buf_1
		mov			a,#0ffh
		movx		@dptr,a
		lcall		set_wdot
		ret
;-------------清温度数据接收缓冲区--------------
clr_wendu_databuf:
		mov			r0,#0ffh
		mov			dptr,#wendu_databuf
clr_wendu_databuf_1:
		mov			a,#30h
		movx		@dptr,a
		inc			dptr
		djnz		r0,clr_wendu_databuf_1
		mov			a,#30h
		movx		@dptr,a
		lcall		set_wdot
		ret
;-------------清短信存放区(存有用的短信)------------
clr_sms_buf:
		mov			dptr,#sms_buf
		mov			r1,#0ffh
clr_sms_buf_1:
		mov			a,#0ffh
		movx		@dptr,a
		inc			dptr
		djnz		r1,clr_sms_buf_1
		mov			a,#0ffh
		movx		@dptr,a
		lcall		set_wdot
		ret
;-------------清接收中心号码缓存区--------------------
clr_cen_r_num_buf:
		mov			dptr,#cen_r_num
		mov			r1,#0fh
clr_cen_r_num_buf_1:					
		mov			a,#0ffh
		movx		@dptr,a
		inc			dptr
		djnz		r1,clr_cen_r_num_buf_1
		mov			a,#0ffh
		movx		@dptr,a
		lcall		set_wdot
		ret
;------------清发送中心号码缓存区-----------------------
clr_cen_t_num_buf:
		mov			dptr,#cen_t_num
		mov			r1,#0fh
clr_cen_t_num_buf_1:					
		mov			a,#0ffh
		movx		@dptr,a
		inc			dptr
		djnz		r1,clr_cen_t_num_buf_1
		mov			a,#0ffh
		movx		@dptr,a
		lcall		set_wdot	
		ret		
;------------清存放取得的号码缓冲区--------------
clr_sms_num_buf:
		mov			dptr,#rec_sms_num
		mov			r1,#0fh
clr_sms_num_buf_1:					
		mov			a,#0ffh
		movx		@dptr,a
		inc			dptr
		djnz		r1,clr_sms_num_buf_1
		mov			a,#0ffh
		movx		@dptr,a
		lcall		set_wdot
		ret
;------------从串口0发送一个字节-------------
sent_byte0:

⌨️ 快捷键说明

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