课程设计(论文)基于89C51的液晶显示系统设计_第1页
课程设计(论文)基于89C51的液晶显示系统设计_第2页
课程设计(论文)基于89C51的液晶显示系统设计_第3页
课程设计(论文)基于89C51的液晶显示系统设计_第4页
课程设计(论文)基于89C51的液晶显示系统设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课程设计(论文) 题 目 名 称 基于89c51的液晶显示系统设计 课 程 名 称 c51应用技术 学 生 姓 名 学 号 系 、专 业 电气工程系、12电本一班 指 导 教 师 朱群峰 2014年6月27日阳学院课程设计(论文)任务书年级专业12电本一班学生姓名学 号题目名称基于89c51的液晶显示系统设计设计时间2014年6月16日2014年6月27日课程名称c51应用技术课程编号121200105设计地点数字控制与plc实验室创新实验室(214)(305)一、 课程设计(论文)目的课程设计是在校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬

2、结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象. c51应用技术课程设计是继电子技术、和c51应用技术课程之后开出的实践环节课程,其目的和任务是训练学生综合运用已学课程“电子技术基础”、“c51应用技术”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测。二、已知技术参数和条件1、液晶显示功能见第三项“任务和要求”具体参数1、89c51系列单片机;2、keil 软件;wave软件、protuse软件3、thkscm-1型单片机实验系统。三、 任务和要求利用89c51驱动液晶显示器工作,液晶显示器的型号自己确定(可以用

3、1602或者12864)要求显示出自己的基本信息(英文或者中文,内容自定)。1、要求设计出硬件系统的电气原理图;2、要求设计出程序流程图和程序;3、要求设计出实物或者仿真调试。注:1此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效; 2此表1式3份,学生、指导教师、教研室各1份。四、参考资料和现有基础条件(包括实验室、主要仪器设备等)1、单片机课程设计指导,北京航空航天大学出版社,楼然苗等2007年7月2、单片机实验与实践教程,北京航空航天大学出版社,何立民等2004年7月3、thkscm-1型单片机实验系统实验指导书、keil 软件,wave 软件4、数字控制与plc实验室”t

4、hkscm-1型单片机实验系统”。五、进度安排2014年6月16日-17日:收集和课程设计有关的资料,熟悉课题任务何要求总体方案设计2014年6月18日-19日:硬件电路设计2014年6月20日-21日:软件设计2014年6月22日-24日:系统调试改进2014年6月25-26日:整理书写设计说明书2014年6月27日:答辩并现场考核六、教研室审批意见设计目的明确,要求合理,难度适中,符合课程设计教学要求。教研室主任(签名): 年 月 日七|、主管教学主任意见 符合课程设计要求 主管主任(签名): 年 月 日八、备注指导教师(签字): 学生(签字):邵阳学院课程设计(论文)评阅表学生姓名 学

5、号 系 电气工程系 专业班级 12电本一班 题目名称 基于89c51的液晶显示系统设计 课程名称 c51应用技术 一、学生自我总结经过这次课程设计的学习,我懂得了许多关于电子技术的相关知识,学习到了如何通过89c51设计出液晶显示系统。并且在小组共同合作的过程中,了解到了团队合作的意义,而在老师的指点关照下,了解了以前未接触到的领域,丰富了我的视野,极大的帮助到了我在未来单片机的学习,在电气专业知识上的理解与掌握。接下来我会更加努力在专研的道路上前行。 学生签名: 年 月 日二、指导教师评定评分项目平时成绩论文答辩综合成绩权 重304030单项成绩指导教师评语: 指导教师(签名): 年 月 日

6、注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面; 2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。摘要人类生存离不开信息,人生活于社会,每时每刻都通过眼、耳、口、鼻、身从外部获得信息,其中视觉信息占70%,而且眼睛获取的信息数量大,最准确和可靠。液晶显示已经是人机界面的关键技术。本文对基于单片机的lcd液晶显示器控制系统进行了研究。本文研制一种基于51单片机实时控制的lcd液晶显示屏控制系统。硬件系统由单片机最小系统和液晶显示系统组成,pc机进行显示内容的编辑和字模数据的提取;液晶显示系统由主控模块t6963c和lcd液晶显示模

7、块接口电路组成,主控模块负责接收单片机字模数据并控制各显示模块工作,显示模块以t6963c主控制器为核心,控制lcd液晶显示屏显示,为了方便系统扩展,各模块之间的连接采用接插式结构,单片机与pc机之间采用rs232标准接口进行数据和命令的串行通信。本文不仅从总体上对系统进行了整体规划,还以其中一个实例详细介绍了pc机字模的提取、字模数据的发送、单片机串行接收数据、液晶显示屏的显示等部分的软硬件设计及实现过程。本系统的设计优点硬件电路简单,软件功能完善,控制系统可靠,性价比较高等特点,具有一定的使用和参考价值。关键词:液晶显示器89c51串行通信单片机目 录摘要.i1.概述.11.1 设计目的和

8、意义.22. 方案设计.32.1字模数据的储.32.2通信电路.43.硬件电路.53.1 89c51系统.53.2复位和晶振电路模块.73.3 lcd1602 简介.84.系统软件设计.134.1系统框图.134.2 参考程序.145. 仿真结果和分析.165.1 proteus仿真实验.17总结.18参考文献.19致谢.201 概述 本实验系统分为单片机最小系统板和液晶显示屏两部分。单片机最小系统负责接收个人计算机所编辑的文本及内容,通过rs232串行接口通信完成单片机与pc机之间的数据传送,而个人计算机(即pc机),主要完成显示内容的编辑、字符码的查找、字符数据的发送等工作。基于windo

9、ws操作系统下的文本编辑软件有很多种,例如:记事本、micorsoftword、写字板等,我们可以采用任何一种编辑软件将要显示的内容(包括汉字、中英文字母、标点符号等)编辑成一个文本文件,然后通过已经编写好的应用程序在特定的字库中依次搜索到文本文件中的内容,并且取出该字符的字模数据,此项工作称为字模数据的提取;字模数据文件的生成也就是将取出的字模按顺序存放到一个十六进制文件中;字符数据建立好之后将其存放在pc机的硬盘上,等到需要的时候通过串行通信软件将字符数据文件发送给液晶显示系统模块。 lcd显示屏包括主控制模块和lcd液晶显示模块。主控制模块负责接收单片机发送过来的字模数据文件,并且协调各

10、个lcd液晶显示模块工作,主控制器模块的核心是t6963c控制器,为了存储字模数据还在主控制器模块中扩展了一片8k存储器芯片6264;lcd液晶显示模块由两片行驱动器t6a40和三片列驱动器t6a39进行驱动,该模块一边接收主控制模块的数据,一边将数据送lcd液晶显示屏显示,为了方便系统的扩展,各模块之间采用串行口接收数据,并且接到系统串行总线上。 本系统主要是实现单片机与液晶显示模块之间的接口技术,可以采用间接控制方式完成。将液晶显示模块接口与单片机系统板中的某个并行i/o接口连接,计算机通过对该i/o接口的操作间接的实现对模块的控制。1.1 设计目的和意义课程设计是在校学生素质教育的重要环

11、节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象.熟悉掌握1602液晶,和12862液晶的原理,并会编程实现在液晶上显示出自己的基本信息。 在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、led数码管、液晶显示器。发光管和led数码管比较常用,软硬件都比较简单。在单片机系统中应用晶液显示器作为输出器件有以下几个优

12、点:(1)显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(crt)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动ic上,因而耗电量比其它显示器要少得多。2 方案设计 此lcd液晶显示控制系统设计的关键是要实现lcd的显示控制。应该先从显示方式的确定入手,

13、接下来设计相应显示方式的电路,要实现显示内容的实时更新,就必须考虑字模数据的存储及通信电路的设计。下面从这两个方面逐个论证不同的方案。2.1字模数据的存储 由于89c51单片机内部程序存储器(rom)只有4k空间,本设计采用1616点阵显示一个汉字,每一行需要两个字节数据,一个汉字占16232字节,汉字一共有6000多个,不可能将庞大的汉字字库存入在单片机内部,即使将预先要显示的内容存入rom中,也不便于实时控制,所以只有考虑扩展外部数据存储器。 方案一:采用标准字库,制作一个专用硬字库。这种方法仿效中文dos的办法,将一个标准的汉字库装入rom存储器,再根据汉字的机内码在字库中寻址,找到对应

14、的字模,提取后送到显示器显示。因为采用了和pc机相同的编码(机内码),软件的开发和维护非常简单,基本上与写pc机软件差不多。而对单片机系统自身的要求则相对高多了,1616点阵的字库需要256k字节,但是一般8位单片机的寻址能力只有64k字节,要进行存储器扩充,除增加很大一部分硬件成本外,还因为要进行存储器分页管理、地址切换,显示速度明显受影响。方案二:利用windows自带的字库(即使用软字库)。通过软件编程直接在字库中找到需要显示字符的区位码并读出其字符码,存于一个文本文件中,待所有显示内容的字符码查询完毕后,将存放所有字符码的文本文件通过串行通信发送给单片机,单片机将接收到的数据存放在外部

