找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1743|回复: 0
收起左侧

基于单片机的电子钟软件设计

[复制链接]
ID:466720 发表于 2019-1-11 21:25 | 显示全部楼层 |阅读模式
  • 设计思路
1.1选题的意义和背景
单片机自问世以来,就以其高性能、低成本的特点受到人们的欢迎,广泛应用于各个行业,目前单片机的应用已渗透到我们生活的各个领域,如手工业,建造业等。其应用领域也在不断得扩展。在电子时钟未出现之前,人们采用石英钟,但这种石英钟在夜间的时候无法看到时间,所以电子时钟的出现为人们的生活提供了极大的便利,得到了社会的欢迎,在社会上占有相当一部分市场。而利用单片机功能集成化高,造价便宜等相关特点,作为计时的工具,它要保证计时误差在合理的范围内,由于该作品不需要用到精确计时等科研方面,所以可以采用简单的微型计算机进行设计。如今,计算机领域突飞猛进的发展,使得一些电子元器件的应用普遍到各个角落。综合上述优点,使用微型计算机是一种可靠方式。
我们小组在经过讨论相关文献资料,反复推敲后,决定利用所学知识,制作一个单片机电子时钟。
1.2设计任务与要求
基于本学期所学的51单片机的定时器计时进行设计,通过编程控制51单片机内部的定时器进行计时,并通过Lcd1602液晶显示屏反馈所记录下的时间和日期,时间和日期可以通过矩阵键盘进行修改,该作品因为没有用到外接模块的使用所以无需涉及到外部电路的连接,没用使用DS1302时钟芯片,不用掉电保存。
1.3设计目的
(1)通过对keil软件的多次应用,编写程序,巩固了本学期所学的知识,提高分析程序的能力。
(2)对STC89C52单片机内部定时器的相关使用方法更加熟悉。
(3)熟悉LCD1602液晶显示屏的使用方法。
(4)学会利用Proteus仿真软件对设计的电路进行仿真,验证电路功能是否正确,使设计更加简便。
1.4总体设计方案
通过分析可以知道,所要得到的时间信息为时、分、秒、年、月、日。我们可以通过定时器计时的方式,秒位每秒加一,到60后归零,分位加一,以此类推,只要规定好相关范围,例如:分秒的最大值为60,时的最大值为12或24等,再通过液晶显示示数,我们的电子钟就完成了,所以如何合理的编程,保证逻辑的严密性是最主要的任务。
  •        硬件设计
2.1硬件原理
如图2-2中STC89C52RC的9号引脚连接复位电路,18、19号引脚连接晶振电路,10号为RXD,11号为TXD与VCC和GND可以通过TTL烧录程序。
电子钟系统由主控制器STC89C52芯片、单片机复位电路、独立按键电路、时钟振荡、LCD1602显示屏幕还有矩阵按键电路组成。整个软件的结构由定时器控制计时,Lcd1602显示时间、日期,通过外接的矩阵键盘修改时间,独立按键k3控制电子钟进入修改数值状态;定时器在单片机通电后开始计时,液晶显示屏幕每隔0.2秒显示时间和日期的数值。在不修改时间时定时器正常工作。当需要修改时间时,通过独立按键k3控制单片机进入修改状态,通过矩阵键盘确定要修改的数值,通过特定的按键选择确定要修改的位置,修改完成后自动重新进入正常工作状态。
2.1.1 STC89C52复位电路
在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。 STC89C52RC工作电路论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。我们小组在设计过程中,本来实验的相关代码写的并没有任何错误,但在连接单片机演示时却出现了“死机”、“程序走飞”等现象,经询问才得知这主要是单片机的复位电路设计不可靠引起的。
2.1.2 STC89C52时钟电路
时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
时钟在单片机中非常重要,单片机各功能部件的运行都是以时钟频率为基准。时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。时钟电路就是一个振荡器,给单片机提供一个节拍,单片机执行各种操作必须在这个节拍的控制下才能进行。因此单片机没有时钟电路是不会正常工作的。
2.1.3 STC89C52显示电路
1602字符型LCD模块的应用非常广泛,而各种液晶厂家均有提供几乎都是同样规格的1602模块或兼容模块,尽管各厂家的对其各自的产品命名不尽相同;1602字符型LCD   
模块最初采用的LCD控制器采用的是HD44780,在各厂家生产的1602模块当中,基本上也都采用了与之兼容的控制IC,所以从特性上基本上是一样的;当然,很多厂商提供了不同的字符颜色、背光色之类的显示模块。
  •        软件设计
