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

📄 compass.asm

📁 使用CYAN单片机的ECOG1开发板连接SIM300C的GSM模块开发的短信收发程序.供UART和AT指令编程者参考
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;
;/******************************************************************************
;Compass calibration functions.
;******************************************************************************/
;void compass_initialization(void)
;
$compass_initialization:
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?107.1:
	st	XH,@(-2,Y)
	st	X,@(-1,Y)
Lstab?9c:
;{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?108.1:
;	//compass_write(START_CAL);
;	//delay_ms(1000);
;	//compass_write(DONE_CAL);
;	
;	compass_heading_buf = 0;	
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?113.1:
	ld	AL,#0
	st	AL,@$compass_heading_buf
;	com_timing_count = 0;      
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?114.1:
	st	AL,@$com_timing_count
;	com_single_mea_data = 0;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?115.1:
	st	AL,@$com_single_mea_data
;	com_acknowledge_time = 0;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?116.1:
	st	AL,@$com_acknowledge_time
;	com_heading = 0;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?117.1:
	st	AL,@$com_heading
;	com_heading_buf = 0;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?118.1:
	ld	AH,#0
	st	AL,@$com_heading_buf+H'1
	st	AH,@$com_heading_buf
;	COMPASS_WROK_FLAG = COM_STOP_WROK;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?119.1:
	ld	AL,@$routing_flag
	and	AL,#-16
	or	AL,#3
	st	AL,@$routing_flag
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?120.1:
	ld	XH,@(-2,Y)
	bra	@(-1,Y)
Lstab?10c:
;
;}   
;    
;/******************************************************************************
;Compass calibration functions.  timing
;******************************************************************************/
;void __irq_code compass_heading_read(void)
;
$compass_heading_read?:
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?125.1:
	st	XH,@(-2,Y)
	st	X,@(-1,Y)
Lstab?11c:
;{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?126.1:
;		
;	if(COMPASS_WROK_FLAG == COM_TRANSMIT_DATA)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?128.1:
	ld	AL,@$routing_flag
	and	AL,#15
	add	Y,#-4
Lstab?12a:
	cmp	AL,#2
	bne	?L59F4
;	{		
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?129.1:
;		if(com_timing_count == 0)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?130.1:
	ld	AL,@$com_timing_count
	bne	?L7F4
;		{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?131.1:
;			com_acknowledge_time = 0;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?132.1:
	ld	AL,#0
	st	AL,@$com_acknowledge_time
;			compass_Dout_En = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?133.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'.?134.1:
	ld	AL,@$fd+H'10f
	or	AL,#4096
	st	AL,@$fd+H'10f
;			compass_Sclk_Clr = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?135.1:
	ld	AL,@$fd+H'110
	or	AL,#2
	st	AL,@$fd+H'110
;			com_single_mea_data = SINGLE_MEA;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?136.1:
	ld	AL,#13487
	st	AL,@$com_single_mea_data
;			
;			if(com_single_mea_data & 0x01)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?138.1:
	ld	AL,@$com_single_mea_data
	and	AL,#1
	beq	?L10F4
;				compass_Din_Set = 1;		//bit = 1
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?139.1:
	ld	AL,@$fd+H'110
	or	AL,#16
	st	AL,@$fd+H'110
	bra	?L12F4
?L10F4:
;			else
;				compass_Din_Clr = 1;		//bit = 0
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?141.1:
	ld	AL,@$fd+H'110
	or	AL,#32
	st	AL,@$fd+H'110
?L12F4:
;			com_single_mea_data = com_single_mea_data >> 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?142.1:
	ld	AL,@$com_single_mea_data
	ld	AH,#0
	lsr	#1
	st	AL,@$com_single_mea_data
;			com_timing_count ++;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?143.1:
	ld	AL,@$com_timing_count
	add	AL,#1
	st	AL,@$com_timing_count
	bra	?L59F4
?L7F4:
;		}
;		
;		else if(com_timing_count < 33)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?146.1:
	ld	AL,@$com_timing_count
	cmp	AL,#33
	bcc	?L15F4
;		{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?147.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'.?149.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'.?150.1:
	ld	AL,@$com_timing_count
	and	AL,#1
	bne	?L18F4
;			{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?151.1:
;				if(com_single_mea_data & 0x01)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?152.1:
	ld	AL,@$com_single_mea_data
	and	AL,#1
	beq	?L21F4
;					compass_Din_Set = 1;		//bit = 1
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?153.1:
	ld	AL,@$fd+H'110
	or	AL,#16
	st	AL,@$fd+H'110
	bra	?L23F4
?L21F4:
;				else
;					compass_Din_Clr = 1;		//bit = 0
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?155.1:
	ld	AL,@$fd+H'110
	or	AL,#32
	st	AL,@$fd+H'110
?L23F4:
;				com_single_mea_data = com_single_mea_data >> 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?156.1:
	ld	AL,@$com_single_mea_data
	ld	AH,#0
	lsr	#1
	st	AL,@$com_single_mea_data
?L18F4:
;			}
;			if(com_timing_count == 8)
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?158.1:
	ld	AL,@$com_timing_count
	cmp	AL,#8
	bne	?L25F4
;			{
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?159.1:
;				compass_Dout_Clr = 1;
^compass___compass.'D:\GPS\software\GPS_A_C\compass.c'.?160.1:
	ld	AL,@$fd+H'10f
	or	AL,#8192
	st	AL,@$fd+H'10f

⌨️ 快捷键说明

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