logo资料库

240128(UC1608控制器)中文参考资料.pdf

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
液晶显示控制器 UC1608 应用指南 深圳市拓普微科技开发有限公司 版本 描述 0.1 新版本 0.2 P7 SdCmd(0x2C);改为 SdCmd(0x26); 日期 编者 2009-06-24 郭强 2010-1-23 郭强 www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 1/18
液晶显示控制器 UC1608 应用指南 TOPWAY 目 录 第一章 液晶显示控制器接口特性 .........................................................................................2 第二章 液晶显示控制器接口技术 .........................................................................................4 第三章 液晶显示控制器指令系统 .........................................................................................9 第四章 液晶显示控制器应用函数 .......................................................................................14 www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 1/18
液晶显示控制器 UC1608 应用指南 TOPWAY 第一章 液晶显示控制器接口特性 UC1608 控制器的基本特性如下,使用 UC1608 的液晶显示模块利用了这些特性构造了模块产品应用 的主要功能: 工作电源:3V 显示功能:单显示 RAM 区域、垂直卷动等 接口信号: 管脚定义 管脚符号 CS /RES D/C /WR(R/W) 片选信号输入端,高电平有效。CS=1 时选通模块;CS=0 时模块接口被封锁 复位信号输入端,低电平复位;正常运行时,为高电平状态 通道选择信号输入端,当 D/C=0 时,选择指令通道;D/C=1 时,选择数据通道 输入端。当并行接口 INTEL8080 时序时,为写信号/WR,低电平有效; 当并行接口 INTEL6800 时序时,为读/写选择信号,R/W=1,为读状态,R/W=0,为写状态 输入端。当并行接口 INTEL8080 时序时,为读信号/RD,低电平有效; 当并行接口 INTEL6800 时序时,为使能信号,E 为高电平时,为读操作,E 下降沿为写操作 /RD(E) DB0(SCK) 输入/输出/三态。并行接口数据总线,当选择串行接口时,为串行时钟信号输入端 DB1 DB2 输入/输出/三态。并行接口数据总线,当选择串行接口时,接 VSS 输入/输出/三态。并行接口数据总线,当选择串行接口时,接 VSS DB3(SDA) 输入/输出/三态。并行接口数据总线,当选择串行接口时,为串行数据输入端 DB4 DB5 DB6 DB7 输入/输出/三态。并行接口数据总线,当选择 4 位并行接口或串行接口时,接 VSS 输入/输出/三态。并行接口数据总线,当选择 4 位并行接口或串行接口时,接 VSS 输入/输出/三态。并行接口数据总线,当选择 4 位并行接口或串行接口时,接 VSS 输入/输出/三态。并行接口数据总线,当选择 4 位并行接口时,接 VSS;选择串行接口时,接 VDD 接口形式:8 位/4 位并行接口、4 线/3 线串行接口 操作模式:80mode(默认) 和 68mode 时序关系: 1、并口时序(80mode) 图一 80mode 模式时序图 www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 2/18
液晶显示控制器 UC1608 应用指南 TOPWAY 时序参数表 (测试条件:2.7≤VDD<3.3V,ta=-30--+85C) 条件 符号 信号 tAS80 D/C tAH80 tCY80 tPWR80 tPWW80 tHPW80 /RD /WR /WR /RD DB0-DB7 描述 地址建立时间 地址保持时间 系统时钟周期 8/4 位总线(读/写) 读脉冲宽度(8/4 位) 写脉冲宽度(8/4 位) 高脉冲宽度 写信号(8/4 位) 读信号(8/4 位) 数据建立时间 数据保持时间 读取时间 输出无效时间 片选建立时间 2、串口时序: tDS80 tDH80 tACC80 tOD80 tSSA80 tCSSD80 tCSH80 ns 最小 最大 单位 0 20 140 65 35 35 65 30 20 ns ns ns ns ns CS 60 20 ns ns CL=100pF - 12 10 10 20 图二、4 线 SPI 串行接口时序图 时序参数表 (测试条件:2.7≤VDD<3.3V,ta=-30--+85C) 符号 描述 信号 MIN MAX 单位 tSCYC tSHW tSLW tSAS tSAH tSDS tSDH tCSS tCSH 串行时钟周期 SCL 高脉冲宽度 SCL 低脉冲宽度 地址建立时间 地址保持时间 数据建立时间 数据保持时间 CS 建立时间 CS 保持时间 SCK D/C SDA CS 50 25 25 20 10 20 10 20 40 - - - - - - ns www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 3/18
液晶显示控制器 UC1608 应用指南 TOPWAY 第二章 液晶显示控制器接口技术 对于液晶显示模块的接口而言,也是液晶显示控制器的接口,因此我们在探讨控制器的接口技术时, 也是在探讨模块的接口技术。所以下面我们将“控制器”用“模块”代替,以期更清楚的描述控制器的应 用。 一般来说,在计算机系统里,液晶显示模块属于低速外设,所以在与计算机连接时,需要注意双方的 时序搭配。深圳市拓普微科技开发有限公司使用 UC1608 的液晶显示模块提供了多种的接口形式,用户可 以根据自己的控制系统时序特性和系统资源,进行合理的选择。本章将以单片机 89S52 为控制系统,以模 块 LM240120A 的 INTEL8080 时序接口的为实例 提供在总线寻址方式下和 I/O 寻址方式下接口的示意电 路和驱动子程序,同时还推荐了串行接口的应用方法。深圳市拓普微科技开发有限公司制作 在并行接口方式下,模块还可以使用 4 位并行方式,在 4 位方式下,模块使用了数据线的低 4 位 (DB3-DB0)作为数据总线,数据传输格式是先高 4 位,再低 4 位。传输时序关系同 8 位数据总线形式, 只是一个字节的数据需要传输两次完成,这里将不做讨论。 一、 总线寻址方式接口电路及驱动程序 MPU 使用总线方式与液晶显示模块直接连接,模块接口时序采用 INTEL8080 时序,如图三所示: 图三 总线寻址方式接口电路示意图 总线寻址方式是模块的数据总线直接挂在 89S52 的数据总线上,MPU 的/RD、/WR 作为模块的 读、写控制信号, CS 信号和 D/C 信号都由地址线译码产生,模块的/RST 接 RC 复位电路。 总线寻址方式驱动子程序如下:(地址定义,根据用户平台接口修改) //-----指令代码写入函数---------------------- void SdCmd(uchar Command) { uchar xdata *wcom_addr; wcom_addr =0x8000; // 指令口地址 *wcom_rdata_addr = Command; // 写指令操作 } //-----数据写入函数-------------------------- void SdData(uchar DData) { uchar xdata *wdata_addr; www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 4/18
液晶显示控制器 UC1608 应用指南 TOPWAY wdata_addr =0x8100; // 数据口地址 *wdata_addr = DData; // 写数据操作 } //-----数据读取函数------------------------ uchar RdData() { uchar DData; uchar xdata *rdata_addr; rdata_addr = 0x8100; // 读数据地址 DData = *rdata_addr; // 读数据操作 return(DData); //返回数据值 } 二、 I/O 寻址方式接口电路及驱动程序 I/O 寻址方式是 MPU 通过 I/O 并行接口连接模块,通过软件编程模拟信号之间的时序关系,间接实现 对模块进行控制。该方式能够很好的回避 MPU 和模块接口之间的时序差异。根据模块的接口信号要求, 需要占用 MPU 的 2 个并行接口,在图四给出的示例中,我们将 89S52 的 P1 口作为数据总线。P3 口中 4 位端口为控制信号,它们是:P3.1 为 D/C 信号,P3.7 为/RD 信号,P3.6 为/WR 信号,P3.4 为 CS 信号, P3.5 为/RST 信号。深圳市拓普微科技开发有限公司制作 图四 I/O 寻址方式电路示意图 I/O 寻址方式的驱动子程序如下: //----------------------------------- #define LCDBUS P1 sbit _RD = P3^7; sbit _WR = P3^6; sbit D_C = P3^1; sbit CS = P3^4; sbit _RST = P3^5; //-------指令代码写入函数-------------------------- void SdCmd(uchar Command) { D_C = 0; // 选择指令通道 LCDBUS = Command; // 设置指令代码 CS = 1; // 选通模块 _WR = 0; // 写信号有效 _WR = 1; // 写信号无效 CS = 0; // 封锁模块 } //------数据写入函数----------------------------- void SdData(uchar DData) www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 5/18
液晶显示控制器 UC1608 应用指南 TOPWAY = 0; // 封锁模块 { D_C = 1; // 选择数据通道 LCDBUS = DData; // 设置数据 CS = 1; // 选通模块 _WR = 0; // 写信号有效 _WR = 1; // 写信号无效 CS } //-------数据读取函数------------------------- uchar RdData() { uchar DData; D_C =1; // 选择数据通道 LCDBUS=0xff; CS=1; // 选通模块 _RD = 0; // 读操作信号有效 DData = LCDBUS; // 读数据 _RD = 1; // 读操作信号无效 CS=0; // 封锁模块 return(DData); // 返回数据值 } 三、 串行接口 使用 UC1608 的液晶显示模块的串行接口仅需要 4 个信号线,SCK 为串行时钟信号,上升沿有效; SDA 为串行数据端;D/C 为数据的属性,D/C=0 为指令码,D/C=1 为显示数据; CS 仍为模块的片 选信号。串行数据传输的通讯协议也非常简单,见图五所示。在准备启用串行接口前,要将先将 SCK 信号设置为高电平,设置 D/C 状态,然后再将 CS 置“1”,选通模块,再将 SCK 置成“0”;SCK 的每个正脉冲的上升沿都将会把 SDA 数据送入内部缓冲器内,当第 8 个脉冲的上升沿时,SCK 将 D/C 状态读入内部控制位,并将已经读入 8 位数据并行送入 D/C 所确定的寄存器内进行处理。 本章提供了串行接口电路示意图,见图六所示,并根据该电路制作了驱动子程序如下。需要说明的是, 在串行接口的通讯中,只有向模块的写入功能,没有读取功能。深圳市拓普微科技开发有限公司制作 图五 串行接口通讯规则 图六 串行接口电路示意图 www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 6/18
液晶显示控制器 UC1608 应用指南 TOPWAY SCK = 0; 串行接口驱动子程序如下: //--- 串行通讯方式驱动子程序------------------------------ uchar bdata transdata; //该变量可为位操作之变量 sbit transbit = transdata^7; sbit CS = P3^4; sbit _RST = P3^5; sbit D_C = P3^1; sbit SCK = P1^0; sbit SDA = P1^3; //-------指令代码写入函数------------------------ void SdCmd(uchar Command) { uchar j; transdata=Command; // 指令送位寄存器 SCK = 1; // 初始化 SCK D_C = 0; // 选择指令通道 CS = 1; // 选通模块 for(j=0;j<8;j++) { SDA=transbit; // 位寄存器 D7 位送数据口 SCK=1; // 产生移位脉冲 SCK=0; // 上升沿有效 transdata=transdata<<1; // 位寄存器数据左移一位 } CS=0; // 封锁模块 } //-----数据写入函数-------------------------- void SdData(uchar DData) { uchar j; transdata=DData; // 指令送位寄存器 SCK = 1; // 初始化 SCLK D_C = 1; // 选择数据通道 CS = 1; // 选通模块 SCK = 0; for(j=0;j<8;j++) { SDA=transbit; // 位寄存器 D7 位送数据口 SCK=1; // 产生移位脉冲 SCK=0; // 上升沿有效 transdata=transdata<<1; // 位寄存器数据左移一位 } // 深圳市拓普微科技开发有限公司制作 CS=0; // 封锁模块 } 三、初始化子程序 UC1608 的初始化程序中,我们设置了启用内部 LCD 驱动电压,对比度参数 ContrastLevel 的设置 根据模块和使用环境设置。 1、初始化函数 void initLCDM(void) { _RST=1; // 硬件初始化复位 delayms(100); _RST=0; delayms(1); _RST=1; delayms(800); // 推荐延迟时间 ContrastLevel=0x28; // 设置对比度初始值为 0x28 SdCmd(0x26); // 设置占空比 1/128,温度系数设置 0.1%/C www.topwaydisplay.com 深圳市拓普微科技开发有限公司 www.topwaysz.com page 7/18
分享到:
收藏