小弟在做点阵式液晶画线时遇到难题,显示芯片是t6963c,液晶为240*64点阵 如何实现输入两点坐标(横坐标相差1,纵坐标相差随机),就可画出直线。似乎要用到公式y=kx+b,但小弟才疏学浅,编了一部分,后面实在是不会了,那位大侠做过类似的望赐教
下面是小弟写的一部分程序,后面不知如何编了 其中x1与x2相差1, void line(uchar x1,uchar y1,uchar x2,uchar y2){ uchar idata x,y,i; float idata k,b; if( abs(y2-y1) <abs(x2-x1)*8 ){ //abs(x2-x1)乘以8是因为显示单元是1*8点阵,此时算的是 |k|<1的情况
k=((float)(y2-y1)) / 8 ; b=y1-8*k*x1; for(i=0;x<=abs(y2-y1);i++){ y=(uchar)(k*8*x2+b); } } }
|