3.1系统的软件程序流程图
该温度检测的软件设计采用C语言编程。系统程序由主程序、定时器0程序、液晶显示程序和独立按键子程序、矩阵按键子程序等部分组成
3.2主程序流程
主程序的主要功能是负责Lcd1602初始化、其他函数初始化、定时器初始化、显示基本数值、独立按键和矩阵按键初始化和检测,其程序流程见图3-2所示:
3.3相关程序分析
3.3.1 定时器计时
定时器通过时钟电路实时计时每秒加一并完成对应数值位的递增操作,如秒钟满六十归零然后分钟加一,分钟满六十归零然后小时加一等等。
程序如下:
3.3.2 独立按键与矩阵按键
独立按键与矩阵按键的作用是修改显示的时间和日期数值。独立按键用于控制进入修改状态,矩阵按键用于修改需要的数值;当独立按键按下k3,进入修改状态,根据所需要的时间按下矩阵键盘对应的按键,按下后再按下k3,进入第二位数字的选择模式,在矩阵键盘选择个位的数值后生成所需的两位数,通过特定按键将数值修改到所需位置。
程序如下:
图3.3.2(1)
图3.3.2(2)
图3.3.2(3)
图3.3.2(4)
图3.3.2(5)
3.3.3 Lcd1602显示
Lcd1602是一款使用广泛的液晶显示屏,它显示稳定,功耗小,使用简单。是电子钟的显示模块。
程序如下:
图3.3.3(1)
图3.3.3(2)
  •        总结
4.1总结
本文系统的阐述了基于单片机的电子时钟系统从理论到功能的实现的过程,该系统结构简单清晰,操作简单,成本低,易于实现,能够显示字符、时间,走时精准,还可以根据需要任意调整时间,很好的实现了其功能,满足人们日常生活的需要。通过该设计也能够很好的复习本学期学习的51型单片机的相关应用技术知识,满足教学需要,也能对Proteus软件的使用进行良好的巩固,该设计与本学期学习的内容息息相关,在设计过程中也体会到了一定的乐趣,也让我们明白了知识的来之不易,明明是一个很简单的电子时钟,也对我们的所学的知识进行了一定的考验,是一个理想的电子产品设计,同时也让我们明白了单片机应用的领域之广
4.1.1优点:
因为所使用的是51型单片机,因此电路设计并不复杂,又能满足设计目的。实现效果明显,能直观的看出设计效果。时间计时具有实用性,在平时日常生活中也不失为一件好的小设计。可以通过按键修改时间。与传统的机械钟相比,电子钟具有走时准确、性能稳定、等优点。
4.1.2缺点
由于使用的软硬件过于简单,在时间的推移下可能出现一定的误差,无法完成测量时间的基本功能,按键修改方面也过于繁琐,Lcd1602液晶显示屏所显示的范围也过于狭小,因而可以在相关方面得到改进。
4.1.3可扩展功能
在达到要求的基础上外观可以设计的更加美观;可以增加闹钟功能,倒计时功能,计时器功能等现代电子钟及手机时钟常用的基本功能等。电子钟用于定时自动报警、按时自动打铃、时间程序自动控制、定时广播及自动控制等各个领域,可以扩展红外修改,通过红外遥控修改时间,外加检测环境温度、湿度,空气质量,光线强度等家庭环境检测功能,亦可通过增添智能芯片,使其成为一个智能时钟。使其更为现代化,更具科技感,满足日益剧增的日常生活需求。


完整的Word格式文档51黑下载地址:
课程设计.docx (242.43 KB, 下载次数: 6)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表