📄 1.lst
字号:
C51 COMPILER V7.09 1 11/30/2005 09:28:03 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE 1
OBJECT MODULE PLACED IN 1.OBJ
COMPILER INVOKED BY: D:\Program Files\C51\BIN\C51.EXE 1.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include <reg51.h>
2 sbit e=0xb0;
3 sbit rw=0xb1;
4 sbit rs=0xb2;
5 sbit cs2=0xb3;
6 sbit cs1=0xb4;
7 sbit busy=0xa7;
8
9 char code ci[]={ 0x00,0x04,0x00,0x06,0x1F,0x0FC,0x00,0x04,0x00,0x04,0x0FF,0x0F8,0x02,0x08,0x02,0x08,
10 0x00,0x00,0x0FF,0x0FC,0x02,0x02,0x04,0x02,0x08,0x02,0x18,0x02,0x00,0x0E,0x00,0x00};
11 char code cheng[]={ 0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0x0FF,0x0C5,0x00,0x44,0x0C2,0x04,0x82,0x7E,0x92,
12 0x42,0x92,0x42,0x92,0x42,0x0FE,0x42,0x92,0x42,0x0B2,0x0FE,0x96,0x40,0x82,0x00,0x00};
13 char code xu[]={ 0x00,0x02,0x00,0x0C,0x3F,0x0F0,0x20,0x00,0x28,0x80,0x28,0x80,0x28,0x82,0x0AA,0x81,
14 0x69,0x0FE,0x2A,0x80,0x2C,0x80,0x28,0x0A0,0x68,0x0C0,0x20,0x80,0x00,0x00,0x00,0x00};
15 char code you[]={ 0x00,0x00,0x0F,0x0FF,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x0FF,0x0FE,
16 0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x1F,0x0FF,0x08,0x00,0x00,0x00};
17 char code piao[]={ 0x5E,0x22,0x52,0x0AC,0x7E,0x0A1,0x52,0x0BF,0x7E,0x0A8,0x0D2,0x0A5,0x5E,0x22,0x00,0x04,
18 0x7F,0x0F8,0x46,0x60,0x41,0x80,0x46,0x60,0x0FF,0x0FC,0x40,0x02,0x00,0x0E,0x00,0x00};
19 char code ling[]={ 0x08,0x20,0x30,0x20,0x20,0x40,0x0AA,0x40,0x0AA,0x90,0x0AA,0x90,0x0A1,0x54,0x0FE,0x32,
20 0x0A1,0x15,0x0AA,0x98,0x0AA,0x90,0x0AA,0x40,0x20,0x40,0x28,0x20,0x30,0x20,0x00,0x00};
21 char code bian[]={ 0x04,0x44,0x0C,0x0E6,0x35,0x44,0x0C6,0x48,0x0C,0x28,0x00,0x40,0x3F,0x0FF,0x24,0x90,
22 0x0A4,0x0FE,0x64,0x90,0x24,0x90,0x24,0x0FE,0x7C,0x91,0x21,0x0FF,0x00,0x80,0x00,0x00};
23 char code xie[]={ 0x10,0x00,0x60,0x10,0x40,0x10,0x40,0x10,0x5F,0x90,0x44,0x90,0x44,0x90,0x44,0x90,
24 0x44,0x90,0x44,0x0B2,0x4C,0x91,0x44,0x82,0x41,0x0FC,0x50,0x80,0x60,0x00,0x00,0x00};
25 char code ban[]={ 0x00,0x02,0x7F,0x0FC,0x04,0x80,0x04,0x80,0x0FC,0x0FF,0x04,0x04,0x00,0x18,0x3F,0x0E2,
26 0x24,0x04,0x25,0x0C8,0x24,0x30,0x44,0x68,0x0C5,0x84,0x46,0x06,0x00,0x04,0x00,0x00};
27 char code quan[]={ 0x08,0x20,0x08,0x0C0,0x0B,0x00,0x0FF,0x0FF,0x09,0x00,0x08,0x82,0x2C,0x04,0x23,0x88,
28 0x20,0x50,0x20,0x20,0x20,0x50,0x21,0x88,0x3E,0x04,0x00,0x06,0x00,0x04,0x00,0x00};
29 char code suo[]={ 0x00,0x02,0x00,0x04,0x3F,0x0F8,0x24,0x40,0x24,0x40,0x44,0x42,0x0C7,0x0E4,0x40,0x08,
30 0x3F,0x0F0,0x22,0x00,0x22,0x00,0x42,0x00,0x0C3,0x0FF,0x46,0x00,0x02,0x00,0x00,0x00};
31 char code you1[]={ 0x20,0x20,0x20,0x40,0x20,0x80,0x21,0x00,0x27,0x0FF,0x3C,0x90,0x0E4,0x90,0x24,0x90,
32 0x24,0x90,0x24,0x92,0x24,0x91,0x2F,0x0FE,0x24,0x00,0x60,0x00,0x20,0x00,0x00,0x00};
33 char code q1[]={0x7C,0x82,0x8A,0x84,0x7A};
34 char code dog1[]={0x00,0x6C,0x6C,0x00,0x00};
35 char code s11[]={0x00,0x42,0xFE,0x02,0x00};
36 char code s51[]={0xE4,0xA2,0xA2,0xA2,0x9C};
37 char code s91[]={0x62,0x92,0x92,0x94,0x78};
38 char code s81[]={0x6C,0x92,0x92,0x92,0x6C};
39 char code s71[]={0x80,0x8E,0x90,0xA0,0xC0};
40 char code s31[]={0x84,0x82,0x92,0xB2,0xCC};
41
42 void pulse()
43 {
44 1 e=1;
45 1 e=0;
46 1 }
47
48 void busy_check(char right)
49 {
50 1 P2=0xff;
51 1 if (right==1)
52 1 {
53 2 P3=0x13;
54 2 while(!busy);
55 2 }
C51 COMPILER V7.09 1 11/30/2005 09:28:03 PAGE 2
56 1 if (right==0)
57 1 {
58 2 P3=0x0b;
59 2 while(!busy);
60 2 }
61 1 }
62
63 void cmd_w(char cmd,char right)
64 {
65 1 busy_check(right);
66 1 if (right==1)
67 1 {
68 2 P3=0x10;
69 2 }
70 1 if (right==0)
71 1 {
72 2 P3=0x08;
73 2 P3=0x08;
74 2 }
75 1 P2=cmd;
76 1 pulse();
77 1 }
78
79 void data_w(char dat,char right)
80 {
81 1 busy_check(right);
82 1 if (right==1)
83 1 {
84 2 P3=0x14;
85 2 }
86 1 if (right==0)
87 1 {
88 2 P3=0x0c;
89 2 }
90 1 P2=dat;
91 1 pulse();
92 1 }
93
94 void lcd_init()
95 {
96 1 unsigned int i;
97 1 cmd_w(0x3e+1,0);//显示开关
98 1 cmd_w(0xc0+0,0);//修改显示起始行
99 1 cmd_w(0xb8+0,0);//修改页地址
100 1 cmd_w(0x40+0,0);//修改列地址
101 1 cmd_w(0x3e+1,1);
102 1 cmd_w(0xc0+0,1);
103 1 cmd_w(0xb8+0,1);
104 1 cmd_w(0x40+0,1);
105 1 for(i=0;i<256;i++)
106 1 {
107 2 data_w(0x00,0);
108 2 }
109 1
110 1 cmd_w(0xb8+4,0);
111 1 cmd_w(0x40+8,0);
112 1 for(i=0;i<256;i++)
113 1 {
114 2 data_w(0x00,0);
115 2 }
116 1
117 1 for(i=0;i<256;i++)
C51 COMPILER V7.09 1 11/30/2005 09:28:03 PAGE 3
118 1 {
119 2 data_w(0x00,1);
120 2 }
121 1
122 1 cmd_w(0xb8+4,1);
123 1 cmd_w(0x40+8,1);
124 1 for(i=0;i<256;i++)
125 1 {
126 2 data_w(0x00,1);
127 2 }
128 1 }
129
130 char chang(char a)
131 {
132 1 char temp,i;
133 1 for(i=0;i<8;i++)
134 1 {
135 2 temp<<=1;
136 2 temp|=(a&0x01);
137 2 a>>=1;
138 2 }
139 1 return(temp);
140 1 }
141
142 void hanzi_w(char hang,char lie,char zhi[32])
143 {
144 1 unsigned char i;
145 1 if(lie<4)
146 1 {
147 2 cmd_w(0xb8+2*hang,0);
148 2 cmd_w(0x40+16*lie,0);
149 2 for(i=0;i<32;i+=2)
150 2 data_w(chang(zhi[i]),0);
151 2 }
152 1 else
153 1 {
154 2 cmd_w(0xb8+2*hang,1);
155 2 cmd_w(0x40+16*(lie-4),1);
156 2 for(i=0;i<32;i+=2)
157 2 data_w(chang(zhi[i]),1);
158 2 }
159 1 if(lie<4)
160 1 {
161 2 cmd_w(0xb8+2*hang+1,0);
162 2 cmd_w(0x40+16*lie,0);
163 2 for(i=1;i<32;i+=2)
164 2 data_w(chang(zhi[i]),0);
165 2 }
166 1 else
167 1 {
168 2 cmd_w(0xb8+2*hang+1,1);
169 2 cmd_w(0x40+16*(lie-4),1);
170 2 for(i=1;i<32;i+=2)
171 2 data_w(chang(zhi[i]),1);
172 2 }
173 1 }
174
175 void zifu_w(char hang,char lie,char zhi[8])
176 {
177 1 unsigned char i;
178 1 if(lie<8)
179 1 {
C51 COMPILER V7.09 1 11/30/2005 09:28:03 PAGE 4
180 2 cmd_w(0xb8+hang,0);
181 2 cmd_w(0x40+8*lie,0);
182 2 for(i=0;i<5;i++)
183 2 data_w(chang(zhi[i]),0);
184 2 }
185 1 else
186 1 {
187 2 cmd_w(0xb8+hang,1);
188 2 cmd_w(0x40+8*(lie-8),1);
189 2 for(i=0;i<5;i++)
190 2 data_w(chang(zhi[i]),1);
191 2 }
192 1 }
193
194 void delay(unsigned char a)
195 {
196 1 unsigned char i,j;
197 1 for(i=0;i<a;i++)
198 1 for(j=0;j<200;j++)
199 1 ;
200 1 }
201
202 void main()
203 {
204 1 unsigned char i;
205 1 lcd_init();
206 1 hanzi_w(0,0,ci);
207 1 hanzi_w(0,1,cheng);
208 1 hanzi_w(0,2,xu);
209 1 hanzi_w(0,3,you);
210 1 hanzi_w(0,4,piao);
211 1 hanzi_w(0,5,ling);
212 1 hanzi_w(0,6,bian);
213 1 hanzi_w(0,7,xie);
214 1 hanzi_w(3,2,ban);
215 1 hanzi_w(3,3,quan);
216 1 hanzi_w(3,4,suo);
217 1 hanzi_w(3,5,you1);
218 1
219 1 zifu_w(4,2,q1);
220 1 zifu_w(4,3,q1);
221 1 zifu_w(4,4,dog1);
222 1 zifu_w(4,5,s11);
223 1 zifu_w(4,6,s51);
224 1 zifu_w(4,7,s91);
225 1 zifu_w(4,8,s81);
226 1 zifu_w(4,9,s71);
227 1 zifu_w(4,10,s31);
228 1 zifu_w(4,11,s51);
229 1 zifu_w(4,12,s31);
230 1 while(1)
231 1 {
232 2 delay(200);
233 2 cmd_w(0xc0+i,0);
234 2 cmd_w(0xc0+i,1);
235 2 i++;
236 2 if(i==64)
237 2 i=0;
238 2 }
239 1 }
C51 COMPILER V7.09 1 11/30/2005 09:28:03 PAGE 5
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 923 ----
CONSTANT SIZE = 424 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 11
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 + -