📄 main.src
字号:
set_bittable:
DB 001H
DB 002H
DB 004H
DB 008H
DB 010H
DB 020H
DB 040H
DB 080H
meterprm_table:
DB 000H,000H,000H,001H ; long
DB 0E1H,058H,000H,000H ; long
DB 000H,000H,000H,000H ; long
DB 000H,065H,04FH,0D6H ; long
DB 000H,000H,000H,000H ; long
DB 000H,000H,000H,000H ; long
DB 001H,00CH,0A2H,03AH ; long
DB 001H,060H,096H,018H ; long
DB 000H,000H,000H,000H ; long
DB 000H,000H,000H,000H ; long
DB 000H,000H,000H,000H ; long
DB 000H,000H,000H,000H ; long
DB 000H,000H,000H,000H ; long
DB 0F3H,01EH,043H,012H ; long
DB 0F3H,07DH,003H,081H ; long
DB 0F4H,0DBH,01DH,071H ; long
; /*************************************************************************************
;
; 文件类型:
; 文件作用:
; 修改权限:
; 文件相关:
;
; 创 建 人:GeminiKQ
; 创建日期:2006.12.20
; 当前版本:Ver0.1
;
; 版本信息:Ver0.1 GeminiKQ
;
; **************************************************************************************/
; #define MAIN
;
; #include "Tiger.h"
; #include "typemeter.h"
;
;
; //==================================================================
; //系统默认较表参数
; //==================================================================
; unsigned long code meterprm_table[]=
; { 0x00000001, //有功门限高
; 0xe1580000, //有功门限低
; 0x00000000, //有效值门限高
; 0x00654FD6, //有效值门限低
; 0x00000000, //启动门限值高
; 0x00000000, //启动门限值低
; 0x010CA23A, //IA有效值比差
; 0x01609618, //IB有效值比差
; 0x00000000, //LA有效值比差
; 0x00000000, //LB有效值比差
; 0x00000000, //M有效值比差
; 0x00000000, //M有效值比差
; 0x00000000, //M有效值比差
; 0xF31E4312, //PA比差
; 0xF37D0381, //PB比差
; 0xF4DB1D71 //电压比差
; };
;
;
;
; /*
; void SetPLL01(void)
; {
; unsigned char xdata *point;
; // 开PLL
; point = 0x2894;
; *point = 0x3f;
; point = 0x2897;
; *point = 0x8a;
; point = 0x2898;
; *point = 0x01;
; // 写密码
; point = 0x28d4;
; *(point++) = 0xd2;
; *(point++) = 0x09;
; // 切换时钟
; point = 0x28d0;
; *point = 0x01;
; }
; */
;
; //==========================================
; //函数功能:禁止所有IO口的输入输出
; //==========================================
RSEG ?PR?MAIN
Com00D5:
L?0214:
USING 0
MOV DPTR,#wr_buff
MOVX @DPTR,A
CLR A
INC DPTR
MOVX @DPTR,A
MOV A,#010H
L?0215:
INC DPTR
L?0216:
MOVX @DPTR,A
L?0217:
MOV DPTR,#ID_coretalbpoint
LCALL ?C?PLDXDATA
L?0218:
MOV DPTR,#03H
LJMP ?C?ILDOPTR
L?0219:
USING 0
L?0220:
MOV R7,A
MOV A,B
L?0221:
MOV DPTR,#data_addr+02H
MOVX @DPTR,A
INC DPTR
MOV A,R7
MOVX @DPTR,A
RET
L?0222:
USING 0
L?0223:
MOV A,#LOW (wr_buff)
ADD A,R7
L?0224:
MOV DPL,A
CLR A
ADDC A,#HIGH (wr_buff)
MOV DPH,A
MOVX A,@DPTR
MOV R7,A
RET
L?0226:
USING 0
ADD A,R7
L?0227:
ADD A,#LOW (ram)
MOV DPL,A
CLR A
ADDC A,#HIGH (ram)
MOV DPH,A
RET
L?0228:
USING 0
MOV DPTR,#couren_addrint
MOV A,#07EH
MOVX @DPTR,A
INC DPTR
CLR A
MOVX @DPTR,A
MOV DPTR,#offset_inteng
MOVX @DPTR,A
INC DPTR
MOV A,#018H
L?0229:
MOVX @DPTR,A
L?0230:
MOV DPTR,#offset_inteng
MOVX A,@DPTR
MOV R6,A
INC DPTR
MOVX A,@DPTR
MOV R0,#02H
RET
L?0231:
USING 0
MOV A,R7
MOV B,#0AH
MUL AB
ADD A,#00H
L?0232:
MOV R6,A
MOV A,B
ADDC A,#06EH
MOV DPTR,#data_addr+02H
MOVX @DPTR,A
INC DPTR
XCH A,R6
MOVX @DPTR,A
RET
L?0233:
USING 0
MOV DPH,A
MOVX A,@DPTR
MOV R7,A
L?0234:
MOV DPTR,#wr_buff+0BH
L?0235:
MOVX A,@DPTR
ADD A,R7
MOVX @DPTR,A
L?0236:
MOV DPTR,#i?1971
MOVX A,@DPTR
INC A
MOVX @DPTR,A
RET
L?0238:
USING 0
MOV DPH,A
MOVX A,@DPTR
MOV R6,A
MOV A,#LOW (temp_data?1269)
ADD A,R7
MOV DPL,A
CLR A
ADDC A,#HIGH (temp_data?1269)
MOV DPH,A
MOV A,R6
MOVX @DPTR,A
L?0239:
MOV DPTR,#j?1266
MOVX A,@DPTR
INC A
MOVX @DPTR,A
RET
L?0241:
USING 0
L?0242:
ADD A,#LOW (ram+03H)
MOV DPL,A
CLR A
ADDC A,#HIGH (ram+03H)
MOV DPH,A
RET
L?0245:
USING 0
L?0246:
MOV DPTR,#02H
LCALL ?C?CLDOPTR
MOV R7,A
MOV DPTR,#01H
LJMP ?C?CLDOPTR
L?0248:
USING 0
L?0249:
MOV R3,#01H
MOV R2,#HIGH (wr_buff)
MOV R1,#LOW (wr_buff)
RET
L?0250:
USING 0
ADD A,ACC
ADD A,ACC
ADD A,#LOW (meterprm_table)
MOV DPL,A
CLR A
ADDC A,#HIGH (meterprm_table)
MOV DPH,A
LCALL ?C?LLDCODE
MOV DPTR,#read_buff?1164
RET
L?0251:
USING 0
MOVX A,@DPTR
MOV DPTR,#wr_buff
MOVX @DPTR,A
CLR A
INC DPTR
MOVX @DPTR,A
MOV DPTR,#wr_buff
MOVX A,@DPTR
ADD A,#033H
MOV DPTR,#wr_buff+02H
MOVX @DPTR,A
RET
L?0252:
USING 0
ADD A,#LOW (ram+02H)
MOV DPL,A
CLR A
ADDC A,#HIGH (ram+02H)
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#RTCTIME+04H
MOVX A,@DPTR
MOV R7,A
RET
L?0253:
USING 0
ADD A,#LOW (ram+01H)
MOV DPL,A
CLR A
ADDC A,#HIGH (ram+01H)
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#RTCTIME+03H
MOVX A,@DPTR
MOV R7,A
RET
L?0254:
USING 0
ADD A,#LOW (ram+05H)
MOV DPL,A
CLR A
ADDC A,#HIGH (ram+05H)
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#RTCTIME+06H
MOVX A,@DPTR
MOV R7,A
RET
L?0255:
USING 0
ADD A,#LOW (ram+06H)
MOV DPL,A
CLR A
ADDC A,#HIGH (ram+06H)
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#RTCTIME+01H
MOVX A,@DPTR
MOV R7,A
RET
L?0256:
USING 0
ADD A,#LOW (ram+04H)
MOV DPL,A
CLR A
ADDC A,#HIGH (ram+04H)
MOV DPH,A
MOV A,R7
MOVX @DPTR,A
MOV DPTR,#RTCTIME
MOVX A,@DPTR
MOV R7,A
RET
L?0257:
USING 0
SETB C
MOV DPTR,#time_jihuo+01H
MOVX A,@DPTR
SUBB A,#050H
L?0258:
MOV DPTR,#time_jihuo
MOVX A,@DPTR
SUBB A,#00H
RET
L?0259:
USING 0
L?0260:
MOV DPTR,#couren_addrint
MOV A,#07CH
MOVX @DPTR,A
INC DPTR
CLR A
MOVX @DPTR,A
RET
L?0261:
USING 0
L?0262:
ADD A,#LOW (ram)
MOV R1,A
CLR A
ADDC A,#HIGH (ram)
MOV R2,A
MOV R3,#01H
RET
L?0263:
USING 0
MOV R7,A
MOV R6,A
MOV R5,A
MOV R4,A
L?0264:
LCALL ?C?LLDXDATA0
CLR C
LJMP ?C?ULCMP
L?0265:
USING 0
L?0266:
MOV DPTR,#i?1971
MOVX A,@DPTR
MOV R7,A
CLR C
RET
L?0269:
USING 0
MOV DPTR,#data_addr+02H
MOV A,#06EH
MOVX @DPTR,A
INC DPTR
MOV A,#01EH
MOVX @DPTR,A
MOV R5,#03H
MOV R7,#02H
RET
L?0270:
USING 0
LCALL ?C?LLDXDATA
MOV DPTR,#temp_data?1972
LCALL ?C?LSTXDATA
CLR A
MOV DPTR,#i?1971
MOVX @DPTR,A
RET
L?0271:
USING 0
MOVX A,@DPTR
MOV R6,A
ADD A,#LOW (temp_data?1972)
MOV DPL,A
CLR A
ADDC A,#HIGH (temp_data?1972)
MOV DPH,A
MOVX A,@DPTR
MOV R5,A
RET
L?0275:
USING 0
MOVX A,@DPTR
ORL A,#02H
MOVX @DPTR,A
MOVX A,@DPTR
ORL A,#04H
MOVX @DPTR,A
MOV DPTR,#P1IE_ADDR
MOVX A,@DPTR
RET
L?0276:
USING 0
L?0277:
MOV DPTR,#j?1266
MOVX A,@DPTR
MOV R7,A
CLR C
RET
L?0278:
USING 0
L?0279:
LCALL check_powertype
MOV A,R7
XRL A,#01H
RET
L?0284:
USING 0
MOV R6,A
CLR A
MOV R4,A
MOV R5,A
MOV DPTR,#data_addr
LJMP ?C?LSTXDATA
L?0285:
USING 0
CLR A
L?0286:
MOV DPTR,#time_jihuo
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
RET
L?0288:
USING 0
CLR A
MOV DPTR,#value?1268
MOVX @DPTR,A
MOV DPTR,#i?1265
MOVX @DPTR,A
RET
L?0289:
USING 0
MOVX A,@DPTR
ADD A,#0CDH
MOV R7,A
MOV DPTR,#sum?1267
MOVX A,@DPTR
XRL A,R7
RET
; END OF Com00D5
; void port_init(void)
RSEG ?PR?port_init?MAIN
port_init:
; SOURCE LINE # 69
; {
; SOURCE LINE # 70
; // P1OE &= ~BIT0;
; // P10FS = 0x01; //select second pluss output
;
; P0OE = 0xff;
; SOURCE LINE # 74
MOV DPTR,#P0OE_ADDR
MOV A,#0FFH
MOVX @DPTR,A
; P1OE = 0xff;
; SOURCE LINE # 75
MOV DPTR,#P1OE_ADDR
MOVX @DPTR,A
; P2OE = 0xff;
; SOURCE LINE # 76
MOV DPTR,#P2OE_ADDR
MOVX @DPTR,A
; P3OE = 0xff;
; SOURCE LINE # 77
MOV DPTR,#P3OE_ADDR
MOVX @DPTR,A
; P4OE = 0xff;
; SOURCE LINE # 78
MOV DPTR,#P4OE_ADDR
MOVX @DPTR,A
; P5OE = 0xff;
; SOURCE LINE # 79
MOV DPTR,#P5OE_ADDR
MOVX @DPTR,A
; P6OE = 0xff;
; SOURCE LINE # 80
MOV DPTR,#P6OE_ADDR
MOVX @DPTR,A
;
; P0IE = 0;
; SOURCE LINE # 82
CLR A
MOV DPTR,#P0IE_ADDR
MOVX @DPTR,A
; P1IE = 0;
; SOURCE LINE # 83
MOV DPTR,#P1IE_ADDR
MOVX @DPTR,A
; P2IE = 0;
; SOURCE LINE # 84
MOV DPTR,#P2IE_ADDR
MOVX @DPTR,A
; P3IE = 0;
; SOURCE LINE # 85
MOV DPTR,#P3IE_ADDR
MOVX @DPTR,A
; P4IE = 0;
; SOURCE LINE # 86
MOV DPTR,#P4IE_ADDR
MOVX @DPTR,A
; P5IE = 0;
; SOURCE LINE # 87
MOV DPTR,#P5IE_ADDR
MOVX @DPTR,A
; P6IE = 0;
; SOURCE LINE # 88
MOV DPTR,#P6IE_ADDR
MOVX @DPTR,A
; }
; SOURCE LINE # 89
RET
; END OF port_init
;
; /*---------------------------------------------------
; //========================================
; //函数功能:关除数字之外的外围电路
; //========================================
; void Tosleep(void)
; {
; unsigned char xdata *point;
;
; PmPwd = 0xcd;
;
; point = 0x28a1;
; *point = 0x01;
; point = 0x28a2; //close DPSRAM
; *point = 0x00; //close measuring channel
;
; point = 0x28a1;
; *point = 0x00;
; PmPwd = 0xcc;
;
; point = 0x28d2;
; *point = 0x01; //close measuring clock
;
; point = 0x2814;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -