12864的问题,请各位高手帮帮忙。

[复制链接]
1671|4
 楼主| 恒宇 发表于 2012-12-14 11:33 | 显示全部楼层 |阅读模式
void KNY12864_write_com(u8 com)//写地址
{
           rw_0;
        rs_0;
        Delay_us(5);
        GPIO_Write(GPIOB,com);
        e_1;
        Delay_us(50);
        e_0;
        Delay_us(10);
}  
void KNY12864_write_data(u8 data)//写数据
{
           rw_0;
        rs_1;
        Delay_us(5);
        GPIO_Write(GPIOB,data);
        e_1;
        Delay_us(50);
        e_0;
        Delay_us(10);
}
void lcd_init (void)
{       
        Delay_us(5000);
        KNY12864_write_com(0x30);//  设定功能, 8位数据口
        Delay_us(500);
        KNY12864_write_com(0x30);//  ON/OFF控制,  显示所有数据及关闭光标
        Delay_us(20);
        KNY12864_write_com(0x0f);//  进入模式,  外部读写数据后,地址记数器AC会自动加一
        Delay_us(20);
        KNY12864_write_com(0x01);//  清除显示器,地址计数器设定为0, I/D=1
        Delay_us(10);
        KNY12864_write_com(0x06);//  DDRAM地址设定,  地址计数器设为 0       
        Delay_us(50);       
}
void KNY12864_play(void)
{
      
        KNY12864_write_com(0x80);
        KNY12864_write_data(0x30);把0写到80h.
}
已经正确吧0写进80h的第一位,现在存在的问题,怎样把0写到80h的第二位呢?
airwill 发表于 2012-12-14 13:01 | 显示全部楼层
程序倒是写得很清晰, 一看就明白.
不过写哪一位, 最好还是看看 LCM  的主控芯片的编程手册.
12864 是个常见规格的 LCM, 有多种主控芯片, 不同的芯片, 编程方法也不相同.
看 KNY12864 的型号, 也并不清楚啥芯片. 你先看看 LCM 模块上的芯片型号
再仔细看看手册吧.
2389676302 发表于 2012-12-14 14:14 | 显示全部楼层
不好意思
这个忙帮不上
chenyu988 发表于 2012-12-14 15:06 | 显示全部楼层
写数据函数更改下,改成连续写入8位即一个字节
 楼主| 恒宇 发表于 2012-12-14 15:56 | 显示全部楼层
就是个7920的片子
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

123

帖子

0

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