




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电气专业核心课综合课程设计报告题目:液晶显示设计与实现 院 系: 机电与自动化学院 专业班级:电气工程及其自动化 学生姓名: 学生学号: 指导教师: 徐春燕 (课程设计时间:2011 年 6 月 20 日2011年7 月8 日)华中科技大学武昌分校目 录1课程设计目的32课程设计题目描述和要求 33课程设计报告内容33.1元器件选型及总体设计方案描述 43.2硬件连接设计部分 53.3程序设计部分 93.4实验调试与问题 164总结16参考文献 171. 课程设计的目的掌握单片机应用开发全套基本技能,明确单片机应用开发中的要点与难点,掌握电气工程领域的自动化/智能化控制手段(工具),训练技能。2课程设计题目描述和要求2.1课程设计题目描述液晶显示设计与实现:要求自制单片机小系统板(或在单片机小系统开发板上),选定具体一款液晶,在液晶上实现显示任意中文、英文、数字或图形;或进一步实现滚屏,翻屏,闪烁,黑白反显,汉字倒转等功能。 2.2课程设计要求 (1)根据课题设计内容进行元器件选型、列出元器件清单、自行购买、硬件电路制作与调试(硬件需带串口下载功能),并且使用protell软件绘制电路原理图; (2)掌握 keil或hk-51开发仿真系统,进行软件编程与调试;(3)软件编程选择asm或c51语言均可,要求绘制程序流程图,对所编写的软件进行相应的注释;(4)程序调试成功后,要求烧录(固化)到程序存储器中;(5)完成作品并进行功能验收,完成课程设计说明书(列出元器件清单、protell软件绘制电路原理3.课程设计报告内容 3.1元器件选型及总体设计方案描述 (1)元器件选型:武汉恒科电子教仪mcs-51仿真实验开发板; stc89c52单片机 rt12232液晶显示器(2)总体设计方案描述本实验系统分为单片机最小系统板和液晶显示两部分。单片机最小系统负责接收个人计算机所编辑的文本及内容,通过串行接口完成单片机与pc机之间的数据传送,而个人计算机,主要完成显示内容编辑、字模数据的查找、显示程序的发送(烧写)等工作。文本编编辑软件有多种,本次试验我们选用的是集编辑、编译、纠错等多种功能于一体的keil c。我们先将要显示的内容(包括汉字、中英文字母等)编辑成一个文本文件,然后通过已经编写好的应用程序在特定的字库中依次搜索到文本文件中的内容,并且取出该字符的字模数据。整个程序建立好后通过编译就可以生成一个可烧录的hex文件存放在pc机的硬盘上,等到需要的时候通过串行通信软件将该可烧录文件烧入给液晶显示系统模块的单片机中。因此在单片机的选择上我们选用了stc89c52。显示系统模块上电后,单片机小系统就会按照所编辑的固定一步步运行。在其控制下使液晶不断接收需要显示字符的字模数据。在液晶显示屏上显示出内容。由于12232比较常见,故本次原则rt12232的液晶显示器。根椐设计题目要求选用的是stc89c52单片机芯片和内置控制器为rt12232的液晶显示屏,总体设计共分为3个模块:将在pc机上编译的可执行程序烧录进单片机的串行烧录模块;储存程序以及处理程序的stc89c52芯片;显示效果的lcd液晶电路模块。这3种模块协同工作,组成了整个显示系统。在整个系统中,stc89c52单片机是最重要的核心部件,与其它模块一起协作,构成了整个显示系统。而单片机与复位电路,晶振电路,三者一起构成了单片机最小系统,只有在复位电路,晶振电路相辅助的情况下,单片机才能构正常工作。复位电路提供给单片机的复位引脚一个确定的信号,在单片机在死机,程序跑偏等情况下,可以通过复位电路使单片机恢复到初始状态重新开始工作。在单片机正常运行时可以保证单片机不会误复位。晶振电路提供给单片机一个固定的时钟频率。保证整个单片机各单元间协调统一地运行。串口烧录电路是单片机与pc机之间通信的桥梁。通过烧录电路,用户可以将要显示的字符程序烧进单片机的flash保存起来。在脱离pc的状态下,给系统通电时,单片机就会自动运行,控制显示屏显示出在程序中设定好的字符。3.2硬件连接设计部分12232液晶与stc89c52单片机电路连接图如下图1所示: 图1液晶与stc89c52单片机电路连接图由上图可以看出,在本系统中只用到stc89c52单片机的p1口与p3口资源,系统采用最简单的直接访问方式,p1作为数据口向12232液晶传送待显示的图形符号字模数据,p3口的p3.4、p3.5、p3.6、p3.7分别独立由单片机控制。来使液晶模块按指定要求正常工作。液晶显示器rt12232由两片sed1520构成,下面将详细介绍stc89c52单片机和sed1520液晶的功能和用法。 (1)stc89c52的引脚及功能stc89c52的外观及引脚图如下图2所示:图2 stc89c52引脚图p0口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位驱动8个ttl逻辑电平。对po口端口写“1”时,引脚作高阻抗输入。当访问外部程序和数据存储时,p0口也被作为低8位地址/数据复用。在这种模式下,p0口具有内部上拉电阻。在flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。p1口:p1口是一个具有内部上拉电阻的8位双向i/o口,p1输出缓冲器能驱动4个ttl逻辑电平。对p1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil)。此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和定时器/计数器2的触发输入(p1.1/t2ex)。p2口:p2口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p2端口写“1”时,与p1口相同。 p3口:与p2口相同。ale/prog当访问外部程序储器时,ale输出脉冲用于锁存地址的低8位字节。一般情况下,ale仍以时钟振荡频率的1/16输出固定的脉冲信号,因些它可对外输出时钟或用于定时目的。psen程序存储允许(psen)输出是外部程序存储器的读选通信号,当stc89c52由外部程序储器器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次psen信号。ea/vpp外部访问允许,欲使cpu仅访问外部程序存储器(地址为0000h-ffffh)ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器的指令。(2)sed1520液晶显示器sed1520液晶显示驱动器是一种点阵图形式液晶显示驱动器,它可直接与8位微处理器相连,集行、列驱动器于一体,因此使用起来十分方便,作为内藏式控制器被广泛应用于点阵数较少的液晶显示模块。sed1520液晶显示器的特性有(1)内部显示ram容量为2560b。其每一位数据控制液晶屏上一点的亮灭状态。“1”表示亮,“0”表示暗;(2)具有16个行驱动输出和61个列驱动输出;(3)可直接与80系列微处理器相连,亦可直接与68系列微处理器相连;(4)驱动占空比为1/16或1/32;(5)可以与sed1520级联使用,以便扩展行、列驱动能力。序号符号状态功能:1vcc-逻辑电源正, 9db0三态数据总线(最低位),2gnd-逻辑电源地, 10db1三态数据总线,3v0-液晶显示驱动电源, 11db2三态数据总线,4res-复位, 12db3三态数据总线,5e1输入主工作方式ic的使用信号, 13db4三态数据总线,6e2输入从工作方式ic的使用信号, 14db5三态数据总线,7r/w输入读/写选择信号, 15db6三态数据总线,8a0输入寄存器选择信号, 16db7三态数据总线(最高位)sed1520控制指令要使内置sed1520图形液晶显示模块还需要了解其软件特性,即sed1520的指令功能。sed1520指令一览表如下表1所示:表1sed1520控制指令指令名称控制信号控制代码a0 r/wd7 d6 d5 d4 d3 d2 d1 d0复位0 01 1 1 0 0 0 1 0显示开关设置0 01 0 1 0 1 1 1 di地址排序设置0 01 0 1 0 0 0 0 a休闲状态设置0 01 0 1 0 0 1 0 s占空比设置0 01 0 1 0 1 0 0 du显示起始行设置0 01 1 0 l4 l3 l2 l1 l0页面地址设置0 01 0 1 1 1 0 p1 p2列地址设置0 00 c6 c5 c4 c3 c2 c1 c0启动改写方式0 01 1 1 0 0 0 0 0结束改写方式0 01 1 1 0 1 1 1 0读取状态字0 1busy adc on/off reset 0 0 0 0写显示数据1 0数据读显示数据1 1数据sed1520的13条指令从作用上可以分为两大类:一类为显示方式的设置指令,前六条指令为这一类指令,它们只需在初始化程序中写入一次就可以了。另一类为显示数据读/写操作的指令,从第七条往下(包括状态字)都是这类指令,它们需要经常地使用。3.3程序设计部分程序开始运行后,要对液晶显示进行初始化,初始化后清屏,为输出数据准备。然后调用显示程序,在显示屏上显示数据。如果有按键的话,程序会进行相应的处理,如此循环。主程序框图如下图3所示: 图3 主程序流程图下面将详细描述各块程序:(1)初始化程序初始化主要是完成对于sed1520控制器的设置,由于采用c51语言进行编程,使得初始化十分简捷,只需调用初始化程序分别对两块sed1520液晶进行复位、关休闲,进入正常工作状态、占空比选择1/32、adc选择、设置起始行、开显示、清屏等操作。在液晶显示信息之前,必须先对液晶进行初始化。初始化的流程如图4所示 图4初始化程序流程图程序如下:init: mov com,#0e2h ;复位 lcall pr0 lcall pr3 mov com,#0a4h ;关闭休闭状态 lcall pr0 lcall pr3 mov com,#0a9h ;设置1/32占空比 lcall pr0 lcall pr3 mov com,#0a0h ;正向排序设置 lcall pr0 lcall pr3 mov com,#0c0h ;设置显示起始行为第一行 lcall pr0 lcall pr3 mov com,#0afh ;开显示设置 lcall pr0 lcall pr3 ret(2)清屏程序clear: mov r4,#00h ;页面地址暂存器设置 clear1: mov a,r4 ;取页地址值 orl a,#0b8h ;或页面地址设置代码 mov com,a ;页面地址设置 lcall pr0 lcall pr3 mov com,#00h ;列地址设置为0 lcall pr0 lcall pr3 mov r3,#50h ;一页清80个字节clear2: mov dat,#00h ;显示数据为0 lcall pr1 lcall pr4 djnz r3,clear2 ;页内字节清零循环 inc r4 cjne r4,#04h,clear1 ;ram区清零循环 retpr0: clr a0 ;ao0setb r_w ;r_w1pr01: mov p1,#0ffh ;p1口置1setb e1 ;e11mov a,p1 ;读状态字clr e1 ;e10jb acc.7,pr01 ;判忙标志为0,否再读clr r_w ;r_w0mov p1,com ;写指令代码setb e1 ;e11clr e1 ;e10ret(2)显示程序如下图5所示,程序运行至中文显示程序时,会在中文字库中查找字符码并计算字模地址。然后设置显示屏的页地址。在计算一列的位置后,程序依次从字库中调出一列字模的数据输出到显示屏上,直到这一页写完为止。写完一页后,程序会调用换屏程序。换屏程序进行清屏,然后继续依次调一列字模数据输出到显示屏上,直到写完这一页。程序可以不停运行,可以调用延时来控制。 图5显示程序流程图比如要显示一个“曾”字。它的字库是:db 00h, 00h,0f0h, 11h, 52h, 14h, 10h,0f0h ;曾db 10h, 14h, 52h, 11h,0f8h, 10h, 00h, 00hdb 00h, 00h, 01h, 01h,0fdh, 55h, 55h, 55hdb 55h, 55h,0ffh, 05h, 01h, 00h, 00h, 00h要在液晶屏上显示出来,要执行下面的程序:aaa: mov a,#0d8h ;显示起始行为第16行mov com,a ;com是指令寄存器 通过com写指令lcall pr0 ;调用写指令代码子程序lcall pr1 ;调用写数据子程序mov ctemp,#0 ;列初值mov page_,#01h ;页面是第一页mov a,ctemp ;设置这个字要从哪一列显示,这里是从00h就是0列add a,#00h mov column,amov code_,#00h ;code是字符代码寄存器,写入要显示字符的位置,00h是第0个字符,也就是首字符lcall ccw_pr ; 调用中文显示子程序;;-中文显示子程序ccw_pr: mov dptr,#cctab ;确定字符字模块首地址mov a,code_ ;取代码mov b,#20h ;字模块宽度为32个字节mul ab ;代码32add a,dpl ;字符字模块首地址mov dpl,a ;字模库首地址代码32mov a,baddc a,dphmov dph,apush column ;列地址入栈push column ;列地址入栈mov code_,#00h ;代码寄存器借用为间址寄存器ccw_1: mov count,#10h ;计数器设置为16mov a,page_ ;读页地址寄存器anl a,#03horl a,#0b8h ;”或”页地址设置代码mov com,a ;写页地址设置指令lcall pr0lcall pr3pop column ;取到地址值mov a,column ;读列地址寄存器clr csubb a,#pd1 ;列地址减模块参数jc ccw_2 ;0为左半屏显示区域(e1)mov column,a ;0为右半屏显示区域(e2)mov a,page_setb acc.3 ;设置区域标志位。mov page_,a ;”0”为e1,”1”为e2ccw_2: mov com,column ;设置列地址值mov a,page_ ;判区域标志以确定设置哪个控制器jnb acc.3,ccw_3lcall pr3 ;区域e2ljmp ccw_4ccw_3: lcall pr0 ;区域e1ccw_4: mov a,code_ ;取间址寄存器值movc a,a+dptr ;取汉字字模数据mov dat,a ;写数据mov a,page_jnb acc.3,ccw_5lcall pr4 ;区域e2ljmp ccw_6ccw_5: lcall pr1 ;区域e1ccw_6: inc code_ ;间址寄存器加一inc column ;列地址寄存器加一mov a,column ;判列地址是否超出区域范围cjne a,#pd1,ccw_7ccw_7: jc ccw_8 ;未超出则继续mov a,page_ ;超出则判是否在区域e2jb acc.3,ccw_8 ;在区域e2则退出setb acc.3 ;在区域e1则修改成区域e2mov page_,amov com,#00h ;设置区域e2列地址为”0”lcall pr3ccw_8: djnz count,ccw_4 ;当页循环mov a,page_ ;读页地址寄存器jb acc.7,ccw_9 ;判完成标志d7位,”1”则完成退出inc a ;否则页地址加一setb acc.7 ;置完成位为”1”clr acc.3mov page_,amov code_,#10h ;间址寄存器设置为16ljmp ccw_1 ;大循环ccw_9: ret执行完着一段后,整个“曾”字就显示出来了。3.4实验调试与问题 这次课程设计主要是用stc89c52单片机控制由两块sed1520集成块组合成的12232点阵液晶显示器。调试过程中由于接线一些接触不良和串口线的问题花费了我们很多的时间,发现问题出在驱动上后,我们及时更换了一个新的串口线,然后改良了接线稳定性的问题,液晶上终于出现了显示结果。此次系统的设计与制作工作已经全部完成,基本达到了预期的目的与要求。但是在系统的调试方面还不够健全。汉字的动态显示、显示内容的实时更新等方面做得不够好,但是由于时间仓促、条件有限,设计结果并不是很好,诸如:显示内容单一,亮度不够、动态显示效果不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理学:请护工的三大重要理由
- 江西省吉安永新县联考2025年初三下五校联考英语试题含答案
- 天津市津南区2025年初三高中数学试题竞赛模拟(二)数学试题含解析
- 团风县2025年五下数学期末质量检测试题含答案
- 江西省鹰潭市达标名校2025年初三5月检测试题(三)英语试题含答案
- 上海师范大学《文化遗产学理论教学》2023-2024学年第一学期期末试卷
- 台州科技职业学院《文学概论(2)》2023-2024学年第二学期期末试卷
- 辽宁省丹东市第六中学2025届初三下学期中考考前质量检测试题三(5月模拟)物理试题含解析
- 江西枫林涉外经贸职业学院《俄语》2023-2024学年第一学期期末试卷
- 长沙职业技术学院《景观快题训练》2023-2024学年第二学期期末试卷
- 2025年高考作文备考之十大热点主题及写作导引
- 2025届上海市浦东新区高三二模英语试卷(含答案)
- 开曼群岛公司法2024版中文译本(含2024年修订主要内容)
- 【MOOC】航空燃气涡轮发动机结构设计-北京航空航天大学 中国大学慕课MOOC答案
- 工程变更通知单ECN模板-20220213
- 酸洗磷化线材项目建议书范文
- 装修行业资源整合主材合作协议
- 储油罐施工专业技术方案
- (完整版)冲压模具设计毕业设计.doc
- 橡胶接头、防水套管、伸缩器、伸缩接头、传力接头、补偿器、鸭嘴阀等管道工程图形符号大全
- 员工工作调动单
评论
0/150
提交评论