单片机LCD12864显示原理及驱动命令?

wumingrenzhe 2010-01-17 12:22:14
写驱动程序时要注意的问题有哪些?
...全文
1109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
s233090236 2011-08-10
  • 打赏
  • 举报
回复
正烦着这个东西
ozy1980 2010-10-09
  • 打赏
  • 举报
回复
比较不错
mayer 2010-01-18
  • 打赏
  • 举报
回复
直接看对应的data sheet,上面说得很清楚,看了就可以进行操作了。
kyzf 2010-01-17
  • 打赏
  • 举报
回复
楼主看看这个网页:
http://www.mzdesign.com.cn/


http://www.mzdesign.com.cn/articleshow.asp?id=368
《点阵LCD驱动显控原理 V2.0》
--版权声明--
本书版权归北京铭正同创科技有限公司所有,并保留对此文件修改的权利且不另行通知。
北京铭正同创科技有限公司所提供的信息相信为正确且可靠的信息, 但并不保证本文件中绝无错误。若因贵公司使用本公司的文件或产品, 而涉及第三人之专利或著作权等知识产权的应用时, 则应由贵公司负责取得同意及授权,关于所述同意及授权, 非属本公司应为保证的责任。
如有转载,请注明文章来源出处:北京铭正同创科技有限公司
书中有不足之处,欢迎提出宝贵的意见和建议,发送至mzdesign@mzdesign.com.cn


1. 一些需在提示您的
1.1. 改版修订说明
1.2. 本书更适合什么样的LCD模块?
1.3. 这里的LCD驱动程序更适合于什么样的MCU
1.4. 为什么用C语言
2. 以MzL02 LCD模块为例
2.1. LCD模块的结构
2.1.1. 结构示意
2.2. LCD模块总线选择及时序图示意
2.2.1. 6800并行总线接口
2.2.2. 8080并行总线接口
2.2.3. SPI串行接口
2.2.4. 显示RAM区映射情况
2.2.5. 行、列地址
2.2.6. 其它
2.3. LCD的6800总线接口
2.4. LCD控制器特性
2.5. LCD驱动的基本流程
2.5.1. LCD模块的连接
2.5.2. 控制LCD模块显示一个点
2.5.3. 利用LCD控制器的特性
3. 点阵LCD的驱动与显控
3.1. 基本驱动程序(LCD_Driver_User)
3.1.1. 端口配置头文件LCD_Portconfig
3.1.2. MCU与LCD基本时序控制程序
3.2. LCD的初始化
3.3. 绘点子程序
3.3.1. 基本绘点函数
3.3.2. 一些扩展的基础功能函数
3.4. 驱动配置头文件LCD_Config
3.5. LCD驱动功能接口程序(LCD_Dis)
3.5.1. 基本绘图功能函数
3.5.2. 字符显示功能函数
3.6. 字符显示原理
3.6.1. 字符与字模
3.6.2. 字模与字库
3.6.3. 用绘点来绘制字符
3.6.4. Mz的驱动中提供的字符显示
4. Mz_MenuGUI菜单应用
4.1. Mz_MenuGUI
4.2. Mz_MenuGUI的源码分析
4.2.1. Menu_Resource.c菜单资源定义
4.2.2. Menu_GUI_Config.h菜单GUI配置头文件
4.2.3. Menu_GUI.c菜单接口函数
4.3. 定制自己的Menu菜单界面
4.3.1. 参考的GUI响应控制代码
4.3.2. 订制一个有二级菜单的工程
5. 移植通用版LCD驱动程序到LPC的ARM7
5.1. 修改驱动中的底层代码
5.1.1. 修改LCD_PortConfig.h的端口配置
5.1.2. 修改底层驱动功能函数
5.2. 与编译器相关的修改
6. 移植通用版LCD驱动程序到另一块LCD
宇帆 2010-01-17
  • 打赏
  • 举报
回复
这个要看手册呢 手册上写的很清楚,每条命令是什么意思
至于原理嘛 也就是加一些命令 然后在相应的地址上写入数据,在LCD上显示
LCD显示系统的设计 1 一、课程设计的目的与要求 1 1、课程设计目的: 1 2、课程设计要求 1 二、课程设计课题的分析 2 1、原理说明 2 2、1602LCD主要技术参数 2 3、引脚功能说明 2 4、硬件接口 3 5、用户命令 3 6、显示窗口坐标关系 5 三、课程设计的结果 7 程序1 7 程序2: 9 四、课程设计的心得与体会 12 五、参考文献 13 单片机LCD系统显示课程设计全文共13页,当前为第1页。 单片机LCD系统显示课程设计全文共13页,当前为第1页。 LCD显示系统的设计 一、课程设计的目的与要求 1、课程设计目的: (1)进一步理解和消化书本知识,运用所学知识和技能进行简单的设计。 (2)通过课程设计提高应用能力,分析问题和解决问题的能力。 (3)培养查阅资料的习惯,训练和提高自学,独立思考的能力。 2、课程设计要求 (1)理解液晶显示模块的工作原理。 (2)掌握液晶显示模块与单片机的接口方法。 (3)自主设计通过8255驱动LCD显示模块的电路 (4)编制程序使LCD显示所要求的汉字 (5)实现实时信息板的设计 从课程设计的目的出发,通过设计工作的各个环节,达到以下要求: (1)能够正确理解课程设计的题目和意义,全面思考问题。 (2)运用科学合理的方法,认真按时完成。 二、课程设计课题的分析 1、原理说明 点阵式LCD显示电路是在系统板上外挂点阵式液晶显示模块,模块的数据线、状态、控制线都通过插孔引出。可直接与系统相连。 1、OCMJ2×8液晶模块介绍及使用说明 单片机LCD系统显示课程设计全文共13页,当前为第2页。 OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和 ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。也可用作一般的点阵图形显示器之用。提供位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ中文模块所有的设置初始化工作都是在上电时自动完成的,实现了"即插即用"。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。 单片机LCD系统显示课程设计全文共13页,当前为第2页。 2、1602LCD主要技术参数 显示容量:16×2个字符 芯片工作电压:4.5—5.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.95×4.35(W×H)mm 3、引脚功能说明 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生"鬼影",使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 4、硬件接口 单片机LCD系统显示课程设计全文共13页,当前为第3页。 接口协议为 请求/应答(REQ/BUSY) 握手方式。应答BUSY 高电平(BUSY =1) 表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY =0?), 如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数
自动化专业课程设计报告 《单片机与接口技术课程设计》 班 级 姓 名 学 号 时 间 2012.6.25—2012.6.29 地 点 电信实验中心第六实验室 指 导 教 师 大 连 海洋大学 信 息 工 程 学 院 自 动 化 教 研 室 目录 1. 课程设计目的------------------------------------ 1 2. 课程设计课题分析-------------------------------- 1 3. 课程设计的程序及结果---------------------------- 5 4. 课程设计心得体会-------------------------------- 10 5. 参考文献---------------------------------------- 10 LCD显示系统的设计. 一、课程设计的目的 1)理解液晶显示模块的工作原理。 2)掌握液晶显示模块与单片机的接口方法。 3)自主设计通过8255驱动LCD显示模块的电路 4)编制程序使LCD显示所要求的汉字 5)实现实时信息板的设计 二、课程设计课题的分析 1.原理说明 点阵式LCD显示电路是在系统板上外挂点阵式液晶显示模块,模块的数据线、状态 、控制线都通过插孔引出,可直接与系统相连。 OCMJ中文模块所有的初始化工作都是在上电时自动完成,实现了"即插即用"同时保 留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。 规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY握 手协议简单可靠。 表1 OCMJ2*8引脚说明 "引 "名称 "方向"说明 "引脚 "名称"方向"说明 " "脚 " " " " " " " " "1 "VLED+ "I "背光源正极(LCD+5V) "8 "DB1 "I "数据1 " "2 "VLED- "I "背光源负极(LCD-0V) "9 "DB2 "I "数据2 " "3 "VSS "I "地 "10 "DB3 "I "数据3 " "4 "VDD "I "(+5V) "11 "DB4 "I "数据4 " "5 "REQ "I "请求信号,高电平有效 "12 "DB5 "I "数据5 " "6 "BUSY "O "应答信号=1:已收到数据并正"13 "DB6 "I "数据6 " " " " "在处理中 " " " " " " " " "=0:模块空闲,可接受数据 " " " " " "7 "DBO "I "数据0 "14 "DB7 "I "数据7 " OCMJ2*8液晶模块外部连接原理图: 2.相关命令 1) 显示国际汉字 命令格式:F0 XX YY QQ WW 该命令为5字节命令(最大执行时间为1.2毫秒,Ts2=1.2ms),其中 XX:为以汉字为单位的屏幕行坐标值,取值范围00到07、02到09、00到09 YY:为以汉字为单位的屏幕列坐标值,取值范围00到01、00到03、00到04 QQ WW:坐标位置上要显示的GB 2312汉字区位码。 2) 显示位点阵 命令格式:F2 XX YY 该命令为3字节命令(最大执行时间为0.1毫秒,Ts2=0.1ms),其中 XX:为以1*1点阵为单位的屏幕行坐标值,取值范围00到7F、20到9F、00到9F YY:为以1*1点阵为单位的屏幕列坐标值,取值范围00到40、00到40、00到40 3) 清屏 命令格式:F4 该命令为单字节命令(最大执行时间为11毫秒,Ts2=11ms),其功能为将屏幕清空。 4) 左移 命令格式:F7 该命令为单字节命令(最大执行时间为12毫秒,Ts2=12ms),其功能为将屏幕向左移动 一个点阵行。 3.程序流程图: 程序1: 程序2: 三、课程设计的程序及结果 程序1: PA EQU 0CFA0H PB EQU 0CFA1H PCC EQU 0CFA2H PCTL EQU 0CFA3H STOBE0 EQU 70H STOBE1 EQU 71H CSEG AT 0000H LJMP START CSEG AT 4100H START: MOV DPTR, #PCTL MOV A, #88H MOVX @DPTR, A MOV A, #STOBE0 MOVX @DPTR, A START1: MOV A, #0F4H ACALL SUB2 MOV R0, #1 MOV R1, #60 W_LOOP: ACALL SUB1 ACALL SUB2 INC R0 DJNZ R1, W_LOOP ACALL DELAY SUB1: MOV A, R0 MOVC A,@A+PC RET DB 0F0H, 1, 0, 48,37 DB 0F0H, 2, 0, 47,02 DB
单片机课程设计报告 设计题目: 液晶显示之贪吃蛇 专业班级: 2009级电信(2)班 组长姓名: 章光洪 1:学号2009221105200147,姓名 章光洪 2:学号2009221105200042,姓名 童磊 3:学号2009221105200168,姓名 胡小武 指导教师: 田茂 设计时间: 2011年12月 " " "一.设计目的及要求: " "掌握单片机一般设计方法,学会将所学单片机知识用之于实践,用所学知识完成一个完整的课程设计 " "掌握液晶显示器的一般工作原理,了解液晶屏各管脚的作用 " "在熟悉单片机编程和液晶显示原理的基础上,设计电路,编写代码来实现液晶屏的文字显示,图片显示,并通" "过相应的算法设计一个贪吃蛇的小游戏 " " " "二.设计原理图: " "如下图所示,设计电路图由单片机最小系统构图加上LCD显示电路,八位独立按键电路和串口下载电路组成, " "在实际设计中,为了灵活运用,各部件大都采用排针连接方式,使用时直接用杜邦线连接即可,方便今后在些" "基础上做其它实验 " " " " " " " "三.基础流程图 " " " " " " " " " " " " " " " " " "四.程序设计代码: " "本次程序设计代码由游戏主程序,LCD显示驱动程序,按键扫描程序三部分组成,其中游戏主程序为游戏控制 " "部分,起主导作用,LCD驱动部分提供了LCD各种显示驱动代码,方便直接调用,而按键扫描部分则实现了外" "部按键的状态扫描。 " "具体代码如下: " " " "按键扫描:Key.c " "#include "REG52.H" " " " "unsigned char OSScanKey(void) " "{ " "unsigned char Temp; " "unsigned char i; " "P2=0xff; " "Temp=P0; " "for(i=0;i<8;i++) " "{ " "if((Temp&(1<驱动程序: " "头文件Lcd12864.h " "#ifndef __lcd12864_H__ " "#define __lcd12864_H__ " "sbit RS=P2^2; //并行的指令/数据选择信号, H数据, L命令 " "sbit RW=P2^3; //并行读写选择信号, H读, L写 " "sbit E=P2^4; //并行使能端, H有效, L无效 " "sbit PSB=P3^2; //并/串接口选择, H并,L串 " "sbit RET=P3^4; //复位, L有效 " "#define LcdData P1 " "unsigned char Check_Busy(void); " "void Lcd_WriteData(unsigned char); " "unsigned char Lcd_ReadData(void); " "void Lcd_WriteCmd(unsigned char); " "void Lcd_PutPixel(unsigned char,unsigned char,unsigned char); " "unsigned char Lcd_ReadPixel(unsigned char,unsigned char); " "void Lcd_HoriLine(unsigned char,unsigned char,unsigned char Length,unsigned char Color); " "void Lcd_VertLine(unsigned char x,unsigned char y,unsigned char Length,unsigned char Color); " "void Lcd_Line(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2,unsigned char " "Color); " "void Lcd_Rectangle(unsigned char x0,unsigned char y0,unsigned char x1,un
单片机原理及应用》 课程设计报告 课题名称: 单片机液晶显示"万年历" 分 院: 机械与电气工程学院 教 研 室: 电气工程及其自动化 班 级: 姓 名: 学 号: 指导教师: 二 一三 年 五 月 单片机液晶显示"万年历" 1、 设计任务 1、用字符型液晶显示模块LCD1602显示万年历的日期/时间等,如下图 所示(仅供参考,可个性化差异设计,如显示学号等): 2012/05/01 DHY 16:47:58 123789 2、单片机与实时时钟芯片DS1302之间通过SPI接口实现"日期/时 间"数据的采集。 3、用3×4行列式键盘进行校时,共有"1、2、3、4、5、6、7、8、9、 0" 、"校时(闪烁)"和"(年/月/日/时/分/秒)切换"等十二个 按键。 2、 硬件设计 1.系统框图 按照系统设计功能的要求,初步确定系统由主控模块、时控模块、 显示驱动显示模块和键盘接口模块共4个模块组成,电路系统构成框 图如图1-1所示。 图1-1电子万年历电路系统构成框图 主控芯片使用51系列AT89C51单片机,时钟芯片使用美国 DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟 DS1302。采用DS1302作为计时芯片,可以做到计时准确。更重要的 是,DS1302可以在很小电流的后备电源(2.5~5.5V电源,在2.5V时耗 电小于300nA),而且DS1302可以编程选择多种充电电流来对后备电 源进行慢速充电,可以保证后备电源基本不耗电。显示驱动采用排阻 RESPACK-8驱动和LM016L液晶显示 、图条/柱图显示或64 点阵显示接 口的小型串行输入/输出芯片。片内包括BCD 译码器、多路扫描控制 器、字和位驱动器和8*8 静态RAM。RESPACK-8需九导线连接,每位 显示数字有一个地址由微处理器写入。允许使用者选择每位是BCD 译 码或不译码。使用者还可选择停机模式、数字亮度控制、从1~8 选择 扫描位数和对所有LCD显示器的测试模式。显示模块采用普通的LCD 显示屏。 2.各部分介绍(包括电路和主要器件介绍) 2.1电路设计 如图2-1示为电子万年历电路设计原理图,系统由主控制器 AT89C51、时钟电路DS1302、显示驱动RESPACK-8电路,LM016L液 晶显示电路及键扫描电路组成。 图2-1 电子万年历电路原理图 2.2系统硬件概述 2.2.1 主控制器AT89C51 ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计, 并采用先进工艺制造,还带有非易失性Flash程序存储器。它是一种高性 能、低功耗的8位CMOS微处理芯片,市场应用最多。其主要特点如 下: 8KB Flash ROM,可以擦除1000次以上,数据保存10年。 256字节内部RAM; 电源控制模式; 时钟可停止和恢复; 空闲模式; 掉电模式; 6个中断源; 4个中断优先级; 4个8位I/O口; 全双工增强型TUAR; 3个16位定时/计数器:T0、T1(标准80C51)和增加的T2(捕获 和比较) 全静态工作方式:0~24MHZ 2.2.2 时钟电路DS1302 DS1302的性能特性: 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年 进行比较; 用于高速数据暂存的31*8位RAM; 最少引脚的串行I/O; 2.5~5.5V电压工作范围; 2.5V时电流小于300nA; 用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数 据传送方式; 简单的三线接口; 可选的慢速充电(至VCC1)的能力。 DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然 后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问 到。在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟 周期在读操作时输出数据,在写操作时写入数据。时钟脉冲的个数在单 字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。 如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O 引脚变为高阻态。上电运行时,在VCC 2.5V之前,RST脚必须保持低 电平。只有在SCLK为低电平时,才能将RST置为高电平。 2.3主要单元电路的设计 2.3.1显示电路 显示部分采用普通的LM016L液晶显示,如图2-2,以减少硬件电 路。LM016L液晶模块采用hd 44780控制器,hd44780具有简单而功能较 强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU 通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存 器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数 RAM(DDRAM),字符发生器ROM(CGOROM)字符发生器 RAM(CGR

27,382

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