15、扩展的数据存储器中,数据接收完毕后,单片机就从存储器中依次读出每一个字符的字符码并送到lcd显示屏显示。该方案与方案一相比,虽然通信过程占整个显示周期的比例相对较大,但是硬件电路设计简单,成本较低,减少了单片机查询硬件字库所需要的时间,提高了单片机动态扫描的速度,字符显示的稳定度较高。从设计成本、显示内容的稳定性、硬件电路设计的简易程度等方面综合考虑,第二种方案明显优于第一方案,所以采用第二种方案解决字模的问题。2.2通信电路方案一:串行通信串行通信是指一个数据的所有位按一定的顺序和方式,一位一位地通过串行输入/输出口进行传送。由于串行通信是数据的逐位顺序传送,在进行串行通信时,只需一根传输线

16、,其传送的数据位多且通信距离长。串行通信方式如 : 图2.1串行通信方式 图2.2并行通信式 方案二:并行通信采用并行传送方式在微机与外部设备之间进行数据传送的接口叫并行接口。主要特点:一是同时并行传送的二进位数就是数据宽度;二是在计算机与外设间采用应答式的联络信号来协调双方的数据操作。传送的数据位1-128位,一般为8位。单片机与外部设备之间也通常采用8位并行i/o接口进行短距离的通信。其传输距离近,传送方式单一,每次传送一个字或一个字节。并行通信方式如图2-2:计算机与单片机的数据通信,采用串行通信,与并行通信相比,串行通信具有传输距离远,接口电路与软件编程简单等特点,所以本系统选用方案一

17、串行通信。串行通信接口电路见后面的硬件电路设计。3 硬件电路3.1 89c51系统(1)89c51 单片机的概述该系列单片机是采用高性能的静态80c51设计由先进cmos工艺制造并带有非易失性flash 程序存储器全部支持12时钟和6时钟操作p89c51x2和p89c52x2/54x2/58x2分别包含128字节和256字节ram32条 i/o口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行i/o 口可用于多机通信i/o扩展或全双工uart以及片内振荡器和时钟电路。 此外由于器件采用了静态设计可提供很宽的操作频率范围频率可降至0可实现两个由软件选择的节电模式空闲模式和掉电模式空闲模

18、式冻结cpu但ram定时器串口和中断系统仍然工作掉电模式保存ram 的内容但是冻结振荡器导致所有其它的片内功能停止工作由于设计是静态的时钟可停止而不会丢失用户数据运行可从时钟停止处恢复。(2)89c51 单片机管脚说明vcc:供电电压。 gnd:接地。工作电压为5vp0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。p1口:p1口是一个内部提供上拉电阻的8位双

19、向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储

20、器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。 p3口也可作为at89c51的一些特殊功能口,如下表所示: 口管脚 备选功能 p3.0 rxd(串行输入口) p3.1 txd(串行输出口)p3.2 /int0(外部中断0) p3.3 /int1(外部中断1) p3.4 t0(记时器0外部输入) p3.5 t1(记时器1

21、外部输入) p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通) p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, al

22、e只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的psen信号将不出现。 ea/vpp:当/ea保持低电平时,则在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工

23、作电路的输入。 xtal2:来自反向振荡器的输出。 图3.1 89c51引脚图32 复位和晶振电路模块89c51芯片内部有一个高增益反相放大器,用于构成振荡器。反相放大器的输入端为xtal1,输出端为xtal2,两个跨接石英晶体及两个电容就可以构成稳定的自激振荡器。电容器通常取30pf左右,可以稳定频率并对振荡频率有微调作用。下部分为手动复位和上电自动复位组合的复位电路。上电自动复位是在加电瞬间电容通过充电来实现。在通电间电容通过电阻充电,res端出现正脉冲,用以复位。只要电源的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。所谓手动复位,是指通过接通一按钮开

24、关,使单片机进入复位状态。系统上电运行后,若需要复位,一般是通过手动复位来实现的。如图2.5。图上部分为晶振电路。 图3.2复位与晶振电路图3.3 lcd1602 简介1602是指显示的内容为16*2,即可以显示两行,每行16个字符。目前市面上字符液晶绝大多数是基于hd44780液晶芯片的,控制原理是完全相同的,因此基于hd44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。当我们要写指令字,设置lcd1602的工作方式时:需要把rs置为低电平,rw置为低电平,然后将数据送到数据口d0d7,最后e引脚一个高脉冲将数据写入。当我们要写入数据字,在1602上实现显示时:需要把rs置为

