基于LCD1602电子时钟.docx
- 文档编号:3263180
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:60
- 大小:562.98KB
基于LCD1602电子时钟.docx
《基于LCD1602电子时钟.docx》由会员分享,可在线阅读,更多相关《基于LCD1602电子时钟.docx(60页珍藏版)》请在冰豆网上搜索。
基于LCD1602电子时钟
信息与电子工程学院
课程设计报告
课程
单片机技术应用
设计题目
基于LCD1602电子时钟
专业
班级
成员
姓名
学号
分工
成绩
指导老师
答辩日期
一、课程设计概述
1.1课程设计背景
随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。
单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。
而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。
因为它有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。
而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。
1.2课程设计内容
利用单片机、时钟芯片DS1302、温度传感器DS18B20、1602液晶屏等实现日期、时间、温度的显示,即是一个电子时钟。
具体的功能如下:
(1)通过DS1302能够准确的计时,时间可调并在液晶屏上显示出来。
(2)通过DS18B20能够实时、准确的检测当前环境温度。
(3)利用程序控制单片机实现闹钟功能。
1.3课程设计技术指标
(1)LCD液晶每行刷新显示。
(2)实时时钟可提供年、月、日、时、分和秒,每月的天数可以自动调整,且具有闰年补偿功能。
(3)时间是24小时制;年限2000年~2099年。
(4)测量温度范围为0℃~+60℃,误差为±0.5°C。
二、方案的选择及确定
2.1单片机芯片的选择
方案
(1):
采用AT89S51芯片作为硬件核心
该芯片采用FlashROM,内部具有4KBROM存储空间,而且与MCS-51系列单片机完全兼容,但是需要通过下载板来下载,比较不方便。
方案
(2):
采用传统的STC89C52RC芯片作为硬件核心
该芯片具有8KB在线系统可编程Flash存储器。
STC89C52RC使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能,并且可直接使用串口下载。
因AT89S51需要通过下载板下载,而STC89C52RC可直接使用串口下载,所以选择采用方案
(2)STC89C52RC作为主控制系统.
2.2显示模块的选择
方案
(1):
8段数码管显示
8段数码管是利用发光二极管的特性组合而成数字显示器件,通过控制相应的二极管的状态显示相应的数字。
采用数码管显示,数码管亮度高、体积小、重量轻,但其显示信息简单、有限,操作比较液晶显示来说略显繁琐。
方案
(2):
1602液晶屏显示
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块采用液晶显示。
液晶显示功耗低,轻便防震。
由于设计显示信息比较多,占用的系统资源少,操作方便。
因本设计显示的字符较多,1602LCD可以显示32个字符,而8段数码管显示的字符较少,且操作比液晶显示略显繁琐,所以采用方案
(2)1602液晶屏组成本设计的显示模块。
2.3实时时间计算模块的选择
方案
(1):
采用STC89C52RC芯片
STC89C52RC单片机内部带有定时/计数功能,此定时功能是通过对外部晶振的脉冲进行计数,从而达到计时功能,只要使用12MHZ实现零误差的计时,因此可以利用此功能实现计时,但因为只有单一的计时功能,要实现“电子时钟”的功能需要较复杂的程序,时间计算逻辑较困难,所以使用不便。
方案
(2):
采用DS1302芯片
DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片。
该芯片采用3线串行接口方式,可提供年月日、星期、时分秒等时间信息,并可根据月份和闰年的情况自动调整月份的结束日期。
内部带有31个字节RAM,用于存放临时性数据,同时具有可编程涓细电流充电能力。
因STC89C52RC芯片时间计算逻辑较困难,而DS1302可根据月份和闰年的情况自动调整月份的结束日期且具有编程涓细电流充电能力,所以采用方案
(2)实现实时计时功能。
2.4实时环境温度采集模块选择
方案
(1):
采用热敏电阻
热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体陶瓷材料组成,利用的原理是温度引起电阻变化。
通过一定的电路可以将周围环境的温度变化转化成电压的变化,通过AD转化器件将信号传输给单片机进行分析,所以热敏电阻需要的外部器件较多。
方案
(2):
采用DS18B20
DS18B20是美国DALLAS公司生产的数字温度传感器,采用单总线的接口方式与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
在使用中可以不接任何外围元件,或者在单总线上接一个4.7K的上拉电阻,支持多点组网功能多个DS18B20可以并联在惟一的单线上,实现多点测温,供电方式灵活DS18B20可以通过内部寄生电路从数据线上获取电源,因此非常适合本系统使用。
因热敏电阻需要的外部器件较多,而DS18B20在使用中可以不接任何外围元件,或者在单总线上接一个4.7K的上拉电阻,所以采用方案
(2)构成本设计的实时温度采集模块。
2.5电路设计最终方案决定
综上各方案所述,本系统以STC89C52RC单片机为控制核心,通过与DS1302和DS18B20通信获取实时时间和实时环境温度,并将得到的数据通过1602液晶显示出来,同时通过对应的按键调整相应的值,并且通过蜂鸣器实现报警功能。
因此本设计的总体方案组成框图如图2-1所示:
图2-1总体方案组成框图
三、系统硬件设计
3.1主控模块
本次课程设计主要用到STC89C52RC单片机,硬件原理图(见附录图一)。
端口分配表如3-1所示:
表3-1端口分配表
引脚序号
引脚名称
作用及功能
1
P1.0
DS1302时钟输入
2
P1.1
时钟串行数据输入、输出端
3
P1.2
时钟芯片复位端
5~8
P1.4~P1.7
按键设置
9
RST
芯片复位端口
13
P3.3
实现18B20温度的输入
16
P3.6
接蜂鸣器,实现闹钟功能
18、19
XTAL1、XTAL2
外部晶振端口
26
P2.5
实现1602数据和指令选择控制端
27
P2.6
1602读写控制端
28
P2.7
1602数据读写操作控制位
30、31
ALE、EA
地址锁存端口,烧写程序的端口
32~39
P0
输出数据,控制1602液晶屏的显示
3.2LCD显示模块设计
1602液晶功耗较小可直接与单片机接口相接,电源直接与电源电路相接为+5V,对比度可调。
本设计使用单片机的P0口和P2口与1602进行通信。
另外1602有2行显示,每行显示的字符数为16个,可以用于显示字母、数字、符号等,并具有简单且功能较强的指令集,可以实现字符显示、移动、闪烁等功能。
1602液晶与单片机接口电路如图3-1所示:
3.3时间计算模块设计
DS1302通过三根I/O线实现与单片机的通信,依靠2、3脚外接的晶振与其内部的电容配合来产生时钟脉冲的。
当外接晶振电路振荡时,DS1302计时正确;当外接晶振电路停振时,DS1302计时停止。
因此32.768kHz晶振是造成DS1302工作不稳定的主要因素。
因其功耗很小,当1脚的主电源超过8脚接的备用电源加0.2V时,由主电源对芯片供电;否则,有备用电源对芯片供电,所以即使电源掉电后通过3V的电池仍能维持芯片精确走时。
DS1302与单片机接口电路如图3-2所示:
图3-2DS1302与单片机接口
3.4实时环境温度检测模块
DS18B20通过单总线实现与单片机的通信,系统中的数据交换,控制都由这根线完成。
在使用中DS18B20没有用到任何外围元件,可工作在-15℃~+100℃内。
DS18B20与单片机接口电路如图3-3所示:
图3-3DS18B20与单片机接口
3.5报警模块
在本设计中蜂鸣器直接接在单片机P3.6上。
报警模块采用单片机输出1.25KHZ的频率从而使蜂鸣器发出声音。
方波图如图3-4所示:
图3-4方波图
3.6设置模块
设置模块采用四个按键K1-K4与单片机P1.4、P1.5、P1.6、P1.7接口相接,其中K1为设置模块的选择位,K2是增加键,K3是减少键,K4为退出按键。
独立按键与单片机接口电路如图3-5所示:
图3-5独立按键与单片机接口
3.7电源接口部分
采用USB接口从电脑接到电源接口中,拨动开关可控制电路的接通和关闭,并用一个发光二极管作电源指示。
电源接口如图3-6所示:
图3-6电源接口
四、系统软件设计
软件设计是本设计的关键,软件程序编写的好坏直接影响着系统运行情况的良好。
本系统采用具有编写灵活、移植方便、便于模块化设计的C语言编写,并通过Proteus软件进行仿真,完成各种实质性功能的设计。
4.1主函数
主函数是程序功能总结显示的函数,其主要显示的是时间主要部分和当前实时时间,当按下按键2时1602显示当前温度状态,并延时5s,后返回当前时间显示状态;当闹钟功能打开,实时时间又和闹钟时间相等就会发出嘀嘀的响声并且在液晶屏上有相应的提示,此时按按键4退出;当进入设置状态完成后退出就回到当前时间显示状态。
主函数程序框图如图4-1所示:
图4-1主函数程序框图
4.2设置模块
设置模块分时间设置、闹钟设置、最高温度报警设置。
要先按下按键1才能进入设置模块,然后按下按键1进入设置时间模块;按键2进入最高温度报警模块;按键3进入设置闹钟模块,最后按下按键4退出当前状态。
设置步骤流程图如图4-2所示:
开始
图4-2设置步骤流程图
4.31602液晶屏
1602液晶屏是此设计的主要输出部分,有2行显示,每行16个字符,根据写入的位置而显示,当显示欢迎界面时是流动的,整个屏幕向右移动。
1602LCD流程图如图4-3所示:
图4-31602LCD流程图
4.4软件原理图
软件原理图如附录图二所示:
这个设计中,STC89C52RC主要功能是储存程序、根据程序的内容对各个端口进行判断并作出相应的处理;DS1302主要功能是控制年,月,日,时,分,秒的显示效果;LCD1602主要功能是将所要显示的显示出来;DS18B20主要功能是控制温度的显示效果。
通电后,进入欢迎界面,前后延时2.8s,,后显示当前实时时间,若按下按键1就进入调节状态,此时在按下按键1为设置时间状态,按下按键2为设置最大温度报警状态,按按键3为设置闹钟状态,按下按键4为退出调节状态;若按下按键2则是显示当前温度,5s后自动跳回显示当前实时时间。
五、系统调试过程
系统调试共分为两大部分:
一个是软件调试,另一个是硬件调试。
其中软件仿真通过Protues实现;硬件部分现在Protel99SE上设计出硬件电路图,画出PCB图,然后再制造出实物。
调试方法采用先分别调试各单元模块,调通后再进行整体调试的方法,以提高调试效率。
5.1软件调试
先根据仿真检测当中的元件是否符合电路的设计,在KeilC51写入程序并且修改至编译正确,在将写好的程序入入到Protues软件单片机芯片上,进行仿真。
仿真结果如下所示:
图a:
显示实时时间图b:
显示当前温度
图c:
当达到设置的最高温度图d:
当达到设置的闹钟时间
图e:
当进入调节状态图f:
当调节时间
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LCD1602 电子 时钟