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

📄 main.lst

📁 153按收红外遥控码源码,大edsafasfas
💻 LST
📖 第 1 页 / 共 3 页
字号:
   127                    
   128                    
   129                    
   130                    		;*********************************************
   131 003F               time_Int_ret:
   132                    		;------------------------------
   133                    		;	恢复保存状态
   134                    		;------------------------------
   135 003F 042E          		mov		a,pop_statu
   136 0040 0043          		mov		FLAG,a
   137 0041 042F          		mov		a,pop_a
   138 0042 080F          		bc		INT_STATU,@TC_FLAG_BIT
   139 0043 0013          		reti
   140                    
   141                    
   142                    
   143                    
   144                    
   145                    ;==============================================================================================
   146                    ;脚位变化中断
   147                    ;==============================================================================================
   148 0044               Exent_Int1:
   149                    		;------------------------------
   150                    		;	保存状态寄存器
   151                    		;------------------------------
   152 0044 006F          		mov		pop_a,a
   153 0045 0403          		mov		a,FLAG
   154 0046 006E          		mov		pop_statu,a
   155                    		;*********************************************
   156                    
   157                    
   158                    
   159                    
   160                    
   161                    
   162                    
   163                    		
   164                    		;*********************************************
   165 0047               Exent_Int1_ret:
   166                    		;------------------------------
   167                    		;	恢复保存状态
   168                    		;------------------------------
   169 0047 042E          		mov		a,pop_statu
   170 0048 0043          		mov		FLAG,a
   171 0049 042F          		mov		a,pop_a
   172 004A 084F          		bc		INT_STATU,@P6_FLAG_BIT
   173 004B 0013          		reti
   174                    
   175                    
   176                    
   177                    
   178                    
   179                    
   180                    
   181                    ;==============================================================================================
   182                    ;外部中断
   183                    ;==============================================================================================
   184 004C               Exent_Int0:	
   185                    		;------------------------------
   186                    		;	保存状态寄存器
   187                    		;------------------------------
   188 004C 006F          		mov		pop_a,a
   189 004D 0403          		mov		a,FLAG
   190 004E 006E          		mov		pop_statu,a
   191                    		;*********************************************
   192                    		
   193 004F 00D8          		clr             Time_Delay
   194 0050 00D9          		clr             Time_Delay1
   195                    
   196 0051 0C11          		jbc		Status_1,@STATE_9M_BIT			;判断是否是接收起始码9毫秒状态
   197 0052 1457          		jmp		state_first	
   198 0053 0C51          		jbc		Status_1,@STATE_2M_BIT			;
   199 0054 146A          		jmp		state_third	
   200 0055 0A11          		bs		Status_1,@STATE_9M_BIT			;设置状态为接收9毫秒
   201 0056 1480          		jmp             ex_int_ret
   202 0057               state_first:
   203 0057 0412          		mov		a,Time_Int_Count
   204 0058 1D91          		sub		a,@IR_TIME_9000US+IR_TIME_4500US+10*IR_TIME_MARGIN
   205 0059 0E03          		jbs		FLAG,@C
   206 005A 147E          		jmp		error_return
   207                    		
   208 005B 0412          		mov		a,Time_Int_Count
   209 005C 1D66          		sub		a,@IR_TIME_9000US+IR_TIME_2250US-10*IR_TIME_MARGIN
   210 005D 0C03          		jbc		FLAG,@C
   211 005E 147E          		jmp		error_return
   212                    
   213 005F 0412          		mov		a,Time_Int_Count
   214 0060 1D7D          		sub		a,@IR_TIME_9000US+IR_TIME_4500US-10*IR_TIME_MARGIN
   215 0061 0E03          		jbs		FLAG,@C
   216 0062 1465          		jmp		SET_SECN_2MS
   217 0063 055A          		inc		Ir_Repeat_Times
   218 0064 147E          		jmp		error_return
   219 0065               SET_SECN_2MS:
   220 0065 0A51          		bs		Status_1,@STATE_2M_BIT
   221 0066 0811          		bc		Status_1,@STATE_9M_BIT
   222 0067 1820          		mov		a,@0x20						;接收码值长度
   223 0068 0053          		mov		Remote_Bit_Count,a
   224 0069 1480          		jmp             ex_int_ret
   225 006A               state_third:
   226                    
   227 006A 0412          		mov		a,Time_Int_Count
   228 006B 1D19          		sub		a,@IR_TIME_2250US+3*IR_TIME_MARGIN		;允许误差300us
   229 006C 0E03          		jbs		FLAG,@C
   230 006D 147E          		jmp		error_return
   231                    
   232 006E 0412          		mov		a,Time_Int_Count
   233 006F 1D08          		sub		a,@IR_TIME_1125US-3*IR_TIME_MARGIN		;允许误差300us
   234 0070 0C03          		jbc		FLAG,@C
   235 0071 147E          		jmp		error_return
   236                    		
   237 0072 0412          		mov		a,Time_Int_Count
   238                    		;与当中值(1125+2250)/2=1.6ms判断是1或0
   239 0073 1D10          		sub		a,@(IR_TIME_2250US+IR_TIME_1125US)/2 	
   240 0074 0654          		rrc             Remote_Cmd_Code1
   241 0075 0655          		rrc             Remote_Cmd_Code0
   242 0076 0656          		rrc             Remote_Sys_Code1
   243 0077 0657          		rrc             Remote_Sys_Code0
   244                    				
   245 0078 01D3          		dec		Remote_Bit_Count
   246 0079 0E83          		jbs		FLAG,@Z
   247 007A 1480          		jmp		ex_int_ret
   248 007B               set_ok:
   249                    		;遥控码接收完毕
   250 007B 00DA          		clr		Ir_Repeat_Times
   251 007C 0B11          		bs		Status_1,@IR_KEY_OK_BIT
   252 007D 0B51          		bs		Status_1,@IR_KEY_DOWN_UP_BIT
   253 007E               error_return:
   254                    		;初始化接收状态
   255 007E 0851          		bc		Status_1,@STATE_2M_BIT
   256 007F 0A11          		bs		Status_1,@STATE_9M_BIT
   257                    
   258 0080               ex_int_ret:
   259 0080 00D2          		clr             Time_Int_Count
   260                    
   261                    
   262                    
   263                    		;*********************************************
   264 0081               Exent_Int0_ret:
   265 0081 088F          		bc		INT_STATU,@EX_FLAG_BIT
   266                    		;------------------------------
   267                    		;	恢复保存状态
   268                    		;------------------------------
   269 0082 042E          		mov		a,pop_statu
   270 0083 0043          		mov		FLAG,a
   271 0084 042F          		mov		a,pop_a
   272 0085 0013          		reti
   273                    		;------------------------------
   274                    		;外部中断结束
   275                    		;------------------------------
   276                    
   277                    
   278                    		
   279                    
   280                    
   281                    ;===============================================
   282                    ;	Includes Other Functions.
   283                    ;===============================================
   284                    
   285                    include		"init_sys.asm"
     1           C        ;===============================================
     2           C        ;	Function:CleanRam()
     3           C        ;===============================================	
     4 0086      C        CleanRam:	
     5 0086 1810 C        		mov		A,@0x10
     6 0087 0044 C        		mov		R4,A
     7 0088      C        Loop:
     8           C        		; clr R0 ==> [R4]=0
     9 0088 00C0 C        		clr		R0
    10 0089 0544 C        		inc		R4
    11 008A 0404 C        		mov		A,R4
    12 008B 0883 C        		bc	 	FLAG,@Z
    13 008C 1BC0 C        		xor		A,@0xc0
    14 008D 1D30 C        		sub		A,@0x30
    15 008E 0E83 C        		jbs		FLAG,@Z
    16 008F 1488 C        		jmp		Loop
    17 0090 0012 C        		ret
    18           C        
    19           C        
    20           C        ;===============================================
    21           C        ;	Function:Init_Ioport()设置端口状态
    22           C        ;===============================================	
    23 0091      C        Init_Ioport:	
    24           C        
    25 0091 00C5 C        		clr	P5
    26 0092 00C6 C        		clr	P6
    27 0093 0080 C        		clra	
    28 0094 0005 C        		iow	P5CON
    29 0095 1801 C        		mov	a,@0x01	
    30 0096 0006 C        		iow	P6CON
    31           C        		
    32 0097 0012 C        		ret
    33           C        
    34           C        
    35           C        
    36           C        
    37           C        
    38           C        
    39           C        
    40           C        ;===============================================
    41           C        ;	Function:Init_Con_reg()初始化控制寄存器
    42           C        ;===============================================	
    43 0098      C        Init_Con_reg:	
    44           C        		;禁止看门狗
    45           C        		;wdtc		
    46 0098 1801 C        		mov		a,@0000001B		;f/4
    47 0099 0002 C        		contw		
    48 009A 18E6 C        		mov		a,@230d
    49 009B 0041 C        		mov		TIME_COUNT,a
    50           C        		;----------------------------------------------
    51           C        		;计数中断使能
    52           C        		;bc		INT_STATU,@TC_FLAG_BIT
    53 009C 0A0F C        		bs		INT_STATU,@TC_FLAG_BIT
    54 009D 001F C        		ior		INT_MAST
    55 009E 0050 C        		mov		A_buff,a
    56           C        		;bc		A_buff,@TC_FLAG_BIT
    57 009F 0A10 C        		bs		A_buff,@TC_FLAG_BIT
    58 00A0 0410 C        		mov		a,A_buff
    59 00A1 000F C        		iow		INT_MAST
    60           C        		;----------------------------------------------
    61           C        		;外部中断使能
    62           C        		;bc		INT_STATU,@EX_FLAG_BIT
    63 00A2 0A8F C        		bs		INT_STATU,@EX_FLAG_BIT
    64 00A3 001F C        		ior		INT_MAST
    65 00A4 0050 C        		mov		A_buff,a

⌨️ 快捷键说明

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