📄 stakeout.lst
字号:
202 =1 sbit HWR = P1^1; //串口接收 1
203 =1 sbit HWT = P1^0; //串口发送 1
204 =1
205 =1 /* P2 */
206 =1 sbit IicSCL = P2^7; //IIC时钟 1
207 =1 sbit PWM = P2^6; //脉冲指示灯 1
208 =1 sbit LcdCs = P2^5; //电表谷指示灯 1
209 =1 sbit ProgramKey = P2^4; //谷状态指示 1
210 =1 sbit OpenKey = P2^3; //电表峰指示灯 1
211 =1 sbit FengLed = P2^2; //485使能 0
212 =1 sbit IicSDA = P2^1; //IIC数据 1
213 =1 sbit ClearKey = P2^0; //按键轮显 1
214 =1
215 =1 /* P3 */
216 =1 sbit XTAL1= P3^1;
217 =1 sbit XTAL2= P3^0;
218 =1
219 =1 /* TCR20 */
220 =1 sbit PLLEN = TCR20^7;
221 =1 sbit HLTRN = TCR20^6;
222 =1 sbit HLTEN = TCR20^5;
223 =1 sbit ALTCD = TCR20^4;
224 =1 sbit ALTAB = TCR20^3;
225 =1 sbit TDIR2 = TCR20^2;
226 =1 sbit TMOD21= TCR20^1;
227 =1 sbit TMOD20= TCR20^0;
228 =1
229 =1 #endif
230 =1
63 #include <define.h>
1 =1 #ifndef _DEFINE_H
2 =1 #define _DEFINE_H
3 =1
4 =1 //-----***-公共变量(字)-***-----//
5 =1 extern unsigned char data PowerStA;
6 =1 extern unsigned char data PowerStB;
7 =1 extern unsigned char data DataProtectTime;
8 =1 extern unsigned char data LcdDelay;
9 =1 extern unsigned char data ComTimeA;
C51 COMPILER V7.10 STAKEOUT 02/03/2005 10:39:01 PAGE 6
10 =1 extern unsigned char data ComTimeB;
11 =1 extern unsigned char data TimeBuf[3];
12 =1 extern unsigned char data TemperatureTime;
13 =1 extern unsigned char idata PulseData;
14 =1 extern unsigned char idata LcdShowTime;
15 =1 extern unsigned char data IIcByteStar;
16 =1 extern unsigned char idata MataStData;
17 =1 extern unsigned char data LcdRunData;
18 =1 extern unsigned char data KeyTemp; //脉冲、键盘缓冲器
19 =1 extern unsigned char data LcdTime;
20 =1 extern unsigned char data CkData;
21 =1 extern unsigned char xdata IIcBuf[16];
22 =1 extern unsigned char xdata LcdShowBit[2];
23 =1 extern unsigned char xdata LcdShowBuf[8];
24 =1 extern unsigned char xdata SumPulseData[4];
25 =1 extern unsigned char xdata FengPulseData[4];
26 =1 extern unsigned char xdata GuPulseData[4];
27 =1 extern unsigned char xdata PingPulseData[4];
28 =1 extern unsigned char xdata ReversePulseData[4];
29 =1 extern unsigned char idata ComDataBuf[60]; //***串口数据接收存放空间***//
30 =1 //extern unsigned char pdata ReceiveComBuf[60];
31 =1 //extern unsigned char pdata SendComBuf[60];
32 =1 extern unsigned char data InfraredBufDptr; //***红外数据接收指针***//
33 =1 extern unsigned char data SeriesBufDptr; //***串口数据接收指针***///
34 =1 extern unsigned char xdata DaysBuf[4];
35 =1 extern unsigned char xdata ReverseTime[3];
36 =1 extern unsigned char data SeriesInData;
37 =1 //-----***-公共变量(位)-***-----//
38 =1
39 =1 extern bit LcdShowFg;
40 =1 extern bit LcdTimeFg;
41 =1 extern bit CmdParseFg;
42 =1 extern bit BataMoveFg;
43 =1 extern bit DataProtectFg;
44 =1 extern bit TemperatureTimeFg;
45 =1 extern bit LowPowerFg;
46 =1 extern bit ComFg;
47 =1 extern bit ReverseFgToData;
48 =1 extern bit ReverseFgToLcd;
49 =1 extern bit FengFg;
50 =1 extern bit PingFg;
51 =1 extern bit GuFg;
52 =1 extern bit TimeSendFg;
53 =1 extern bit SeriesSendFg;
54 =1 extern bit SendOverFg; //数据发送结束标志
55 =1 extern bit KeyFg0; //清楚数据标志
56 =1 extern bit KeyFg1; //编程数据标志
57 =1 extern bit KeyFg2; //表盖打开标志
58 =1 extern bit PulseParseFg;
59 =1 extern bit TimeOk;
60 =1 extern bit ComBit;
61 =1 extern bit SeriesBitNine; //串口第九位
62 =1 extern bit SeriesOk;
63 =1 extern bit SeriesSt;
64 =1 extern bit SeriesFg;//串口占用数据通道标志
65 =1 extern bit InfraredBitNine; //红外第九口
66 =1 extern bit InfraredOk;
67 =1 extern bit InfraredSt;
68 =1 extern bit InfraredFg;//红外占用数据通道标志
69 =1 extern bit ComEn;
70 =1 //-----***-外部函数的声明-***-----//
71 =1
C51 COMPILER V7.10 STAKEOUT 02/03/2005 10:39:01 PAGE 7
72 =1 extern void Delay(unsigned int count) reentrant;
73 =1 extern unsigned char IicByteRead(unsigned char device,unsigned char address);
74 =1 extern void IicMuchByteRead(unsigned char Device,unsigned char Address,unsigned char DataLend);
75 =1 extern void IicByteWrite(unsigned char device,unsigned char address,unsigned char bytedata);
76 =1 extern void IicMuchByteWrite(unsigned char Device,unsigned char Address,unsigned char DataLend);
77 =1 extern unsigned char IicReceiveByte(void);
78 =1 extern bit IicSentByte(unsigned char bytedata);
79 =1 extern void IicStart(void);
80 =1 extern void IicStop(void);
81 =1 extern void IicWait(void);
82 =1 extern void SendAcknowledge(bit ack);
83 =1
84 =1 extern void LcdStart(void);
85 =1 extern void LcdStop(void);
86 =1 extern void LcdSendId(unsigned char ID);
87 =1 extern void LcdSendAddress(unsigned char Address);
88 =1 extern void LcdSendByte(unsigned char Data);
89 =1 extern void LcdSendCommand(unsigned char Command);
90 =1
91 =1 extern void SeriesSend(void);
92 =1 extern unsigned char HexToBcd(unsigned char Bytedata);
93 =1 extern unsigned char BcdToHex(unsigned char Bytedata);
94 =1 extern void DataSave(void);
95 =1 extern void DataPickup(void);
96 =1 extern void SeriesSentByte(unsigned char Byte);
97 =1
98 =1 extern void InitCpu(void);
99 =1 extern void InitLcd(void);
100 =1
101 =1 extern void InitRTC(void);
102 =1 extern void InitCmd(void);
103 =1
104 =1 extern void Temperature(void);
105 =1 extern void TimeSpend(void);
106 =1 extern void CmdParse(void);
107 =1 extern void PulseParse(void);
108 =1 extern void KeyParse(void);
109 =1 extern void KeyCmd(void);
110 =1 extern void LcdParse(void);
111 =1 extern void DataProtect(void);
112 =1 extern void PowerAddUp(void);
113 =1 extern void ToDay(unsigned char Day);
114 =1 extern void WDT(void);
115 =1 extern void LowPower(void);
116 =1 extern void ClerBuf(void);
117 =1 extern void ClerData(void);
118 =1 extern void TimeChk(unsigned char ByteDataA,unsigned char ByteDataB);
119 =1 extern void DataCom(void);
120 =1 extern void StakeOut(unsigned char DataA,unsigned char DataB);
121 =1
122 =1 #endif
64 #include <Stdio.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 STDIO.H
3 =1
4 =1 Prototypes for standard I/O functions.
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef EOF
10 =1 #define EOF -1
C51 COMPILER V7.10 STAKEOUT 02/03/2005 10:39:01 PAGE 8
11 =1 #endif
12 =1
13 =1 #ifndef NULL
14 =1 #define NULL ((void *) 0)
15 =1 #endif
16 =1
17 =1 #ifndef _SIZE_T
18 =1 #define _SIZE_T
19 =1 typedef unsigned int size_t;
20 =1 #endif
21 =1
22 =1 #pragma SAVE
23 =1 #pragma REGPARMS
24 =1 extern char _getkey (void);
25 =1 extern char getchar (void);
26 =1 extern char ungetchar (char);
27 =1 extern char putchar (char);
28 =1 extern int printf (const char *, ...);
29 =1 extern int sprintf (char *, const char *, ...);
30 =1 extern int vprintf (const char *, char *);
31 =1 extern int vsprintf (char *, const char *, char *);
32 =1 extern char *gets (char *, int n);
33 =1 extern int scanf (const char *, ...);
34 =1 extern int sscanf (char *, const char *, ...);
35 =1 extern int puts (const char *);
36 =1
37 =1 #pragma RESTORE
65 #include <Intrins.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 INTRINS.H
3 =1
4 =1 Intrinsic functions for C51.
5 =1 Copyright (c) 1988-2001 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 extern void _nop_ (void);
10 =1 extern bit _testbit_ (bit);
11 =1 extern unsigned char _cror_ (unsigned char, unsigned char);
12 =1 extern unsigned int _iror_ (unsigned int, unsigned char);
13 =1 extern unsigned long _lror_ (unsigned long, unsigned char);
14 =1 extern unsigned char _crol_ (unsigned char, unsigned char);
15 =1 extern unsigned int _irol_ (unsigned int, unsigned char);
16 =1 extern unsigned long _lrol_ (unsigned long, unsigned char);
17 =1 extern unsigned char _chkfloat_(float);
66
67 void StakeOut(unsigned char DataA,unsigned char DataB)
68 {
69 1 unsigned i,j;
70 1 i=DataA;
71 1 j=DataB;
72 1 }
C51 COMPILER V7.10 STAKEOUT 02/03/2005 10:39:01 PAGE 9
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _StakeOut (BEGIN)
; SOURCE LINE # 67
;---- Variable 'DataB' assigned to Register 'R5' ----
;---- Variable 'DataA' assigned to Register 'R7' ----
; SOURCE LINE # 68
; SOURCE LINE # 70
0000 750000 R MOV i,#00H
0003 8F00 R MOV i+01H,R7
; SOURCE LINE # 71
0005 AF05 MOV R7,AR5
0007 750000 R MOV j,#00H
000A 8F00 R MOV j+01H,R7
; SOURCE LINE # 72
000C 22 RET
; FUNCTION _StakeOut (END)
C51 COMPILER V7.10 STAKEOUT 02/03/2005 10:39:01 PAGE 10
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P0 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0080H 1
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P2 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A0H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
IEN0 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
IEN1 . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00E8H 1
size_t . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
_StakeOut. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
DataA. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
DataB. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
i. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0000H 2
j. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0002H 2
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
IP0. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
TCR20. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
I2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D8H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 13 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -