📄 stc eeprom.lst
字号:
173
174
175 void controldat(unsigned char dat[])//指令数据
176 { unsigned char i;
177 1 unsigned char d;
178 1 i=strlen(dat);
179 1 for(d=0;d<i;d++) writecmd(dat[d]);
C51 COMPILER V6.23a STC_EEPROM 07/25/2007 14:52:15 PAGE 4
180 1 }
181
182
183 void displaydat(unsigned char address,unsigned char dat[])//显示的数据
184 { unsigned char i;
185 1 unsigned char d;
186 1 i=strlen(dat);
187 1 writecmd(address);
188 1 for(d=0;d<i;d++) { writedata(dat[d]); }
189 1 }
190
191
192
193
194
195
196
197
198 unsigned char byteread(unsigned char addh,unsigned char addl)
199 {
200 1 ISP_ADDRH = addh;
201 1 ISP_ADDRL = addl;
202 1 ISP_CONTR = ISP_ENABLE; //设置等待时间,并允许ISP操作
203 1 ISP_CMD = ISP_BYTE_READ; //选择字节读读操作
204 1 ISP_TRIG = 0X46;
205 1 _nop_();
206 1 _nop_();
207 1 ISP_TRIG = 0XB9;
208 1 _nop_();
209 1 _nop_();
210 1 return ISP_DATA;
211 1 }
212
213 void bytewrite(unsigned char addh,unsigned char addl,unsigned char dat)
214 {
215 1 ISP_DATA = dat;
216 1 ISP_ADDRH = addh;
217 1 ISP_ADDRL = addl;
218 1 ISP_CONTR = ISP_ENABLE; //设置等待时间,并允许ISP操作
219 1 ISP_CMD = ISP_BYTE_PROGRAM; //选择字节写操作
220 1 ISP_TRIG = 0X46;
221 1 _nop_();
222 1 _nop_();
223 1 ISP_TRIG = 0XB9;
224 1 _nop_();
225 1 _nop_();
226 1 }
227
228 void sectorerase(unsigned char addh,unsigned char addl )
229 {
230 1 ISP_ADDRH = addh;
231 1 ISP_ADDRL = addl;
232 1 ISP_CONTR = ISP_ENABLE; //设置等待时间,并允许ISP操作
233 1 ISP_CMD = ISP_BYTE_SECTOR_ERASE; //选择扇区擦除操作
234 1 ISP_TRIG = 0X46;
235 1 _nop_();
236 1 _nop_();
237 1 ISP_TRIG = 0XB9;
238 1 _nop_();
239 1 _nop_();
240 1 }
241
C51 COMPILER V6.23a STC_EEPROM 07/25/2007 14:52:15 PAGE 5
242
243
244
245 //*********
246 void main()
247 { unsigned char x=0x80;unsigned char y=0x80;
248 1 unsigned char d,i;
249 1 void delayms(unsigned int time);
250 1 void delay50us(unsigned int time);
251 1 void init();
252 1 void writecmd(unsigned char dat);
253 1 void writedata(unsigned char dat);
254 1 void controldat(unsigned char dat[]);//指令数据
255 1 void displaydat(unsigned char address,unsigned char dat[]);//显示的数据
256 1 init();
257 1
258 1 // writecmd(0x30); delay50us(1);
259 1 writecmd(0x01); delay50us(1);//controldat(0x0f); delay50us(1);
260 1 writecmd(0x0c); delay50us(1);
261 1
262 1
263 1 /* writecmd(0x36); delay50us(10);
264 1 // controldat(0x06); delay50us(1);
265 1 // controldat(0x3f); delay50us(1);
266 1
267 1 // controldat(0x80); delay50us(1);
268 1 // controldat(0x04); delay50us(1);
269 1
270 1
271 1 // writecmd(0x05);
272 1 // displaydat(0x90,"曾南东是个大大大"); delay50us(1);
273 1 // displaydat(0x88,"曾南东是个大大大"); delay50us(1);
274 1 // delayms(65534);
275 1 // displaydat(&n[0]); delay50us(1);
276 1 // controldat(0x0a); delay50us(1);
277 1 // displaydat(&n[0]); delay50us(1);
278 1 // controldat(0x05); delay50us(1);
279 1 // displaydat(0xDE); delay50us(1);
280 1 // displaydat("i"); delay50us(1);
281 1 // displaydat("我"); delay50us(1);
282 1
283 1
284 1 // delayms(1000);
285 1 // writecmd(0x01); delay50us(10);
286 1
287 1 writecmd(y); delay50us(1);
288 1 writecmd(x); delay50us(1);
289 1 for(d=0;d<32;d++)
290 1 { y++;
291 1 for(i=0;i<16;i++)
292 1 {
293 1 writedata(tab[d][i]);delay50us(1);
294 1 }
295 1
296 1 writecmd(y); delay50us(1);
297 1 writecmd(0x80); delay50us(1);
298 1 }
299 1 x=0x88; y=0x80;
300 1 writecmd(y); delay50us(1);
301 1 writecmd(x); delay50us(1);
302 1 for(d=32;d<65;d++)
303 1 {
C51 COMPILER V6.23a STC_EEPROM 07/25/2007 14:52:15 PAGE 6
304 1 for(i=0;i<16;i++)
305 1 {
306 1 writedata(tab[d][i]);delay50us(1);
307 1 }
308 1 y++;
309 1 writecmd(y); delay50us(1);
310 1 writecmd(x); delay50us(1);
311 1 }
312 1 // delayms(200); */
313 1 writecmd(0x30); delay50us(1);
314 1 writecmd(0x01); delay50us(1);
315 1
316 1 displaydat(0x90,"作者:");
317 1 displaydat(0x88," 裴建国 杨统芳");
318 1 displaydat(0x98," 童月雷 07.6.14");
319 1 displaydat(0x80,"无线语音 据传输");
320 1 writecmd(0x84);
321 1 writedata(0xca); //“数”在keil里面不能转换内码,故单独写
322 1 writedata(0xfd);
323 1 delayms(1000);
324 1 d='9';
325 1 sectorerase(0x80,0x00);
326 1 delayms(20);
327 1 bytewrite(0x80,0x00,d);
328 1 delayms(5);
329 1 i=byteread(0x80,0x00);
330 1 writecmd(0x01);
331 1 writecmd(0x90);
332 1 writedata(i);
333 1 delayms(4000);
334 1
335 1
336 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 429 ----
CONSTANT SIZE = 1082 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 12
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 + -