单片机学习——LCD12864串口显示
来源:互联网 发布:东方财富软件使用 编辑:程序博客网 时间:2024/06/08 20:06
一、引脚图
二、串行时序图
R/W 1/0 读/写
RS 1/0 数据/命令(注意:这是数据,不是并行那个端口为:RS 1/0 命令/数据)
/********************************************************************
写命令
***********************************************************************/
void write_com(unsigned char cmdcode)
{
CS = 1;
sendbyte(0xf8);// 告诉显示屏要写命令
sendbyte(cmdcode & 0xf0);//发高四位 xxxx0000
sendbyte((cmdcode << 4) & 0xf0);//发低四位 xxxx0000
delay(2);//200us左右
}
/********************************************************************
写数据
***********************************************************************/
void write_data(unsigned char Dispdata)
{
CS = 1;
sendbyte(0xfa);
sendbyte(Dispdata & 0xf0);
sendbyte((Dispdata << 4) & 0xf0);
delay(2);
}
/********************************************************************
根据时序图发数据
***********************************************************************/
void sendbyte(unsigned char zdata)
{
unsigned int i;
for(i=0; i<8; i++)
{
if((zdata << i) & 0x80)
{
SID = 1; //第5个引脚R/W
}
else
{
SID = 0;
}
SCLK = 0;
SCLK = 1;
}
}
三、初始化LCD
void lcdinit()
{
RST = 0; //复位
delay(100);
RST = 1;
delay(20000);
write_com(0x30); //基本指令操作
//lcd_wcmd(0x34); //扩展指令操作
delay(50);
write_com(0x0c); //显示开 关光标
delay(50);
}
四、显示函数
1、显示普通字符和汉字 write_com(0x30); //基本指令操作
void hzkdis(unsigned char code *s)
{
while(*s > 0)
{
write_data(*s);
s++;
delay(50);
}
}
void Test()
{
write_com(0x03);//光标置原点
delay(50);
write_com(0x81);//汉字显示坐标,第一行(总4行),第二个汉字位置(总8列)
hzkdis("1234567");
}
2、显示图片
/*******************************************
整屏显示图片
unsigned char code tu_fill[]={};
********************************************/
void Fill_dis(const uchar *ptr)
{
uchar i,j,k;
//wela=0;
//dula=0;
lcd_wcmd(0x34); //拓展命令
i = 0x80;
for(j = 0;j < 32;j++)
{
lcd_wcmd(0x80+j);//写Y轴
lcd_wcmd(0x80);//写X轴,第一大行,0~7
for(k = 0;k < 16;k++)//一个字节8*16=128
{
lcd_wdat(*ptr++);
}
}
i = 0x80;
for(j = 0;j < 32;j++)
{
lcd_wcmd(0x80+j);
lcd_wcmd(0x88); //写X轴,第二大行,8-15
for(k = 0;k < 16;k++)
{
lcd_wdat(*ptr++);
}
}
lcd_wcmd(0x36); //打开绘图显示
lcd_wcmd(0x30); //返回基本命令
}
3、取模软件设置
- 单片机学习——LCD12864串口显示
- LCD12864显示
- LCD12864学习
- 单片机学习——串口通信(一)
- 51单片机学习笔记【六】——串口通信实验
- STM32单片机学习笔记——USART串口通信
- 单片机—串口—代码
- 单片机——串口中断
- 51单片机—串口时钟
- 第五节 LCD12864显示
- 20141109 【 单片机——串口通讯——中断 】 八段数码管显示通信内容
- 51单片机串口通信——串口设置
- 单片机学习笔记(三)——数码管显示
- 8位单片机::pic汇编::实例学习::无死角学习0::串口与lcd显示
- LCD12864串行和并行显示
- 嵌入式学习笔记(11)——51单片机之中断(串口通信)
- AVR单片机串口显示乱码问题
- 51单片机—数码管显示
- HTML基础学习-2-文本标记学习
- kotlin学习2(第一个hello word 程序)
- 深度优先搜索版的匈牙利算法
- 略讲基于cnn的人脸识别模型的网络结构和度量设计
- 355Design Twitter
- 单片机学习——LCD12864串口显示
- UVa156(map的使用)
- hihoCoder— 穿越禁区(并查集)
- HorizontalScrollView和ViewPager的使用
- CSS之vmin和vmax
- 实现javascript深复制
- General Thread States
- android系统源码下载
- HTML基础学习-3- image标签学习