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

📄 compass.asm

📁 使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发程序.供UART和AT指令编程者参考
💻 ASM
📖 第 1 页 / 共 5 页
字号:
?L25F4:
;			}
;			if(com_timing_count == 32)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?162.1:
	ld	AL,@$com_timing_count
	cmp	AL,#32
	bne	?L29F4
;			{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?163.1:
;				compass_Dout_Set = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?164.1:
	ld	AL,@$fd+H'10f
	or	AL,#4096
	st	AL,@$fd+H'10f
?L29F4:
;			}
;			com_timing_count ++;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?166.1:
	ld	AL,@$com_timing_count
	add	AL,#1
	st	AL,@$com_timing_count
	bra	?L59F4
?L15F4:
;		}
;		
;		else if(com_timing_count == 33)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?169.1:
	ld	AL,@$com_timing_count
	cmp	AL,#33
	bne	?L35F4
;		{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?170.1:
;			com_acknowledge_time ++;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?171.1:
	ld	AL,@$com_acknowledge_time
	add	AL,#1
	st	AL,@$com_acknowledge_time
;			if(com_acknowledge_time >= COM_ACKNOWLEDGE_50MS - 4)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?172.1:
	ld	AL,@$com_acknowledge_time
	cmp	AL,#66
	bcs	?L38F4
;			{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?173.1:
;				compass_Dout_Dis = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?174.1:
	ld	AL,@$fd+H'10f
	or	AL,#-32768
	st	AL,@$fd+H'10f
?L38F4:
;			}
;			if(com_acknowledge_time >= COM_ACKNOWLEDGE_50MS)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?176.1:
	ld	AL,@$com_acknowledge_time
	cmp	AL,#70
	bcs	?L42F4
;			{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?177.1:
;				com_acknowledge_time = 0;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?178.1:
	ld	AL,#0
	st	AL,@$com_acknowledge_time
;				com_timing_count ++;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?179.1:
	ld	AL,@$com_timing_count
	add	AL,#1
	st	AL,@$com_timing_count
?L42F4:
	bra	?L59F4
?L35F4:
;			}
;		}
;		else if(com_timing_count < 75)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?182.1:
	ld	AL,@$com_timing_count
	cmp	AL,#75
	bcc	?L48F4
;		{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?183.1:
;			rg.io.gp12_15_out = IO_GP12_15_OUT_CLR12_MASK | IO_GP12_15_OUT_SET12_MASK;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?184.1:
	ld	AL,#3
	st	AL,@$rg+H'110
;			if(com_timing_count % 2 != 0)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?185.1:
	ld	AL,@$com_timing_count
	and	AL,#1
	beq	?L56F4
;			{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?186.1:
;				if(compass_Dout_In)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?187.1:
	ld	AL,@$fd+H'116
	asr	#6
	and	AL,#1
	beq	?L54F4
;					com_heading_buf = (com_heading_buf << 1) | 0x01;  // read "1"
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?188.1:
	ld	AL,@$com_heading_buf+H'1
	ld	AH,@$com_heading_buf
	asl	#1
	or	AL,#1
	st	AL,@$com_heading_buf+H'1
	st	AH,@$com_heading_buf
	bra	?L56F4
?L54F4:
;				else
;					com_heading_buf = com_heading_buf << 1;           // read "0"
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?190.1:
	ld	AL,@$com_heading_buf+H'1
	ld	AH,@$com_heading_buf
	asl	#1
	st	AL,@$com_heading_buf+H'1
	st	AH,@$com_heading_buf
?L56F4:
?L51F4:
;			}
;			com_timing_count ++;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?192.1:
	ld	AL,@$com_timing_count
	add	AL,#1
	st	AL,@$com_timing_count
	bra	?L59F4
?L48F4:
;		}
;		else
;		{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?195.1:
;			
;			compass_Sclk_Clr = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?197.1:
	ld	AL,@$fd+H'110
	or	AL,#2
	st	AL,@$fd+H'110
;			compass_Din_Clr = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?198.1:
	ld	AL,@$fd+H'110
	or	AL,#32
	st	AL,@$fd+H'110
;			compass_Dout_En = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?199.1:
	ld	AL,@$fd+H'10f
	or	AL,#16384
	st	AL,@$fd+H'10f
;			compass_Dout_Set = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?200.1:
	ld	AL,@$fd+H'10f
	or	AL,#4096
	st	AL,@$fd+H'10f
;	
;			*((int*)(&compass_receiv))	= (int)(com_heading_buf);
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?202.1:
	ld	AL,@$com_heading_buf+H'1
	st	AL,@$compass_receiv
;			
;			//if((int)(com_heading_buf >> 16) != (Com_distortion + Com_heading2 + Com_heading1 + Com_heading0) & 0x000f)
;			//	com_heading = 0xffff;
;			//if((Com_distortion != 0) && (Com_distortion != 2))
;			//	return(0);
;	
;			//else 
;			com_heading = (unsigned int)(Com_heading2 * 100 + Com_heading1 * 10 + Com_heading0);
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?210.1:
	ld	AL,@$compass_receiv
	asr	#8
	and	AL,#15
	st	AL,@$?irq_scratchpad?+5	; %r2
	ld	AL,#100
	ld	AH,@$?irq_scratchpad?+5	; %r2
	bsr	$__mh?
	st	AL,@(1,Y)	; %r16
	ld	AL,@$compass_receiv
	asr	#4
	and	AL,#15
	st	AL,@$?irq_scratchpad?+5	; %r2
	ld	AL,#10
	ld	AH,@$?irq_scratchpad?+5	; %r2
	bsr	$__mh?
	add	AL,@(1,Y)	; %r16
	ld	AH,@$compass_receiv
	and	AH,#15
	st	AH,@$?irq_scratchpad?+5	; %r2
	add	AL,@$?irq_scratchpad?+5	; %r2
	st	AL,@$com_heading
;			if(com_heading >= 360)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?211.1:
	ld	AL,@$com_heading
	cmp	AL,#360
	bcs	?L61F4
;			{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?212.1:
;				com_heading = 0;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?213.1:
	ld	AL,#0
	st	AL,@$com_heading
?L61F4:

⌨️ 快捷键说明

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