📄 eeprom.lst
字号:
C51 COMPILER V7.07 EEPROM 03/28/2004 13:58:34 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE EEPROM
OBJECT MODULE PLACED IN EEPROM.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE EEPROM.C BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND CODE LISTINCLUDE SYMBO
-LS
stmt level source
1 #include "REG52.h"
1 =1 /*--------------------------------------------------------------------------
2 =1 REG52.H
3 =1
4 =1 Header file for generic 80C52 and 80C32 microcontroller.
5 =1 Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef __REG52_H__
10 =1 #define __REG52_H__
11 =1
12 =1 /* BYTE Registers */
13 =1 sfr P0 = 0x80;
14 =1 sfr P1 = 0x90;
15 =1 sfr P2 = 0xA0;
16 =1 sfr P3 = 0xB0;
17 =1 sfr PSW = 0xD0;
18 =1 sfr ACC = 0xE0;
19 =1 sfr B = 0xF0;
20 =1 sfr SP = 0x81;
21 =1 sfr DPL = 0x82;
22 =1 sfr DPH = 0x83;
23 =1 sfr PCON = 0x87;
24 =1 sfr TCON = 0x88;
25 =1 sfr TMOD = 0x89;
26 =1 sfr TL0 = 0x8A;
27 =1 sfr TL1 = 0x8B;
28 =1 sfr TH0 = 0x8C;
29 =1 sfr TH1 = 0x8D;
30 =1 sfr IE = 0xA8;
31 =1 sfr IP = 0xB8;
32 =1 sfr SCON = 0x98;
33 =1 sfr SBUF = 0x99;
34 =1
35 =1 /* 8052 Extensions */
36 =1 sfr T2CON = 0xC8;
37 =1 sfr RCAP2L = 0xCA;
38 =1 sfr RCAP2H = 0xCB;
39 =1 sfr TL2 = 0xCC;
40 =1 sfr TH2 = 0xCD;
41 =1
42 =1
43 =1 /* BIT Registers */
44 =1 /* PSW */
45 =1 sbit CY = PSW^7;
46 =1 sbit AC = PSW^6;
47 =1 sbit F0 = PSW^5;
48 =1 sbit RS1 = PSW^4;
49 =1 sbit RS0 = PSW^3;
50 =1 sbit OV = PSW^2;
51 =1 sbit P = PSW^0; //8052 only
52 =1
53 =1 /* TCON */
C51 COMPILER V7.07 EEPROM 03/28/2004 13:58:34 PAGE 2
54 =1 sbit TF1 = TCON^7;
55 =1 sbit TR1 = TCON^6;
56 =1 sbit TF0 = TCON^5;
57 =1 sbit TR0 = TCON^4;
58 =1 sbit IE1 = TCON^3;
59 =1 sbit IT1 = TCON^2;
60 =1 sbit IE0 = TCON^1;
61 =1 sbit IT0 = TCON^0;
62 =1
63 =1 /* IE */
64 =1 sbit EA = IE^7;
65 =1 sbit ET2 = IE^5; //8052 only
66 =1 sbit ES = IE^4;
67 =1 sbit ET1 = IE^3;
68 =1 sbit EX1 = IE^2;
69 =1 sbit ET0 = IE^1;
70 =1 sbit EX0 = IE^0;
71 =1
72 =1 /* IP */
73 =1 sbit PT2 = IP^5;
74 =1 sbit PS = IP^4;
75 =1 sbit PT1 = IP^3;
76 =1 sbit PX1 = IP^2;
77 =1 sbit PT0 = IP^1;
78 =1 sbit PX0 = IP^0;
79 =1
80 =1 /* P3 */
81 =1 sbit RD = P3^7;
82 =1 sbit WR = P3^6;
83 =1 sbit T1 = P3^5;
84 =1 sbit T0 = P3^4;
85 =1 sbit INT1 = P3^3;
86 =1 sbit INT0 = P3^2;
87 =1 sbit TXD = P3^1;
88 =1 sbit RXD = P3^0;
89 =1
90 =1 /* SCON */
91 =1 sbit SM0 = SCON^7;
92 =1 sbit SM1 = SCON^6;
93 =1 sbit SM2 = SCON^5;
94 =1 sbit REN = SCON^4;
95 =1 sbit TB8 = SCON^3;
96 =1 sbit RB8 = SCON^2;
97 =1 sbit TI = SCON^1;
98 =1 sbit RI = SCON^0;
99 =1
100 =1 /* P1 */
101 =1 sbit T2EX = P1^1; // 8052 only
102 =1 sbit T2 = P1^0; // 8052 only
103 =1
104 =1 /* T2CON */
105 =1 sbit TF2 = T2CON^7;
106 =1 sbit EXF2 = T2CON^6;
107 =1 sbit RCLK = T2CON^5;
108 =1 sbit TCLK = T2CON^4;
109 =1 sbit EXEN2 = T2CON^3;
110 =1 sbit TR2 = T2CON^2;
111 =1 sbit C_T2 = T2CON^1;
112 =1 sbit CP_RL2 = T2CON^0;
113 =1
114 =1 #endif
2 #include "VIIC_C51.h"
C51 COMPILER V7.07 EEPROM 03/28/2004 13:58:34 PAGE 3
1 =1 /*****************************************************************
2 =1 头文件名 VIIC_C51.H
3 =1
4 =1 这个头文件对应的库是VIIC_C51.LIB,库中有几个模拟I2C的函数,加入此文件
5 =1 即可使用I2C平台(主方式的软件平台), 函数是对LPC764的I2C的I/O口实
6 =1 现,即其P1.3 (SDA) , P1.2(SCL),51系列机型可以通用.
7 =1
8 =1 注意: 函数是采用软件延时的方法产生SCL脉冲,固对高晶振频率要作
9 =1 一定的修改....(本例是1us机器周期,即晶振频率要小于12MHZ).
10 =1 (函数的使用可参考给出的事例程序.)
11 =1 *****************************************************************/
12 =1
13 =1 #ifdef uchar
=1 #define READYDEF 1 /*宏uchar已定义*/
=1 #else
16 =1 #define uchar unsigned char
17 =1 #endif
18 =1
19 =1
20 =1 /*******************************************************************
21 =1 无子地址发送字节数据函数
22 =1
23 =1 功能: 从启动总线到发送地址,数据,结束总线的全过程,从器件地址sla.
24 =1 如果返回1表示操作成功,否则操作有误。
25 =1 ********************************************************************/
26 =1 extern bit ISendByte(uchar sla,uchar c);
27 =1
28 =1
29 =1
30 =1
31 =1
32 =1 /*******************************************************************
33 =1 有子地址发送多字节数据函数
34 =1
35 =1 功能: 从启动总线到发送地址,子地址,数据,结束总线的全过程,从器件
36 =1 地址sla,子地址suba,发送内容是s指向的内容,发送no个字节。
37 =1 如果返回1表示操作成功,否则操作有误。
38 =1 ********************************************************************/
39 =1 extern bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) ;
40 =1
41 =1
42 =1
43 =1 /*******************************************************************
44 =1 无子地址读字节数据函数
45 =1
46 =1 功能: 从启动总线到发送地址,读数据,结束总线的全过程,从器件地
47 =1 址sla,返回值在c.
48 =1 如果返回1表示操作成功,否则操作有误。
49 =1 ********************************************************************/
50 =1 extern bit IRcvByte(uchar sla,uchar *c);
51 =1
52 =1
53 =1
54 =1
55 =1
56 =1 /*******************************************************************
57 =1 有子地址读取多字节数据函数
58 =1
59 =1 功能: 从启动总线到发送地址,子地址,读数据,结束总线的全过程,从器件
60 =1 地址sla,子地址suba,读出的内容放入s指向的存储区,读no个字节。
61 =1 如果返回1表示操作成功,否则操作有误。
62 =1 ********************************************************************/
C51 COMPILER V7.07 EEPROM 03/28/2004 13:58:34 PAGE 4
63 =1 extern bit IRcvStr(uchar sla,uchar suba,uchar *s,uchar no);
64 =1
65 =1
66 =1
67 =1 #ifndef READYDEF
68 =1 #undef uchar
69 =1 #endif
3
4 #define CSI24WC02 0XA0
5 #define uint8 unsigned char
6 unsigned char delay(unsigned char j)
7 {
8 1 unsigned char k,l;
9 1 for(l=0;l<=j;l++)
10 1 for(k=0;k<=250;k++);
11 1 return 0;
12 1 }
13
14 void main()
15 {
16 1 /*定义发送缓冲区*/
17 1 uint8 td[5]={0x00,0x12,0x55,0x30,0x12};
18 1 uint8 rd[5];
19 1 ISendStr(CSI24WC02,0,td,0x5);
20 1 delay(100);
21 1 while(1)
22 1 {
23 2 IRcvStr(CSI24WC02,0,rd,0x5);
24 2 delay(100);
25 2 while(1);
26 2 }
27 1 }
28
29
C51 COMPILER V7.07 EEPROM 03/28/2004 13:58:34 PAGE 5
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION _delay (BEGIN)
; SOURCE LINE # 6
;---- Variable 'j' assigned to Register 'R7' ----
; SOURCE LINE # 7
; SOURCE LINE # 9
;---- Variable 'l' assigned to Register 'R6' ----
0000 E4 CLR A
0001 FE MOV R6,A
0002 ?C0001:
0002 EE MOV A,R6
0003 D3 SETB C
0004 9F SUBB A,R7
0005 500C JNC ?C0002
; SOURCE LINE # 10
;---- Variable 'k' assigned to Register 'R5' ----
0007 E4 CLR A
0008 FD MOV R5,A
0009 ?C0004:
0009 0D INC R5
000A ED MOV A,R5
000B D3 SETB C
000C 94FA SUBB A,#0FAH
000E 40F9 JC ?C0004
0010 ?C0003:
0010 0E INC R6
0011 80EF SJMP ?C0001
0013 ?C0002:
; SOURCE LINE # 11
0013 7F00 MOV R7,#00H
; SOURCE LINE # 12
0015 ?C0007:
0015 22 RET
; FUNCTION _delay (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 14
; SOURCE LINE # 15
; SOURCE LINE # 17
0000 7800 R MOV R0,#LOW td
0002 7C00 R MOV R4,#HIGH td
0004 7D00 MOV R5,#00H
0006 7BFF MOV R3,#0FFH
0008 7A00 R MOV R2,#HIGH _?ix1000
000A 7900 R MOV R1,#LOW _?ix1000
000C 7E00 MOV R6,#00H
000E 7F05 MOV R7,#05H
0010 120000 E LCALL ?C?COPY
; SOURCE LINE # 19
0013 7B00 MOV R3,#00H
0015 7A00 R MOV R2,#HIGH td
0017 7900 R MOV R1,#LOW td
0019 750005 E MOV ?_ISendStr?BYTE+05H,#05H
001C E4 CLR A
001D FD MOV R5,A
001E 7FA0 MOV R7,#0A0H
0020 120000 E LCALL _ISendStr
; SOURCE LINE # 20
0023 7F64 MOV R7,#064H
0025 120000 R LCALL _delay
C51 COMPILER V7.07 EEPROM 03/28/2004 13:58:34 PAGE 6
0028 ?C0008:
; SOURCE LINE # 21
; SOURCE LINE # 22
; SOURCE LINE # 23
0028 7B00 MOV R3,#00H
002A 7A00 R MOV R2,#HIGH rd
002C 7900 R MOV R1,#LOW rd
002E 750005 E MOV ?_IRcvStr?BYTE+05H,#05H
0031 E4 CLR A
0032 FD MOV R5,A
0033 7FA0 MOV R7,#0A0H
0035 120000 E LCALL _IRcvStr
; SOURCE LINE # 24
0038 7F64 MOV R7,#064H
003A 120000 R LCALL _delay
003D ?C0010:
; SOURCE LINE # 25
003D 80FE SJMP ?C0010
; FUNCTION main (END)
C51 COMPILER V7.07 EEPROM 03/28/2004 13:58:34 PAGE 7
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
_IRcvStr . . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
td . . . . . . . . . . . . . . . . . AUTO DATA ARRAY 0000H 5
rd . . . . . . . . . . . . . . . . . AUTO DATA ARRAY 0005H 5
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
_?ix1000 . . . . . . . . . . . . . . . STATIC CODE ARRAY 0000H 5
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
_ISendStr. . . . . . . . . . . . . . . EXTERN CODE PROC ----- -----
_delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
j. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
k. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0005H 1
l. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0006H 1
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 85 ----
CONSTANT SIZE = 5 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 10
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 + -