关键词:
文章目录
- 为了御萝的姐姐,咳咳,为了扩展知识我怎么只能用弟弟那样小的液晶呢,我不应该大一点吗
- ==联动文章 [身价过亿的冰山御萝对小码农说你液晶能显示吗](https://blog.csdn.net/qq_42832862/article/details/120619604?spm=1001.2014.3001.5501)==
- LCD12864简介
- 原理图
- LCD12864时序图
- ==LCD12864的命令,CGRAM,DDRAM,DDROM,GDRAM==
- 12864液晶的各种存储器关系图
- 1.液晶初始化操作
- 2.直接显示英文和汉字的操作
- 3.显示自定义字符的操作
- ==联动文章 [身价过亿的冰山御萝对小码农说你液晶能显示吗](https://blog.csdn.net/qq_42832862/article/details/120619604?spm=1001.2014.3001.5501)==
为了御萝的姐姐,咳咳,为了扩展知识我怎么只能用弟弟那样小的液晶呢,我不应该大一点吗
联动文章 身价过亿的冰山御萝对小码农说你液晶能显示吗
LCD12864简介
变态的LCD12864液晶屏,背面3个COB牛屎堆,一个主控芯片ST7920,另外两个移位芯片ST7921
主控芯片ST7920的功能是
1.与我们的单片机并行通讯
2.字库ROM,CGROM,DDRAM
3.行扫描COM0-COM31
4.列扫描SEG0-SEG63
5.串行方式发送数据到两片ST7921驱动芯片
驱动芯片ST7921的功能是
1.接收来自ST7920的串行信号,转化成并口驱动电压
2.根据信号要求,两片芯片分别驱动SEG64-SEG159,SEG160-SEG255
原理图
LCD12864时序图
并行
写指令函数LCD12864_Write_Cmd
void LCD12864_Write_Cmd(u8 add)//写命令,因为操作的是地址
LCD12864_RS = 0;
LCD12864_RW = 1;
LCD12864_E = 0;
LCD12864_RW = 0;
LCD12864_Delay(3);
LCD12864_E = 1;
LCD12864_DB = add;
LCD12864_E = 0;
写数据函数LCD12864_Write_Data
void LCD12864_Write_Data(u8 Dat)//写数据
LCD12864_RS = 1;
LCD12864_RW = 1;
LCD12864_E = 0;
LCD12864_RW = 0;
LCD12864_Delay(3);
LCD12864_E = 1;
LCD12864_DB = Dat;
LCD12864_E = 0;
这些写指令写数据函数和1602一样的因为他们的时序图是一样的,因此程序也是一样的
12864 字符型 LCD 的写操作过程(W R/W 接地 为低电平):
- 写命令过程:RS 低 电平,然后命令加载到 D0- -D7, E 脚产生 下降沿 ,命令即被12864 接收并执行。
- 写内容过程:RS 高 电平,然后数据加载到 D0- -D7, E 脚产生 下降沿 ,数据即被 12864接收并显示 。
串行(我们没用到,想用的自己分析这个时序图就行了)
LCD12864的命令,CGRAM,DDRAM,DDROM,GDRAM
1.基本命令,地址范围是0x00–0x3f。用来操作液晶的硬件配置等基本功能
2.扩充指令,地址范围是0x00–0x3f。用来绘图,反白显示等高级功能
3.CGRAM,地址范围0x40–0x7f。用来保存液晶本身没有的其他自定义的图像
4.DDRAM,地址范围是0x80–0x8f。用来保存ASCII码值,通过ASCII码指向自定义CGRAM图像数据首地址或者光刻的CGRAM图像数据首地址
5.GDRAM,地址范围是0x80–0xff。允许扩充指令后,用于绘图
前面初始化那一段可以直接用1602的,效果是一样的,那个图见另一篇
初始化函数LCD12864_Init
void LCD12864_Init()
P4M1 = 0;
P4M0 = 0;//把P4全部设置为标准IO口,这里不讲究了
//这时候就根据时序图写时序
LCD12864_Delay(250); //上电后等待至少15ms,才能往LCD写指令
LCD12864_Delay(250); //上电后等待至少15ms,才能往LCD写指令
LCD12864_Write_Cmd(0x38);
LCD12864_Write_Cmd(0x01);
LCD12864_Delay(50);
LCD12864_Write_Cmd(0x02);
LCD12864_Delay(50);
LCD12864_Write_Cmd(0x06);
LCD12864_Write_Cmd(0x0c);
LCD12864_Write_Cmd(0x14);
为了看初始化咋样,我们显示一个字符看看,就暂且在初始化下面写,不能显示就看看代码哪错了
中文错误显示
中文正确显示
为了方便显示汉字,我们创建汉字缓存数组(当然下面并不是方便的操作,但是为了让初学者明白原理,这是最好的操作)
很重要的东西,显示汉字的缺陷
液晶显示服务
//液晶显示服务
void LCD12864_Display_Ser()
LCD12864_Write_Cmd(0x80);
LCD12864_Write_Data(LCD12864_Write_Buffer[0]);
LCD12864_Write_Data(LCD12864_Write_Buffer[1]);
LCD12864_Write_Data(LCD12864_Write_Buffer[2]);
LCD12864_Write_Data(LCD12864_Write_Buffer[3]);
LCD12864_Write_Data(LCD12864_Chinese_Buffer[14]);
LCD12864_Write_Data(LCD12864_Chinese_Buffer[15]);//年
LCD12864_Write_Data(LCD12864_Write_Buffer[4]);
LCD12864_Write_Data(LCD12864_Write_Buffer[5]);
LCD12864_Write_Data(LCD12864_Chinese_Buffer[16]);
LCD12864_Write_Data(LCD12864_Chinese_Buffer[17]);//月
LCD12864_Write_Data(LCD12864_Write_Buffer[6]);
LCD12864_Write_Data(LCD12864_Write_Buffer[7]);
LCD12864_Write_Data(LCD12864_Chinese_Buffer[18]);
LCD12864_Write_Data(LCD12864_Chinese_Buffer[19]);//日
液晶数据分配
void LCD12864_Allot()//永远都要记住LCD是慢的模块
//不需要刷的很快(因为他放在main里面是快刷的)所以我们
//为了不影响其他器件,我们让他刷的次数降低就行
static xdata u16 count = 0;
count++;
if(count>500)
count = 0;
//两个字节一组数字
LCD12864_Write_Buffer[0] = 0x30+2;//不能直接2,要转成ASCII值
LCD12864_Write_Buffer[1] = 0x30+0;
LCD12864_Write_Buffer[2] = 0x30+2;
LCD12864_Write_Buffer[3] = 0x30+1;
LCD12864_Write_Buffer[4] = 0x30+1;
LCD12864_Write_Buffer[5] = 0x30+0;
LCD12864_Write_Buffer[6] = 0x30+0;
LCD12864_Write_Buffer[7] = 0x30+5;
LCD12864_Display_Ser();
12864液晶的各种存储器关系图
下图是DDRAM的存储地址结构图,需显示的汉字就是显示在这里,液晶电路是左右半屏拼接,实际上显示是上下半屏拼接,A0H–A7H,B0H–B7H,这两行是上半屏的但是不显示出来,做上下卷屏操作的时候用。A8H–AFH,B8H–BFH,就是下半屏的卷屏缓存
如果是左右移屏操作,向左移屏,88H会显示到87H的位置,但是,地址编号和内容不改变,只是修改了显示位置
内部电路的结构
显示屏上面的实际位置
1.液晶初始化操作
复位后,按顺序写入指令(开显示0x0c)和(清屏0x01),然后延时一段时间
2.直接显示英文和汉字的操作
3.显示自定义字符的操作
联动文章 身价过亿的冰山御萝对小码农说你液晶能显示吗
身价过亿的女总裁对小码农说你按键会了吗(代码片段)
...按键不会吗?==**帝都富豪与富家总裁联动文章[身价过亿的帝都富豪对小码农说预处理学的不错](https://blog.csdn.net/diandengren/article/details/120679417?spm=1001.2014.3001.5502)**==独立按 查看详情
身价过亿的女王对小码农说中断会了吗
文章目录为了女王,咳咳,为了知识敢说中断不会吗?==联动文章[身家过亿的帝都富豪对小码农说你时空复杂度会了吗](https://blog.csdn.net/diandengren/article/details/120736416?spm=1001.2014.3001.5502)==单片机的中断系... 查看详情
身价过亿的帝都富豪对小码农说预处理学的不错(代码片段)
...序环境和预处理==**帝都富豪与富家总裁联动文章[身价过亿的女总裁对小码农说你按键会了吗](https://blog.csdn.net/qq_42832862/article/details/120678330?spm=1001.2014.3001.5502)**==程序的翻译环境和执行环境详解编 查看详情
身价过亿的温柔萝莉对小码农说adc会采集吗(代码片段)
文章目录小码农电压使者怎么敢说不会采集模拟量与单片机的数字量之间的关系模拟量转换成数字的方式逐次比较器ADC的概念一个超级好的例子分享给你们STC内部ADC模块的寄存器这里我们需要采集电池电压(我们用P1.0采集)==... 查看详情
身价过亿的贤淑才女对小码农说pwm可以控制时间长短吗(代码片段)
文章目录为了贤淑妻子,咳咳,贤淑才女,小码农必定让PWM控制时间什么是脉宽调制PWMSPWM简介用定时器和CPU模拟PWM输出新建工程设置一个定时器,定时10us定时器中断服务函数里面,驱动P2.1脚输出PWM==我... 查看详情
身价过亿的妖媚子对小码农说串口能传送我的爱吗?(代码片段)
文章目录小码农不敢接受妖媚子(想多活几年),但是串口还是可以传送数据的并行通信串行通信==同步:====异步:==串口通信:收发一个字节(只能用时间来同步)串口通... 查看详情
身价过亿的灵仙子说你iic没写完也发?
文章目录小码农很硬气说没写完发咋了,你咬我啊I^2^C协议的简单应用I^2^C协议总体概述I^2^C协议规则==I^2^C协议的数据有效性====I^2^C协议的起始信号、停止信号====I^2^C协议的通讯格式==I^2^C协议的数据读写三种方式I^2^C协议单向发... 查看详情
算法大神对小码农说环形链表可以单独拿出来讲讲(代码片段)
文章目录环链环形链表题目分析延伸问题:==1.为什么fast和slow会在环中相遇,会不会有这么一种情况呢。就是在环中一直交错永远遇不上?请证明一下。==证明:==这里就又衍生出了一个问题就是... 查看详情
身家过亿的帝都太子妃参加1024盛典,小码农弟弟为他献上定时器一篇(代码片段)
文章目录身家过亿的帝都太子妃参加1024盛典,小码农弟弟为他献上定时器一篇内部定时器/计数器中断1.定时/计数器的概念==核心图==定时1ms1.时钟12分频(我们使用传统51的速度)T0x12=0(也就是AUXR&am... 查看详情
身家过亿的帝都富豪来参加1024节专属盛典,小码农献上单链表一篇来庆祝盛典(代码片段)
文章目录身家过亿的帝都富豪来参加1024节专属盛典,小码农献上单链表一篇来庆祝盛典顺序表的缺陷链表链表的概念及结构链表的分类**1.单向或者双向****2.带头或者不带头****3.循环或者非循环**链表的实现无头单向单链表节... 查看详情
ce感恩品牌创始人,一个身价过亿的青年企业家
希文,GE感恩品牌的创始人,90年出生于江苏的一个商业世家。由于自小受到家族的熏陶,希文早早地学会了独立。在他成就自己事业的时候,虽然没有得到家族的支持,但母亲一直教导他把感恩当成自己事业的核心。... 查看详情
从高中缀学到身价过亿,这个80后值得喝彩!
这是微笑哥8月第2次人物分享。全文6600字,阅读请谨慎。作者|云游小生来源 | 纯洁的微笑转载授权(ID:keeppuresmile)一向怼天怼地的罗永浩,少有人能入他的眼。李想被怼上热搜,老罗头顶着炸药包就上:... 查看详情
陈晓旭的一生:童年胆怯内向,演红楼梦一夜成名,做生意身价过亿
一直想做一个晓旭的专辑,讲述更多关于晓旭的生平,以及她与红楼梦的故事,分享给更多旭迷和红迷,但因之前陆陆续续写过许多,在我之前的文章里都能找到,这里就不再重复,今天分享一下晓旭人生各个时期的一些小故事... 查看详情
回答好的,追加200分,推荐票房过亿的电影或你认为最好的电影
...好片了刚刚找了一个单刀直入正在下希望大家推荐点票房过亿的或者你看过的最震撼你的,你觉得最经典的还有一部好片叫最后的城堡呵呵看到最后挺感动的大家推荐吧什么类型的都可以爱情的惊悚的恐怖的剧情的喜剧的动作的... 查看详情
算法给小码农topk重瞳双目(代码片段)
文章目录Topk1000个数中找到最大的前十个方式1:方式2:==方式3:==Topk打印函数TopkPrint没有修改的接口见[算法给小码农堆魂器--铁血柔情](https://blog.csdn.net/diandengren/article/details/121218819?spm=1001.2014.300 查看详情
郭盛华如今现状如何呢?身价早过亿,网友:期待开直播
...公司关注度是极高的,浏览量达到了数十万。传闻郭盛华身价早已过亿,但他依然十分低调。郭盛华毕业于肇庆市工业贸易学校,计算机科班出身,专业非常对口。他建立亚洲之首联盟,击退国外黑客的侵袭,将不可一世的坏蛋... 查看详情
小码农也有大梦想!被阿里抛弃的我转头拿了字节的offer
首先介绍下自己小编18年毕业于一所不知名的二本大学,好在大学期间还算努力,毕业之后一直怀着一颗进大厂的心,但是又不想去北上广,想留在长沙离家近一点的,现在其实非常后悔。当年长沙的大厂实在... 查看详情
算法开启小码农双链表血脉(代码片段)
文章目录==也欢迎大家能来到我们小伙伴的社区[慧编程开源俱乐部](https://bbs.csdn.net/forums/mzt)==双链表双链表结构图双链表节点双链表初始化函数ListInit双链表尾插函数ListPushBack双链表打印函数ListPrint双链表尾删函数Lis... 查看详情