版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LCD12864驱动(无背光、不带字库)一.引脚配置PinSymbolFunction1GND(Vss)逻辑电源地匕(匕)逻辑电源正(+5V)3岭厶CD驱动电压4RS寄存器选择端:高电平为数据寄存器,低电平为指令寄存器5R/W读/写选择信号:高电平为读数据,低电平为写数据6E读写使能,高电平有效7DB0数据输入、输出引脚8DB1数据输入、输出引脚9DB2数据输入、输出引脚10DB3数据输入、输出引脚11DB4数据输入、输出引脚12DB5数据输入、输出引脚13DB6数据输入、输出引脚14DB7数据输入、输出引脚15CS1片选择号,高电平时选择前64列16CS2片选择号,高电平时选择后64列17R
2、ST复位信号,低电平有效。18也负压输出,输出负压给提供驱动电源19LED+背光电源LED正极20LED-背光电源LED负极表1引脚配置二、LCD12864驱动及原理图1LCD12864点阵模块原理框图可以看出LCD12864屏是分为左、右两块控制的。所有对屏幕的操作受片选信号CS1、CS2来控制。我们再來看看对屏幕操作数据与屏幕点阵的排布关系,如卜表:CS1=1选择左屏CS2=1选择右屏Y=01.626301.6263X=0DB0.DB7DB0.DB7DB0.DB7DBO.DB7DB0.DB7DBO.DB7DB0.DB7DB0.DB7DB0.DB7DBO.DB7DB0.DB7:DB0.DB7
3、DB0.DB7DB0.DB7DB0.DB7DB0.DB7DB0.DB7DB0.DB7DB0.DB7DB0.DB7DB0.DB7DB0.DB7X=7DB0.DB7DB0.DB7DB0.DB7DBODB7DB0.DB7DBODB7DB0.DB7DB0.DB7DB0.DB7DBODB7DB0.DB7表2数据与屏幕点阵的排布关系从上图可以看出数据按字节在屏幕上是竖向排列的。上方为低位,下方为高位。因此在横向上(也就是Y)就一共是128列数据。分为CS1和CS2两个64列来写入。在竖方向上(也就是X)字节数据显示8个点,竖向64个点分为8个字节,称做8页(X=0-7)o下面來了解对LCD12864(KS
4、0108)进行操作的一些指令。LCD12864进行操作,实际上就是对KS0108操作,由上页原理图可以看出“LCDPANELn就是由KS0108來控制的。KS0108指令写入流程:入口r读状态字1BUSY=O?写指今代碣或显示数兰读显示数捂图2指令流程1、指令列表指令名称控制状态扌旨令代码RSR/WD7D6D5D4D3D2D1DO显示开关设置000011111D显示起始行设置0011L5L4L3L2L1LO页面地址设置0010111P2PlPO列地址设置0001C5C4C3C2Clco读取状态字01BUSY0ON/OFFRESET0000写显示数捲10数捋洪显示数焉11数据2、逐条解释、读状态
5、字(READSTATUS)恪式BUSY|0|NQOFF|RESER|0|0101013LSY=l表示KS0I08正在处垂计算机发来的拒今或救扌Sit时接口电路枝毎锭,不館接受读读状态字以外的任何操作=BUSY=0麦示KS0108接口控网电路已处于准备好状态等待计算机的访问ONOFF:表示当茕的显示状态=OX/OFF=1表示关邑示状态ON/OFF=0麦示开显示状态RESET麦示兰竝KS0108的工乍状态即反映RST端的电平状态=当RST为低电互状态时KS0108达于复住工作状态,RESETS=当RST为交电U状态时.KS0108为正常工作状态RESET=0在占领设置和数捂读写时突注言伙态字申芥B
6、USY标忘-只有在BUSY=()时计算1对KS0108笔燥作.才雙有效=天1此计箕口在毎次对KS010X操佗之圳,生要读出状态判断BUSY是否为若不为则计算机希要等待宣至BUSY=0为止-、显示开关(DISPLAYON/OFF)鈕|o|o|i|i|i|i|i|d|该世令设置昱示开关世发器的状态性此控钊显示教捋镀存器片工作方式从百拦钊显示上的显示状态-D負为显示幵咲的控钊位=当11为显示设宣昱示数培虢存器正常工作展示3上呈现手许的效果8t时在状态字中ON;OFF=0当D=0为关显示设萱,巳示数捋钱存卷被豊尋I国示第呈不显示状态旦显示存话券没有被破坏在状态绘中0NOFF=1、显示起始行设置(DIS
7、PLAYSTARTLINE)格式I1I1|L5|L4|L3|L2|LI|lT|该琴令设置了显示起始行寄存器的K容KS0108有64行显示的管湮能力,该指令中L5L0为显示起始行的地址取値在03FH(1-64)范国内它规定了显示屏上最顶干对应白勺邑示存怯券的行地址如果定时间逐地,等间冬地修改(如犯一或披一)邑示起始行寄存券的兀容,贝显示屏相呈现显示兀容N上或宜下平滑滚动的显示效果=、页面地址设置(SETPAGE(XADDRESS)格式IJI0I1IJI1IP2JPl|PO:亥拦今菽宣了!三二二:X总二弩椁券戒容;K501()8将显示存储券牙文了8页扌登令代码中P2-P0就是晏迩定当荊斫晏选择的页
8、直地迁取道老亟为卜1【代表第卜8页n该拒令規定了以后的读/写燥乍将在珈一人页直上进行e).列地址设置(SETYADDRESS)格式0I1IC5IC4C3IC2ClICO该指令设置了Y地址计数器芥K容C5CO=O3F1I(1-64)代麦某一页直上的某一单元並迁便吟的一次渎或写数挣?在这个单元上进行“楚址计数器具程自动帕一功能在每一次读写数捂号它将言动加一-祈以在连续进行读/写数捂时芯壬计数券不必每次都设宜一次-页面龙址的设直和列地壬的设萱卑邑示存傑器单元唯一地确定下来为后来旳灵示数捂的读/写作了地址的迭通=0、写显示数据(WRITEDISPLAYDATA)格式|数据|该操作将8仁嗷捂写入牛:茕已
9、确定的显示存氓器眈单元内,燥乍完茨百列竝址计数券自动加一-g)、读显示数据(READDISPLAYDATA)格式I数抠-该燥作将KS0108接口部的输出寄存券丸容读出,然弓列地汪计数黔岂动如一要实现编程,必须理解KSOIO8的时序图3、写时序图4、读时序三、锁件连接间接访问方式MCU提供并行接【I间接实现对液晶控制模块的控制。硬件连接示意如下图所示:四、程序/声明了void_nop_(void)/字库头文件间接访问方式#include#includeVintrinsh#uiclude#defineucharunsignedchar#defineuintunsignedint#definenop
10、_nop_0/*接II定义/#defineDPORTPlsbitRS=P3A3;sbitRW=P3Al;sbitE=P3A0;sbitCS2=P3A4,sbitCSl=P3A5,/命令数据输出端IKDB0-DB7)/寄存器选择端/读/写信号/使能端/片选信号CS2/片选信号CS1/忙检测/写命令/写数据/LCD初始化/LCD清屏/延时函数/单个汉字显示(16*16)voidZifu_dis(uchar,uchaiuchar*),/单个字符ASCH码显示(8朽)#definedisp_startOxcO/显示起始行设置#definepage_add0 xb8/页面地址设置(第0页)#define
11、col_add0 x40/列地址设置(第0列)#definedisp_on0 x3f/打开显示#definedisp_off0 x3e/关闭显示/*函数声明*/voidCheck_busy_12864(void),voidWrite_cmd_l2864(uchar),voidWritedata2864(uchar),voidLcd_init_l2864(void),voidLcd_clr_l2864(void),voidDelay(uchar),voidHanzi_dis(uchar,uchar,uchai*),voidHanzi_dis_row(uchar,uchaiuchar*,uint)
12、,/n个汉字显示(口J选页和起始列)voidZifu_dis_line(uchar,uchar,uchartuint),/多个字符显示/水*水*水水*水*水*水水*水*水水*水*水*水*水*水水*水*水*/TOC o 1-5 h z/*LCD12864显示部分(控制芯片KS0108)*/f11111*A*1111/I|t/检测是否忙/voidCheck_busy_12864(void)uchardatacheck_flag=O,DPORT=Oxff,RS=O,RW=ltwhile(l)/E=l,nop;E=0,nop,E=l;check_flag=(DPORT&0 x80)”if(check_
13、flag=0)break,E=0,/*写命令*/voidWnte_cmd_l2864(ucharc)Check_busy_l2864(),RS=0,/指令模式RW=0;/写指令/写DPORT=c,E=l;nop,E=0,/*写数据*/voidWntedata2864(uchard)Check_busy_l28640,RS=1;/数据模式/写数据/写RW=0,E=0,DPORT=d,E=l;nop,E=0,/*LCD初始化*/voidLcd_init_l2864(void)Lcd_clr_l28640,CS1=1”CS2=0,Write_cmd_l2864(disp_off)Write_cmd_
14、l2864(disp_stait),/W门te_cmd_l2864(page_add),/W门te_cmd_l2864(col_add),Write_cmd_l2864(disp_on),左屏初始化关闭显示显示起始行设置页而地址设置列地址设置打开显示081=0,CS2=1”Write_cmd_l2864(disp_off)Write_cmd_l2864(disp_stait),/W门te_cmd_l2864(page_add),/W门te_cmd_l2864(col_add),Write_cmd_l2864(disp_on),右屏初始化关闭显示显示起始行设置页而地址设置列地址设置打开显示/*L
15、CD清屏*/voidLcd_clr_l2864(void)ucharpage,col,CS1=1,CS2=O,/清左屏for(page=0,page8,page+)Wnte_cmd_l2864(page_add|page),Wnte_cmd_l2864(col_add),for(col=0,col64,col+)Wnte_data2864(0 x00);列地址自动加一CS1=O,CS2=1,/清右屏for(page=0,page8,page+)Wnte_cmd_l2864(page_add|page),Wnte_cmd_l2864(col_add);for(col=0,col64,col+)W
16、nte_data2864(0 x00),列地址自动加一/*延时子程序/voidDelay(uchardy)while(-dy),(16*16)*/x予age,行voidHanzi_dis(ucharrovz,ucharcol,uchar*p)/row表示行,col表示列,占两页uchari=0j=0,xyuchartemp=0,XTOW,y=col,行列CS1=1,CS2=O,for(j=0,j2,j+)for(1=0,i63)CSl=0,CS2=l,y=y64,if(iif(y64)CS1=1,CS2=O,CS1=1,CS2=1,左屏把字符从屏幕上第x行开始写,0=x7把字符从屏幕上第y列开
17、始写/*$*个汉字$6了入(口J选页和起始列)*/voidHanzi_dis_rovz(ucharpage,ucharcol,uchai*p,uintnum)/row表示行,col表示歹ij,占两页num義示菽字个数uchari=0j=0,k=0,xynuchartemp=0,y=col,n=num,列汉字个数CS1=1,CS2=O,左屏for(k=0,kn,k+)for(j=0,j2,j+)for(1=0,i63)CSl=0,CS2=l,y=y-64,if(ivl|y=0)Wnte_cmd_l2864(0 xb8+x),Wnte_cmd_l2864(0 x40+y),tenp=p32*k+1
18、6*j+i,Wnte_data2864(temp),y+,x+,y=col+16*k,if(y64)CS1=1,CS2=O;xage,y=col+16*(k+l),if(y64)CS1=1,CS2=O,CS1=1,CS2=1,把字符从屏幕上第x行开始写,0=x7把字符从屏幕上第y列开始写/*水单彳、字符ASCII输入(8*5)*/voidZifu_dis(ucharrow,ucharcol,uchar*p)/row表示行,col表示列uchaii=0,x,y,uchartemp=O,XOW,y=col,行列CS1=1,CS2=O,foi(i=0,i63)CSl=0,CS2=l,y=y64,if(Kl|y=O)Wnte_cmd_l2864(0 xb8+x),Wnte_cmd_l2864(0 x4CH-y),temp=pi;Write_data2864(temp),CS1=1,CS2=1,把字符从屏幕上第x行开始写,0VFV7
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025标准货物买卖合同范本
- 二零二五年度农村宅基地买卖合同范本3篇
- 二零二五年ktv厨房整体承包与运营管理合同3篇
- 2024年食堂餐具租赁合同3篇
- 2025合同违约金的适用关系
- 2025版猪肉产品质量安全责任合同
- 2024年环保技术研发委托担保合同范本23篇
- 二零二五年度企业融资借款合同汇编2篇
- 2025版高端软件企业程序员长期聘用合同样本2篇
- 2025汽车销售合同范本大全
- 中药材的性状及真伪鉴别培训-课件
- 泵站项目划分
- 绿化养护工作检查及整改记录表
- 新能源发电技术学习通课后章节答案期末考试题库2023年
- GB/T 42752-2023区块链和分布式记账技术参考架构
- Module 9 (教案)外研版(一起)英语四年级上册
- 初中物理-初三物理模拟试卷讲评课教学课件设计
- DG-TJ 08-2367-2021 既有建筑外立面整治设计标准
- 公文流转单(标准模版)
- 深入浅出Oracle EBS之OAF学习笔记-Oracle EBS技术文档
- XXX大中型公司报价管理办法
评论
0/150
提交评论