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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

单片机LCD12864显示系统课程设计报告书.docx

1、单片机LCD12864显示系统课程设计报告书6.1 总电路图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 总程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .一、概述随着社会的发展,趣来趣多的地方需要应用显示功能,各种数字显示仪器中的显示、广告牌、数码产品等,传统的数码管显示已经远

2、远不能满足各行各业的需求。基于单片机的LCD显示是一种用单片机来控制的一种显示系统,它不仅能显示种各数字、字母、还能显示各种字体的汉字以及一些简单的图象,使用起来极为方便,只要通过对单片机写入一定的程序来控制LCD的显示即可完成,根据程序的不同而产生不同不效果以满足各种不同需求。本文围绕设计以单片机作为LCD液晶显示系统控制器为主线,基于单片机AT89S51,采用的液晶显示控制器的芯片是SED1520,主要实现由按键控制的中文显示、图片显示、滚屏以及左右移动功能。同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用的各硬件接口技术和各个接口模块的功能及工

3、作过程,并详细阐述了程序的各个模块。本系统是以单片机的C语言来进行软件设计,指令的执行速度快,可读性强。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。其次阐述了部分程序的流程图和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。二、 系统总体方案及硬件设计2.1系统框图本系统由电源部分、单片机最小系统部分、LCD12864显示电路部分、按键控制部分组成。其中,单片机最小系统部分包括晶振电路、复位电路。2.2

4、单片机最小系统2.2.1、AT89S52单片机89S51各引脚功能介绍:1.VCC:2.89S51 电源正端输入,接+5V。3.VSS:4.电源地端。5.XTAL1:6.单芯片系统时钟的反相放大器输入端。7.XTAL2:8.系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。9.RESET:10.89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动

5、作,使得部特殊功能寄存器之容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。11.EA/Vpp:12.EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其部无程序存储器空间。如果是使用 8751 部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。13.ALE/PROG:14.端口3的管脚设置:15.P3.0:RXD,串行

6、通信输入。16.P3.1:TXD,串行通信输出。17.P3.2:INT0,外部中断0输入。18.P3.3:INT1,外部中断1输入。19.P3.4:T0,计时计数器0输入。20.P3.5:T1,计时计数器1输入。21.P3.6:WR:外部数据存储器的写入信号。22.P3.7:RD,外部数据存储器的读取信号。2.2.2复位电路电路图如下:上电自动复位是通过外部复位电路的电容充电来实现的。只要Vcc的上升时间不超过1ms,就可以实现自动上电复位。 图2.1单片机复位电路2.2.3、时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影

7、响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是部时钟方式,另一种为外部时钟方式。本文用的是部时钟方式。电路图如下:图2.2晶振电路2.2.4LCD12864显示电路管脚名称及功能:管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0的数据被写到IR或DR6E(SCLK)H/L使能信号

8、7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)电气参数:项目符号最小典型最大单位电源电压VDD-VSS4.755.05.25V液晶驱动电压VDD-VADJTa=0-11.0-11.5-12.0Ta=25

9、-10.5-11.0-11.5Ta=50-10.0-10.5-11.0输入信号电压VIH0.8 VDD-VDD+0.3VIL0-0.2 VDDLCM工作电流IDD-38mA背光驱动电流ILED-6080液晶驱动电流IEE基本指令系统:模块控制芯片提供两套控制命令,基本指令和扩充指令如下:指指令码功 能令RSR/WD7D6D5D4D3D2D1D0清除显示0000000001将DDRAM填满20H,并且设定DDRAM的地址计数器(AC)到00H地址归位000000001X设定DDRAM的地址计数器(AC)到00H,并且将游标移到开头原点位置;这个指令不改变DDRAM 的容显示状态开/关000000

10、1DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白允许进入点设定00000001I/DS指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位游标或显示移位控制000001S/CR/LXX设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的容功能设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基本指令操作设定CGRAM地址0001AC5AC4AC3AC2AC1AC0设定CGRAM 地址设定DDRAM地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97

11、H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)可以确认部动作是否完成,同时可以读出地址计数器(AC)的值写数据到RAM10数据将数据D7D0写入到部的RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM的值11数据从部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)2.2.5、按键控制电路电路由三个独立按键开关组成,分别与单片机的I/O相连,控制调整电路的加、减以及确定。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程是处

12、于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了避免CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。P3.0口表示下移功能键,当开关闭合时,控制显示屏容整体向下滚动。 P3.1口表示上移功能键,当开关闭合时,控制显示屏容整体向上滚动。 P3.2口表示右移功能键,当开关闭合时,控制显示屏容整体向右移动。P3.3口表示左移功能键,当开关闭合时,控制显示屏容整体向左移动。按键控制电路三、软件部分3.1、软件系统概

13、论此设计是由单片机控制的LCD显示系统,外设四个按钮来控制显示的方式。对于按钮的工作方式可以是中断也可以是查询,在此设计中所选用的顺序结构。用单片机的 P3口的低4来作为LCD的显示控制端,即控制LCD使能端、读写控制揣、数据指 令选择端及两个选屏端。 对于此设计课题,因为要用12864的显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码的。所以,首先是通过一定的软件如ZIMO等来获取你想要显示的汉字的编码代码。有了这款软件,就方便多了,只在要软件中打入你想要显示的汉字或是字符,它就会自动生成代码,使用起来非常方便,而不需要人工去编写相应的代码。开始显示图形检测按键显示相应容。3.2、汉

14、字显示对于此设计课题,因为要用12864的显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码的。所以,首先是通过一定的软件如ZIMO等来获取你想要显示的汉字的编码代码。有了这款软件,就方便多了,只在要软件中打入你想要显示的汉字或是字符,它就会自动生成代码,使用起来非常方便,而不需要人工去编写相应的代码。 由于此LCD的显示屏是被分为了两部分的,即左半屏和右半屏,分别由CS1和 CS2来控制,两个半屏的存都分别由X和Y两个地址来确定,X地址共64位,而Y地址两边各64位,一共128位,所以有的时候就称其为12864显示器。X地址共有8个值,从0到7,即每个值有8位,每显示一个字符要2个X值

15、,而Y共128个值,分为两块即左右两块,分别从0到63,即每个值一位。每显示一个汉字要16个Y值,每显示一个字符要8个Y值。所以应该 对两半屏分别编程取显示地址。同时还得用一个显示子程序来显示显示地址中保存的显示代码(汉字代码)。由此LCD的显示时序图可知,在显示过程中还需要一定的延时(不同的型号,延时时间是不同的)并且在显示前需将一些特定的控制端置相应的电平,比如说还所有输入之关需先把LCD总使能端打开,即置E端为高电平,然后应再 输入指令代码,对其进行相关的设置。所以还需要一个适当的延时子程序以及输 入数据前的准备程序。除了这些外,还应写一个初始化程序,用来对中断等一些程序所需要的端口进行

16、初始。对于开中断,应打开总中断EA以及相应的低级中断EX0和 EX1。再者就是两个中断程序,对于这两个中断程序比较简单,只需对要执行相关控制 (即常规显示和滚动显示)所需要的每件进行满足即可。最后就是主函数,它的主要功能就是判断中断是否来临,来临了,然后判断是外部中断0还是外部中断1,然后根据是0还是1来执行相应的程序,选择相应的显示方式。当四行全显示完了后,中断失效,即不管你是否还按键,都不再会对显示造成影响。显示出来的容将一直保持。3.3、图片显示显示图片和显示汉字类似,都是先通过字模软件先取模,然后再显示。3.4、上下移动由此可见12864的显示起始行为0xc0,有规律的改变起始行的位置

17、,就可以改实现上下移的效果。代码如下3.5左右移动在本设计中,通过循环改变汉字字符在单片机上显示的左右半屏以及在左右半屏上显示的列位,行位不变,达到了左右移屏的效果。for(i=0;i64;i+) /下滚屏 SelectScreen(0); display(0,i); delay(5000); void display(int unm,int num) Set_line(unm); ClearScreen(0); /显示开始行 Display_HZ(num+0)/4)%2+1,0,(num+0)%4,yier); /uchar screen,uchar page,uchar column,uc

