玩转12864液晶显示图片

上传人:子 文档编号:43436891 上传时间:2018-06-06 格式:DOC 页数:8 大小:283KB
返回 下载 相关 举报
玩转12864液晶显示图片_第1页
第1页 / 共8页
玩转12864液晶显示图片_第2页
第2页 / 共8页
玩转12864液晶显示图片_第3页
第3页 / 共8页
玩转12864液晶显示图片_第4页
第4页 / 共8页
玩转12864液晶显示图片_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《玩转12864液晶显示图片》由会员分享,可在线阅读,更多相关《玩转12864液晶显示图片(8页珍藏版)》请在金锄头文库上搜索。

1、玩转玩转 12864 液晶显示图片,画点,画任意直线液晶显示图片,画点,画任意直线 通过上一篇的实验,相信大家都掌握了显示字符的基本用法。 下面我们来看一下 12864 液晶更高级的用法。 首先是它的绘图功能。 让我们先来显示一整副的图片吧,也就是 128x64 大小。 在使用绘图功能时,先要打开扩充指令集,然后再打开绘图功能。接着就是送数据显示了。 这里我们首先要弄明白 ST7920 的显示坐标关系。其显示坐标如下。从图中可以看出,X 方向共有 8 个字(16 个字节)Y 方向共有 031 行 分为上下两个屏。 弄懂了之后我们就可以依照此坐标来显示一整屏的图片了。 随便用一个图片的提取转换软

2、件,将一副 126X64 大小的图片转换成字节数据,总共字节 大小为 128*64/8 = 1024 个字节。下面我们来看看这个显示整屏图像的函数 void v_Lcd12864DrawPicture_f( unsigned char code *pPicture ) unsigned char i, j, k ;for( i = 0 ; i 4 ; Tier_bit = X if( Y X1 )Temp = X1 ;X1 = X0 ;X0 = Temp ;for( ; X0 Y1 )Temp = Y1 ;Y1 = Y0 ;Y0 = Temp ;for(; Y0 0 )incx = 1;els

3、e if( delta_x = 0 )v_Lcd12864DrawLineY_f( StartX, StartY, EndY, Color ) ;return ;elseincx = -1 ;if( delta_y 0 )incy = 1 ;else if(delta_y = 0 )v_Lcd12864DrawLineX_f( StartX, EndX, StartY, Color ) ; return ;elseincy = -1 ;delta_x = ABS( delta_x ); delta_y = ABS( delta_y );if( delta_x delta_y )distance

4、 = delta_x ;elsedistance = delta_y ; v_Lcd12864DrawPoint_f( StartX, StartY, Color ) ; /* Draw Line*/for( t = 0 ; t distance )x -= distance ;StartX += incx ;if( y distance )y -= distance ;StartY += incy ; 老规矩,我们用这个函数随便画任意斜率的几条直线看看。 v_Lcd12864DrawLine_f( 0, 0, 127, 63, 1 ) ; v_Lcd12864DrawLine_f( 0, 63, 127, 0 , 1 ) ; v_Lcd12864DrawLine_f( 12, 0, 127, 63, 1 ) ;v_Lcd12864DrawLine_f( 52, 63, 127, 0 , 1 ) ; v_Lcd12864DrawLine_f( 32, 63, 98, 0, 1 ) ; v_Lcd12864DrawLine_f( 67, 0, 127, 63 , 1 ) ;下面是具体的效果图:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号