📄 25lc320.lst
字号:
C51 COMPILER V8.05a 25LC320 03/08/2007 09:20:43 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 25LC320
OBJECT MODULE PLACED IN .\object\25lc320.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 25lc320.c ROM(SMALL) OPTIMIZE(9,SIZE) BROWSE DEBUG OBJECTEXTEND OBJECT(.\ob
-ject\25lc320.obj)
line level source
1 #include "reg9e5.h"
2 #include "PubFunc.h"
3 #include "spi.h"
4 #include "25lc320.h"
5 #include "serial.h"
6 #include <absacc.h>
7 //BYTE data cmdBufRW[35];
8 BYTE data cmdBufRW[67];
9 BYTE _25LC320_ReadStatus(void)
10 {
11 1 BYTE data buf[2];
12 1
13 1 // ChoiceSPIModule(EXTERNAL); //当调用这个函数时候,此句肯定被调用过
14 1
15 1 buf[0] = _25LC320_RDSR;
16 1 SPIReadWrite(buf, 2);
17 1 return buf[1];
18 1 }
19
20 void _25LC320_SetWEL(BYTE data in)
21 {
22 1 BYTE data buf[1];
23 1
24 1 ChoiceSPIModule(EXTERNAL);
25 1
26 1 buf[0] = (in) ? _25LC320_WREN : _25LC320_WRDI;
27 1 Wait_25LC320_IDLE;
28 1 SPIReadWrite(buf, 1);
29 1 // WaitSPIDataReady();
30 1 }
31
32
33 void _25LC320_WriteStatus(BYTE data in)
34 {
35 1 BYTE data buf[2];
36 1
37 1 _25LC320_SetWEL(1);
38 1
39 1 // ChoiceSPIModule(EXTERNAL);
40 1 buf[0] = _25LC320_WRSR;
41 1 buf[1] = in;
42 1 Wait_25LC320_IDLE;
43 1 SPIReadWrite(buf, 2);
44 1 }
45
46 void Init25lc320(void)
47 {
48 1 _25LC320_WriteStatus(0x00);
49 1 }
50
51 void _25LC320_WriteByteInPage(WORD data addr, BYTE idata *buf)
52 {
53 1 BYTE data i;
54 1 _25LC320_SetWEL(1);
C51 COMPILER V8.05a 25LC320 03/08/2007 09:20:43 PAGE 2
55 1
56 1 // ChoiceSPIModule(EXTERNAL);
57 1 cmdBufRW[0] = _25LC320_WRITE;
58 1 cmdBufRW[1] = addr >> 8;
59 1 cmdBufRW[2] = addr & 0xFF;
60 1
61 1 for (i = 0; i < _25LC320_PAGE_SIZE; i++) {
62 2 cmdBufRW[i+3] = buf[i];
63 2 }
64 1 Wait_25LC320_IDLE;
65 1 SPIReadWrite(cmdBufRW, _25LC320_PAGE_SIZE+3);
66 1 /*
67 1 ActionSPI_CS(0);
68 1 SPI_DATA = _25LC320_WRITE; // Move byte to send to SPI data register
69 1 while((EXIF & 0x20) == 0x00);
70 1 EXIF &= ~0x20;
71 1 SPI_DATA = addr >> 8; // Move byte to send to SPI data register
72 1 while((EXIF & 0x20) == 0x00);
73 1 EXIF &= ~0x20;
74 1 SPI_DATA = addr & 0xFF; // Move byte to send to SPI data register
75 1 while((EXIF & 0x20) == 0x00);
76 1 EXIF &= ~0x20;
77 1
78 1 i=0;
79 1
80 1 do{ //for(i=0;i<size;i++)
81 1 //{
82 1 SPI_DATA = buf[i]; // Move byte to send to SPI data register
83 1 while((EXIF & 0x20) == 0x00); // Wait until SPI hs finished transmitting
84 1 EXIF &= ~0x20; // Clear SPI interrupt
85 1 i++;
86 1 }while(i<32);
87 1 ActionSPI_CS(1);
88 1 */
89 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 120 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 67 9
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 + -