📄 display.lst
字号:
C51 COMPILER V7.00 DISPLAY 10/15/2005 18:45:27 PAGE 1
C51 COMPILER V7.00, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN E:\液晶程序\DISPLAY.OBJ
COMPILER INVOKED BY: C:\COMP51\C51.EXE E:\液晶程序\DISPLAY.C DB SB OE
stmt level source
*** WARNING C500 IN LINE 1 OF E:\液晶程序\DISPLAY.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
1 #include <reg52.h> // SFR declarations
2 #include <head.h> // SFR declarations
3
4
5
6 void delay(unsigned int num)
7 {
8 1 while(num--)
9 1 {
10 2 ;
11 2 }
12 1
13 1 }
14
15 void lw(unsigned char x,unsigned char y,unsigned char dd)
16 {
17 1 if (x<61)
18 1 { e1=e2=1;
19 2 di=rw=0;P1=0xb8|y;e1=1;delay(2);e1=0;delay(2);
20 2 e1=e2=1;
21 2 di=rw=0;P1=0x00|x;e1=1;delay(2);e1=0;delay(2);
22 2 e1=e2=1;
23 2 di=1;rw=0;P1=dd;e1=1;delay(2);e1=0;delay(2);
24 2 e1=e2=1;
25 2 }
26 1 else
27 1 {
28 2 x=x-61;e1=e2=1;
29 2 di=rw=0;P1=0xb8|y;e2=1;delay(2);e2=0;delay(2);
30 2 e1=e2=1;
31 2 di=rw=0;P1=0x00|x;e2=1;delay(2);e2=0;delay(2);
32 2 e1=e2=1;
33 2 di=1;rw=0;P1=dd;e2=1;delay(2);e2=0;delay(2);
34 2 e1=e2=1;
35 2 }
36 1 P1=0xff;
37 1 }
38
39 void clear_screen(unsigned char Row)
40 {
41 1 unsigned char x,y;
42 1 for (y=0;y<Row;y++)
43 1 {
44 2 for (x=0;x<122;x++)
45 2 lw(x,y,0x00);
46 2 }
47 1 }
48 void write_chinese(UCHAR x,UCHAR y,UCHAR width,UCHAR code*array)
49 {
50 1 unsigned char j,dd;
51 1 /*
52 1 for(j=0;j<32;j++)
53 1 {
54 1 dd= array[j];
C51 COMPILER V7.00 DISPLAY 10/15/2005 18:45:27 PAGE 2
55 1 if(j<16) lw(x+j,y,dd);
56 1 else lw(x+j-16,y+1,dd);
57 1 }
58 1 */
59 1 switch(width)
60 1 {
61 2 case 0x04:
62 2 for(j=0;j<width;j++)
63 2 {
64 3 dd=array[j];
65 3 lw(x+j,y,dd);
66 3 }
67 2 break;
68 2 case 0x08:
69 2 for(j=0;j<width*2;j++)
70 2 {
71 3 dd=array[j];
72 3 if(j<width) lw(x+j,y,dd);
73 3 else lw(x+j-width,y+1,dd);
74 3 }
75 2 break;
76 2 default:
77 2 for(j=0;j<0x20;j++)
78 2 {
79 3 dd=array[j];
80 3 if(j<0x10) lw(x+j,y,dd);
81 3 else lw(x+j-0x10,y+1,dd);
82 3 }
83 2 break;
84 2 }
85 1 }
86 unsigned char code *number(unsigned char t)
87 {
88 1 unsigned char code*string;
89 1 switch(t)
90 1 {
91 2 case 0: string=num0;break;
92 2 case 1: string=num1;break;
93 2 case 2: string=num2;break;
94 2 case 3: string=num3;break;
95 2 case 4: string=num4;break;
96 2 case 5: string=num5;break;
97 2 case 6: string=num6;break;
98 2 case 7: string=num7;break;
99 2 case 8: string=num8;break;
100 2 case 9: string=num9;break;
101 2 default: string=num0;break;
102 2 }
103 1 return(string);
104 1 }
105 void send_command(unsigned char cmd)
106 {
107 1 e1=e2=1;
108 1 delay(2);
109 1 e1=e2=0;
110 1 di=rw=0;
111 1 P1=cmd;
112 1 e1=e2=1;
113 1 delay(2);
114 1 e1=e2=0;
115 1 delay(2);
116 1 P1=0xff;
C51 COMPILER V7.00 DISPLAY 10/15/2005 18:45:27 PAGE 3
117 1 e1=e2=1;
118 1 }
119 unsigned char read(void)
120 {
121 1 unsigned char status;
122 1 e1=e2=1;
123 1 delay(2);
124 1 e1=e2=0;
125 1 di=0;rw=1;
126 1 delay(2);
127 1 e1=e2=1;
128 1 delay(2);
129 1 e1=e2=0;
130 1 status=P1;
131 1 delay(2);
132 1 e1=e2=1;
133 1 return(status);
134 1 }
135 void lcd_init(void)
136 {
137 1 UCHAR x,y;
138 1 rst = 1;
139 1 delay(2);
140 1 rst = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -