单片机LCD显示系统专业课程设计.doc
《单片机LCD显示系统专业课程设计.doc》由会员分享,可在线阅读,更多相关《单片机LCD显示系统专业课程设计.doc(31页珍藏版)》请在咨信网上搜索。
1、目录一、概述2二、系统总体方案及硬件设计22.1系统框图3 2.2 单片机最小系统42.3 显示电路6 2.4 按键控制电路6三、系统软件设计93.1软件设计概述93.2汉字显示103.3上下移屏103.4 左右移屏11四、 课程设计体会13五、参考文件13六、附录146.1 总电路图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6.2 总程序. . . . . . . . . . . . . . . . . . . . . . . . . .
2、 . . . . . . . . . . . . . . . . . . . . . . . .一、概述伴随社会发展,趣来趣多地方需要应用显示功效,多种数字显示仪器中显示、广告牌、数码产品等,传统数码管显示已经远远不能满足各行各业需求。基于单片机LCD显示是一个用单片机来控制一个显示系统,它不仅能显示种各数字、字母、还能显示多种字体汉字和部分简单图象,使用起来极为方便,只要经过对单片机写入一定程序来控制LCD显示即可完成,依据程序不一样而产生不一样不效果以满足多种不一样需求。本文围绕设计以单片机作为LCD液晶显示系统控制器为根本,基于单片机AT89S51,采取液晶显示控制器芯片是SED1520
3、,关键实现由按键控制汉字显示、图片显示、滚屏和左右移动功效。同时也对部分芯片和外围电路进行了介绍和设计,并附以系统结构框图加以说明,着重介绍了本系统应用各硬件接口技术和各个接口模块功效及工作过程,并具体叙述了程序各个模块。本系统是以单片机C语言来进行软件设计,指令实施速度快,可读性强。为了便于扩展和更改,软件设计采取模块化结构,使程序设计逻辑关系愈加简练明了。使硬件在软件控制下协调运作。其次叙述了部分程序步骤图和实现过程。本文撰写主导思想是软、硬件相结合,以硬件为基础,来进行各功效模块编写。最终对我所开发用单片机实现LCD液晶显示器控制原理设计思想和软、硬件调试作了具体叙述。二、系统总体方案及
4、硬件设计2.1系统框图本系统由电源部分、单片机最小系统部分、LCD12864显示电路部分、按键控制部分组成。其中,单片机最小系统部分包含晶振电路、复位电路。2.2单片机最小系统2.2.1、AT89S52单片机89S51各引脚功效介绍:1. VCC:2. 89S51 电源正端输入,接+5V。3. VSS:4. 电源地端。5. XTAL1:6. 单芯片系统时钟反相放大器输入端。7. XTAL2:8. 系统时钟反相放大器输出端,通常在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就能够动作了,另外能够在两引脚和地之间加入一 20PF 小电容,能够使系统更稳定,避免噪声干扰而死机
5、。9. RESET:10. 89S51重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上时间,AT89S51便能完成系统重置各项动作,使得内部特殊功效寄存器之内容均被设成已知状态,而且至地址0000H处开始读入程序代码而实施程序。11. EA/Vpp:12. EA为英文External Access缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部程序代码(存于外部EPROM中)来实施程序。所以在8031及8032中,EA引脚必需接低电平,因为其内部无程序存放器空间。假如是使用 8751 内部程序空间时,此引脚要接成高
6、电平。另外,在将程序代码烧录至8751内部EPROM时,能够利用此引脚来输入21V烧录高压(Vpp)。13. ALE/PROG:14. 端口3管脚设置:15. P3.0:RXD,串行通信输入。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上升时间不超出
7、1ms,就能够实现自动上电复位。 图2.1单片机复位电路2.2.3、时钟电路时钟是单片机心脏,单片机各功效部件运行全部是以时钟频率为基准,有条不紊一拍一拍地工作。所以,时钟频率直接影响单片机速度,时钟电路质量也直接影响单片机系统稳定性。常见时钟电路有两种方法:一个是内部时钟方法,另一个为外部时钟方法。本文用是内部时钟方法。电路图以下:图2.2晶振电路2.2.4LCD12864显示电路管脚名称及功效:管脚号管脚名称电平管脚功效描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7DB0为显示数据RS=“L”,表示DB7DB0为显示指
8、令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7DB0R/W=“L”,E=“HL”, DB7DB0数据被写到IR或DR6E(SCLK)H/L使能信号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背光
9、源负端(见注释3)电气参数:项目符号最小经典最大单位电源电压VDD-VSS4.755.05.25V液晶驱动电压VDD-VADJTa=0-11.0-11.5-12.0Ta=25-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地址计数器
10、(AC)到00H地址归位000000001X设定DDRAM地址计数器(AC)到00H,而且将游标移到开头原点位置;这个指令不改变DDRAM 内容显示状态开/关0000001DCBD=1: 整体显示 ONC=1: 游标ON B=1:游标位置反白许可进入点设定00000001I/DS指定在数据读取和写入时,设定游标移动方向及指定显示移位游标或显示移位控制000001S/CR/LXX设定游标移动和显示移位控制位;这个指令不改变DDRAM 内容功效设定00001DLXREXXDL=0/1:4/8位数据RE=1: 扩充指令操作RE=0: 基础指令操作设定CGRAM地址0001AC5AC4AC3AC2AC
11、1AC0设定CGRAM 地址设定DDRAM地址0010AC5AC4AC3AC2AC1AC0设定DDRAM 地址(显示位址)第一行:80H87H第二行:90H97H读取忙标志和地址01BFAC6AC5AC4AC3AC2AC1AC0读取忙标志(BF)能够确定内部动作是否完成,同时能够读出地址计数器(AC)值写数据到RAM10数据将数据D7D0写入到内部RAM (DDRAM/CGRAM/IRAM/GRAM)读出RAM值11数据从内部RAM读取数据D7D0(DDRAM/CGRAM/IRAM/GRAM)2.2.5、按键控制电路电路由三个独立按键开关组成,分别和单片机I/O相连,控制调整电路加、减和确定。
12、按键开关状态经过一定电路转换为高、低电平状态。按键闭合过程在对应I/O端口形成一个负脉冲。闭合和释放过程全部要经过一定过程才能达成稳定,这一过程是处于高、低电平之间一个不稳定状态,称为抖动。抖动连续时间常长短和开关机械特征相关,通常在5-10ms之间。为了避免CPU数次处理按键一次闭合,应采取方法消除抖动。本文采取是独立式按键,直接用I/O口线组成单个按键电路,每个按键占用一条I/O口线,每个按键工作状态不会产生相互影响。P3.0口表示下移功效键,当开关闭合时,控制显示器内容整体向下滚动。 P3.1口表示上移功效键,当开关闭合时,控制显示器内容整体向上滚动。 P3.2口表示右移功效键,当开关闭
13、合时,控制显示器内容整体向右移动。P3.3口表示左移功效键,当开关闭合时,控制显示器内容整体向左移动。按键控制电路三、 软件部分3.1、软件系统概论此设计是由单片机控制LCD显示系统,外设四个按钮来控制显示方法。对于按钮工作方法能够是中止也能够是查询,在此设计中所选择次序结构。用单片机 P3口低4来作为LCD显示控制端,即控制LCD使能端、读写控制揣、数据指 令选择端及两个选屏端。 对于此设计课题,因为要求是用12864显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码。所以,首先是经过一定软件如ZIMO等来获取你想要显示汉字编码代码。有了这款软件,就方便多了,只在要软件中打入你想要显示
14、汉字或是字符,它就会自动生成代码,使用起来很方便,而不需要人工去编写对应代码。开始显示图形检测按键显示对应内容。3.2、汉字显示对于此设计课题,因为要求是用12864显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码。所以,首先是经过一定软件如ZIMO等来获取你想要显示汉字编码代码。有了这款软件,就方便多了,只在要软件中打入你想要显示汉字或是字符,它就会自动生成代码,使用起来很方便,而不需要人工去编写对应代码。 因为此LCD显示器是被分为了两部分,即左半屏和右半屏,分别由CS1和 CS2来控制,两个半屏内存全部分别由X和Y两个地址来确定,X地址共64位,而Y地址两边各64位,一共128位
15、,所以有时候就称其为12864显示器。X地址共有8个值,从0到7,即每个值有8位,每显示一个字符要2个X值,而Y共128个值,分为两块即左右两块,分别从0到63,即每个值一位。每显示一个汉字要16个Y值,每显示一个字符要8个Y值。所以应该 对两半屏分别编程取显示地址。同时还得用一个显示子程序来显示显示地址中保留显示代码(汉字代码)。由此LCD显示时序图可知,在显示过程中还需要一定延时(不一样型号,延时时间是不一样)而且在显示前需将部分特定控制端置对应电平,比如说还全部输入之关需先把LCD总使能端打开,即置E端为高电平,然后应再 输入指令代码,对其进行相关设置。所以还需要一个合适延时子程序和输
16、入数据前准备程序。除了这些外,还应写一个初始化程序,用来对中止等部分程序所需要端口进行初始。对于开中止,应打开总中止EA和对应低级中止EX0和 EX1。再者就是两个中止程序,对于这两个中止程序比较简单,只需对要实施相关控制 (即常规显示和滚动显示)所需要每件进行满足即可。最终就是主函数,它关键功效就是判定中止是否来临,来临了,然后判定是外部中止0还是外部中止1,然后依据是0还是1来实施对应程序,选择对应显示方法。当四行全显示完了后,中止失效,即不管你是否还按键,全部不再见对显示造成影响。显示出来内容将一直保持。3.3、图片显示显示图片和显示汉字类似,全部是先经过字模软件先取模,然后再显示。3.
17、4、上下移动由此可见12864显示起始行为0xc0,有规律改变起始行位置,就能够改实现上下移效果。代码以下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,uc
18、har page,uchar column,uchar *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,xi
19、ao);Display_HZ(num+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
20、);Display_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语言极其关键,毕竟部分东西不是你想做就能做出来,不过仿真还是能做。而且部分课设方法能够利用到实际问题处理当中,让我们处理事情愈加有条理,思绪愈加清楚明了,发觉、提出、分析、处理问题和实践能力提升全部将受益和我在以后学习、工作、和生活中。经过此次学习,我将愈加努力学好专业知识,并将所学东西利用到实际生活当中,让自己有更深层次认识和见解。在生活中要和同学愈加友好相处,让知识相互碰撞产生新火花。五、 参考文件1 李广弟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 LCD 显示 系统 专业课程 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。