用1602LCD设计的可调式电子钟课程设计报告说明书_第1页
用1602LCD设计的可调式电子钟课程设计报告说明书_第2页
用1602LCD设计的可调式电子钟课程设计报告说明书_第3页
用1602LCD设计的可调式电子钟课程设计报告说明书_第4页
用1602LCD设计的可调式电子钟课程设计报告说明书_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、-. z.- - - .可修编 .单片机应用课程设计说明书用1602LCD设计的可调式电子钟-. z.目录TOC o 1-2 h u HYPERLINK l _Toc5031114761 概述 PAGEREF _Toc503111476 h 2HYPERLINK l _Toc5031114772 课题研究背景与意义 PAGEREF _Toc503111477 h 2HYPERLINK l _Toc5031114782.1 课题研究背景 PAGEREF _Toc503111478 h 2HYPERLINK l _Toc5031114792.2 课题研究意义 PAGEREF _Toc5031114

2、79 h 2HYPERLINK l _Toc5031114803 系统方案设计与主要设计工作 PAGEREF _Toc503111480 h 2HYPERLINK l _Toc5031114813.1 设计任务 PAGEREF _Toc503111481 h 2HYPERLINK l _Toc5031114823.2 功能要求说明 PAGEREF _Toc503111482 h 2HYPERLINK l _Toc5031114834设计课题总体方案 PAGEREF _Toc503111483 h 2HYPERLINK l _Toc5031114844.1硬件设计方案 PAGEREF _Toc5

3、03111484 h 2HYPERLINK l _Toc5031114854.2系统软件设计 PAGEREF _Toc503111485 h 2HYPERLINK l _Toc5031114865. 软件仿真及实物设计调试 PAGEREF _Toc503111486 h 2HYPERLINK l _Toc5031114875.1PROTUES仿真软件介绍 PAGEREF _Toc503111487 h 2HYPERLINK l _Toc5031114885.2仿真运行结果说明 PAGEREF _Toc503111488 h 2HYPERLINK l _Toc5031114895.3实物设计结果

4、与调试 PAGEREF _Toc503111489 h 2HYPERLINK l _Toc5031114906课程设计实验总结 PAGEREF _Toc503111490 h 2HYPERLINK l _Toc503111491参考文献 PAGEREF _Toc503111491 h 2HYPERLINK l _Toc503111492附录 PAGEREF _Toc503111492 h 2HYPERLINK l _Toc503111493附录1:程序清单 PAGEREF _Toc503111493 h 2HYPERLINK l _Toc503111494附录2:系统电路原理图 PAGEREF

5、 _Toc503111494 h 2HYPERLINK l _Toc503111495附录3:元器件清单 PAGEREF _Toc503111495 h 2-. z.用1602LCD设计电子钟1 概述数字钟是采用数字电路实现对时、分、秒数字显示的计时装置。数字钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进展显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广阔消费的喜爱,因此

6、得到了广泛的使用。2 课题研究背景与意义2.1 课题研究背景20世纪末,电子技术获得了飞速的开展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的开展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。目前,单片机正朝着高性能和多品种方向开展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面开展。下面是单片机的主要开展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大局部功能,现在已能用单片机通过软件方法来实现了。这种

7、软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。2.2 课题研究意义以单片机作为为电子钟控制器,可实现编程控制,更加灵活方便,而且可以实现更多的功能。而通过分立器件搭建的驱动电路,不仅降低了设计本钱,而且节约了维修本钱,提高了用户的经济利益。控制器的过流保护采用了软件保护和硬件保护相结合的方法,大大提高了其平安性能。远程控制单元的参加,扩大了无刷电机控制器的应用*围,方便了控制与管理。编写适宜的算法程序,将会使电机的控制更加快速、稳定和平安可靠。3 系统方案设计与主要设计工作3.1 设计任务一设计题目:用1602LCD设计电子钟二设计目的与任务:1)选取STC89C52单片机

