📄 9220.lst
字号:
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE 9220
OBJECT MODULE PLACED IN D:\OK\ILI9325\程序\9220.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D:\OK\ILI9325\程序\9220.C DB SB OE
line level source
1 /**************************************************************************
2 Controller IC:9220
3 Paraller type:16 bit-8080 interface
4 Resolutions: 176*220 pixels
5 P1 : DB0---DB7===>D0-D7
6 P2 : DB0---DB7===>D10-D17
7 P3 : P3.0 P3.1 P3.2 P3.3 P3.4 P3.5
8 cs reset rs wr rd setp
9 Modified date: 2007.09.24
10 ***************************************************************************/
11
12 #include <reg52.h>
13 #include<intrins.h>
14 #include "image1.c" // 图片文件
15
16 /***********************************************/
17
18 #define DisplayCol 320 //列数
19 #define DisplaySeg 240 //行数
20 #define interface 16 //8位还是16位
21
22 #define Port1 P1 //数据口1
23 #define Port2 P2 //数据口2
24
25 #define black 0xffff
26 #define white 0x0000
27 #define red 0xf800
28 #define green 0x07e0
29 #define blue 0x001f
30 #define red_green 0xffe0
31 #define green_blue 0x07ff
32 #define blue_red 0xf81f
33 #define red_green_blue 0x8410
34
35 /****************接口定义**********************/
36
37 sbit cs= P3^0;
38 sbit reset= P3^1;
39 sbit rs= P3^2;
40 sbit wr= P3^3;
41 sbit rd= P3^4;
42 sbit setp= P3^5;
43 unsigned int page,seg;
44
45 /*****************函数声明***********************/
46
47 void Initst(); //初始化函数
48 void c_d_before(); //写数据前的命令子程序
49 void display_gray(); //灰度显示程序
50 void display_picture(); //图像显示程序
51 void delay(unsigned int param); //廷时子程序
52 void Data_Write(unsigned int a); //位写数据程序
53 void Command_Write(unsigned int a); //写命令程序
54 void control_out(unsigned int a,unsigned int b); //初始子程序
55 void colour_display(unsigned int param1,unsigned int param2); //各种颜色显示程序
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 2
56 /*
57 void displaye_colour_bar(); //彩条显示程序
58 void display_block(); //彩块显示程序
59 void display_snow(); //显示雪花程序
60 void display_h_l(); //水平线显示程序
61 void display_v_l(); //垂直线显示程序
62 */
63
64
65 /****************主函数*************************/
66
67 void main(void)
68 {
69 1 unsigned int step=0;
70 1 Initst();
71 1 while(1)
72 1 {
73 2 for(step=1;step<9;step++)
74 2 {
75 3 switch(step)
76 3 {
77 4 case 8:display_picture() ;
78 4 while(setp){;};
79 4 break;
80 4 case 4:colour_display(white,white); //white colour yollow boder
81 4 while(setp){;};
82 4 break;
83 4 case 2:colour_display(green,green); //green colour red boder
84 4 while(setp){;};
85 4 break;
86 4 case 1:colour_display(red,red); //red colour blue boder
87 4 while(setp){;};
88 4 break;
89 4 case 3:colour_display(blue,blue); //blue colour green boder
90 4 while(setp){;};
91 4 break;
92 4 case 5:colour_display(black,black); //black colour white boder
93 4 while(setp){;};
94 4 break;
95 4 case 6:colour_display(black,white); //black colour white boder
96 4 while(setp){;};
97 4 break;
98 4 // case 6:displaye_colour_bar(); //colour bar
99 4 // while(setp){;};
100 4 // break;
101 4 // case 7:display_block(); //colour block
102 4 // while(setp){;};
103 4 // break;
104 4 //case 8:display_snow(); //colour block
105 4 //while(setp){;};
106 4 //break;
107 4 // case 9:display_h_l(); //colour block
108 4 //while(setp){;};
109 4 //break;
110 4 //case 10:display_v_l(); //colour block
111 4 //while(setp){;};
112 4 // break;
113 4 case 7:display_gray(); //colour block
114 4 while(setp){;};
115 4 break;
116 4 }
117 3 }
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 3
118 2 }
119 1 }
120
121 /****************延时子程序***************************/
122
123 void delay(unsigned int param)
124 {
125 1 int i;
126 1 for(;param>0;param--)
127 1 for(i=1000;i>0;i--);
128 1 }
129 /*************写数据的子程序*********************/
130
131 void Data_Write(unsigned int a)
132 {
133 1 if(interface==8)
134 1 {
135 2 cs=0;
136 2 rs=1;
137 2 rd=1;
138 2 wr=0;
139 2 Port1=(a>>8);
140 2 wr=1;
141 2 cs=1;
142 2
143 2
144 2 cs=0;
145 2 rd=1;
146 2 wr=0;
147 2 Port1=a;
148 2 wr=1;
149 2 cs=1;
150 2 rs=1;
151 2 }
152 1 else
153 1 {
154 2 cs=0;
155 2 rs=1;
156 2 rd=1;
157 2 wr=0;
158 2 Port2=(a>>8);
159 2 Port1=a;
160 2 wr=1;
161 2 cs=1;
162 2 rs=1;
163 2 }
164 1 }
165 /*************写命令的子程序*********************/
166
167 void Command_Write(unsigned int a)
168 {
169 1 if(interface==8)
170 1 {
171 2 cs=0;
172 2 rs=0;
173 2 rd=1;
174 2 wr=0;
175 2 Port1=(a>>8);
176 2 wr=1;
177 2 cs=1;
178 2 rs=1;
179 2
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 4
180 2 cs=0;
181 2 rs=0;
182 2 rd=1;
183 2 cs=0;
184 2 wr=0;
185 2 Port1=a;
186 2 wr=1;
187 2 cs=1;
188 2 }
189 1 else
190 1 {
191 2 cs=0;
192 2 rs=0;
193 2 rd=1;
194 2 cs=0;
195 2 wr=0;
196 2 Port2=(a>>8);
197 2 Port1=a;
198 2 wr=1;
199 2 rs=1;
200 2 cs=1;
201 2
202 2 }
203 1 }
204 /*************初始子程序*********************/
205
206 void control_out(unsigned int a,unsigned int b)
207 {
208 1 Command_Write(a);
209 1 Data_Write(b);
210 1 }
211
212
213 /***显示特殊颜色子程序,param1为主颜色,param2为边框颜色***/
214
215 void colour_display(unsigned int param1,unsigned int param2)
216 {
217 1
218 1 c_d_before();
219 1
220 1
221 1 for(seg=0;seg<DisplaySeg;seg++)
222 1 Data_Write(param1);
223 1
224 1 Data_Write(param1);
225 1 for(seg=0;seg<(DisplaySeg-2);seg++)
226 1 Data_Write(param2);
227 1 Data_Write(param1);
228 1
229 1 for(page=0;page<(DisplayCol-4);page++)
230 1 {
231 2 Data_Write(param1);
232 2 Data_Write(param2);
233 2 for(seg=0;seg<(DisplaySeg-4);seg++)
234 2 Data_Write(param1);
235 2 Data_Write(param2);
236 2 Data_Write(param1);
237 2 }
238 1
239 1 Data_Write(param1);
240 1 for(seg=0;seg<(DisplaySeg-2);seg++)
241 1 Data_Write(param2);
C51 COMPILER V8.05a 9220 03/10/2008 22:34:36 PAGE 5
242 1 Data_Write(param1);
243 1
244 1 for(seg=0;seg<DisplaySeg;seg++)
245 1 Data_Write(param1);
246 1
247 1
248 1 }
249
250
251 /***************显示彩色条子程序******************/
252 /*
253 void displaye_colour_bar()
254 {
255 unsigned char i,m,k;
256 m=DisplayCol/7;
257 i=DisplayCol-m*7;
258 if(i>0)
259 {k=1;}
260 else
261 {k=0;}
262 c_d_before();
263
264
265 for(page=0;page<(m+k);page++)
266 for(seg=0;seg<DisplaySeg;seg++)
267 {
268 Data_Write(red); //red
269 i--;
270 if(i>0)
271 {k=1;}
272 else
273 {k=0;}
274 }
275
276 for(page=0;page<32;page++)
277 for(seg=0;seg<DisplaySeg;seg++)
278 {
279 Data_Write(red_green); //red+green
280 i--;
281 if(i>0)
282 {k=1;}
283 else
284 {k=0;}
285 }
286
287 for(page=0;page<32;page++)
288 for(seg=0;seg<DisplaySeg;seg++)
289 {
290 Data_Write(green); //green
291 i--;
292 if(i>0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -