基于12864的模拟电子钟单片机课程设计.docx
- 文档编号:10328453
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:49
- 大小:471.72KB
基于12864的模拟电子钟单片机课程设计.docx
《基于12864的模拟电子钟单片机课程设计.docx》由会员分享,可在线阅读,更多相关《基于12864的模拟电子钟单片机课程设计.docx(49页珍藏版)》请在冰豆网上搜索。
基于12864的模拟电子钟单片机课程设计
《单片机技术》课程设计说明书
基于12864的模拟电子钟
摘要
单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,单片机都起到了举足轻重的作用。
所以单片机技术也日趋成熟。
单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。
它体积小,成本低,功能强。
而52系列单片机是各单片机中最为典型和最有代表性的一种。
此次单片机课程设计是通过利用52单片机来完成对电子钟的设计,且由12864液晶显示屏来显示时钟信息,并带有DS18B20输出的实时温度显示。
此次课程设计达到了学习、了解单片机相关指令在各方面的应用,以及初步了解开发软、硬件的知识。
关键词:
单片机;12864液晶屏;DS18B20;实时温度
ABSTRACT
MCUapplicationtechnologyrapiddevelopmentthroughoutallareasoflifewearenow,themissilefromthenavigationdevicetocontrolavarietyofinstrumentsontheplane,networkcommunicationsanddatatransferfromthecomputertothereal-timecontrolanddataprocessingindustrialautomationprocess,andweliveinavarietyofwidelyusedsmartICcards,electronicpets,MCUhaveplayedapivotalrole.
Somicrocontrollertechnologymatures.MCUisasetofCPU,RAM,ROM,timing,counting,andmultipleinterfacesinonemicrocontroller.Itssmallsize,lowcost,highfunctionality.The52Seriessingle-chipmicrocontrollerisallthemosttypicalandmostrepresentativeone.
Thecourseisdesignedbytheuseofsingle-chipmicrocontroller52tocompletetheelectronicclockdesign,andthe12864LCDscreentodisplaytheclockinformationandreal-timetemperaturedisplaywithDS18B20output.ThecurriculumdesignedtomeetthelearningandunderstandingofMCU-relatedinstructioninallaspectsoftheapplication,aswellasapreliminaryunderstandingofthedevelopmentofsoftwareandhardwareknowledge.
KeywordsMCU;12864LCDscreen;DS18B20;real-timetemperature
第一章绪论
随着社会的发展,趣来趣多的地方需要应用显示功能,各种数字显示仪器中的显示、广告牌、数码产品等,传统的数码管显示已经远远不能满足各行各业的需求。
基于单片机的LCD显示是一种用单片机来控制的一种显示系统,它不仅能显示种各数字、字母、还能显示各种字体的汉字以及一些简单的图象,使用起来极为方便,只要通过对单片机写入一定的程序来控制LCD的显示即可完成,根据程序的不同而产生不同不效果以满足各种不同需求。
1.112864液晶显示概述
液晶(LiquidCrystal),简称LC是一种高分子材料因其特殊的物理、化学、光学特性而被广泛用于轻薄型的显示技术上。
液晶的组成物质是一种有机化合物也就是以碳中心所构成的化合物同时具有两种物质的液晶是以分子间的力量组合的,它们特殊光学性质,又对电磁场敏感,极具实用价值。
1.212864的特点
LCD由两块玻璃板构成,厚约1mm,其间由包含有液晶材料的5μm均匀间隔隔开。
因为液晶材料本身并不发光,所以在显示屏两边都设有作为光源的灯管,而在液晶显示屏背面有一块背光板(或称匀光板)和反光膜,背光板是由荧光物质组成的可以发射光线,其作用主要是提供均匀的背景光源。
背光板发出的光线在穿过第一层偏振过滤层之后进入包含成千上万液晶液滴的液晶层。
液晶层中的液滴都被包含在细小的单元格结构中,一个或多个单元格构成屏幕上的一个像素。
在玻璃板与液晶材料之间是透明的电极,电极分为行和列,在行与列的交叉点上,通过改变电压而改变液晶的旋光状态,液晶材料的作用类似于一个个小的光阀。
在液晶材料周边是控制电路部分和驱动电路部分。
当LCD中的电极产生电场时,液晶分子就会产生扭曲,从而将穿越其中的光线进行有规则的折射,然后经过第二层过滤层的过滤在屏幕上显示出来。
12864液晶具有功耗低、体积小、重量轻、超薄等许多其他显示器无法比拟的优点近几年来被广泛用于单片机控制的只能仪器、仪表和低功耗电子产品中。
1.312864液晶的工作原理
液晶显示屏中的业态光电显示材料,利用液晶的电光效应把电信号转换成数字符、图像等可见信号。
如图1-1,液晶正常情况下,其分子排列很有秩序,显得清澈透明,一旦加上直流电场后,分子的排列被打乱,一部分液晶变的不透明,颜色加深因而能显示数字和图像。
管脚一共18个。
CS1左半屏片选端,CS2右半屏片选端;V0液晶显示驱动电压,通过一个电位器接到VCC;RS数据指令选择信号,H为数据,L为指令,也叫D/I;R/W读写选择信号,H为读,L为写,。
E为LCD使能端,R/W为L时,E信号下降沿锁存DB7-DB0;R/W为H时,E为H,DDRAM数据读到DB7-DB0。
DB0-DB7数据传输端口。
RST复位信号。
-VOUT和V0为液晶显示驱动电压。
12864是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。
可完成图形显示,也可以显示8×4个(16×16点阵)汉字。
图1-112864LCD液晶显示屏
1.4基于单片机控制液晶显示系统的设计任务摘要
设计一款基于STC89C52RC单片机控制的12864液晶显示图片和汉字/数字系统。
设计目的本课题设计一方面是为了巩固对单片机课程学习加强练习并熟练掌握proteus软件的使用另一方面本课题要求将硬件和软件部分结合起来,以锻炼自己分析问题的综合能力。
第2章总体方案论证与设计
本系统采用单片机AT89C51为LCD显示屏的控制核心。
下面简要介绍方案的选择与实现及总体硬件组成框图
2.1方案的设计
对于此设计课题,因为要求是用128×64的显示器来显示汉字,而汉字及字符(如空格等)是需要显示代码的。
由此LCD的显示时序图可知,在显示过程中还需要一定的延时(不同的型号,延时时间是不同的)并且在显示前需将一些特定的控制端置相应的电平,比如说还所有输入之关需先把LCD总使能端打开,即置E端为高电平,然后应再输入指令代码,对其进行相关的设置。
所以还需要一个适当的延时子程序以及输入数据前的准备程序。
除了这些外,还应写一个初始化程序,用来对中断等一些程序所需要的端口进行初始。
对于开中断,应打开总中断EA以及相应的低级中断EX0和EX1。
再者就是两个中断程序,对于这两个中断程序比较简单,只需对要执行相关控制所需要的每件进行满足即可。
最后就是主函数,它的主要功能就是判断中断是否来临,来临了,然后判断是外部中断0还是外部中断1,然后根据是0还是1来执行相应的程序,选择相应的显示方式。
2.2方案的选择
本方案选择STC89C52RC为核心控制元件,以128×64LCD为显示元件,设计制作了一个日常生活中用到的LCD显示系统。
用STC89C52RC单片机通过写入相应的程序,控制12864LCD显示器显示出相应的文字,P0.0~P0.7分别接128×64的DB0~DB7数据端口P2.6接LCD的读写使能端E,P2.5接LCD的读写端口R/W,P2.4接数据命令选择口RS,XTAL1、XTAL2接震荡电路,外设三个按钮来控制显示时间的调节,对于按钮的工作方式可以是中端也可以是查询,在该方案中选择定时器0外部中断和定时器1外部中断,通过串行输入和串行输出实现控制,用单片机的P2口的低五位来作为LCD的显示控制端,即控制LCD使能端,读写控制端,数据指令选择端及两个选屏端。
RST接复位电路,EA接高电平,LCD上的VO、RST接电源+5V,GND接地。
本设计方案中另一个功能就是使用DS18B20对实时温度进行采集显示。
用编译软件KeiluVision4编辑C源程序,经过编译连接生成十六进制文件,把生成的十六进制文件下载到单片机中。
2.3总体硬件组成框图
单片机控制液晶显示屏系统总共可分为六个环节,分别是单片机控制系统、12864字符显示模块、控制按键电路模块、晶振电路模块、复位电路模块和DS18B20实时温度检测模块。
通过这六个模块的协调工作就可以完成相应的液晶屏控制和显示功能。
这六个模块的相互连接如图2-1:
DS18B20
图2-1总体硬件组成框图
第3章系统硬件设计
本硬件电路主要由四大模块组成:
主芯片模块;晶振和复位电路模块;控制接钮模块;显示电路模块。
3.1主芯片模块
XTAL1:
接外部晶振和微调电容的一端。
在片内,它是振荡电路反相放大器的输入端。
在采用外部时钟时,该引脚输入外部时钟脉冲。
XTAL2:
接外部晶振和微调是容的一端。
要检查89C52的振荡电路是否正常工作,可以用示波器查看XTAL2端是否有脉冲信号输出。
RST:
89C52的复位信号输入引脚,高电平有效。
当此输入端保持两个机器周期的高电平时,就可以完成复位操作。
ALE:
允许地址锁存信号端。
当89C52上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率的1/6。
CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。
PSEN:
访问外部程序存储器选通信号,低电平有效。
当89C51由片外程序存储器取指令时,每个机器周期两次PSEN有效。
但在此期间内,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EA:
该引脚为低电平时,则读取外部的程序代码来执行程序。
P0、P1、P2、P3:
8位并行输入输出口。
每个端口都是8位准双向口,共占32只引脚。
每一条都能独立地用作输入或输出。
每个端口都包括一个锁存器、一个输出驱器和输入缓冲器。
作输出时,数据可以锁存;作输入时,数据可以缓冲。
图如图3—1。
图3-1STC89C52RC引脚图
3.2晶振电路
89C52芯片内部有一个高增益反相放大器,用于构成振荡器。
如图3—2,反相放大器的输入端为XTAL1,输出端为XTAL2,两个跨接石英晶体及两个电容就可以构成稳定的自激振荡器。
电容器通常取30pF左右,可以稳定频率并对振荡频率有微调作用XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
一个晶体振荡器,接在单片机内部的振荡电路上,两个电容是起振电容,频率越高,应该越小。
.
图3—2晶振电路
3.3复位电路模块
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
如上图3-3所示复位电路,由于复位时高电平有效,当刚接上电源的瞬间,电容C1两端相当于短路,即相当于给RESET引脚一个高电平,等充电结束时(这个时间很短暂),电容相当于断开,这时已经完成了复位动作。
一般分为手动复位和上电复位两种:
一种是手动复位的复位电路就是当按键按下去的时候,即给予一个高电平,同样可以完成复位动作。
另一种是上电复位,可以理解成加上电源就复位了,至于其他复位当然还有很多,不同的系统对复位的准确性和可靠性要求不一样。
图3-3复位电路
3.4控制按钮模块
本模块采用六个按钮进行控制,通过串行口输入输出连接,当S3按键按动一次后,方可进行对圆盘模拟时钟的时针进行一格进位;当S2按键按动一次后,方可进行对圆盘模拟时钟的分针进行一格进位;当S1按键按动一次后,方可进行对圆盘模拟时钟的秒针进行一格进位;每按键一次,所连引脚出现下降沿,此起定时器外部中断0或定时器外部中断1,当出现定时器外部中断0或定时器外部中断1时,则产生一次加一的现象,常规显示出现,图如图3-4。
图3-4按键控制电路
3.5DS18B20温度采集电路
DS18B20引脚功能:
其中一脚GND电压地;二脚DQ单数据总线;三脚VDD电源电压。
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
DS18B20的主要特征:
全数字温度转换及输出;先进的单总线数据通信;最高12位分辨率,精度可达土0.5摄氏度12位分辨率时的最大工作周期为750毫秒;检测温度范围为–55°C~+125°C(–67°F~+257°F);内置EEPROM,限温报警功能;64位光刻ROM,内置产品序列号,方便多机挂接;多样封装形式,适应不同硬件系统。
图3-518B20与单片机的连接
3.6显示电路模块
P0口提供指令和数据信号,由DB0到DB7输入,DB0到DB7为数据输入输出端和指令的输入端。
P2口低5位提供使能及一些控制信号。
其中E为使能信号,高电平有效,当此引脚出现高电平时,整个显示器被使能,只有当显示器使能时,其它的此此脚才能工作。
R/W为读写控制信号。
当此引脚为高电平时,为读功能,为低电平时为写功能。
在读时只可以读数据,而在写时既可以写数据也可以写指令。
RS为数据命令选择端,当此引脚为高电平时,写入的是数据,当此引脚为低电平时,写入的是指令。
CS1和CS2为片选信号,因为此显示器的显示屏被分为左右两块,分别由CS1和CS2来控制,当CS1为高电平,CS2为低电平时,就表示选择了左半屏,当CS1为低电平,CS2为高电平时,表示选择了右半屏。
左右半屏在物理上是相近的。
图如3-6。
图3—612864LCD液晶显示电路
第4章系统的软件设计
4.1主程序设计
LCD液晶显示屏进行初始化,由STC89C52RC控制液晶显示器模块,写入程序,开始显示文字。
其主程序流程如图4-1所示。
图4-1主程序流程图
4.2文字显示
液晶显示驱动控制器12864,在液晶屏上横向8个点为1个字节数据,则每一个汉字由16×16点阵字模组成。
由于本次课程设计是采用的带字库12864液晶屏进行制作的,所以完全通过程序对汉字直接进行输出显示。
第5章系统调试与测试结果分析
5.1使用的仪器仪表
万用表一块;
逻辑分析仪一台;
示波器一台。
5.2系统调试
5.2.1硬件调试
电路调试过程中遇到的问题和解决办法:
(1).整个系统通电一秒后自动短路,检查所有线路无误。
就对每一芯片逐个排查,最后发现是DS18B20在焊接时温度过高被烧毁了,导致整个电路短路。
(2).液晶显示出现问题,检查电路发现P0口没有加上拉电阻,液晶显示的亮度不够,加上上拉电阻能正常显示。
5.2.2软件调试
显示子程序的调试在调试显示子程序时,由于调用的延时时间不够,液晶显示屏上显示不稳定,出现闪烁现象,且闪烁频率不一致,通过多次调试,改变延时时间,最终数字能稳稳地显示在显示屏上。
5.3测试结果
本实验要求就是单片机驱动液晶显示器显示相应的汉字和数字,并且能够实现时、分、秒的调节,所写程序是对单片机上电屏幕随即显示“湖南工学院”字样的开机画面。
然后开始显示时间信息,程序对时间的显示是在屏幕上分为左右两部分的,屏幕左边是显示的模拟圆盘时钟,时分秒针显示。
右边部分上方是同步显示左边圆盘时钟所对应的数字时间;而下方是显示当前DS18B20实时采集的实时温度。
并且可通过三个按钮完成对时、分、秒的设置,最终实验结果显示如附录成品效果图,达到了本课设的要求和目的,完成良好。
第六章总结
STC89C52RC单片机是集CPU、RAM、ROM、定时、计数和多种接口于一体的微控制器。
它体积小、成本低、功能强、可以很好地实现智能控制。
12864LCD是一种液晶显示器,可以通过液晶和彩色过滤器过滤光源,在平面面板上显示简单的图像、汉子和数字等,相对于LED数码管或点阵而言,它占用空间小低功、耗低辐射、无闪烁、降低视觉疲劳、更加便于使用。
这次课程设计通过对单片机及LCD的结合使用。
从而达到对软件及硬件电路学习、设计、开发、调试等能力。
二者的结合使用,大大提高了其应用的广泛性及操作的简单灵性。
本课程设计是以STC89C52RC单片机为控制核心,在12864LCD液晶显示屏显示时间。
单片机控制液晶显示屏系统总共可分为六个环节,分别是单片机控制系统、12864字符显示模块、控制开关模块、晶振控制模块、复位电路模块和DS18B20温度采集模块。
通过这六个模块的协调工作就可以完成相应的液晶屏控制和显示功能。
通过这次课程设计了解了12864液晶显示屏的原理及结构,12864LCD带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其显示分辨率为128×64,内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行16×16点阵的汉字。
也可完成图形显示。
低电压低功耗是其又一显著特点。
经过这一次的课程设计,在这过程中我虽然走了些弯路,但是通过努力,最终完成了任务。
从中我学到了很多,要认真仔细才能有结果。
任何大问题,在一步一步细化之后,解决起来就轻松得多了。
我相信只要付出了就会有收获。
无论什么事情,只有当你用心去做了之后你才会发现它的真实意义所在。
我觉得这一次实习是非常有意义的,不仅提高了专业素养,还培养了我们的合作精神。
我要把握每一次学习的机会,认真对待,为以后的就业及更深层次的发展添砖加瓦。
参考文献
[1]胡乾李.光斌.李玲.喻红.单片微型计算机原理与应用[M].华中科技大学出版社.1996.
[2]焦丽鹃.李春旭.郭学良.液晶显示器在人机交互系统中的应用[J].信息技术,2006年11期.
[3]刘树中.孙书鹰.春平.单片机和液晶显示驱动器串行接口的实现[J].微计算机信息.2007第1-2期LCD显示机理.
[4]刘勇.数字电路[M].电子工业出版社,2004.
[5]沈红卫.单片机应用系统设计实例与分析[M].北京:
北京航空航天大学出版社.2003
[6]李光飞.单片机课程设计实例指导,北京:
北京航空航天大学出版社.2004
[7]楼然苗,李光飞.51系列单片机设计实例[M].北京航空航天大学出版社,2003.
[8]朱定华,戴汝平.单片微机原理与应用[M].清华大学出版社,2003.
[9]胡汉才.单片机原理与接口技术[M].清华大学出版社,2004.
[10]李朝青.单片机原理及接口技术[M].北京:
北京航空航天大学出版社,2006.
[11]侯玉宝等.基于protues的51系列单片机设计与仿真[M].北京:
电子工业出版社,2008.
[12]朱清慧等.Protues教程——电子线路设计、制版与仿真[M].北京:
清华大学出版社,2008.
附录一·程序
#include
#include
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
#definedelayNOP();{_nop_();_nop_();_nop_();_nop_();};
#definepi3.1415926
/*************12864LCD引脚定义*************/
#defineLCD_dataP0//数据口
sbitLCD_RS=P2^4;//寄存器选择输入
sbitLCD_RW=P2^5;//液晶读/写控制
sbitLCD_EN=P2^6;//液晶使能控制
sbitLCD_PSB=P2^1;//串/并方式控制
sbitLCD_RST=P2^3;//液晶复位端口
sbitk1=P1^0;//按键
sbitk2=P1^1;
sbitk3=P1^2;
sbitk4=P1^3;
sbitDQ=P2^7;//数据口defineinterface
uchara,b,c,count,num;
ucharflag=0;//24小时显示标志
uinttemp;
uchartabbjsj[]="北京时间";
uchartabsswd[]="实时温度";
uchartab[]="01:
00:
00";
ucharcodetable[]={
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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 12864 模拟 电子钟 单片机 课程设计