单片机多大的ram才可以带动tft lcd_【单片机自学】7.液晶实验
1.液晶1602
硬件原理及连线
液晶1602的使用非常的方便,数据线8条,控制线3条,其实总共需要11根IO口线(8线制使用使这样的,4线制可以节省IO口,这里先不讨论)。液晶显示模块的VCC和GND(第一和第二个引脚)是需要接的,但是背光的VCC和GND可以不连接。
液晶1602的使用需要注意的一点就是VO这个端口。这个VO端口接高电平时候,液晶的对比度最小;接低电平时,液晶的对比度最高(会出现“鬼影”)。最好采用一个电位器,可以调节这个端口的电压。
2. 1602液晶的显示地址
LCD1602总共有32个单元,每个都可以显示一个字符或是字母:
3. 1602液晶的操作
读状态 输入:RS=L, R/W=H, E=H 输出: D0~D7=状态字。
读数据 输入:RS=H, R/W=H, E=H 输出:无。
写指令 输入:RS=L, R/W=L, D0~D7=指令码,E=高脉冲,输出:D0~D7=数据。
写数据 输入:RS=H, R/W=L, D0~D7=数据,E=高脉冲,输出:无。
1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H) ,显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码, 试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A'。以下是1602的16进制ASCII码表:
读的时候,先读上面那列,再读左边那行,如:感叹号!的 ASCII为 0x21,字母 B 的ASCII为 0x42(前面加0x表示十六进制)。
4. 1602液晶静态显示:
主函数中首先初始化 1602 液晶,然后再次清屏,进入主循环,主循环中第一行中通过写字符方式写入“ok” ,然后在第二行写字符串“I love 51 mcu”。
5. 1602液晶动态显示:
初始化液晶, 主循环中第一行固定显示 “hello!” , 第二行逐字显示 “I love 51 mcu”
2 LCM12864液晶
硬件原理及连线
逻辑工作电压(VDD):4.5~5.5V
电源地(GND):0V
工作温度(Ta):-10℃ ~60℃(常温) / -20℃~70℃(宽温)
12864液晶的操作
接口时序:
模块有并行和串行两种连接方法(时序如下):
1 、并行(8位)连接时序图
2、串行连接时序图
串行数据传送共分三个字节完成:
第一字节:串口控制—格式 11111ABC
A为数据传送方向控制:H表示数据从LCD到MCU,L表示数据从MCU到LCD
B为数据类型选择:H表示数据是显示数据,L表示数据是控制指令
C固定为0
第二字节:(并行)8位数据的高4位—格式 DDDD0000
第三字节:(并行)8位数据的低4位—格式 0000DDDD
串行接口时序参数:(测试条件:T=25℃ VDD=4.5V)
3、用户指令集
指令表1:(RE=0:基本指令集)
具体指令介绍:
1、清除显示
功能:清除显示屏幕,把DDRAM位址计数器调整为“00H”
2、位址归位
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM
3、位址归位
功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能:执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
4、显示状态 开/关
功能: D=1;整体显示ON C=1;游标ON B=1;游标位置ON
5、游标或显示移位控制
功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容
6、功能设定
功能:DL=1(必须设为1) RE=1;扩充指令集动作 RE=0:基本指令集动作
7、设定CGRAM位址
功能:设定CGRAM位址到位址计数器(AC)
8、设定DDRAM位址
功能:设定DDRAM位址到位址计数器(AC)
9、读取忙碌状态(BF)和位址
功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值
10、写资料到RAM
功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)
11、读出RAM的值
功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)
12、 待命模式(12H)
功能:进入待命模式,执行其他命令都可终止待命模式
13、卷动位址或IRAM位址选择(13H)
功能:SR=1;允许输入卷动位址 SR=0;允许输入IRAM位址
14、反白选择(14H)
功能:选择4行中的任一行作反白显示,并可决定反白的与否
15、睡眠模式(015H)
功能:SL=1;脱离睡眠模式 SL=0;进入睡眠模式
16、扩充功能设定(016H)
功能:RE=1;扩充指令集动作 RE=0;基本指令集动作 G=1;绘图显示ON G=0;绘图显示OFF
17、设定IRAM位址或卷动位址(017H)
功能:SR=1;AC5~AC0为垂直卷动位址 SR=0;AC3~AC0写ICONRAM位址
18、设定绘图RAM位址(018H)
功能:设定GDRAM位址到位址计数器(AC)
12864液晶的基础显示操作
/*------------------------------------------------主程序
------------------------------------------------*/
void main()
{unsigned char i; CGRAM(); //写入自定义字符 while(1){ Init_ST7920(); //初始化//延时30x200ms for(i=0;i<30;i++)DelayMs(200);LCD_PutString(0,1," 专注成就专业 ");LCD_PutString(0,2," 专业成就事业 ");LCD_PutString(0,3,"敬业专业诚信为本");LCD_PutString(0,4,"我们会一直努力! "); DisplayCGRAM(0,1); //写入自定义图片笑脸DisplayCGRAM(0,2);//延时30x200ms for(i=0;i<30;i++)DelayMs(200);ClrScreen(); //清屏SetGraphicMode(); //设置成绘图模式LCD_PutGraphic(pic1); //调入一幅图画//延时20x200msfor(i=0;i<20;i++)DelayMs(200);ClrScreen();}
}
主函数开始写入自定义字符,循环中第一部分初始化液晶到字符模式,写入对应的 4 行字符,并写入自定义笑脸符号。延时一段时间后显示第二屏字符。最后一部分调用图片数据,显示图片,然后再从第一部分反复循环显示。
源码下载链接
mcutree/MCU-self-studygithub.com
后续还将教你制作智能寻迹避障小车等项目,先关注,后面慢慢教你学单片机!
单片机多大的ram才可以带动tft lcd_【单片机自学】7.液晶实验相关推荐
- c51单片机有几个终端语言,吃过大亏,才知道要从51单片机入手
原标题:吃过大亏,才知道要从51单片机入手 在这里,我就不说什么是单片机了,而是说说怎样学单片机,就我个人而言先学51,因为这个单片机在中国市场上发展了几十年了,现在工程中用的比较多的也是MCS-51 ...
- 单片机c语言访问片外存储器,教你给51单片机扩展片外RAM
原标题:教你给51单片机扩展片外RAM 上一文中扩展了单片机的程序存储器,4KB存储空间提升到64KB.其实,4K的代码空间还凑合,但是51自带的256B数据存储空间使用起来还真紧张,其中留给用户的连 ...
- 嵌入式--深入理解单片机(一)单片机程序是如何运行起来的以及单片机的ROM和RAM
目录 一.两种处理器的结构体系 1.哈佛结构体系(Harvard architecture) 2.冯·诺依曼结构体系 3.两种结构的总结 哈佛结构的优势 冯·诺依曼结构的优势 当前很多芯片都是混合结构 ...
- 51单片机12864大液晶屏proteus仿真
51单片机竞赛设计实例程序44例(Proteus仿真资料),可以做参赛设计的参考,可以用来做毕业设计,也可以做项目参考,平时的练习项目,带源码,可以说费了很多时间才集齐的,希望对你们有帮助,闯客网技术 ...
- 单片机给大文件做 CRC32 校验
对文件进行CRC校验,有时候文件比较大,单片机RAM比较小,一次不能把文件全部读到缓冲区里,因此需要分批读取,分批做CRC校验,下面就实现了单片机对大文件进行CRC32校验的功能. tatic uns ...
- php 统计页面跳失率,究竟网店各页面的跳失率大小为多少才算正常水平?
原标题:究竟网店各页面的跳失率大小为多少才算正常水平? 跳失率=页面的跳失人数/页面的访问人数,一个页面好坏与否可以从跳失率的大小作出大致的判断.因此要随时关注网店不同页面的跳失率大小,以便及时发现不 ...
- 最新研究报告:大数据 大而恒久才是美
德勤中国科技.传媒.电信卓越研究中心发布最新研究报告<大数据,大而恒久才是美>.大数据是当前最受瞩目的技术之一,越来越多的企业管理者意识到,大数据将是未来发展的趋势,大数据的广泛应用将改变 ...
- 中国推进大数据综合试验区建设 带动经济提质增效
(原标题:中国推进大数据综合试验区建设 带动经济提质增效) 据经济之声<天下财经>报道,在贵州省成为首个国家级大数据综合试验区后,上个月,京津冀.珠三角.上海市等七个区域获批成为第二批国家 ...
- 博主招募令 | 技术大舞台 有才你就来!【微信小程序联盟】
急急如律令! 『微信小程序联盟官方论坛』 公开招募博主活动开始啦! 技术大舞台~ 有才你就来! 建设论坛,分享技术,小程序联盟官方论坛这个开发者们互动交流的技术大本营,离不开每一位会员的支持和付出,如 ...
最新文章
- 六个最佳的软件工程实践(基于构件的体系结构、可视化建模)
- 依图科技CEO朱珑:“智能密度”对AI发展意味着什么?
- XFS:大数据环境下Linux文件系统的未来
- Xamarin的播放音频和视频的媒体管理插件
- java中怎么制作单选框_java代码swing编程 制作一个单选按钮的Frame
- Spring Bean的一生
- 开发人员转售前工程师_工程师和营销人员可以从中学到什么
- shell export 命令
- SAP License:PO中“最终发票”的应用与理解
- CentOS6.7安装Python3.4
- 聊聊编码那些事——Unicode,gb2312,cp936,GBK,GB18030
- 北京致芯科技STM32F107VC 芯片解密 代烧录
- 工行登录企业网银时,如遇“请确认您已插入工商银行U盾证书,或更换端口后再次尝试登录”提示的解决办法
- 国内云建设普遍缺失的一环:云管理平台
- 最近自己安装CDH5.X版本时发现,CM包和parcels包无法下载了。
- 用手机远程控制扫描仪
- html传递只能用this,Html中使用JS $(this).attr('action'); 无法获值
- Oracle session active 和 inactive 状态 说明
- 若依Activiti工作流入门
- 《东周列国志》第四十一回 连谷城子玉自杀 践土坛晋侯主盟
热门文章
- 灵魂拷问:到底要不要写单元测试,如何正确进行单元测试?
- MySQL不香吗,为啥京东放弃它拥抱Elasticsearch?
- 连Spring源码都没看过,你怎么敢在简历上写“精通”?
- ​【月报】Java知音的三月汇总
- 设计模式学习之单例模式
- Java一句话获取系统目前年份
- 浅入深出Vue:环境搭建
- P1217 [USACO1.5]回文质数 Prime Palindromes(技巧+暴力枚举+线性筛)
- js 解析url中search时存在中文乱码问题解决方案
- Redis学习-string数据类型