8、作为核心控制芯片,绘制STC89C52单片机最小系统及相应外设单元1602LCD电路原理图;2)基于电路原理图,选取万用板作为基板制作单片机实物;3)编写C源程序文件,用1602LCD实现电子钟显示。3.2 功能要求说明此多功能数字电子钟采用LCD1602显示时间。电子钟一上电即可显示。用四个调整按键调整时间,分别为K1、K2、K3、K4,其中K1键为功能选择键,按一下调节秒,两下是调节分钟,三下是调节闹钟小时;K2为数值加一键;K3为数值减一键。K4为确认键。4设计课题总体方案数字电子钟是一个将时,分,秒显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另

9、外还有校时功能。因此,一个根本的数字钟电路主要由显示器时,分,秒和单片机,还有校时电路组成。8个数码管的段选接到单片机的P0口,位选接到单片机的P2口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入秒单元,秒单元采用60进制计数器,每累计60秒发出一个分脉冲信号,该信号将作为分单元的时钟脉冲。分单元也采用60进制计数器,每累计60分钟,发出一个时脉冲信号,该信号将被送到时单元。时单元采用24进制计时器,可实现对一天24小时的累计。显示电路将时、分、秒通过LCD1602显示器显示出来。图4-1 设计总原理图4.1硬件设计方案此设计的硬件采用STC89C52芯片及LCD602显示器,独立

10、式按键组成的多功能电子钟。设计中是采用单片机的内部定时器定时,硬件组成框图如图4.1所示:图4-2 程序框图本文可调时钟设计原理主要利用STC89C52单片机,由单片机的P0口控制数码管的位显示, P2口控制数码管的段显示,P1口与按键相接用于时间的校正。在设计中引入电源电路,外部电源系统产生+5V电压,用于给CPU及显示电路提供工作电压,这是数字时钟正常工作时的总电压。整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号送入秒计数器,秒计数器采用60进制计数器,每累计60秒发出一个分脉冲信号,该信号将作为分计数器的时钟脉冲。分计数器也采用60进制计数器,每

11、累计60分钟,发出一个时脉冲信号,该信号将被送到时计数器。时计数器采用24进制计时器,可实现对一天24小时的累计。显示电路将时、分、秒计数器的输出,通过LED液晶显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对时、分、秒显示数字进展校对调整。该多功能数字电子钟单片机由最小系统、按键模块、LCD显示模块、USB接口电路模块组成,各模块的功能如下:单片机最小系统STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改良使得芯片具有传统51单片机

12、不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MA*810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断构造兼容传统51的5向量2级中断构造,全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停顿工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振

13、荡器被冻结,单片机一切工作停顿,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。LCD显示电路LCD1602是一种工业字符型液晶,能够同时显示16*02即32个字符。LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进展控制,有电就有显示,这样即可以显示出图形。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由假设干个5*7或者5*11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形用自定义CG

14、RAM,显示效果也不好。1602LCD是指显示的内容为16*2,即可以显示两行,每行16个字符液晶模块显示字符和数字。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全一样的,因此基于HD44780写的控制程序可以很方便地应用于市面上大局部的字符型液晶。图4-3 LCD1602显示仿真电路3USB接口电路接上一个电容组成的滤波电路和电源显示灯组成一个电源接口,为单片机工作供电。4晶振电路和复位电路STC89C52引脚*TAL1和*TAL2与晶体振荡器及电容C2、C3按图4-2-3所示方式连接。晶振、电容C2C3及片内与非门作为反应、放大元件构成了电容三点式振荡器,振荡信号频率与

15、晶振频率及电容C2、C3的容量有关,但主要由晶振频率决定,*围在033MHz之间,电容C2、C3取值*围在530pF之间。根据实际情况,本设计晶振选择频率为12MHZ,电容选择30pF如图4-2-3。经计算得单片机工作胡机器周期为:12112M=1us。振荡器的振荡信号从*TAL2端输入到片内的时钟发生器上。时钟发生器是个二分频的触发器,将振荡器的信号频率fosc除以2,向CPU提供两相时的时钟信号。复位电路时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开场进展初始复位。图4-4 晶振和复位电路5按键模块用四个调整按键调整时间,分别为K1、K2、K3、K4,其中K1键为功能选

