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