📄 x5045v1.lst
字号:
C51 COMPILER V7.50 X5045V1 10/01/2005 13:34:26 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE X5045V1
OBJECT MODULE PLACED IN X5045v1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe X5045v1.c DB OE SMALL ROM(LARGE)
line level source
1 /****************************************************************/
2 /*功能:
3 /*版本:v1.0
4 /*设计人:
5 /*编写日期:
6 /*最后修改日期:
7 /*状态:in test
8 /****************************************************************/
9 /*头文件定义*/
10 #include <reg51.h>
11 #include <intrins.h>
12 /*预定义部分*/
13 #define uchar unsigned char
14 #define uint unsigned int
15 #define pagenum 16
16 sbit XCS=P1^0;
17 sbit XSI=P1^1;
18 sbit XSCK=P1^2;
19 sbit XSO=P1^3;
20 uchar tmp;
21 uchar pagedata[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
22 0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
23 /*函数声明部分*/
24 void write_byte(uchar byte);
25 uchar read_byte();
26 void write_en();
27 uchar read_status();
28 void write_one_data(uchar dat);
29 uchar read_one_data();
30 void write_page(uchar *page);
31 uchar *read_page();
32 /*主函数部分*/
33 /*********************************************************************/
34 /*函数名:main()
35 /*功能:主函数
36 /*输入参数:无
37 /*返回值:无
38 /*编写日期:
39 /*最后修改日期:
40 /********************************************************************/
41 void main()
42 {
43 1 uchar dat,status;
44 1 uint i=1000,j=100;
45 1 P1=0xff;
46 1 XCS=0;XSI=0;XSCK=0;XSO=0;
47 1 write_en();
48 1 status=read_status();
49 1 write_en();
50 1 write_one_data(0xff);
51 1 /*
52 1 while(i--)
53 1 {
54 1 j=100;
55 1 while(j--);
C51 COMPILER V7.50 X5045V1 10/01/2005 13:34:26 PAGE 2
56 1 }
57 1 */
58 1 //欲在写入后马上观察写入数据的正确性,可通过单步或加入较长时间的延时
59 1 dat=read_one_data();
60 1 //write_page(pagedata);
61 1 while(1);
62 1 }
63
64 /*其他函数定义部分*/
65 /*********************************************************************/
66 /*函数名:
67 /*功能:
68 /*输入参数:
69 /*返回值:
70 /*调用函数:
71 /*被调用函数:
72 /*编写日期:
73 /*最后修改日期:
74 /********************************************************************/
75 void write_byte(uchar byte)
76 {
77 1 uchar i=0;
78 1 for(i=0;i<8;i++)
79 1 {
80 2 XSCK=0;
81 2 tmp=byte&0x80;
82 2 if(tmp!=0)
83 2 XSI=1;
84 2 else
85 2 XSI=0;
86 2 XSCK=1;
87 2 _nop_();
88 2 byte<<=1;
89 2 }
90 1 }
91 /*********************************************************************/
92 /*函数名:
93 /*功能:
94 /*输入参数:
95 /*返回值:
96 /*调用函数:
97 /*被调用函数:
98 /*编写日期:
99 /*最后修改日期:
100 /********************************************************************/
101 uchar read_byte()
102 {
103 1 uchar i;
104 1 uchar byte=0;
105 1 for(i=0;i<8;i++)
106 1 {
107 2 byte<<=1;
108 2 XSCK=0;
109 2 _nop_();
110 2 if(XSO==1)
111 2 byte+=1;
112 2 XSCK=1;
113 2 }
114 1 XSCK=0;
115 1 return(byte);
116 1 }
117 /*********************************************************************/
C51 COMPILER V7.50 X5045V1 10/01/2005 13:34:26 PAGE 3
118 /*函数名:
119 /*功能:
120 /*输入参数:
121 /*返回值:
122 /*调用函数:
123 /*被调用函数:
124 /*编写日期:
125 /*最后修改日期:
126 /********************************************************************/
127 void write_en()
128 {
129 1 XCS=0;
130 1 write_byte(0x06);
131 1 XCS=1;
132 1 }
133 /*********************************************************************/
134 /*函数名:
135 /*功能:
136 /*输入参数:
137 /*返回值:
138 /*调用函数:
139 /*被调用函数:
140 /*编写日期:
141 /*最后修改日期:
142 /********************************************************************/
143 void write_one_data(uchar dat)
144 {
145 1 XSCK=0;XCS=0;
146 1 write_byte(0x02);
147 1 write_byte(0x00);
148 1 write_byte(dat);
149 1 XCS=1;
150 1 }
151 /*********************************************************************/
152 /*函数名:
153 /*功能:
154 /*输入参数:
155 /*返回值:
156 /*调用函数:
157 /*被调用函数:
158 /*编写日期:
159 /*最后修改日期:
160 /********************************************************************/
161 uchar read_one_data()
162 {
163 1 uchar dat;
164 1 XSCK=0;XCS=0;
165 1 write_byte(0x03);
166 1 write_byte(0x00);
167 1 dat=read_byte();
168 1 XCS=1;
169 1 return(dat);
170 1 }
171 /*********************************************************************/
172 /*函数名:
173 /*功能:
174 /*输入参数:
175 /*返回值:
176 /*调用函数:
177 /*被调用函数:
178 /*编写日期:
179 /*最后修改日期:
C51 COMPILER V7.50 X5045V1 10/01/2005 13:34:26 PAGE 4
180 /********************************************************************/
181 uchar read_status()
182 {
183 1 uchar status;
184 1 XCS=0;
185 1 write_byte(0x05);
186 1 status=read_byte();
187 1 XCS=1;
188 1 return(status);
189 1 }
190 /********************END********************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 165 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 17 6
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 + -