完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
LCD子程序设计
本部分主要是编写LCD的写控制指令和写显示指令的功能函数编写,结合并行模式下的时序功能图,控制寄存器选择端和寄存器控制端的高低电平置位实现。 12864并行连接时序图如图1所示: 图1 并行写指令/数据时序图 如图2所示,在写数据时序时,寄存器选择脚根据RS脚置1和清0的状态分别选择指令寄存器和数据寄存器,R/W置0进行指令或数据的写入,最后使能端触发下降沿,完成指令或数据的写入。 图2 并行读数据时序图 在读数据时序时,寄存器选择脚根据RS脚置1和清0的状态分别选择指令寄存器和数据寄存器,R/W置1进行指令或数据的读取,最后使能端触发下降沿,完成指令或数据的读取。 12864基本指令说明 表1 清除显示指令表
指令: RS=1,RW=1,DB=01H; 表2 DDRAM地址指令表
第二行AC 范围为90H~97H; 第三行AC 范围为88H~8FH; 第四行AC 范围为98H~9FH; 指令:汉字的起始地址必须是X0H和偶数,字符显示时,每一行最多显示16个ASCII字符或8个汉字。设置行数(X为80H、90H、88H、98H),设置列数(Y为0~7)。 RS=0,RW=0,DB=X+Y ; // 设定第X对应的行,第Y+1列 表3 写数据指令表
表4 读取数据指令表
液晶显示的实现分为两部分,一个是液晶初始化函数,另一个是液晶显示函数,液晶初始化函数由主程序在上电初始化时调用。根据数据手册查询可知,写指令0x30可以设定基本指令集,在此基础上写入指令0x0C显示开关光标,最后写入0x01清除掉屏幕显示完成对屏幕的初始化,初始化流程图如图3所示。 图3 液晶显示初始化流程图 液晶显示函数的功能是将设定好的显示内容显示到液晶屏幕上,在主程序中各个地方被调用以实现屏幕内容的变更。写入控制指令(X+Y)设定显示的具体位置,其中当X的值为“0x80“、“0x90”、“0x88”、“0x98”时对应液晶的第一、二、三、四行,当Y值为0-7时对应屏幕的列,根据控制X和Y来控制显示数据的首地址。接着通过对RS置1、对RW置0,对P0口发送显示的数据,对EN发送一个脉冲信号实现写显示数据操作,程序流程图如图4所示。 图4 液晶写显示函数流程图 |
||||||||||
|
||||||||||
只有小组成员才能发言,加入小组>>
3426个成员聚集在这个小组
加入小组物联网工程师必备:怎么选择不同的无线连接威廉希尔官方网站 ,本指南帮你忙!
3285 浏览 1 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】WIFI功能测试
3938 浏览 0 评论
【DFRobot TinkerNode NB-IoT 物联网开发板试用连载】Arduino的替代SublimeText3+STino
3444 浏览 0 评论
使用端口扩展器轻松高效地向IIoT端点添加具有成本效益的子节点
4008 浏览 1 评论
20683 浏览 11 评论
模组有时候复位重启后输出日志为“REBOOT_CAUSE_SECURITY_PMU_POWER_ON_RESET”的原因?
804浏览 2评论
1024浏览 2评论
1027浏览 1评论
1143浏览 1评论
381浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 02:16 , Processed in 1.006542 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号