1、管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)R/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)使能信号7DB0三态数据线8DB19DB210DB311DB412DB513DB614DB715PSBH:8位或4位并口方式,L:串口方式(见注释1)16NC空脚17/RESET复位端,低电平有效(见注释2)18VOUTLCD驱动电压输出端19AVDD背光源正端(
2、+5V)(见注释3)20K背光源负端(见注释3)电气参数:项目符号最小典型最大单位电源电压VDD-VSS4.755.05.25V液晶驱动电压VDD-VADJTa=0-11.0-11.5-12.0Ta=25-10.5Ta=50-10.0输入信号电压VIH0.8 VDDVDD+0.3VIL0.2 VDDLCM工作电流IDDmA背光驱动电流ILED6080液晶驱动电流IEE基本指令系统:模块控制芯片提供两套控制命令,基本指令和扩充指令如下:指指令码功 能令RSR/WD7D6D5D4D3D2D1D0清除显示将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位X设定DDRAM的
3、地址计数器(AC)到,并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容显示状态开/关DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许进入点设定I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制S/CR/L设定游标的移动与显示的移位控制位;功能设定DLREDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作设定CGRAM地址AC5AC4AC3AC2AC1AC0设定CGRAM 地址设定DDRAM地址设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址BFAC6读取忙标
4、志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM数据将数据D7D0写入到内部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)2.2.5、按键控制电路电路由三个独立按键开关组成,分别与单片机的I/O相连,控制调整电路的加、减以及确定。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有
5、关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。P3.0口表示下移功能键,当开关闭合时,控制显示屏内容整体向下滚动。 P3.1口表示上移功能键,当开关闭合时,控制显示屏内容整体向上滚动。 P3.2口表示右移功能键,当开关闭合时,控制显示屏内容整体向右移动。P3.3口表示左移功能键,当开关闭合时,控制显示屏内容整体向左移动。按键控制电路三、软件部分3.1、软件系统概论此设计是由单片机控制的LCD显示系统,外设四个按钮来控制显示的方式。对于
6、按钮的工作方式可以是中断也可以是查询,在此设计中所选用的顺序结构。用单片机的 P3口的低4来作为LCD的显示控制端,即控制LCD使能端、读写控制揣、数据指 令选择端及两个选屏端。 对于此设计课题,因为要求是用12864的显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码的。所以,首先是通过一定的软件如ZIMO等来获取你想要显示的汉字的编码代码。有了这款软件,就方便多了,只在要软件中打入你想要显示的汉字或是字符,它就会自动生成代码,使用起来非常方便,而不需要人工去编写相应的代码。开始显示图形检测按键显示相应内容。3.2、汉字显示对于此设计课题,因为要求是用128 由于此LCD的显示屏是被分
7、为了两部分的,即左半屏和右半屏,分别由CS1和 CS2来控制,两个半屏的内存都分别由X和Y两个地址来确定,X地址共64位,而Y地址两边各64位,一共128位,所以有的时候就称其为12864显示器。X地址共有8个值,从0到7,即每个值有8位,每显示一个字符要2个X值,而Y共128个值,分为两块即左右两块,分别从0到63,即每个值一位。每显示一个汉字要16个Y值,每显示一个字符要8个Y值。所以应该 对两半屏分别编程取显示地址。同时还得用一个显示子程序来显示显示地址中保存的显示代码(汉字代码)。由此LCD的显示时序图可知,在显示过程中还需要一定的延时(不同的型号,延时时间是不同的)并且在显示前需将一
8、些特定的控制端置相应的电平,比如说还所有输入之关需先把LCD总使能端打开,即置E端为高电平,然后应再 输入指令代码,对其进行相关的设置。所以还需要一个适当的延时子程序以及输 入数据前的准备程序。除了这些外,还应写一个初始化程序,用来对中断等一些程序所需要的端口进行初始。对于开中断,应打开总中断EA以及相应的低级中断EX0和 EX1。再者就是两个中断程序,对于这两个中断程序比较简单,只需对要执行相关控制 (即常规显示和滚动显示)所需要的每件进行满足即可。最后就是主函数,它的主要功能就是判断中断是否来临,来临了,然后判断是外部中断0还是外部中断1,然后根据是0还是1来执行相应的程序,选择相应的显示
9、方式。当四行全显示完了后,中断失效,即不管你是否还按键,都不再会对显示造成影响。显示出来的内容将一直保持。3.3、图片显示显示图片和显示汉字类似,都是先通过字模软件先取模,然后再显示。3.4、上下移动由此可见12864的显示起始行为0xc0,有规律的改变起始行的位置,就可以改实现上下移的效果。代码如下3.5左右移动在本设计中,通过循环改变汉字字符在单片机上显示的左右半屏以及在左右半屏上显示的列位,行位不变,达到了左右移屏的效果。for(i=0;i64;i+) /下滚屏 SelectScreen(0); display(0,i); delay(5000); void display(int unm,int num) Set_line(unm); ClearScreen(0); /显示开始行 Display_HZ(num+0)/4)%2+1,0,(num+0)%4,yier); /uchar screen,uchar page,uchar column,uchar *p) Display_HZ(num+1)/4)%2+1,0,(num+1)%4,dian); Display_HZ(num+2)/4)%2+1,0,(num+2)%4,hua)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1