📄 main.lst
字号:
C51 COMPILER V7.06 MAIN 11/05/2008 23:47:59 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c BROWSE INCDIR(C:\EZST\EasyStudy51\ES51-II\Target\INC\) DEBUG OBJECTE
-XTEND
stmt level source
1
2 /*
3 File: mian.c
4 说明: IIC总线器件24C01的读写;
5 Author:wolfe
6 Data: 2008.10
7 */
8
9 #include "at89x52.h"
10 #include "ES51_II.h"
11 #include "es51_ii_lib.h"
12
13
14 // 操作结束
15 void I2c_Stop(void);
16 // 操作起始
17 void I2c_Start(void);
18 //读一个字节数据
19 unsigned char I2c_RdByte(void);
20 //写一个字节数据
21 void I2c_WrByte(unsigned char dat);
22
23
24 // 24CXX写一字节数据函数
25 // slave: 从器件地址,对于ES51-II上的24地址是:0xA0
26 // addr: 从器件片内地址
27 // dat: 数据
28 void EEPROM_WrOneByte(unsigned char slave,unsigned char addr,unsigned char dat)
29 {
30 1 I2c_Start(); // 启动总线
31 1 I2c_WrByte( slave & 0xfe ); // 写器件从地址,写器件
32 1 I2c_WrByte( addr ); // 写器件片内地址
33 1 I2c_WrByte( dat ); // 发送数据
34 1 I2c_Stop(); // 结束总线
35 1
36 1 }
37 // 24CXX读一字节数据函数
38 // .....
39 // .....
40 unsigned char EEPROM_RdOneByte(unsigned char slave,unsigned char addr)
41 {
42 1 unsigned char value;
43 1
44 1 I2c_Start(); // 启动总线
45 1 I2c_WrByte( slave & 0xfe ); // 写器件从地址,写器件
46 1 I2c_WrByte( addr ); // 写器件片内地址
47 1 //I2c_Stop();
48 1
49 1 I2c_Start();
50 1 I2c_WrByte( slave | 0x01 ); // 写器件从地址,读器件
51 1 value = I2c_RdByte(); // 发送数据
52 1 I2c_Stop(); // 结束总线
53 1
54 1 return value;
C51 COMPILER V7.06 MAIN 11/05/2008 23:47:59 PAGE 2
55 1 }
56
57 //
58 void main()
59 {
60 1 unsigned int tmp;
61 1 unsigned char tmp1;
62 1
63 1 unsigned char addr,value,i;
64 1
65 1 SMGDisplayON();
66 1 EA = 1;
67 1
68 1 for( value=0,addr=0; addr<128; addr++,value++ )
69 1 {
70 2 EEPROM_WrOneByte(ADDR_24,addr,value);
71 2
72 2 i=250;
73 2 while(i--); // 读写之间稍延时
74 2 tmp =0;
75 2 tmp = (tmp|addr)<<8;
76 2 tmp1 = EEPROM_RdOneByte(ADDR_24,addr);
77 2
78 2 tmp |= tmp1;
79 2 SMGprintf("%x",tmp); // 数码管显示地址和读出的数据
80 2
81 2 DelayS(1); // 延时1秒后继续下一地址的读写
82 2 }
83 1 while(1);
84 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 161 ----
CONSTANT SIZE = 3 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 11
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 + -