📄 2.lst
字号:
C51 COMPILER V7.06 2 08/15/2008 09:16:05 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE 2
OBJECT MODULE PLACED IN 2.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 2.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include<reg51.h>
2 #include<absacc.h>
3 typedef unsigned char uchar;
4 typedef unsigned int uint;
5 #define LLCD_CMD_WR PBYTE[0x10]
6 #define LLCD_CMD_RD PBYTE[0x11]
7 #define LLCD_DATA_WR PBYTE[0x12]
8 #define LLCD_DATA_RD PBYTE[0x13]
9
10 #define RLCD_CMD_WR PBYTE[0x20]
11 #define RLCD_CMD_RD PBYTE[0x21]
12 #define RLCD_DATA_WR PBYTE[0x22]
13 #define RLCD_DATA_RD PBYTE[0x23]
14 sbit busy=P0^1;
15
16 uchar code hz0[]=
17 {
18 0x00, 0x00, 0xf8, 0x88, 0x99, 0xea, 0x8c, 0xf8, 0x88, 0xcc, 0xab, 0x99, 0x88, 0xf8, 0x00, 0x00,
19 0x00, 0x00, 0x00, 0x00, 0xfe, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0xfe, 0x00, 0x00, 0x00, 0x00,
20
21 0x20, 0x30, 0xac, 0x63, 0x10, 0x00, 0x40, 0x42, 0x22, 0x22, 0x12, 0x1a, 0x26, 0x42, 0xc0, 0x00,
22 0x22, 0x23, 0x22, 0x12, 0x12, 0x00, 0x20, 0x21, 0x21, 0x21, 0x3f, 0x21, 0x21, 0x21, 0x20, 0x00,
23
24 0x10, 0x60, 0x01, 0x86, 0x60, 0x20, 0xd0, 0x48, 0x44, 0x43, 0x44, 0xc8, 0x30, 0x60, 0x20, 0x00,
25 0x04, 0x04, 0xfe, 0x01, 0x00, 0x00, 0x7f, 0x80, 0x80, 0x84, 0x88, 0x87, 0x80, 0xe0, 0x00, 0x00,
26
27 0x10, 0x60, 0x01, 0xf6, 0x00, 0x10, 0xf8, 0x17, 0x34, 0x54, 0x14, 0x14, 0xf4, 0x04, 0x04, 0x00,
28 0x04, 0x04, 0xff, 0x00, 0x01, 0x01, 0x1f, 0x11, 0x13, 0x15, 0x51, 0x91, 0x7f, 0x11, 0x11, 0x00,
29
30 0x14, 0x24, 0x44, 0x84, 0x7c, 0x40, 0x30, 0xfc, 0x4b, 0x48, 0xf9, 0x4e, 0x48, 0x48, 0x08, 0x00,
31 0x10, 0x08, 0x06, 0x01, 0x03, 0x0c, 0x00, 0xff, 0x22, 0x22, 0x3f, 0x22, 0x22, 0x22, 0x20, 0x00,
32
33 0x00, 0x10, 0x10, 0x12, 0x14, 0x1c, 0x10, 0xf0, 0x9f, 0x10, 0x10, 0x10, 0x10, 0xf8, 0x10, 0x00,
34 0x00, 0x00, 0x40, 0x20, 0x10, 0x08, 0x06, 0x01, 0x00, 0x11, 0x26, 0x40, 0x20, 0x1f, 0x00, 0x00,
35
36 0x00, 0x10, 0x10, 0x10, 0x90, 0x70, 0x00, 0xff, 0x20, 0x60, 0x90, 0x08, 0x04, 0x00, 0x00, 0x00,
37 0x10, 0x10, 0x08, 0x06, 0x01, 0x40, 0x80, 0x7f, 0x00, 0x00, 0x01, 0x06, 0x0c, 0x18, 0x08, 0x00,
38
39 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40 0x00, 0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
41 };
42
43 uchar code hz1[]=
44 {
45 0xfe, 0x02, 0x32, 0xca, 0x46, 0x20, 0x30, 0x2c, 0xe3, 0x24, 0x28, 0x10, 0x20, 0x20, 0x00, 0x00,
46 0xff, 0x02, 0x04, 0x43, 0x20, 0x11, 0x4d, 0x81, 0x7f, 0x01, 0x05, 0x09, 0x11, 0x30, 0x00, 0x00,
47
48 0x80, 0x88, 0x88, 0x88, 0xff, 0x88, 0x88, 0x88, 0x00, 0xfe, 0x02, 0x02, 0x02, 0xfe, 0x00, 0x00,
49 0x00, 0x10, 0x3c, 0x13, 0x10, 0x08, 0x0a, 0x1c, 0x08, 0xff, 0x00, 0x08, 0x10, 0x0f, 0x00, 0x00,
50
51 0x00, 0x02, 0x82, 0x7a, 0x92, 0x02, 0x02, 0xfe, 0x02, 0x02, 0x02, 0xfa, 0x02, 0x02, 0x00, 0x00,
52 0x48, 0x46, 0x41, 0x40, 0x41, 0x46, 0x40, 0x7f, 0x48, 0x44, 0x43, 0x40, 0x41, 0x4e, 0x44, 0x00,
53
54 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00,
55 0x00, 0x20, 0x7f, 0x20, 0x20, 0x20, 0x20, 0x3f, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7f, 0x00, 0x00,
C51 COMPILER V7.06 2 08/15/2008 09:16:05 PAGE 2
56
57 0x00, 0x02, 0x02, 0x02, 0x02, 0x82, 0x42, 0xfe, 0x06, 0x42, 0xc2, 0x82, 0x02, 0x03, 0x02, 0x00,
58 0x00, 0x08, 0x04, 0x02, 0x01, 0x00, 0x00, 0x7f, 0x00, 0x00, 0x00, 0x01, 0x07, 0x02, 0x00, 0x00,
59
60 0x80, 0x80, 0x80, 0x80, 0xbe, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xbe, 0x80, 0x80, 0x80, 0x00,
61 0x00, 0x40, 0x20, 0x10, 0x0e, 0x10, 0x20, 0x3f, 0x44, 0x44, 0x44, 0x44, 0x44, 0x40, 0x40, 0x00,
62
63 0x40, 0x40, 0x44, 0x44, 0x44, 0x44, 0xc4, 0xc4, 0x44, 0x44, 0x46, 0x46, 0x64, 0x60, 0x40, 0x00,
64 0x00, 0x20, 0x70, 0x38, 0x2c, 0x27, 0x23, 0x31, 0x10, 0x12, 0x14, 0x18, 0x70, 0x20, 0x00, 0x00,
65
66 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67 0x00, 0x00, 0x5b, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
68 };
69
70 uchar code hz2[]=
71 {
72 0x02, 0x02, 0xfe, 0x92, 0x92, 0x92, 0xfe, 0x02, 0x02, 0x7c, 0x84, 0x04, 0x84, 0x7c, 0x04, 0x00,
73 0x10, 0x10, 0x0f, 0x08, 0x08, 0x04, 0xff, 0x04, 0x22, 0x10, 0x09, 0x06, 0x09, 0x30, 0x10, 0x00,
74
75 0x00, 0x02, 0x1c, 0xc0, 0x30, 0x4c, 0x30, 0x0f, 0x08, 0xf8, 0x08, 0x08, 0x28, 0x18, 0x08, 0x00,
76 0x02, 0x5e, 0x43, 0x20, 0x20, 0x10, 0x08, 0x04, 0x03, 0x01, 0x06, 0x08, 0x30, 0x60, 0x20, 0x00,
77
78 0x04, 0x04, 0x04, 0x84, 0xf4, 0x2f, 0x04, 0x04, 0xe4, 0x0f, 0x04, 0xc4, 0x84, 0x04, 0x04, 0x00,
79 0x00, 0x02, 0x01, 0x00, 0xff, 0x00, 0x08, 0x04, 0x3f, 0x42, 0x41, 0x40, 0x40, 0x78, 0x20, 0x00,
80
81 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
82 0x20, 0x30, 0x2c, 0x23, 0x20, 0x21, 0x36, 0x2c, 0x23, 0x20, 0x20, 0x23, 0x26, 0x3c, 0x28, 0x00,
83
84 0xe0, 0x00, 0xff, 0x10, 0xf4, 0x94, 0xff, 0x94, 0xf4, 0x08, 0xf4, 0x13, 0x92, 0x1a, 0xf6, 0x00,
85 0x00, 0x00, 0xff, 0x10, 0x08, 0x06, 0xff, 0x02, 0x04, 0x80, 0x4f, 0x20, 0x1f, 0x20, 0xcf, 0x00,
86
87 0x00, 0xfe, 0x02, 0x02, 0xf2, 0x12, 0x12, 0x12, 0x12, 0x12, 0xf2, 0x02, 0x02, 0xfe, 0x00, 0x00,
88 0x00, 0x7f, 0x40, 0x40, 0x47, 0x44, 0x44, 0x44, 0x44, 0x44, 0x47, 0x40, 0x40, 0x7f, 0x00, 0x00,
89
90 0x00, 0xfe, 0x02, 0xf2, 0x12, 0x12, 0xf2, 0x00, 0xf2, 0x12, 0x1a, 0xd6, 0x12, 0xf2, 0x02, 0x00,
91 0x20, 0x1f, 0x00, 0x3f, 0x10, 0x09, 0x45, 0x40, 0x2f, 0x20, 0x10, 0x0f, 0x10, 0x2f, 0x60, 0x00,
92
93 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
94 0x00, 0x00, 0x58, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
95 };
96
97 uchar code hz3[]=
98 {
99 0x00, 0x00, 0x42, 0x44, 0x5c, 0x48, 0x40, 0xff, 0x40, 0x50, 0x48, 0x46, 0x64, 0x40, 0x00, 0x00,
100 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0xff, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x04, 0x00,
101
102 0x20, 0x38, 0xa7, 0x62, 0x10, 0x20, 0xa0, 0x6c, 0x6b, 0xaa, 0x2a, 0x3a, 0x26, 0xa0, 0x20, 0x00,
103 0x12, 0x13, 0x12, 0x0a, 0x29, 0x25, 0x12, 0x12, 0x49, 0x85, 0x7f, 0x02, 0x0d, 0x18, 0x08, 0x00,
104
105 0x20, 0x10, 0xfc, 0x07, 0xf2, 0x20, 0x98, 0x8f, 0x54, 0xa4, 0x24, 0x54, 0xcc, 0x80, 0x80, 0x00,
106 0x00, 0x00, 0x7f, 0x00, 0x03, 0x54, 0x54, 0x4a, 0x2b, 0x25, 0x15, 0x12, 0x0a, 0x09, 0x00, 0x00,
107
108 0x40, 0x42, 0xcc, 0x00, 0x04, 0x04, 0xe5, 0xb6, 0xac, 0xa4, 0xa6, 0xe5, 0x04, 0x04, 0x00, 0x00,
109 0x40, 0x20, 0x1f, 0x20, 0x40, 0x40, 0x5f, 0x4a, 0x4a, 0x4a, 0x4a, 0x5f, 0x40, 0x40, 0x40, 0x00,
110
111 0x00, 0x00, 0x42, 0x44, 0x5c, 0x48, 0x40, 0xff, 0x40, 0x50, 0x48, 0x46, 0x64, 0x40, 0x00, 0x00,
112 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0xff, 0x04, 0x04, 0x04, 0x04, 0x04, 0x06, 0x04, 0x00,
113
114 0x20, 0x38, 0xa7, 0x62, 0x10, 0x20, 0xa0, 0x6c, 0x6b, 0xaa, 0x2a, 0x3a, 0x26, 0xa0, 0x20, 0x00,
115 0x12, 0x13, 0x12, 0x0a, 0x29, 0x25, 0x12, 0x12, 0x49, 0x85, 0x7f, 0x02, 0x0d, 0x18, 0x08, 0x00,
116
117 0x10, 0x10, 0x92, 0x92, 0x92, 0xf2, 0x9e, 0x92, 0x92, 0x92, 0x92, 0x92, 0xfe, 0x10, 0x10, 0x00,
C51 COMPILER V7.06 2 08/15/2008 09:16:05 PAGE 3
118 0x40, 0x20, 0x10, 0x0c, 0xfe, 0x45, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xfd, 0x00, 0x00, 0x00,
119
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
121 0x00, 0x18, 0x24, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
122
123 };
124
125 void lcd_cmd_wr(uchar cmdcode,uchar f);
126 void lcd_data_wr(uchar ldata,uchar f);
127 void chech_busy(uchar f);
128 void lcd_hz_wr(uchar posx,uchar posy,uchar *hz);
129 void lcd_str_wr(uchar row,uchar col,uchar n,uchar *str);
130 void lcd_rol();
131 void lcd_init();
132 void delay(uint n);
133
134 void main()
135 {
136 1 while(1)
137 1 {
138 2 lcd_init();
139 2 lcd_str_wr(0,0,8,hz0);
140 2 delay(100);
141 2 lcd_str_wr(1,0,8,hz1);
142 2 delay(100);
143 2 lcd_str_wr(2,0,8,hz2);
144 2 delay(100);
145 2 lcd_str_wr(3,0,8,hz3);
146 2 delay(100);
147 2 lcd_rol();
148 2 delay(1000);
149 2 lcd_rol();
150 2 delay(1000);
151 2 }
152 1 }
153
154 void lcd_init()
155 {
156 1 uint i;
157 1 lcd_cmd_wr(0x3f,0);
158 1 lcd_cmd_wr(0xc0,0);
159 1 lcd_cmd_wr(0xb8,0);
160 1 lcd_cmd_wr(0x40,0);
161 1 lcd_cmd_wr(0x3f,1);
162 1 lcd_cmd_wr(0xc0,1);
163 1 lcd_cmd_wr(0xb8,1);
164 1 lcd_cmd_wr(0x40,1);
165 1 for(i=0;i<256;i++)
166 1 {
167 2 lcd_data_wr(0x00,0);
168 2 lcd_data_wr(0x00,1);
169 2 }
170 1 lcd_cmd_wr(0xb8+4,0);
171 1 lcd_cmd_wr(0xb8+4,1);
172 1 for(i=0;i<256;i++)
173 1 {
174 2 lcd_data_wr(0x00,0);
175 2 lcd_data_wr(0x00,1);
176 2 }
177 1 }
178
179 void lcd_cmd_wr(uchar cmdcode,uchar f)
C51 COMPILER V7.06 2 08/15/2008 09:16:05 PAGE 4
180 {
181 1 chech_busy(f);
182 1 if(f==0) LLCD_CMD_WR=cmdcode;
183 1 else RLCD_CMD_WR=cmdcode;
184 1 }
185
186 void chech_busy(uchar f)
187 {
188 1 if(f==0) LLCD_CMD_RD;
189 1 else RLCD_CMD_RD;
190 1 while(busy);
191 1 }
192
193 void lcd_str_wr(uchar row,uchar col,uchar n,uchar *str)
194 {
195 1 uchar i;
196 1 for(i=0;i<n;i++)
197 1 {
198 2 lcd_hz_wr(row,col,str+i*32);
199 2 delay(50);
200 2 col++;
201 2 }
202 1 }
203
204 void lcd_hz_wr(uchar posx,uchar posy,uchar *hz)
205 {
206 1 uchar i;
207 1 if(posy<4)
208 1 {
209 2 lcd_cmd_wr(0xb8+2*posx,0);
210 2 lcd_cmd_wr(0x40+16*posy,0);
211 2 for(i=0;i<16;i++) lcd_data_wr(hz[i],0);
212 2 lcd_cmd_wr(0xb8+2*posx+1,0);
213 2 lcd_cmd_wr(0x40+16*posy,0);
214 2 for(i=16;i<32;i++) lcd_data_wr(hz[i],0);
215 2 }
216 1 else
217 1 {
218 2 lcd_cmd_wr(0xb8+2*posx,1);
219 2 lcd_cmd_wr(0x40+16*(posy-4),1);
220 2 for(i=0;i<16;i++) lcd_data_wr(hz[i],1);
221 2 lcd_cmd_wr(0xb8+2*posx+1,1);
222 2 lcd_cmd_wr(0x40+16*(posy-4),1);
223 2 for(i=16;i<32;i++) lcd_data_wr(hz[i],1);
224 2 }
225 1 }
226
227 void lcd_data_wr(uchar ldata,uchar f)
228 {
229 1 chech_busy(f);
230 1 if(f==0) LLCD_DATA_WR=ldata;
231 1 else RLCD_DATA_WR=ldata;
232 1 }
233
234 void lcd_rol()
235 {
236 1 uchar i;
237 1 for(i=0;i<64;i++)
238 1 {
239 2 lcd_cmd_wr(0xc0+i,0);
240 2 lcd_cmd_wr(0xc0+i,1);
241 2 delay(10);
C51 COMPILER V7.06 2 08/15/2008 09:16:05 PAGE 5
242 2 }
243 1 }
244
245 void delay(uint n)
246 {
247 1 uint i;
248 1 for(;n>0;n--)
249 1 for(i=500;i>0;i--);
250 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 647 ----
CONSTANT SIZE = 1024 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 18
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 + -