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

📄 sensor_oper.lst

📁 holtek mouse .asm firewave
💻 LST
字号:
"File: SENSOR_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 1


   1  0000              INCLUDE REG_DEF.INC


   2  0000              
   3  0000              PUBLIC	SEN_INIT
   4  0000              PUBLIC	SEN_READ_MONTION
   5  0000              PUBLIC	SEN_ENTRY_SLEEP_MODE
   6  0000              PUBLIC	SEN_RESUME
   7  0000              PUBLIC	DELAY_100US
   8  0000              
   9  0000              SEN_CODE .SECTION 'CODE'
  10  0000              
  11  0000              
  12  0000              	SEN_INIT:
  13  0000              			;DEFAULT OF CLOCK IS OUTPUT/HIGH
  14  0000              			;DEFAULT OF CLOCK IS OUTPUT/LOW
  15  0000              			
  16  0000  3415        			CLR		SEN_CLK_CTRL
  17  0001  3495        			CLR		SEN_DATA_CTRL
  18  0002  3014        			SET		SEN_CLK
  19  0003  3494        			CLR		SEN_DATA
  20  0004              
  21  0004  0F00        			MOV		A, PRODUCT_ID1
  22  0005  4086        			MOV		SEN_REGADDR,A 
  23  0006  2000     R  			CALL	SEN_READ_REG
  24  0007              
  25  0007  0F01        			MOV		A, PRODUCT_ID2
  26  0008  4086        			MOV		SEN_REGADDR,A 
  27  0009  2000     R  			CALL	SEN_READ_REG
  28  000A              
  29  000A  0F05        			MOV		A, OPERATION_MODE
  30  000B  4086        			MOV		SEN_REGADDR,A 
  31  000C  0FB8        			MOV		A, 0B8H
  32  000D  4087        			MOV		SEN_REGDATA, A
  33  000E  2000     R  			CALL	SEN_WRITE_REG
  34  000F              
  35  000F  0F06        			MOV		A, CONFIGURATION
  36  0010  4086        			MOV		SEN_REGADDR,A 
  37  0011  0F04        			MOV		A, 4
  38  0012  4087        			MOV		SEN_REGDATA, A
  39  0013  2000     R  			CALL	SEN_WRITE_REG
  40  0014  0003        			RET
  41  0015              
  42  0015              	SEN_READ_MONTION:
  43  0015              
  44  0015  3C64        			SZ		XYZ_ZERO_FLAG
  45  0016  2800     R  			JMP		STILL_CHECK_SENSOR
  46  0017              
  47  0017  3866        			SNZ		VALID_FSP
  48  0018  2800     R  			JMP		NOT_READ_MONTION
  49  0019              
  50  0019  3CE6        			SZ		RESEND_DATA_REQUIRED
  51  001A  2800     R  			JMP		NOT_READ_MONTION
  52  001B              
  53  001B              	STILL_CHECK_SENSOR:
  54  001B  0F02        			MOV		A, MONTION_STATUS
  55  001C  4086        			MOV		SEN_REGADDR, A
  56  001D  2000     R  			CALL	SEN_READ_REG
  57  001E              
"File: SENSOR_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 2

  58  001E  4707        			MOV		A, SEN_REGDATA
  59  001F  408C        			MOV		MONTION_VALUE, A
  60  0020  3B85        			SNZ		ACC.7
  61  0021  2800     R  			JMP		NO_MONTION_EXIT
  62  0022              
  63  0022              			;CHECK IF ANY AXIS OVERFLOW
  64  0022  3467        			CLR		MONTION_OVERFLOW
  65  0023  470C        			MOV		A, MONTION_VALUE
  66  0024  0E18        			AND		A, 018H
  67  0025  1085        			SZ		ACC
  68  0026  3067        			SET		MONTION_OVERFLOW;		NO_MONTION_EXIT		;OVERFLOW OCCURS, EXIT WITOUT REPORT MONTION
  69  0027              	
  70  0027  0F03        			MOV		A, DELTA_X
  71  0028  4086        			MOV		SEN_REGADDR, A
  72  0029  2000     R  			CALL	SEN_READ_REG
  73  002A              
  74  002A  4707        			MOV		A, SEN_REGDATA
  75  002B  408A        			MOV		MONTION_X, A
  76  002C              
  77  002C  0F04        			MOV		A, DELTA_Y
  78  002D  4086        			MOV		SEN_REGADDR, A
  79  002E  2000     R  			CALL	SEN_READ_REG
  80  002F              			
  81  002F  4187        			CPL	SEN_REGDATA
  82  0030              
  83  0030  4707        			MOV		A, SEN_REGDATA
  84  0031  0185        			CPL		ACC
  85  0032  1485        			INC		ACC
  86  0033  408B        			MOV		MONTION_Y, A
  87  0034              
  88  0034  306E        			SET		MOVEMENT.0
  89  0035              
  90  0035  2800     R  			JMP		EXIT_SEN_READ_MONTION
  91  0036              
  92  0036              	NO_MONTION_EXIT:
  93  0036  5F0A        			CLR		MONTION_X
  94  0037  5F0B        			CLR		MONTION_Y
  95  0038              
  96  0038              
  97  0038  2800     R  			JMP		NOT_READ_MONTION
  98  0039              
  99  0039              	EXIT_SEN_READ_MONTION:
 100  0039              			
 101  0039  3867        			SNZ		MONTION_OVERFLOW
 102  003A  2800     R  			JMP		CLR_X_Y
 103  003B              
 104  003B  5F0A        			CLR		MONTION_X
 105  003C  5F0B        			CLR		MONTION_Y
 106  003D              	NOT_READ_MONTION:
 107  003D              	CLR_X_Y:
 108  003D              
 109  003D  0003        			RET
 110  003E              
 111  003E              SEN_ENTRY_SLEEP_MODE:
 112  003E  0F06        			MOV		A, CONFIGURATION
 113  003F  4086        			MOV		SEN_REGADDR, A
 114  0040  0F0C        			MOV		A, 12
 115  0041  4087        			MOV		SEN_REGDATA, A
 116  0042  2000     R  			CALL	SEN_WRITE_REG
 117  0043              			
"File: SENSOR_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 3

 118  0043  0003        			RET
 119  0044              SEN_RESUME:
 120  0044  0F06        			MOV		A, CONFIGURATION
 121  0045  4086        			MOV		SEN_REGADDR, A
 122  0046  0F04        			MOV		A, 4
 123  0047  4087        			MOV		SEN_REGDATA, A
 124  0048  2000     R  			CALL	SEN_WRITE_REG
 125  0049              
 126  0049  0003        			RET	
 127  004A              						
 128  004A              	SEN_READ_REG:
 129  004A              
 130  004A  4706        			MOV		A, SEN_REGADDR
 131  004B  4088        			MOV		SEN_SPITEMP, A
 132  004C  2000     R  			CALL	SEN_WBYTE
 133  004D              			
 134  004D              			;DATA PHASE
 135  004D  2000     R  			CALL	SEN_RBYTE
 136  004E  4708        			MOV		A, SEN_SPITEMP
 137  004F  4087        			MOV		SEN_REGDATA, A		
 138  0050              
 139  0050  0003        			RET
 140  0051              			
 141  0051              	SEN_WRITE_REG:
 142  0051              			;ADDRESS PHASE
 143  0051  4706        			MOV		A, SEN_REGADDR
 144  0052  0D80        			OR		A, 080H
 145  0053  4088        			MOV		SEN_SPITEMP, A
 146  0054  2000     R  			CALL	SEN_WBYTE
 147  0055              
 148  0055              			;DATA PHASE
 149  0055  4707        			MOV		A, SEN_REGDATA
 150  0056  4088        			MOV		SEN_SPITEMP, A	
 151  0057  2000     R  			CALL	SEN_WBYTE
 152  0058              
 153  0058  3014        			SET		SEN_CLK
 154  0059  3494        			CLR		SEN_DATA
 155  005A              
 156  005A  0003        			RET			
 157  005B              			
 158  005B              	SEN_WBYTE:
 159  005B  0F08        			MOV	A, 8		
 160  005C              			
 161  005C              		SEN_WBYTE_LOOP:
 162  005C  3414        			CLR		SEN_CLK
 163  005D  3494        			CLR		SEN_DATA
 164  005E  7F88        			SZ		SEN_SPITEMP.7
 165  005F  3094        			SET		SEN_DATA
 166  0060  0000        			NOP
 167  0061  0000        			NOP
 168  0062  0000        			NOP
 169  0063  0000        			NOP
 170  0064  3014        			SET		SEN_CLK
 171  0065  5888        			RL		SEN_SPITEMP
 172  0066  1785        			SDZ		ACC
 173  0067  2800     R  			JMP		SEN_WBYTE_LOOP
 174  0068              
 175  0068  0003        			RET
 176  0069              			
 177  0069              	SEN_RBYTE:
"File: SENSOR_OPER.ASM  Holtek Cross-Assembler  Version 2.86      Page 4

 178  0069  0F08        			MOV		A, 8
 179  006A  5F08        			CLR		SEN_SPITEMP
 180  006B  3095        			SET		SEN_DATA_CTRL
 181  006C              			
 182  006C              		SEN_RBYTE_LOOP:
 183  006C  5888        			RL		SEN_SPITEMP
 184  006D  3414        			CLR		SEN_CLK
 185  006E  0000        			NOP
 186  006F  0000        			NOP
 187  0070  0000        			NOP
 188  0071  0000        			NOP
 189  0072  3014        			SET		SEN_CLK
 190  0073  3C94        			SZ		SEN_DATA
 191  0074  7008        			SET		SEN_SPITEMP.0
 192  0075  1785        			SDZ		ACC
 193  0076  2800     R  			JMP		SEN_RBYTE_LOOP
 194  0077              			
 195  0077  3495        			CLR		SEN_DATA_CTRL
 196  0078  3014        			SET		SEN_CLK
 197  0079              
 198  0079  0003        			RET	
 199  007A              			
 200  007A              	DELAY_2MS:
 201  007A  2000     R  			CALL	DELAY_100US
 202  007B  2000     R  			CALL	DELAY_100US
 203  007C  2000     R  			CALL	DELAY_100US
 204  007D  2000     R  			CALL	DELAY_100US
 205  007E  0003        			RET
 206  007F              			
 207  007F              	DELAY_100US:
 208  007F  0FFF        			MOV		A, 255
 209  0080  4089        			MOV		SEN_TEMP, A
 210  0081              	
 211  0081              	D100USLOOP:
 212  0081  5789        			SDZ		SEN_TEMP
 213  0082  2800     R  			JMP		D100USLOOP
 214  0083              
 215  0083  0003        			RET		


        0 Errors

⌨️ 快捷键说明

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