25、高电平,rw置为低电平,然后将数据送到数据口d0d7,最后e引脚一个高脉冲将数据写入。下图为lcd1602的读操作时序和写操作时序。图3.3 lcd1602读写时序(1)1602lcd主要技术参数:显示容量:162个字符芯片工作电压:4.55.5v工作电流:2.0ma(5.0v)模块最佳工作电压:5.0v字符尺寸:2.954.35(wh)mm(2)引脚功能说明图3.4 lcd1602引脚图3.5 引脚图的功能表lcd1602显示模指令集清屏功能:清ddrom值和ac值归位功能:光标复位,光标返回到地址00h输入方式设置功能:设置光标,画面移动方式。其中:i/d=1:数据读写操作后,ac 自加一

26、;i/d=0:数据读写操作后,ac 自减一;s=1:数据读写操作,画面平移;s=0:数据读写操作,画面不动;显示开关控制功能:设置显示、光标和闪烁开关。其中:d 表示显示开关,d=1 为开,d=0 为关;c 表示光标开关,c=1 为开,c=0 为关;b 表示闪烁开关,b=1 为开,b=0 为关。光标、画面位移功能:光标、画面移动。其中:s/c=1 画面移动一个字符位;s/c=0 光标移动一个字符位;r/l=1:右移;r/l=0 左移。功能设置功能:工作方式设置(初始化指令)。其中:dl=1,8 位数据接口;dl=0,4 位数据接口;n=1,两行显示;n=0,一行显示;f=1,5*10 点阵显示

27、;f=0,5*7 点阵显示。cgram 地址设置功能:设置cgram 地址,a5a0=03fh。ddram 地址设置功能:设置ddram 地址。其中:n=0,一行显示a6a0=04fh;n=1 两行显示,首行a6a0=02fh,次行a6a0=4067h。读bf 及ac 值功能:读忙bf 和地址计数器ac 的值。其中:bf=1:忙,bf=0:准备好。此时ac 值意义为最近一次地址设置(cgram 或ddram)定义。写数据功能:根据最近设置的地址性质,数据写入cgram 或ddram 中。读数据功能:根据最近设置的地址性质,从cgram 或ddram 数据读出。4 软件设计4.1 系统框图 图4

28、.1系统框图 4.2参考程序#include ioat89c51.h#include intrinsics.h/ define p3 pins#define data_bus (p0) #define rs (p2_bit.p2_0)#define rw (p2_bit.p2_1) #define e (p2_bit.p2_2)/ define new typestypedef unsigned char uchar;typedef unsigned int uint;/ function prototypesvoid check_busy(void);void write_command(u

29、char com);void write_data(uchar data);void lcd_init(void);void string(uchar ad ,uchar *s);void lcd_test(void);void delay(uint);void main(void) lcd_init(); while(1) string(0x80,have a nice day!); string(0xc0, proteus vsm); delay(100); write_command(0x01); delay(100); /* lcd1602 driver mapped as io pe

30、ripheral*/ / delayvoid delay(uint j) uchar i = 60; for(; j0; j-) while(-i); i = 59; while(-i); i = 60; / test the busy bitvoid check_busy(void) do data_bus = 0xff; e = 0; rs = 0; rw = 1; e = 1; _no_operation(); while(data_bus & 0x80); e = 0; / write a commandvoid write_command(uchar com) check_busy(

31、); e = 0; rs = 0; rw = 0; data_bus = com; e = 1; _no_operation(); e = 0; delay(1); / write datavoid write_data(uchar data) check_busy(); e = 0; rs = 1; rw = 0; data_bus = data; e = 1; _no_operation(); e = 0; delay(1); / initialize lcd controllervoid lcd_init(void) write_command(0x38); write_command(

32、0x0c); / no cursor, no blink, enable display write_command(0x06); / auto-increment on write_command(0x01); / clear screen delay(1); void string(uchar ad, uchar *s) write_command(ad); while(*s0) write_data(*s+); delay(100); 5仿真结果和分析 本次设计的主要目的是利用单片机89c51控制液晶显示系统。主要进行了原理图的设计、软件设计。 最后的调试阶段可以说是整个设计的关键,在调试阶段,主要是利用了proteus仿真器进行调试,方便快捷。5.1 proteus调试与仿真液晶显示的调试比较简单,把编译好的上述程序指定到proteus中的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论