16、择键,按一下调节秒,两下是调节分钟,三下是调节闹钟小时;K2为数值加一键;K3为数值减一键。K4为确认键。图4-5 按键电路4.2系统软件设计本系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功能程序、校对设置程序、EEPROM读写程序等组成。主要程序设计流程图如下所示:图4-6 主要程序设计流程图4.3 系统程序流程图在编程上,首先进展了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开场定义了一组固定单元用来储存计数的时.分.秒,在显示初值之后,进入主循环。在主程序中,对不同的按键进展扫描,实现时间调整,复位清零等功能,系统总流程图如下列图4-3。图4-7 按键处

17、理流程图时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显示,最后是时十位显示。如图4-8所示:图4-8 时钟显示顺序5. 软件仿真及实物设计调试5.1PROTUES仿真软件介绍Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比方MCS-51系列、PIC系列等等,以及单

18、片机外围电路,比方键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。5.1电子钟系统PROTUES仿真用PROTUES软件,根据数字电子钟的原理图,画出仿真图,得到的所示。图5.1 仿真图5.2仿真运行结果说明电子时钟主要的设计要求是能够实现时钟的一般功能,以及包括时间的调整功能,这个基于单片机的电子时钟根本上实现了上述功能,能够通过时间调整电路对时间进展调整以及复位。翻开时的正常显示仿真:图5.2 LCD1602仿真结果图1图5.3 LCD1602仿真结果图25.3实物设计结果与调试图5.4 实物调试图1图5.5 实物调试图26课程

19、设计实验总结通过这次设计我发现,只有理论水平提高了;才能够将课本知识与实践相结合,理论知识效劳于教学实践,以增强自己的动手能力。这个设计十分有意义,我获得很深刻的经历。通过这次设计,我知道了理论和实际的距离,也知道了理论和实际相结合的重要性,也从中获得了很多书本上无法得知的知识。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的稳固,又有助于带动实践,解

20、决实际问题,加强我们的动手能力和解决问题的能力。这次专业课程设计总体来说还算是成功的,但我也发现了自己许多的错漏和缺乏之处。最简单的程序没写好就想着去写复杂的程序,做事还是缺乏耐心和信心,当有时遇到问题时,总是无从下手,总想让教师解决问题,对于课本上的知识不能很好的组织到一起,不会灵活的运用,总是对书本知识有着模糊的记忆,不能掌握扎实。在编写个功能的程序时,特别是后来增添更复杂的程序时,明显地显示出自己的缺乏。通过本次的实训,让我了解到了自己的缺乏,需要更好的掌握本门课程,书本上的知识是根底,想要更好的掌握就要多动手实践与动脑思考,这样才会到达事半功倍的效果。此设计是在我亲爱的蒋善超教师的精心

21、指导下完成的。蒋教师严谨的教学作风和孜孜不倦的工作态度一直鼓励着我,使我在学习中遇到困难时能尽最大努力克制,不断进步,在理论和实践方面的能力都获得了很大的提高。四年大学生活中,教师们给了我很多指导和支持。他们严谨的治学,优良的作风和敬业的态度,为我树立了为人师表的典*。通过这次课程设计,本人不仅加强了自己对所掌握的知识的稳固和进一步理解,同时对自己设计进展了一次全面的检验和提升。设计过程中丰富了自己的知识,积累了珍贵的设计经历,获得了一定的设计和能力,能承当一些的设计工作;同时也于此,发现自己还存在不少的知识缺陷,懂得自己要想成为一个出色的人,我就应该不断地努力学习知识,充实自己的头脑。通过这

22、次课程设计,让我复习了很多学过的旧知识,同时锻炼了自己的动手能力和查阅资料。尤其是解决在实际中解决排查问题的能力。由于本次实训考虑到实训时间短,实训的本钱低,还有所学的知识不完整等。这次的设计有很多的缺乏,和市场上的产品有一定的差距,例如:电子时钟还可以做到秒表计时,闹钟提示等功能。参考文献1 *兰红.单片机原理及应用.:机械工业,2012.72 牛昱光. 单片机原理与接口技术M. :电子工业,2008. 3 蒋力培. 单片机微机系统实用教程M.:机械工业, 2007.附录附录1:程序清单#include#define uint unsigned int#define uchar unsign

23、ed charsbit rs=P20; /定义液晶显示器控制端口sbit rw=P21;sbit en=P22;sbit s1=P14; /定义按键控制sbit s2=P15;sbit s3=P16;sbit s4=P17;uchar shi,fen,miao,ri,yue,nian;uchar code table= 2018:01:05;uchar code table1= 00:00:00;uchar num,num1,count;uint i,sh,ge,s,g;void Delay(uchar time) /延时 uint j; for(;time0;time-) for(j=0;j

24、125;j+); void write_(uchar ) /写指令函数 en=0; rs=0; Delay(5); P0=; / Delay(5); en=1; /高脉冲 Delay(5); en=0;void write_data(uchar dat) /写数据函数 en=0; rs=1; Delay(5); P0=dat; Delay(5); en=1; Delay(5); en=0;void init() /初始化 en=0; rw=0; write_(0*38);/设置16*2显示,5*7点阵,8位数据接口 write_(0*0c);/设置开显示,不显示光标D=1:显示开,D=0:显示

25、关,C=1:光标显示,C=0:/光标不显示。B=1:光标闪烁,B=0:光标不闪烁。/说明:这里的设置是显示开,不显示光标,光标不闪烁,设置字为0*0c。 write_(0*06);/写一个字符后地址指针加1I/D=1:写入新数据后光标右移。I/D=0:/写入新数据后光标左移。S=1:显示移动。S=0:显示不移动。 write_(0*01);/显示清零,数据指针清零 for(i=0;i(sizeof(table)-1);i+) /第一行写sizeof判断数据类型长度符的关键字 write_(0*80+i); /找地址 write_data(tablei); /写数据 for(i=0;i(size

26、of(table1)-1);i+) /第二行写 write_(0*80+0*40+i);/写指令 P0= write_data(table1i); miao=59; fen=59; shi=23; ri=1; yue=1; nian=2018; TMOD=0*01; /time0作为定时器工作在模式1下 TH0=(65536-50000)/256; TL0=(65536-50000)%256;/ 中断20次为1s EA=1; /开启总中断 ET0=1; /开启time0中断 TR0=1; /启动time0void write_sfm(uchar add,uchar num) /时分秒函数 sh

27、=num/10; /别离出十位 ge=num%10; /别离出个位 write_(0*80+0*40+add); /第二行数据指针位置调整 write_data(0*30+sh); /更改显示数据的十位 0 write_data(0*30+ge); /更改显示数据的个位void timer0() interrupt 1 /time0中断 TH0=(65536-50000)/256; /重装初始值 TL0=(65536-50000)%256; count+; if(count=20) /20次到则满一秒 count=0; miao+; if(miao=60) miao=0; fen+; if(f

28、en=60) fen=0; shi+; if(shi=24) shi=0; write_sfm(4,shi); write_sfm(7,fen); write_sfm(10,miao); void keyscan() /键盘扫描 if(s1=0) /按下S1 Delay(5); if(s1=0) num1+; while(!s1);/等待释放 if(num1=1) TR0=0; /关中断 write_(0*0e); /显示光标,不闪烁 write_(0*80+0*40+0*0b); /数据指针移动到秒的个位处 write_(0*0f);/显示光标,闪烁 if(num1=2) write_(0*80+0*40+0*08);/指针移到到分钟的个位处 if(num1=3) write_(0*80+0*40+0*05);/指针移到到小时的个位处 if(num1=4) num1=0; /清零 write_(0*0c); /重新显示 TR0=1; /重新启动计时 if(num1!=0) /按下S2则选择时/分/秒加

温馨提示

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

评论

0/150

提交评论