📄 master.lst
字号:
_Set_SDA_Input: .proc
F_Set_SDA_Input:
00008DAF 09 93 F8 F9 r1 = 0xf9f8; // 设置PA8、PA9、PA10
00008DB1 19 D3 03 70 [P_IOA_Attrib] = r1;
00008DB3 09 93 F8 F9 r1 = 0xf9f8;
00008DB5 19 D3 02 70 [P_IOA_Dir] = r1;
00008DB7 11 93 01 70 r1 = [P_IOA_Buffer];
00008DB9 09 B3 3F FF r1 &= 0xff3f;
00008DBB 19 D3 01 70 [P_IOA_Buffer] = r1;
00008DBD 90 9A retf;
.ENDP
//===================================================
//函数:Set_SDA_Output
//语法:调用
//描述:用来设置数据传输是输出方式
//参数:无
//返回:无
//===================================================
.public _Set_SDA_Output;
.public F_Set_SDA_Output;
_Set_SDA_Output: .proc
F_Set_SDA_Output:
00008DBE 09 93 F8 FB r1 = 0xfbf8; // 设置PA8、PA9、PA10
00008DC0 19 D3 03 70 [P_IOA_Attrib] = r1;
00008DC2 09 93 F8 FB r1 = 0xfbf8;
00008DC4 19 D3 02 70 [P_IOA_Dir] = r1;
00008DC6 11 93 01 70 r1 = [P_IOA_Buffer];
00008DC8 09 B3 3F FF r1 &= 0xff3f;
00008DCA 19 D3 01 70 [P_IOA_Buffer] = r1;
00008DCC 90 9A retf;
.ENDP
//===================================================
//函数:SetAEDefault
//语法:调用
//描述:用来设置默认的自动爆光设置
//参数:无
//返回:无
//===================================================
.public _SetAEDefault;
.public F_SetAEDefault;
_SetAEDefault: .proc
F_SetAEDefault:
00008DCD 40 F0 17 8F call F_HighAddr70;
00008DCF 47 92 r1 = 0x07;
00008DD0 19 D3 F4 02 [R_AETarget] = r1;
00008DD2 09 93 E2 8D r1 = T_AETargetTable;
00008DD4 11 03 F4 02 r1 += [R_AETarget];
00008DD6 C1 92 r1 = [r1];
00008DD7 19 D3 FB 02 [R_WriteDataBuffer] = r1;
00008DD9 09 93 E3 00 r1 = 0xe3;
00008DDB 19 D3 F8 02 [R_AddrBuffer] = r1;
00008DDD 40 F0 1D 91 call F_WriteOper;
00008DDF 40 F0 88 8E call F_FeatureEngine;
00008DE1 90 9A retf;
.endp
T_AETargetTable:
00008DE2 90 00 .dw 0x90
00008DE3 A0 00 .dw 0xa0
00008DE4 B0 00 .dw 0xb0
00008DE5 C0 00 .dw 0xc0
00008DE6 D0 00 .dw 0xd0
00008DE7 E0 00 .dw 0xe0
00008DE8 F0 00 .dw 0xf0
00008DE9 00 00 .dw 0x00
00008DEA 10 00 .dw 0x10
00008DEB 20 00 .dw 0x20
00008DEC 30 00 .dw 0x30
00008DED 40 00 .dw 0x40
00008DEE 50 00 .dw 0x50
00008DEF 60 00 .dw 0x60
00008DF0 70 00 .dw 0x70
00008DF1 7F 00 .dw 0x7f
//===================================================
//函数:Set50Hz
//语法:调用
//描述:光源选择是50HZ
//参数:无
//返回:无
//===================================================
.public _Set50Hz;
.public F_Set50Hz;
_Set50Hz: .proc
F_Set50Hz:
00008DF2 40 F0 17 8F call F_HighAddr70; // 使70单元高地址有效
00008DF4 09 93 E1 00 r1 = 0xe1; // 读70E1单元
00008DF6 19 D3 F8 02 [R_AddrBuffer] = r1;
00008DF8 40 92 r1 = 0x00;
00008DF9 19 D3 FC 02 [R_ReadDataBuffer] = r1;
00008DFB 40 F0 91 91 call F_ReadOper;
00008DFD 11 93 FC 02 r1 = [R_ReadDataBuffer];
00008DFF 48 A2 r1 |= 0x08;
00008E00 19 D3 FB 02 [R_WriteDataBuffer] = r1; // 向70E1单元写内容
00008E02 09 93 E1 00 r1 = 0xe1;
00008E04 19 D3 F8 02 [R_AddrBuffer] = r1;
00008E06 40 F0 1D 91 call F_WriteOper;
00008E08 40 F0 88 8E call F_FeatureEngine;
00008E0A 90 9A retf;
.endp
//===================================================
//函数:SetAWBON
//语法:调用
//描述:自动色彩调整使用
//参数:无
//返回:无
//===================================================
.public _SetAWBON;
.public F_SetAWBON;
_SetAWBON: .proc
F_SetAWBON:
00008E0B 40 F0 17 8F call F_HighAddr70;
00008E0D 09 93 E2 00 r1 = 0xe2;
00008E0F 19 D3 F8 02 [R_AddrBuffer] = r1;
00008E11 40 92 r1 = 0x00;
00008E12 19 D3 FC 02 [R_ReadDataBuffer] = r1;
00008E14 40 F0 91 91 call F_ReadOper; // 读70E2中的内容
00008E16 11 93 FC 02 r1 = [R_ReadDataBuffer];
00008E18 09 A3 80 00 r1 |= 0x80;
00008E1A 19 D3 FB 02 [R_WriteDataBuffer] = r1;
00008E1C 09 93 E2 00 r1 = 0xe2;
00008E1E 19 D3 F8 02 [R_AddrBuffer] = r1;
00008E20 40 F0 1D 91 call F_WriteOper; // 向70E2中写内容
00008E22 40 F0 88 8E call F_FeatureEngine;
00008E24 90 9A retf;
.endp
//===================================================
//函数:F_SetAWBOFF
//语法:调用
//描述:用来选择黑白增益匹配不使用
//参数:无
//返回:无
//===================================================
.public _SetAWBOFF;
.public F_SetAWBOFF;
_SetAWBOFF: .proc
F_SetAWBOFF:
00008E25 40 F0 17 8F call F_HighAddr70;
00008E27 09 93 E2 00 r1 = 0xe2;
00008E29 19 D3 F8 02 [R_AddrBuffer] = r1;
00008E2B 40 92 r1 = 0x00;
00008E2C 19 D3 FC 02 [R_ReadDataBuffer] = r1;
00008E2E 40 F0 91 91 call F_ReadOper; // 读70E2内容
00008E30 11 93 FC 02 r1 = [R_ReadDataBuffer];
00008E32 09 B3 7F 00 r1 &= 0x7f;
00008E34 19 D3 FB 02 [R_WriteDataBuffer] = r1;
00008E36 09 93 E2 00 r1 = 0xe2;
00008E38 19 D3 F8 02 [R_AddrBuffer] = r1;
00008E3A 40 F0 1D 91 call F_WriteOper; // 写内容到70E2
00008E3C 40 F0 88 8E call F_FeatureEngine;
00008E3E 90 9A retf;
.endp
//===================================================
//函数:SetClassDataMode
//语法:调用
//描述:用来选择SPCA561模式选择:分类数据
//参数:无
//返回:无
//===================================================
.public _SetClassDataMode;
.public F_SetClassDataMode;
_SetClassDataMode: .proc
F_SetClassDataMode:
00008E3F 40 F0 21 8F call F_HighAddr74; // 设置74地址有效
00008E41 43 92 r1 = 0x03;
00008E42 19 D3 FB 02 [R_WriteDataBuffer] = r1; // 向7408中写03内容
00008E44 48 92 r1 = 0x08;
00008E45 19 D3 F8 02 [R_AddrBuffer] = r1;
00008E47 40 F0 1D 91 call F_WriteOper;
00008E49 90 9A retf;
.endp
//===================================================
//函数:SetRawDataMode
//语法:调用
//描述:用来选择SPCA561模式选择:未加工的数据
//参数:无
//返回:无
//===================================================
.public _SetRawDataMode;
_SetRawDataMode: .proc
00008E4A 40 F0 21 8F call F_HighAddr74; // 设置74地址有效
00008E4C 40 92 r1 = 0x00;
00008E4D 19 D3 FB 02 [R_WriteDataBuffer] = r1;
00008E4F 48 92 r1 = 0x08;
00008E50 19 D3 F8 02 [R_AddrBuffer] = r1;
00008E52 40 F0 1D 91 call F_WriteOper; // 向7408中写00内容
00008E54 90 9A retf;
.endp
//===================================================
//函数:ResetEagle3
//语法:调用
//描述:复位SPCE563A、SPCE561A
//参数:无
//返回:无
//===================================================
.public _ResetEagle3;
.public F_ResetEagle3;
_ResetEagle3: .proc
F_ResetEagle3:
00008E55 11 93 01 70 r1 = [P_IOA_Buffer]; // 置PA11为低25MS后再置高
00008E57 09 B3 FF F7 r1 &= 0xf7ff;
00008E59 19 D3 01 70 [P_IOA_Buffer] = r1;
00008E5B 40 92 r1 = 0x00;
00008E5C 19 D3 0C 03 [R_DelayTime] = r1;
L_BeingDelay25ms:
00008E5E 40 F0 95 92 call F_Delay25ms;
00008E60 11 93 F6 02 r1 = [R_Flag];
00008E62 09 B3 00 80 r1 &= 0x8000;
00008E64 47 5E jz L_BeingDelay25ms;
00008E65 11 93 01 70 r1 = [P_IOA_Buffer];
00008E67 09 A3 00 08 r1 |= 0x0800;
00008E69 19 D3 01 70 [P_IOA_Buffer] = r1;
00008E6B 90 9A retf;
.endp
//===================================================
//函数:F_ResetEagle3Again
//语法:调用
//描述:复位SPCE563A、SPCE561A
//参数:无
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -