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

📄 lookaround.lst

📁 图象识别礼包 原理图采用OrCad软件或PowerPCB软件打 识别各种格式 位图 矢量图
💻 LST
📖 第 1 页 / 共 4 页
字号:
0000997A 41 92              						r1 = 0x01;						// 程序入口偏移量
0000997B 19 D3 F7 02        						[R_Offset] = r1;
0000997D 90 9A              						retf;
                            						.endp
                            	//================================================
                            	// 函数名称:	T_JumpTable
                            	// 功能描述:	程序入口
                            	// 入口参数:			 
                            	// 出口参数:
                            	// 破坏寄存器:					
                            	//=================================================
                            	.public	T_JumpTable;
                            	T_JumpTable:
0000997E 89 99              					.dw	L_LookAroundStoped;				// 0
0000997F 96 99              					.dw	L_ResetEngine;					// 1
00009980 9D 99              					.dw	L_BeingDelay1stTime;            // 2
00009981 A5 99              					.dw	L_BeingDelay2ndTime;			// 3
00009982 A5 99              					.dw	L_BeingDelay3rdTime;			// 4
00009983 A5 99              					.dw	L_BeingDelay4thTime;			// 5
00009984 B0 99              					.dw	L_BeingDelay5thTime;			// 6
00009985 C5 99              					.dw	L_BeingDelay6thTime;			// 7
00009986 CD 99              					.dw	L_AssigneColorAgain;			// 8
00009987 D6 99              					.dw	L_BeingDelay7thTime;			// 9
00009988 E5 99              					.dw	L_BeingDelay9thTime;			// A
                            				
                            	L_LookAroundStoped:
00009989 90 9A              					retf;
                            	//================================================
                            	// 函数名称:	LookAround
                            	// 功能描述:	获得物体颜色、形状、X、Y、Size
                            	// 入口参数:			 
                            	// 出口参数:
                            	// 破坏寄存器:					
                            	//=================================================											
                            	.public	_LookAround;
                            	.public	F_LookAround;
                            	_LookAround:	.proc
                            	F_LookAround:
0000998A 11 93 F6 02        					r1 = [R_Flag];						// R_Flag = 0 初始化
0000998C 44 B2              					r1 &= 0x0004;
0000998D 06 4E              					jnz	L_Restart;
                            	 
0000998E 09 93 7E 99        					r1 = T_JumpTable;
00009990 11 03 F7 02        					r1 += [R_Offset];				
00009992 C1 92              					r1 = [r1];
00009993 01 9F              					pc = r1;
                            	L_Restart:
00009994 40 F0 5F 99        					call	F_LookAround_Initial;			
                            																	
                            	L_ResetEngine:
00009996 42 92              					r1 = 0x02;
00009997 19 D3 F7 02        					[R_Offset] = r1;
00009999 40 92              					r1 = 0x00;
0000999A 19 D3 0C 03        					[R_DelayTime] = r1;
0000999C 90 9A              					retf;
                            	
                            	L_BeingDelay1stTime:
0000999D 40 F0 83 92        					call	F_Delay55ms;				// 延时55MS
0000999F 11 93 F6 02        					r1 = [R_Flag];
000099A1 09 B3 00 80        					r1 &= 0x8000;
000099A3 01 4E              					jnz	L_HaveDelay1stTime;				// 判断时间到否
000099A4 90 9A              					retf;
                            	
                            	L_HaveDelay1stTime:						
                            	L_BeingDelay2ndTime:
                            	L_BeingDelay3rdTime:				
                            	L_BeingDelay4thTime:				
                            	
000099A5 40 F0 0C 8F        					call	F_NormalOperMode;			// 写0F到高地址75
000099A7 40 F0 9E 8E        					call	F_OperMode;					// 写00到低地址00;允许75E0、75E8使用
000099A9 46 92              					r1 = 0x06;
000099AA 19 D3 F7 02        					[R_Offset] = r1;
000099AC 40 92              					r1 = 0x00;
000099AD 19 D3 0C 03        					[R_DelayTime] = r1;
000099AF 90 9A              					retf;
                            					
                            	L_BeingDelay5thTime:				
000099B0 40 F0 70 92        					call	F_Delay66ms;				// 延时66MS 
000099B2 11 93 F6 02        					r1 = [R_Flag];
000099B4 09 B3 00 80        					r1 &= 0x8000;
000099B6 01 4E              					jnz	L_HaveDelay5thTime;
000099B7 90 9A              					retf;
                            	
                            	L_HaveDelay5thTime:
000099B8 40 F0 92 8E        					call	F_ShapeAnaly;				// 写0F到高地址70;写08到低地址E0
000099BA 40 F0 00 8F        					call	F_Clear70E8;				// 写0F到高地址70;写00到低地址E8;设置模式
                            	L_FeatureEagine:
000099BC 40 F0 88 8E        					call	F_FeatureEngine;			// 写0F到高地址74,			
000099BE 47 92              					r1 = 0x07;
000099BF 19 D3 F7 02        					[R_Offset] = r1;
000099C1 40 92              					r1 = 0x00;
000099C2 19 D3 0C 03        					[R_DelayTime] = r1;
000099C4 90 9A              					retf;
                            					
                            	L_BeingDelay6thTime:				
000099C5 40 F0 70 92        					call	F_Delay66ms;				// 延时66MS
000099C7 11 93 F6 02        					r1 = [R_Flag];
000099C9 09 B3 00 80        					r1 &= 0x8000;
000099CB 01 4E              					jnz	L_HaveDelay6thTime;
000099CC 90 9A              					retf;
                            	
                            	L_HaveDelay6thTime:
                            	
                            	//---------------------- ResetEngine End -------------------------
                            	
                            	L_AssigneColorAgain:
                            	L_AssigneColor:							
000099CD 40 F0 E0 8E        					call	F_LookAssigneColor;          // 写需要分辨别的颜色到7405的低地址05中    
000099CF 49 92              					r1 = 0x09;
000099D0 19 D3 F7 02        					[R_Offset] = r1;
000099D2 40 92              					r1 = 0x00;
000099D3 19 D3 0C 03        					[R_DelayTime] = r1;
000099D5 90 9A              					retf;
                            					
                            	L_BeingDelay7thTime:				
000099D6 40 F0 70 92        					call	F_Delay66ms;				// 延时66MS
000099D8 11 93 F6 02        					r1 = [R_Flag];
000099DA 09 B3 00 80        					r1 &= 0x8000;
000099DC 01 4E              					jnz	L_HaveDelay7thTime;
000099DD 90 9A              					retf;
                            	
                            	L_HaveDelay7thTime:			
000099DE 4A 92              					r1 = 0x0A;
000099DF 19 D3 F7 02        					[R_Offset] = r1;
000099E1 40 92              					r1 = 0x00;
000099E2 19 D3 0C 03        					[R_DelayTime] = r1;
000099E4 90 9A              					retf;
                            					
                            	L_BeingDelay9thTime:				
000099E5 40 F0 B9 92        					call	F_Delay5ms;					// 延时5MS	
000099E7 11 93 F6 02        					r1 = [R_Flag];
000099E9 09 B3 00 80        					r1 &= 0x8000;
000099EB 01 4E              					jnz	L_HaveDelay9thTime;
000099EC 90 9A              					retf;
                            	
                            	L_HaveDelay9thTime:
                            	
000099ED 40 F0 35 8F        					call	F_GetObjNum;				// 读7410单元中的内容
000099EF 11 93 F5 02        					r1 = [R_SeekFlag];					// 判断标志位
000099F1 09 B3 80 00        					r1 &= 0x80;
000099F3 0E 4E              					jnz 	L_LookObjBufferFull1;		// 目标数>8,则转				
000099F4 11 93 F5 02        					r1 = [R_SeekFlag];					
000099F6 09 B3 FE 00        					r1 &= 0xfe;
000099F8 19 D3 F5 02        					[R_SeekFlag] = r1;					// 目标数<8 ,清寄存器和标志
000099FA 40 92              					r1 = 0x00;
000099FB 19 D3 11 03        					[R_PreAreaH] = r1;
000099FD 19 D3 0F 03        					[R_PreColor] = r1;
000099FF 19 D3 10 03        					[R_PreShape] = r1;
00009A01 02 EE              					jmp		L_LookGetObjData;			
                            	L_LookObjBufferFull1:
00009A02 40 F0 30 9A        					call	L_LookObjBufferFull	
                            	L_LookGetObjData:			
00009A04 40 F0 CB 92        					call	F_LookGetObjData;			// 读取颜色、形状、X、Y、SIZE的值		
00009A06 11 93 F5 02        					r1 = [R_SeekFlag];
00009A08 41 B2              					r1 &= 0x01;							// 是否获得数值标志
00009A09 26 5E              					jz L_LookNonGetObj;					
                            	//				r1 = [R_PreShape];					// 是否获得形状
                            	//				cmp	r1,0x00;
                            	//				je	L_LookNonGetObj;				// 相等则转
00009A0A 11 93 0F 03        					r1 = [R_PreColor];					 
00009A0C 11 43 16 03        					cmp	r1,[R_Temp1];
00009A0E 05 4E              					jne	L_NotTheSameObj;				// 不相等则转	
00009A0F 11 93 10 03        					r1 = [R_PreShape];
00009A11 11 43 17 03        					cmp	r1,[R_Temp2];
00009A13 1C 5E              					je	L_LookNonGetObj;				// 相等则转
                            	L_NotTheSameObj:				
00009A14 11 93 0F 03        					r1 = [R_PreColor];					// 获得颜色
00009A16 19 D3 16 03        					[R_Temp1] = r1;
00009A18 19 D3 19 03        					[_VR_PrevResult_Color] = r1;
                            					
00009A1A 11 93 10 03        					r1 = [R_PreShape];					// 获得形状
00009A1C 19 D3 17 03        					[R_Temp2] = r1;
00009A1E 19 D3 1A 03        					[_VR_PrevResult_Shape] = r1;
                            	
00009A20 11 93 02 03        					r1 = [R_CenterX]					// 获得物体的中心水平值X
00009A22 19 D3 1B 03        					[_VR_PrevResult_CenterX] = r1
                            					
00009A24 11 93 03 03        					r1 = [R_CenterY]					// 获得物体的中心垂直值Y
00009A26 19 D3 1C 03        					[_VR_PrevResult_CenterY] = r1
                            	
00009A28 11 93 01 03        					r1 = [R_AreaH]						// 获得物体尺寸高位数据
00009A2A 19 D3 1D 03        					[_VR_PrevResult_AreaH] = r1
                            	
00009A2C 41 92              					r1 = 0x0001;
00009A2D 19 D3 1F 03        					[_VR_OverFlag] = r1;				// 置结束标志
00009A2F 90 9A              					retf;
                            				
                            	L_LookObjBufferFull:
                            	L_LookNonGetObj:				
00009A30 48 92              					r1 = 0x08;							// 重新读数据
00009A31 19 D3 F7 02        					[R_Offset] = r1;
00009A33 90 9A              					retf;
                            					.endp
                            	//================================ 结束 LookAround.asm ==================================
                            			
0 error(s), 0 warning(s).

⌨️ 快捷键说明

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