📄 at45db041b.lst
字号:
C51 COMPILER V7.50 AT45DB041B 10/13/2006 15:35:59 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE AT45DB041B
OBJECT MODULE PLACED IN AT45DB041B.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AT45DB041B.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /* AT45DB041B:
2 2.5--3.6V;SCK可达20MHz
3 2048页 264B/页 8页/块;
4 2个264B缓冲;
5 支持页,块擦除;
6 */
7 #include<reg52.h>
8
9 #define uchar unsigned char
10 #define uint unsigned int
11
12 //-----------------------------------读命令;
13 #define continuous_array_read_0 0x68
14 #define continuous_array_read_3 0xe8
15 #define main_memory_page_read_0 0x52
16 #define main_memory_page_read_3 0xd2
17 #define buffer1_read_0 0x54
18 #define buffer1_read_3 0xd4
19 #define buffer2_read_0 0x56
20 #define buffer2_read_3 0xd6
21 #define status_register_read_0 0x57
22 #define status_register_read_3 0xd7
23 //------------------------------------写和檫命令
24 #define buffer1_write 0x84
25 #define buffer2_write 0x87
26 #define B1_to_main_page_program_erase 0x83
27 #define B2_to_main_page_program_erase 0x86
28 #define B1_to_main_page_program_without_erase 0x88
29 #define B2_to_main_page_program_without_erase 0x89
30 #define paga_erase 0x81
31 #define block_erase 0x50
32 #define main_page_program_through_B1 0x82
33 #define main_page_program_through_B2 0x85
34 //------------------------------------其他命令
35 #define mian_to_B1_transfer 0x53
36 #define mian_to_B2_transfer 0x55
37 #define main_paga_to_buffer1_compare 0x60
38 #define main_paga_to_buffer2_compare 0x61
39 #define auto_page_rewrite_through_B1 0x58
40 #define auto_page_rewrite_through_B2 0x59
41
42 sbit AT45db041B_SI=P2^4;
43 sbit AT45db041B_SCK=P2^5;
44 //sbit AT45db041B_nRESET=P0^0;
45 sbit AT45db041B_nCS=P2^7;
46 //sbit AT45db041B_nWP=P0^0;
47 sbit AT45db041B_SO=P2^6;
48
49 delay(uint i)
50 {while(--i);}
51
52 void CSH(void)
53 {
54 1 AT45db041B_SO=1;
55 1 AT45db041B_nCS=1;
C51 COMPILER V7.50 AT45DB041B 10/13/2006 15:35:59 PAGE 2
56 1 AT45db041B_SCK=0;
57 1 AT45db041B_nCS=0;
58 1 delay(1);
59 1 }
60 void AT45041B_BYTE_WRITE(uchar d)
61 {
62 1 uchar i=0,j=8;
63 1 while(j--)
64 1 {
65 2 AT45db041B_SI=d&0x80;
66 2 d<<=1;
67 2 AT45db041B_SCK=1;delay(1);
68 2 AT45db041B_SCK=0;delay(1);
69 2 }
70 1 //AT45db041B_nCS=1;
71 1 delay(1);
72 1 }
73 uchar AT45041B_BYTE_READ ()
74 {
75 1 uchar i=0,j=8;
76 1 // AT45db041B_SCK=1;delay(1);
77 1 // AT45db041B_SCK=0;delay(1);
78 1 while(j--)
79 1 {
80 2 i<<=1;
81 2 if(AT45db041B_SO)i=i|0x01;
82 2 AT45db041B_SCK=1;delay(1);
83 2 AT45db041B_SCK=0;delay(1);
84 2 }
85 1 //AT45db041B_nCS=1;
86 1 return(i);
87 1 delay(1);
88 1 }
89
90 void main(void)
91 {
92 1 CSH();
93 1 AT45041B_BYTE_WRITE(buffer1_write);
94 1 AT45041B_BYTE_WRITE(0x00);
95 1 AT45041B_BYTE_WRITE(0x00);
96 1 AT45041B_BYTE_WRITE(0x01);
97 1 AT45041B_BYTE_WRITE(0xfe);
98 1 AT45041B_BYTE_WRITE(0xfc);
99 1 AT45041B_BYTE_WRITE(0xf8);
100 1 AT45041B_BYTE_WRITE(0xf0);
101 1 AT45db041B_nCS=1;delay(10);
102 1
103 1 // CSH();
104 1 // AT45041B_BYTE_WRITE(status_register_read_0);
105 1 // AT45db041B_SCK=1;delay(1);
106 1 // AT45db041B_SCK=0;delay(1);
107 1 // P0=AT45041B_BYTE_READ ();
108 1 while(1)
109 1 {
110 2 CSH();
111 2 AT45041B_BYTE_WRITE(buffer1_read_0);
112 2 AT45041B_BYTE_WRITE(0x00);
113 2 AT45041B_BYTE_WRITE(0x00);
114 2 AT45041B_BYTE_WRITE(0x01);
115 2 AT45041B_BYTE_WRITE(0x00);
116 2 AT45db041B_SCK=1;delay(1); AT45db041B_SCK=0;delay(1);
117 2 P0=AT45041B_BYTE_READ ();delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);
C51 COMPILER V7.50 AT45DB041B 10/13/2006 15:35:59 PAGE 3
118 2 P0=AT45041B_BYTE_READ ();delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);
119 2 P0=AT45041B_BYTE_READ ();delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);
120 2 P0=AT45041B_BYTE_READ ();delay(50000);delay(50000);delay(50000);delay(50000);delay(50000);
121 2 AT45db041B_nCS=1;delay(10);
122 2 }
123 1 // while(1);
124 1
125 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 309 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -