📄 display_320_240.lst
字号:
222 *描述:在第二层画垂直网格线
223 *参数:网格的列数、空的点数
224 *返回:
225 ****************************************************************/
226 void Ver(uchar x,uchar space) //画垂直网格线
227 {
228 1 uchar i=0 ;
229 1 outcode(0x4f);
230 1
231 1 if((x==0)|(x==0xfa))i=0;
232 1 else i=space;
233 1
234 1 for(;i<WIDTH;i+=space)WriteD2(x,i);
235 1 }
236 /***************************************************************
237 *名称:fixline(uchar y)
238 *描述:在第二层画横线
239 *参数:横线的行数
240 *返回:
241 ****************************************************************/
C51 COMPILER V8.02 DISPLAY_320_240 12/07/2007 16:55:37 PAGE 5
242 void fixline(uchar y)
243 {
244 1 unsigned int address;
245 1 uchar addh,addl;
246 1 uchar i;
247 1 address=0x2a18+y*AP;
248 1 addh=address>>8;//addh=address/256;
249 1 addl=(uchar)address;//addl=address%256;
250 1 outcode(0x46);
251 1 outdata(addl);
252 1 outdata(addh);
253 1 outcode(0x4c);
254 1 outcode(0x42);
255 1 outdata(0x3f);
256 1 for(i=1;i<8;i++)outdata(0xff);
257 1 }
258 /***************************************************************
259 *名称:fixline2(uchar y)
260 *描述:在第二层右半边画横线
261 *参数:横线的行数
262 *返回:
263 ****************************************************************/
264 void fixline2(uchar y)
265 {
266 1 unsigned int address;
267 1 uchar addh,addl;
268 1 uchar i;
269 1 address=0x29f9+y*AP;
270 1 addh=address>>8;//addh=address/256;
271 1 addl=(uchar)address;//addl=address%256;
272 1 outcode(0x46);
273 1 outdata(addl);
274 1 outdata(addh);
275 1 outcode(0x4c);
276 1 outcode(0x42);
277 1 outdata(0x3f);
278 1 for(i=1;i<31;i++)outdata(0xff);
279 1 }
280 /***************************************************************
281 *名称:DrawFrame(void)
282 *描述:在第二层画网格边框
283 *参数:
284 *返回:
285 ****************************************************************/
286 void DrawFrame(void) //画网格边框
287 {
288 1 fixline(0);
289 1 fixline(200);
290 1
291 1 Ver(0,1); //(8,12) --- (8,262)
292 1 Ver(LENGTH,1); //(208,12) --- (208,212)
293 1 fixline(40);
294 1 fixline(80);
295 1 fixline(120);
296 1 fixline(160);
297 1 fixline2(200);
298 1 fixline2(0);
299 1 }
300 /***************************************************************
301 *名称:DrawGrid(void)
302 *描述:在第二层画网格区内的网格线
303 *参数:
C51 COMPILER V8.02 DISPLAY_320_240 12/07/2007 16:55:37 PAGE 6
304 *返回:
305 ****************************************************************/
306 void DrawGrid(void) //画网格区内的网格线
307 {
308 1 uchar i;
309 1 Hori(1,5);
310 1 Hori(2,25);
311 1 Hori(WIDTH-2,0x19);
312 1 Hori(WIDTH-2,0x05);
313 1 Ver(0x02,0x19);
314 1 Ver(LENGTH-2,0x19);
315 1 for(i=1;i<0x08;i++){
316 2 Hori(25*i,5);
317 2 if(i==0x04){
318 3 Hori(0x19*i-1,5);
319 3 Hori(0x19*i+1,5);//
320 3 }
321 2 }
322 1 for(i=0x01;i<0x0a;i++)
323 1 {
324 2 Ver(0x19*i,5);
325 2 if(i==0x05)
326 2 {
327 3 Ver(0x19*i-1,5);
328 3 Ver(0x19*i+1,5);
329 3 }
330 2 }
331 1 }
332 /***************************************************************
333 *名称:vector(uchar x,uchar y1,uchar y2)
334 *描述:两个点之间插入若干点,将点显示转换为矢量显示
335 *参数:坐标x,坐标y1,坐标y2
336 *返回:
337 ****************************************************************/
338 void vector(uchar x,uchar y1,uchar y2)
339 {
340 1 char i=y2-y1;
341 1 uchar tempy;
342 1 if(i>0){
343 2 tempy=y2-1;
344 2 for(;i>1;i--){
345 3 WriteD(x+1,tempy);
346 3 tempy--;
347 3 }
348 2 }
349 1 else if(i<0){
350 2 tempy=y2+1;
351 2 i=-i;
352 2 for(;i>1;i--){
353 3 WriteD(x+1,tempy);
354 3 tempy++;
355 3 }
356 2 }
357 1 else{}
358 1 }
359 /***************************************************************
360 *名称:show_123(char array[])
361 *描述:
362 *参数:
363 *返回:
364 ****************************************************************/
365 void show_123(char flag,char array[])
C51 COMPILER V8.02 DISPLAY_320_240 12/07/2007 16:55:37 PAGE 7
366 {
367 1 int i;
368 1 int tempx=0,tempy=0;
369 1 int y;
370 1 if(flag)
371 1 {
372 2 for(i=0;i<250;i++)
373 2 {
374 3 y=100-array[i];
375 3 WriteD(i,y);
376 3 if((tempy!=y)&(i!=0))vector(tempx,tempy,y);
377 3 tempx=i;tempy=y;
378 3 }
379 2 }
380 1 else
381 1 {
382 2 for(i=0;i<250;i++)
383 2 WriteD(i,100);
384 2 }
385 1 }
386 /***************************************************************
387 *名称:show_tri(void)
388 *描述:
389 *参数:
390 *返回:
391 ****************************************************************/
392 /*void show_tri(void)
393 {
394 int i,j;
395 int x,y;
396 for(i=0;i<5;i++)
397 {
398 for(j=0;j<50;j++)
399 {
400 x=50*i+j;
401 if(i==0)y=100-i;
402 else if(i==1)y=i;
403 else if(i==2)y=i;
404 else y=300-i;
405 WriteD(x,y);
406 }
407 }
408 }*/
409 /***************************************************************
410 *名称:show_wave(unsigned char mod)
411 *描述:
412 *参数:
413 *返回:
414 ****************************************************************/
415 /*void show_wave(unsigned char mod)
416 {
417 switch(mod)
418 {
419 case 0: initram_1();
420 show_123(sin);
421 break;
422 case 1: initram_1();
423 show_123(tri);
424 break;
425 case 2: initram_1();
426 show_123(pul);
427 break;
C51 COMPILER V8.02 DISPLAY_320_240 12/07/2007 16:55:37 PAGE 8
428 case 3: initram_1();
429 show_123(clr);
430 break;
431 default :break;
432 }
433 }*/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1013 ----
CONSTANT SIZE = 26 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 23
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 + -