怎样设计51单片机程序,让其led数码管按顺序显示图片坐标?

在一张坐标纸上有一个手形的图案,按轮廓记录下手的坐标数,
然后将这些坐标按顺序显示在单片机led数码管上。
怎么设计这种c语言程序?

#include<reg51.h> #define uchar unsigned charuchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9unsigned char sec=0,min=0,hour=12,scanled;unsigned char key,flashbit,mode,time; unsigned char disdat[8];sbit led=P1^0;void delay(unsigned int x){ unsigned int i,j; for(i=0;i<x;i++) for(j=0;j<120;j++);}void dischg(){ disdat[0]=sec%10; disdat[1]=sec/10; disdat[2]=10; disdat[3]=min%10; disdat[4]=min/10; disdat[5]=10; disdat[6]=hour%10; disdat[7]=hour/10; }void flash(){ switch(flashbit) { case 0:break; case 1: disdat[6]=0x10; disdat[7]=0x10; delay(50); dischg(); delay(80); break; case 2: disdat[3]=0x10; disdat[4]=0x10; delay(50); dischg(); delay(80); break; case 3: disdat[0]=0x10; disdat[1]=0x10; delay(50); dischg(); delay(80); break; default:break; }}void t0isr() interrupt 1 //秒计时{ TH0=0x3c; TL0=0xb0; time++; switch(mode) { case 0: if(time==20) { time=0; sec++; if(sec>59) { sec=0; min++; if(min>59) { min=0; hour++; if(hour>23)hour=0; } } } break; case 1: if(time==20) { time=0; if(sec>0)sec--; else if(min>0){sec=59;min--;} else if(hour>0){sec=59;min=59;hour--;} else {hour=0;min=0;sec=0;} } break; } dischg();}void t1isr() interrupt 3 //显示{ TH1=0xec; TL1=0x78; switch(scanled) { case 0: P2=0x01; P0=~ledtab[disdat[7]]; break; case 1: P2=0x02; P0=~ledtab[disdat[6]]; break; case 2: P2=0x04; P0=~ledtab[disdat[5]]; break; case 3: P2=0x08; P0=~ledtab[disdat[4]]; break; case 4: P2=0x10; P0=~ledtab[disdat[3]]; break; case 5: P2=0x20; P0=~ledtab[disdat[2]]; break; case 6: P2=0x40; P0=~ledtab[disdat[1]]; break; case 7: P2=0x80; P0=~ledtab[disdat[0]]; break; default:break; } scanled++; scanled%=8;}main(){ TMOD=0x11; TH0=0x3c; TL0=0xb0; TH1=0xec; TL1=0x78; TR1=1; TR0=1; ET0=1; ET1=1; EA=1; sec=55; min=59; hour=23; flashbit=0; scanled=0; time=0; mode=0; dischg(); while(1) { flash();//闪烁 if((P3&0x0f)!=0x0f){ key=P3&0x0f; while((P3&0x0f)!=0x0f); led=0; delay(10); key|=0xf0; switch(~key) { case 0x01: //p3.1选择调时、分、秒 TR0=0; flashbit+=1; if(flashbit>3){flashbit=0;TR0=1;} break; case 0x02: //p3.2调数 if(flashbit==0)break; if(flashbit==1) { hour++; if(hour>99)hour=0; } if(flashbit==2) { min++; if(min>59)min=0; } if(flashbit==3) { sec++; if(sec>59)sec=0; } break; case 0x04: //选择正/倒 TR0=0; mode++; mode&=0x01; if(mode==0){sec=0;min=0;hour=0;} dischg(); break; case 0x08: //启动/暂停 TR0=~TR0; break; default:break; } } }}追问

哪里可以把坐标写进去啊?

温馨提示:答案为网友推荐,仅供参考