📄 display.lst
字号:
198 2 dis=ReadData(flag);
199 2 dis=GetDisplay();
200 2 Set_Display_Add(start);
201 2 Display(~dis);
202 2 start++;
203 2 }
204 1 }
205
206 void Set_Display_Add(unsigned int add){
207 1 flag=((add&0x40)==0x40);
208 1 SetCommand(0xb8+((add&0x380)>>7),flag);
209 1 SetCommand(0x40+(add&0x3f),flag);
210 1 Dispointer=add;
211 1 }
212
213
214 void SetCommand(unsigned char Command,bit CS)
215 {
216 1 EA=0;
217 1 if(CS==0)
218 1 {
219 2 lcd_cs1=1;
220 2 lcd_cs0=0;
221 2 }
222 1 else
223 1 {
224 2 lcd_cs1=0;
225 2 lcd_cs0=1;
226 2 }
227 1 lcd_DC=0;
228 1 P0=Command;
229 1 lcd_rw=0;
230 1 lcd_EN=0;
231 1 lcd_EN=1;
232 1 lcd_EN=0;
233 1 lcd_cs1=1;
234 1 lcd_cs0=1;
235 1 lcddelay();
236 1 EA=1;
237 1 }
238
239 void WriteData(unsigned char Data,bit CS){
C51 COMPILER V7.09 DISPLAY 05/17/2006 14:57:10 PAGE 5
240 1 EA=0;
241 1 if(CS==0)
242 1 {
243 2 lcd_cs1=1;
244 2 lcd_cs0=0;
245 2 }
246 1 else
247 1 {
248 2 lcd_cs1=0;
249 2 lcd_cs0=1;
250 2 }
251 1 lcd_DC=1;
252 1 P0=Data;
253 1 lcd_rw=0;
254 1 lcd_EN=0;
255 1 lcd_EN=1;
256 1 lcd_EN=0;
257 1 lcd_cs1=1;
258 1 lcd_cs0=1;
259 1 lcddelay();
260 1 EA=1;
261 1 }
262
263
264 void cls(void){
265 1 unsigned char data k,j;
266 1 for(k=0;k<8;k++){
267 2 SetCommand(0xb8+k,1);
268 2 SetCommand(0x40,1);
269 2 for(j=0;j<64;j++){
270 3 WriteData(0x0,1);
271 3 }
272 2 SetCommand(0xb8+k,0);
273 2 SetCommand(0x40,0);
274 2 for(j=0;j<64;j++){
275 3 WriteData(0x0,0);
276 3 }
277 2 }
278 1 Set_Display_Add(0);
279 1 }
280
281 #if char_send
282
283 void SendChar(unsigned char m)
284 {
285 1 switch (m>>4)
286 1 {
287 2 case 0x00: putchar('0');
288 2 break;
289 2 case 0x01: putchar('1');
290 2 break;
291 2 case 0x02: putchar('2');
292 2 break;
293 2 case 0x03: putchar('3');
294 2 break;
295 2 case 0x04: putchar('4');
296 2 break;
297 2 case 0x05: putchar('5');
298 2 break;
299 2 case 0x06: putchar('6');
300 2 break;
301 2 case 0x07: putchar('7');
C51 COMPILER V7.09 DISPLAY 05/17/2006 14:57:10 PAGE 6
302 2 break;
303 2 case 0x08: putchar('8');
304 2 break;
305 2 case 0x09: putchar('9');
306 2 break;
307 2 case 0x0a: putchar('A');
308 2 break;
309 2 case 0x0b: putchar('B');
310 2 break;
311 2 case 0x0c: putchar('C');
312 2 break;
313 2 case 0x0d: putchar('D');
314 2 break;
315 2 case 0x0e: putchar('E');
316 2 break;
317 2 case 0x0f: putchar('F');
318 2 break;
319 2 default:break;
320 2 }
321 1 switch (m&0x0f)
322 1 {
323 2 case 0x00: putchar('0');
324 2 break;
325 2 case 0x01: putchar('1');
326 2 break;
327 2 case 0x02: putchar('2');
328 2 break;
329 2 case 0x03: putchar('3');
330 2 break;
331 2 case 0x04: putchar('4');
332 2 break;
333 2 case 0x05: putchar('5');
334 2 break;
335 2 case 0x06: putchar('6');
336 2 break;
337 2 case 0x07: putchar('7');
338 2 break;
339 2 case 0x08: putchar('8');
340 2 break;
341 2 case 0x09: putchar('9');
342 2 break;
343 2 case 0x0a: putchar('A');
344 2 break;
345 2 case 0x0b: putchar('B');
346 2 break;
347 2 case 0x0c: putchar('C');
348 2 break;
349 2 case 0x0d: putchar('D');
350 2 break;
351 2 case 0x0e: putchar('E');
352 2 break;
353 2 case 0x0f: putchar('F');
354 2 break;
355 2 default:break;
356 2 }
357 1 }
358
359 #endif
360
361 #if int_send
362 void SendInt(unsigned int m){
363 1 SendChar(((unsigned char *)&m)[0]);
C51 COMPILER V7.09 DISPLAY 05/17/2006 14:57:10 PAGE 7
364 1 SendChar(((unsigned char *)&m)[1]);
365 1 }
366 #endif
367
368
369 #if long_send
370 void SendLong(unsigned long m){
371 1 SendChar(((unsigned char *)&m)[0]);
372 1 SendChar(((unsigned char *)&m)[1]);
373 1 SendChar(((unsigned char *)&m)[2]);
374 1 SendChar(((unsigned char *)&m)[3]);
375 1 }
376
377 #endif
378
379 unsigned char ReadData(bit CS){
380 1 if (CS==0){
381 2 while((IRPort1&0x80)==0x80);
382 2 return DRPort1;
383 2 }
384 1 else{
385 2 while((IRPort0&0x80)==0x80);
386 2 return DRPort0;
387 2 }
388 1 }
389
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1127 ----
CONSTANT SIZE = 1288 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 26
IDATA SIZE = ---- ----
BIT SIZE = 2 3
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -