ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:222.13KB ,
资源ID:8871924      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8871924.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(系列单片机最小标准系统液晶显示.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

系列单片机最小标准系统液晶显示.docx

1、系列单片机最小标准系统液晶显示创新设计报告 基于51系列单片机最小系统的液晶显示 学 院: 机电与自动化学院 专业班级: 电气自动化技术0802 学生姓名: 刘 刚 学生学号: 20082822077 指导教师: 姚裕安 同组设计者: 吴勇 (课程设计时间:2011年03月03日2011年03月13日) 华中科技大学武昌分校目录1.设计题目 022.设计任务及要求 023.系统硬件电路设计 023.1设计电路原理图 023.2主要元器件清单 033.3 OMC12864-4(T6963c)的简介034.系统软件设计 054.1程序流程图 054.2子程序功能介绍 064.3完整程序及其功能注释

2、 065.系统调试故障分析 126.调试结果与设计任务分析 137.课设收获与建议 13参考文献 131.设计题目 基于51单片机最小系统板实现“液晶显示汉字、数字、英文”2.设计任务及要求 任务:最小系统板实现“液晶显示汉字、数字、英文”;要求:对液晶显示操作技能训练;学会运用Protell软件;绘制软件流程图、编写并调试程序、详细注释软件功能;对系统性能指标进行分析并提出改进方案;作品演示与讲解(硬件、软件、调试、改进、)3系统硬件电路设计(含文字介绍、电路原理图)3.1用Protell软件绘制电路原理图采用的是直接访问方式。如图(1) 直接访问方式是把内置T6963C控制器的液晶显示模块

3、作为存储器或I/O设备直接挂在计算机的总线上。模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由算机的地址总线提供,读和写操作由计算机的读写操作信号控制。图(1)图(1)中的引脚说明OCM12864-4与STC89C52RC接口: P0.0-0.7 D0-7 GND /CE P3.7 /RD VCC /RESET P3.6 /WR GND FG P2.0 C/D 3.2本设计所要用到的主要元器件:金鹏OMC12864-4液晶显示模块(主控芯片T6963C);JZ-M2单片机最小系统(采用STC89C52RC 51系列单片机);3.3关于OMC12864-4(T6963c)的简介3.3.

4、1管脚定义见下表(1):表(1)3.3.2关于主控芯片T6963C说明: 结构特点: 内藏T6963C 的液晶显示模块上已经实现了T6963C 与行、列驱动器及显示缓冲区RAM 的接口,同时也已用硬件设置了液晶屏的结构(单双屏、数据传输方式、显示窗口长度、宽度等等。我们常用的液晶显示模块一般都是单屏结构,因此我们这里只讨论单屏结构的液晶显示模块。内藏T6963C 的单屏结构点阵图形液晶显示模块的方框图如图(2):图(2)T6963C 是点阵式液晶图形显示控制器它能直接与8 位微处理器接口;T6963C 的字符字体可由硬件或软件设置,其字体有4 种5X8 、6X8 、7X8、8X8; T6963

5、C 的占空比可从1/16 到1/128;T6963C 可以图形方式、文本方式及图形和文本合成方式进行显示,以及文本方式下的特征显示,还可以实现图形拷贝操作等等; T6963C 具有内部字符发生器CGROM,共有128 个字符。T6963C 可管理64K显示缓冲区及字符发生器CGRAM,并允许MPU 随时访问显示缓冲区,甚至可以进行位操作。3.3.3主控芯片T6963C指令说明:如表(2)命令代码(bin)代码(hex)参数D1参数D2功能StatusS0-S7-读状态Reg Seting0010000121HXAddressyAddress设光标指针0010001022H偏移量00H设偏移量寄

6、存器0010010024H低位地址高位地址设地址指针 Set ControlWord0100000040H低位地址高位地址设文字区起始地址0100000141H字节数00H设文字区宽度0100001042H低位地址高位地址设图形区起始地址0100001143H字节数00H设图形区宽度Mode set1000*00080H/88HOR*=0内部字符发生器*=1外部字符发生器1000*00181H/89HXOR1000*01183H/8BHAND1000*10084H/8CH文字属性Display Molde1001000090H显示关1001xx1092H光标显示,闪烁关1001xx1193H光

7、标显示,闪烁开100101xx94H文字开,图形关100110xx98H文字关,图形开100111xx9BH文字开,图形开Cursor Pattern10100D2-0A0H-A8H光标高度Data AutoRead/write10110000B0H设置数据自动写10110001B1H设置数据自动读10110010B2H退出自动读写DataRead/write11000000C0H显示数据写数据,地址指针自加111000001C1H-读数据,地址指针自加111000010C2H显示数据写数据,地址指针自减111000011C3H-读数据,地址指针自减111000100C4H显示数据-写数据,地

8、址指针不变11000101C5H-读数据,地址指针不变Screen peek11100000E0H-屏幕读取Screen copy11101000E8H-屏幕复制BitSet/reset11110xxxx-Bit Clear11111xxxx-Bit Set表(2)4.系统软件设计(含程序流程图,子程序功能介绍、程序功能注释)4.1程序流程图,如图(3) N Y 图(3) 4.2子程序功能介绍LCD_Write_Data()写数据子LCD_Write_Command0()写无参数命令字LCD_Write_Command1()写单参数命令字LCD_Write_Command2()写双参数命令子v

9、oid LCD_T6963_Ini()液晶模块初始化工作void LCD_Fill_All() LCD填充.对LCD的空间填入同一个数据LCD_Dis_Chi()在主函数中,只要调用这几个函数,就能实现显示的文字显示LCD_Dis_Str()能利用T9693C内部字符发生器CGROM,在液晶屏上显示西文数组LCD_Mak_Cgr()创建CGRAM,CGRAM中包含能用文本方式显示的自定义字符LCD_DIS_CHI()利用CGRAM自定字符,以文本方式形式输出4.3完整程序及其功能注释*说明: 本程序为T6963C的驱动功能: 能对OMC12864-4液晶模块硬件进行定义;定义了对液晶模块最层的

10、操作函数, 如:,读状态字函数,读数据函数,写无参数命令字函数,写单参数命令字函数, 字双参数命令字函数,写数据函数时间: 2011/01/010 修改时间:2011/01/12作者: HUSTWb wuyong*/*说明: 本程序主要用来进行文本显示,实现的功能有:显示英文数组,中文数组, 在主函数中可以直接调用的函数有:T6963C初始化程序,液晶屏清零程序 显示英文数组,中文数组.实现了程序的封装. 修改日间:2011/01/12T6963C命令的定义*/指针设置指令#define LCD_CUR_POS 0X21 /光标位置设置(只有设置到有效显示地址并打开显示才看 到),双参数(D1

11、水平位置,D2垂直位置)#define LCD_CGR_POS 0X22 /CGRAM偏置地址设置(用来增加自己的符号),双参数(D1 低5位有效,D2=00)#define LCD_ADR_POS 0x24 /地址指针位置(设置读写操作打针)/显示区域设置指令#define LCD_TXT_STP 0X40 /文本区首址(从此地址开始向屏幕左上角显示字符)#define LCD_TXT_WID 0X41 /文本区宽度(设置显示宽度,N/6式N/8,其中N为X轴的点 数)#define LCD_GRH_STP 0X42 /图型区首址(从此地址开始向屏幕左上角显示点,(有等进 一步确认)为文本方

12、式显示时,显示为文本显示特性#define LCD_GRH_WID 0X43 /图形区宽度(设置显示宽度,N/6式N/8,其中N为X轴的点 数)/显示方式设置指令,当CG(D3)为0启用CGROM#define LCD_MOD_OR 0X80 /显示方式:逻辑或#define LCD_MOD_XOR 0X81 /显示方式:逻辑异或#define LCD_MOD_AND 0x83 /显示方式:逻辑与#define LCD_MOD_TCH 0x84 /显示方式:文本/显示开关设置指令,(D0,D1,D2,D3)=1/0 (光标闪烁,光标显示,文本显示 图形显示)启用/禁用#define LCD_D

13、IS_SW 0x90 /显示开关设置/光标开头设置指令#define LCD_CUR_SHP 0xA0 /光标型形状选择:0xA0-0xA7代表光标占的行数/自动读写设置指令#define LCD_AUT_WR 0xB0 /自动写设置#define LCD_AUT_RD 0xB1 /自动读设置#define LCD_AUT_OVR 0xB2 /自动读写结束/数据一次读写设置指令#define LCD_INC_WR 0xC0 /数据一次写,地址加1#define LCD_INC_RD 0xC1 /数据一次读,地址加1#define LCD_DEC_WR 0xC2 /数据一次写,地址减1#defi

14、ne LCD_DEC_RD 0xC3 /数据一次读,地址减1#define LCD_ZER_WR 0xc4 /数据一次写,地址不变#define LCE_ZER_RD 0xc5 /数据一次读,地址不变/屏读设置指令#define LCD_SCN_RD 0xE0 /屏读,屏读只能在图形显示区内;该指令是把屏上的内容 取出来作为数据使用./屏拷贝#define LCD_SCN_CP 0xE8 /屏拷贝,该指令将屏上当前地址指针(图形)处开妈的一行 合成显示内容拷贝到相对应的图形显示区的一级单元/位操作指令#define LCD_BIT_OP 0xFF /该指令可将显示缓冲区单无的某位清零或置位.D

15、0-D1- 定义D0-D7位;D3-1为置位,D3-0为复位unsigned char xdata LCD_DAT_ADD _at_ 0x8000; / C/D-P2.0unsigned char xdata LCD_COM_ADD _at_ 0x8100; / C/D-P2.0/*函数名称:LCD_Write_Data()功 能:写数据子程序,将数据输入T6963C入口参数:data 想要写入的数据出口参数:无说 明:在写命令之前,状态位D0(STA0),D1(STA1)必须全为1*/void LCD_Write_Data(unsigned char data1) while(LCD_COM

16、_ADD)&0x03)!=0x03); LCD_DAT_ADD=data1;/*函数名称:LCD_Write_Command0()功 能:写无参数命令字程序,将T6963C对应的指令写入,没有参数入口参数:commond 想要写入的命令字出口参数:无说 明:在写命令之前,状态位D0(STA0),D1(STA1)必须全为1*/void LCD_Write_Command0(unsigned char command) while(LCD_COM_ADD)&0x03)!=0x03) ; LCD_COM_ADD=command;/*函数名称:LCD_Write_Command1()功 能:写单参数命

17、令字程序,将T6963C对应的指令写入入口参数:commond 想要写入的命令字出口参数:无说 明:先送数据,再送命令字*/void LCD_Write_Command1(unsigned char command,unsigned char data1) LCD_Write_Data(data1); LCD_Write_Command0(command);/*函数名称:LCD_Write_Command2()功 能:写双参数命令子程序,将T6963C对应的指令写入入口参数:commond 想要写入的命令字出口参数:无说 明:先送数据,再送命令字*/void LCD_Write_Command

