标题:
QC12864B液晶串行与并行显示源码与全套单片机开发资料
[打印本页]
作者:
Jansert
时间:
2018-4-8 09:26
标题:
QC12864B液晶串行与并行显示源码与全套单片机开发资料
值得收藏的一整套lcd12864相关
0.jpg
(32.5 KB, 下载次数: 50)
下载附件
2018-4-8 15:13 上传
0.jpg
(15.22 KB, 下载次数: 50)
下载附件
2018-4-8 15:13 上传
QC12864B串行显示单片机源程序如下:
/********************************************************************
* 文件名 : 串行12864显示.c
* 描述 : 该程序实现了12864以串行的方式进行通信。
* 版本号 : 2.0
***********************************************************************/
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit CS=P2^5; //片选信号
sbit SID=P2^6; //数据信号
sbit SCLK=P2^7; //时钟信号
sbit RST=P2^2; //复位信号
sbit CH = P2^4; //并行、串行选择信号
/********************************************************************
* 名称 : delay()
* 功能 : 延时,延时时间为 100us * t。这是通过软件延时,有一定误差。
* 输入 : t
* 输出 : 无
***********************************************************************/
void delay(unsigned int t)
{
unsigned int i,j;
for(i=0; i<t; i++)
for(j=0; j<10; j++);
}
/********************************************************************
* 名称 : sendbyte()
* 功能 : 按照液晶的串口通信协议,发送数据
* 输入 : zdata
* 输出 : 无
***********************************************************************/
void sendbyte(unsigned char zdata)
{
unsigned int i;
for(i=0; i<8; i++)
{
if((zdata << i) & 0x80)
{
SID = 1;
}
else
{
SID = 0;
}
SCLK = 0;
SCLK = 1;
}
}
/********************************************************************
* 名称 : write_com()
* 功能 : 写串口指令
* 输入 : cmdcode
* 输出 : 无
***********************************************************************/
void write_com(unsigned char cmdcode)
{
CS = 1;
sendbyte(0xf8);
sendbyte(cmdcode & 0xf0);
sendbyte((cmdcode << 4) & 0xf0);
delay(2);
}
/********************************************************************
* 名称 : write_data()
* 功能 : 写串口指令
* 输入 : cmdcode
* 输出 : 无
***********************************************************************/
void write_data(unsigned char Dispdata)
{
CS = 1;
sendbyte(0xfa);
sendbyte(Dispdata & 0xf0);
sendbyte((Dispdata << 4) & 0xf0);
delay(2);
}
/********************************************************************
* 名称 : lcdinit()
* 功能 : 初始化函数
* 输入 : cmdcode
* 输出 : 无
***********************************************************************/
void lcdinit()
{
RST = 0;
delay(100);
RST = 1;
delay(20000);
write_com(0x30);
delay(50);
write_com(0x0c);
delay(50);
}
/********************************************************************
* 名称 : hzkdis()
* 功能 : 显示字符串
* 输入 : *s
* 输出 : 无
***********************************************************************/
void hzkdis(unsigned char code *s)
{
while(*s > 0)
{
write_data(*s);
s++;
delay(50);
}
}
/********************************************************************
* 名称 : Test()
* 功能 : 显示子函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Test()
{
write_com(0x03);
delay(50);
write_com(0x81);
hzkdis(" HOT-51");
write_com(0x91);
hzkdis("单片机开发板");
write_com(0x89);
hzkdis(" ");
write_com(0x98);
hzkdis(" 东流电子");
}
/********************************************************************
* 名称 : Main()
* 功能 : 主函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Main()
{
CH = 0;
delay(1);
lcdinit();
delay(10);
while(1)
{
Test();
delay(5000);
}
}
复制代码
所有资料51hei提供下载:
蓝屏+LCD12864显示屏+中文字库+带背光12864-5V+S+串口并口液晶屏.rar
(606.47 KB, 下载次数: 182)
2018-4-8 09:26 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
jialishoushi
时间:
2018-4-10 01:00
不错 收藏了
作者:
1160440028
时间:
2018-4-10 09:07
不错,下载了,可以学习一下
作者:
wenkic
时间:
2018-10-20 23:15
垃圾来的
作者:
cot
时间:
2019-6-26 15:43
666资源谢谢了
作者:
hechenyexxd
时间:
2019-8-15 17:46
第一次可以正常显示,后面就成乱码了,不知道为什么
作者:
12346354
时间:
2019-11-21 14:54
试一试
作者:
cfh435713942
时间:
2020-5-26 10:29
有一个还亮不了
作者:
绿洲漫步
时间:
2020-6-10 20:18
不错,收获满满
作者:
J2366079297
时间:
2020-12-7 09:39
不错的简单例程,点赞推荐
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1