18、har *p) Display_HZ(num+1)/4)%2+1,0,(num+1)%4,dian); Display_HZ(num+2)/4)%2+1,0,(num+2)%4,hua); Display_HZ(num+3)/4)%2+1,0,(num+3)%4,erban); Display_HZ(num+4)/4)%2+1,0,(num+0)%4,ban); /ClearScreen(0); Display_HZ(num+2)/4)%2+1,2,(num+2)%4,deng); Display_HZ(num+3)/4)%2+1,2,(num+3)%4,xiao); Display_HZ(n

19、um+4)/4)%2+1,2,(num+0)%4,mao); Display_HZ(num+3)/4)%2+1,4,(num+3)%4,dan); /uchar screen,uchar page,uchar column,uchar *p) Display_HZ(num+4)/4)%2+1,4,(num+0)%4,pian); Display_HZ(num+5)/4)%2+1,4,(num+1)%4,ji); Display_HZ(num+6)/4)%2+1,4,(num+2)%4,ke); Display_HZ(num+7)/4)%2+1,4,(num+3)%4,se); Display_

20、HZ(num+6)/4)%2+1,6,(num+2)%4,erling); Display_HZ(num+7)/4)%2+1,6,(num+3)%4,yiwu);四、课程设计总结经过差不多一个礼拜的单片机课设,让我渐渐喜欢上这门课程,从一头雾水到做出Proteus仿真,期间学到不少。在做本次课程设计的过程中,我感触最深的当属查阅大量的设计资料了,把大一所学的C语言重新捡起来看了一遍,又翻了几次刚学的单片机汇编语言,感觉学习不在那么枯燥、乏味。其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:C语言、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题

21、去学我发现效率很高,这是我做这次课程设计的又一收获。后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;在设计课程过程中遇到问题是很正常,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第

22、一次做,难免会遇到各种各样的问题。除了学到了学习方面的知识还懂得了小组合作的重要性,每当自己不知如何继续下去的时候和同组的伙伴一起探讨,便会有柳暗花明又一村的感觉,其中乐趣无比。对于我们这个专业,我认为学好汇编和C语言极其重要,毕竟一些东西不是你想做就能做的出来,但是仿真还是能做的。而且一些课设的方法可以运用到实际问题的解决当中,让我们处理事情更加有条理,思路更加清晰明了,发现、提出、分析、解决问题和实践能力的提高都将受益与我在以后的学习、工作、和生活中。通过此次学习,我将更加努力的学好专业知识,并将所学的东西运用到实际生活当中,让自己有更深层次的认识和见解。在生活中要与同学更加友好的相处,让

23、知识互相碰撞产生新的火花。五、参考文献1 广弟,单片机基础,:航空航天大学,19942 余发山,王福忠.单片机原理及应用技术,:中国矿业大学,20033 郭天祥,51单片机C语言教程,电子工业,20094 徐春辉,单片微机原理及应用,电子工业,2013六、附录6.1、附总电路图6.2、附总程序取模头文件:unsigned char code BMP64=/*- 调入了一幅图像:G:UsersAdministratorDesktophj.bmp -*/*- 宽度x高度=128x64 -*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

24、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x30,0xC0,0x00,0xD8,0x30,0x20,0x48,0x18,0x22,0x04,0x1C,0x00,0x0E,0x2A,0x00,0x14,0x24,0x02,0x1C,0x20,0x0C,0x38

25、,0x60,0x08,0xE0,0x10,0x90,0xA0,0x00,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

26、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xB0,0x20,0x68,0x90,0x22,0x1F,0x02,0x84,0x82,0x63,0x30,0x90,0xD0,0x48,0x2C,0x2C,0x34,0x12,0x16,0x0A,0x1B,0x09,0x0B,0x0A

27、,0x0B,0x09,0x0B,0x0A,0x1B,0x12,0x16,0x34,0x24,0x2C,0x48,0xD9,0xB0,0x20,0xC7,0x80,0x94,0x01,0x0D,0x3C,0xC0,0x28,0x60,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

28、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x28,0x89,0x0A,0xD6,0x0C,0x03,0x00,0xE0,0x38,0x1C,0x42,0x73,0x85,0x66,0xA1,0x41,0xA0,0x40,0x00,0x20

29、,0x20,0xC0,0x20,0xA0,0x60,0x80,0x60,0x80,0x20,0x20,0x60,0xE0,0xC0,0x40,0xC0,0xC0,0x80,0x80,0x00,0x00,0x01,0x01,0x02,0x04,0x1B,0x26,0xCC,0x38,0xE0,0x00,0x06,0x71,0x94,0x32,0x28,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xCC,0x84,0x6D,0x41,0x4C,0x00,0x0

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

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