18、2(unsigned char command,unsigned char data1,unsigned char data2) LCD_Write_Data(data1); LCD_Write_Data(data2); LCD_Write_Command0(command); /*函数名称:LCD_T6963_Ini()功 能:液晶模块初始化工作入口参数:无出口参数:无说 明:初始化工作的主要要完成对文本方式的RAM起始地址的设定,文本模式的显示 宽度,图形方式的RAM的起始地址,以及其宽度;设置显示方式等工作.*/ void LCD_T6963_Ini(void) LCD_Write_Co

19、mmand2(LCD_TXT_STP,0x00,0x00); /设置文本方式RAM起始地址 LCD_Write_Command2(LCD_TXT_WID,0x20,0x00); /设置文本方式的宽度,宽 度为N/6或N/8) LCD_Write_Command2(LCD_GRH_STP,0x00,0x08); /设置图形方式RAM起始地 址 LCD_Write_Command2(LCD_GRH_WID,0x20,0x00); /设置图形方式的宽度,宽 度为N/6或N/8) LCD_Write_Command0(LCD_CUR_SHP|0x08); /设置光标的形状 LCD_Write_Comm

20、and0(LCD_MOD_OR); /设置显示方式为逻辑或方 式 LCD_Write_Command0(LCD_DIS_SW|0x94); /设置文本显示方式/*函数名称:LCD_Fill_All()功 能:LCD填充.对LCD的空间填入同一个数据入口参数:dat出口参数:无说 明:填充,主要可用来对液晶进行清屏,只对其填入使屏为白的字就行了*/void LCD_Fill_All(unsigned char dat) unsigned int i; LCD_Write_Command2(LCD_ADR_POS,0x00,0x00); /置地址指针 LCD_Write_Command0(LCD_

21、AUT_WR); /自动写 for(i=0;i32767;i+) while(LCD_COM_ADD&0x08)!=0x08) LCD_DAT_ADD=dat; /写数据 LCD_Write_Command0(LCD_AUT_OVR); /自动写关 LCD_Write_Command2(LCD_ADR_POS,0x00,0x00); /重置地址指针 /*显示英文数组函数名称:LCD_Dis_Str()功 能:能利用T9693C内部字符发生器CGROM,在液晶屏上显示西文数组入口参数:x,y,*wordcode,*wordattr,wordlongth出口参数:无说 明:x,y对应是字符在屏上的

22、字符坐标*/LCD_Dis_Str(unsigned char x,unsigned char y,unsigned char *wordcode,unsigned char *wordattr,unsigned char wordlongth) unsigned char i,xlable,ylable; unsigned int dataadd; dataadd=y*30+x; xlable=dataadd&0xff; ylable=dataadd/256; /计算字符RAM的地址 LCD_Write_Command0(LCD_DIS_SW|0x08); /设置设置显示方式 LCD_Wri

23、te_Command0(LCD_DIS_SW|0x02); LCD_Write_Command0(0X8c); /设置为文本特征显示方式 LCD_Write_Command2(LCD_ADR_POS,(xlable+0),(ylable+0); /设置地址 for(i=0;iwordlongth;i+) /写字符代码,利用内部GCROM LCD_Write_Command1(LCD_INC_WR,wordcodei); LCD_Write_Command2(LCD_ADR_POS,0x00,0x08); /写字符对应的特征位 for(i=0;iwordlongth;i+) LCD_Write_Command1(LCD_INC_WR,wordattri); /*建立CGRAM函数名称:LCD_Mak_Cgr()功 能:创建CGRAM,CGRAM中包含能用文本方式显示的自定义字符入口参数:cgramnum出口参数:无说 明:在CGRAM中写入字符点阵*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1