📄 pc_com.lst
字号:
C51 COMPILER V8.01 PC_COM 12/22/2005 17:11:50 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE PC_COM
OBJECT MODULE PLACED IN pc_com.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE pc_com.c ROM(COMPACT) OPTIMIZE(9,SPEED) BROWSE MODP2 DEBUG OBJECTEXTEND PRE
-PRINT
line level source
1 #include <REG922.H>
2
3 #include "pc_com.h"
4 #include "sart.h"
5 #include "plc.h"
6 #include "string.h"
7 #include "amr_cctr.h"
8 #include "amr_config.h"
9 #include "wr_flash.h"
10
11
12 #define uint unsigned int
13 #define uchar unsigned char
14
15 //#define reg_setting 0x1d06
16
17 extern idata uchar amr_frame[]; // AMR frame buffer
18 extern code uchar METER_ADDR[6];
19 uchar code reg_setting[2];
20 /*=============================================================================* /
21
22 读FLASH 写入8300寄存器
23 /*=============================================================================*/
24
25 void RW_flash_data()
26 {
27 1 uchar d_frame[2];
28 1 EA = 0;
29 1 FLASH_ReadNByte ((int code *)®_setting[0], d_frame,2);
30 1 EA = 1;
31 1
32 1 write_reg(REG_WR_3E, d_frame[0]); //写入8300寄存器
33 1 write_reg(REG_WR_3F, d_frame[1]);
34 1
35 1 //新方法写入8300
36 1 // write_reg(REG_WR_3E, reg_setting[0]); //写入8300寄存器
37 1 // write_reg(REG_WR_3F, reg_setting[1]);
38 1
39 1 // uart_sendchar(d_frame[0]);
40 1 // uart_sendchar(d_frame[1]);
41 1
42 1 }
43 /*=============================================================================*/
44
45 // 减0x33
46 /*=============================================================================*/
47
48 void eviscerate(uchar frame[],uchar k)//减0x33
49 {
50 1 uchar i;
51 1 for(i = 0;i < k;i ++)
52 1 frame[i] -= 0x33;
53 1
54 1 }
C51 COMPILER V8.01 PC_COM 12/22/2005 17:11:50 PAGE 2
55
56 /*=============================================================================*/
57
58 // 加0x33
59 /*=============================================================================*/
60
61 void punctuate(uchar frame[],uchar k)
62 {
63 1 uchar i;
64 1 for(i = 0;i < k;i ++)
65 1 frame[i] += 0x33;
66 1
67 1 }
68
69 /*=============================================================================*/
70 /*=============================================================================*/
71
72 void tx_com_data(uchar frame[],bit me) //串口查看数据处理
73 {
74 1 uchar i;
75 1
76 1 for(i = 0; i < 6;i++)amr_frame[i] = METER_ADDR[i]; //地址
77 1
78 1 amr_frame[6] = 0; //C = 0
79 1 amr_frame[7] = 20; //L = ?
80 1
81 1 if(me)amr_frame[8] = 0x55; //ID1 +33 电力网发出数据
82 1 else amr_frame[8] = 0x57; //ID1 +33 本地发出的数据
83 1
84 1 amr_frame[9] = 0x13; //ID0 +33
85 1
86 1 for(i = 0; i < 20;i++)
87 1 amr_frame[10 + i] = frame[i];
88 1 punctuate(&amr_frame[10],18); //+33
89 1
90 1 amr_frame[amr_frame[AMR_OS_L] + 8] = amr_check_cs(amr_frame,0);//校验和
91 1
92 1 amr_send_frame(METER_ADDR, amr_frame);
93 1 // com_reuner(buf);
94 1 }
95
96 /*=============================================================================*/
97
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 222 ----
CONSTANT SIZE = 2 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 11
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -