[PIC®/AVR®/dsPIC®产品] 12864绘图问题

[复制链接]
1491|5
 楼主| sunflower860 发表于 2013-11-19 09:52 | 显示全部楼层 |阅读模式
本人菜鸟,编了一段12864的绘图程序,其实就是显示8位宽的游标。
但运行结果是屏幕花了,程序如下:
void Write_LCD_GDRAM(uchar Row_No, uchar Line_No)
{
    uchar j, dir;
   
    Write_LCD_Cmd(0x36);                               //扩充指令集
    Write_LCD_Cmd(0x80+(Line_No%2)*0x10+15);
    Write_LCD_Cmd(0x80+(Line_No>2)*0x08+Row_No/2);
    dir = Row_No % 2;
    if(dir == 1)                                       //16*16区域的右半部反白
    {
        Write_LCD_Data(0x00);
        Write_LCD_Data(0xFF);
    }
    else                                               // 16*16区域的左半部反白
    {                        
        Write_LCD_Data(0xFF);
        Write_LCD_Data(0x00);
    }
    Write_LCD_Cmd(0x30);
}
我想问一下,绘图时,是不是先写入0x36的命令,再写Y坐标,再写X坐标,在写点显示字,最后写0x30的命令。这个顺序对么?写命令与数据之间需要多少微妙延时?
Rain_King 发表于 2013-11-19 09:55 | 显示全部楼层
没有使用过这种液晶的屏幕...但是我觉得应该先是一个点点的点亮吧,看是否自己写入数据函数能否正确工作,在考虑上一层的具体的东西吧,还有写入顺序和时序,资料上应该会有的啊............
 楼主| sunflower860 发表于 2013-11-19 11:11 | 显示全部楼层
Rain_King 发表于 2013-11-19 09:55
没有使用过这种液晶的屏幕...但是我觉得应该先是一个点点的点亮吧,看是否自己写入数据函数能否正确工作, ...

资料是错的,而网上有各种写法,不知道怎么弄才是对的!
Rain_King 发表于 2013-11-19 11:22 | 显示全部楼层
sunflower860 发表于 2013-11-19 11:11
资料是错的,而网上有各种写法,不知道怎么弄才是对的!

你先一个个点点亮啊........不要一开始就做上层具体事..
Rain_King 发表于 2013-11-19 11:23 | 显示全部楼层
sunflower860 发表于 2013-11-19 11:11
资料是错的,而网上有各种写法,不知道怎么弄才是对的!

先要确保你的写数据的函数功能是正常的
兰天白云 发表于 2013-11-19 12:47 | 显示全部楼层
函数从小写起
1、描点
2、描直线
3、描矩形框
4、描矩形块(填满)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部