LCD12864的基本要点

LCD12864的基本要点在日常的学习中我学习了16*2的黑白屏LCD1602,如今在完成MP3的制作时,黑白屏已经不能满足需求,所以要使用彩屏。彩屏我选择使用LCD12864。1.LCD12864的样式LCD12864是由于此屏由128*64格得名,2.LCD12864的接法LCD12864一共有20个管脚,在德飞莱开发板上是这样接的。彩屏占用了P0口和P2口,所以在使用彩屏时,应尽量减少在P2口和P0

大家好,欢迎来到IT知识分享网。

在日常的学习中我学习了16*2的黑白屏LCD1602,如今在完成MP3的制作时,黑白屏已经不能满足需求,所以要使用彩屏。彩屏我选择使用LCD12864。

1.LCD12864的样式
LCD12864是由于此屏由128*64格得名,
这里写图片描述

2.LCD12864的接法
LCD12864一共有20个管脚,在德飞莱开发板上是这样接的。
德飞莱接法
彩屏占用了P0口和P2口,所以在使用彩屏时,应尽量减少在P2口和P0的布线,除非是短暂性的操作,例如按键之类的操作。

3.LCD12864的程序
鉴于LCD12864的数据手册,可以写出以下程序:


//LCD 模块初始化
void initial_lcd()    reentrant
{
    lcd_reset=0; //低电平复位
    delay(100);
    lcd_reset=1; //复位完毕
    delay(100);
    transfer_command_lcd(0xe2); //软复位
    delay(5);
    transfer_command_lcd(0x2c); //升压步聚1
    delay(50);
    transfer_command_lcd(0x2e); //升压步聚2
    delay(50);
    transfer_command_lcd(0x2f); //升压步聚3
    delay(5);
    transfer_command_lcd(0x23); //粗调对比度,可设置范围0x20~0x27
    transfer_command_lcd(0x81); //微调对比度
    transfer_command_lcd(0x28); //微调对比度的值,可设置范围0x00~0x3f
    transfer_command_lcd(0xa2); //1/9 偏压比(bias)
    transfer_command_lcd(0xc8); //行扫描顺序:从上到下
    transfer_command_lcd(0xa0); //列扫描顺序:从左到右
    transfer_command_lcd(0x40); //起始行:第一行开始
    transfer_command_lcd(0xaf); //开显示
}

void lcd_address(uint page,uint column) 
{
    column=column-0x01;
    transfer_command_lcd(0xb0+page-1); //设置页地址,每8 行为一页,全屏共64 行,被分成8 页
    transfer_command_lcd(0x10+(column>>4&0x0f)); //设置列地址的高4 位
    transfer_command_lcd(column&0x0f); //设置列地址的低4 位
}


//全屏清屏
void clear_screen()    reentrant
{
    unsigned char i,j;
    for(i=0;i<9;i++)
    {
        transfer_command_lcd(0xb0+i);
        transfer_command_lcd(0x10);
        transfer_command_lcd(0x00);
        for(j=0;j<132;j++)
        {
            transfer_data_lcd(0x00);
        }
    }
}

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/21767.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信