。可以说时间的准确已成为各行各业安全运行的基础,如果时间出现误差而不能及时校正,会造成一系列严重的后果和经济损失[3]。
电子时钟的设计方法有很多种,可用中小规模集成电路组成电子钟,也可以用单片机编程来实现电子钟。其中,利用单片机实现的电子时钟具有编程灵活、硬件结构简单、便于功能扩展等特点。用单片机作为数字钟的核心控制器,可以通过它的时钟信号实现计时功能,将时间数据经单片机输出,并利用显示器显示。通过键盘进行定时、校时。输出设备显示器可以采用液晶显示技术或者数码管显示技术[4]。
温度是一种基本的环境参数,传统方式是采用热电偶或热电阻进行测控,但是由于其复杂性已逐渐被代替。近年来,美国DALLAS 公司生产的以DSl8B20
为代表的新型单总线数字式温度传感器以其突出优点广泛使用于仓储管理、气象观测、科学研究、工农业生产制造以及日常生活中。DSl8B20
集A/D
转换和温度测量于一体,直接输出数字量,传输距离远,可以方便地实现多点测量,硬件电路结构简单,与单片机接口几乎不需要外围元件[5]。
智能温度传感器于上世纪90年代中期问世,此类传感器是计算机技术、微电子技术和自动测试技术的结晶。智能温度传感器内部一般包含温度传感器、信号处理器、A/D转换器、存储器<或寄存器)和接口电路。有的产品还带多路选择器、随机存取存储器、只读存储器和中央控制器。智能温度传感器能实时更新并输出温度数据,适配于各种微控制器也就是通常所说的单片机,并可通过软件来实现显示功能,其智能化取决于软件和硬件的综合开发水平。目前,新型温度传感器正从模拟式向数字式、集成化向智能化及网络化的方向发展[6]。21世纪后,智能温度传感器毫无疑问正朝着高精度、多功能、总线标准化、高可靠性及高安全性等高科技的方向迅速发展,开发虚拟传感器和网络传感器、研制更先进的单片测温系统已是刻不容缓[7]。
在日常生活和自动控制系统中,我们时常会有对时间和温度同时进行实时监控的需求。这就给多功能的时钟提供了市场,本文给出了一种基于单片机实现带温度检测的电子时钟的设计方法和实现过程。
2 / 32
第2章 设计思路与方案选择
2.1 系统的设计思路
本次设计完成电子时钟精确时间的显示、环境温度测量以及定时闹钟的功能。由于DS12887时钟芯片内置一个锂电池,所以即使出现断电情况依然可以运行十年以上不丢失数据,且重新上电后不用校正时钟。
硬件电路包括单片机最小系统电路、DS12887实时时钟芯片电路模块、LCD1602液晶显示模块、DS18B20温度传感器模块、按键模块、蜂鸣器报警电路模块;软件部分主要通过c程序的编程实现对时钟芯片进行时间数据的读写,然后通过液晶显示时间、按键操作实现功能转换及屏幕切换[8]。
2.2方案选择
2.2.1单片机芯片的选择
STC89C52单片机的主要特性如下: ?与MCS-51产品指令系统完全兼容 ?全静态工作模式:0~33MHz
?4K字节的在线编程Flash存储器,1000次擦写周期 ?4.0~5.5V的工作电压范围 ?三级程序存储器锁 ?128×8字节内部RAM ?32个可编程I/O口线 ?2个16位定时/计数器 ?6个中断源
?低功耗空闲和掉电模式 ?全双工串行UART通道 ?中断可从空闲模式唤醒系统 ?看门狗 3 / 32 ?具有掉电状态下的中断恢复功能 ?掉电标识和快速编程特性 ?灵活的在系统编程 采用液晶LCD显示,以电流刺激液晶分子产生点,显示字符的行数和液晶的点阵行。液晶功耗低、体积小、显示简单。 采用DS12887实现时钟记时,把时间数据送入单片机,由单片机控制显示。 DS12887芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,精度非常高,工作电压范围2.5V~5.5V,最小时耗电小于300mA[10]。 2.2.3温度系统方案选择 采用DS18B20直接进行测温。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,它可以直接读出被测温度,并可根据实际要求通过简单的编程实现9~12位的数字值读数方式。 温度实现只能通过外部的温度传感器来实现。经上网查阅及市场考察,DS18b20体积小,电路接法简单。内部含寄存器为设计实现上下限报警功能提供保障。精度为0.5℃,符合我们的设计要求。 2.2.4 报警系统的方案比较 采用蜂鸣器实现闹钟铃声及温度超限报警。蜂鸣器具有成本低,电路结构简单,体积小的特点。基于设计所需功能,蜂鸣器是最佳选择。 2.2.5 键盘控制方案选择 购买单个复位开关做成键盘。因其价格便宜且可以实现所需功能。 对此次作品的方案选定:采用STC89C52作为主控制系统;DS12887提供时钟;数字式温度传感器;液晶1602作为显示。 4 / 32 第3章 系统的硬件设计与实现 3.1电路设计框图 初步确定设计系统由单片机主控模块、时钟模块、测温模块、报警模块、显示模块、键盘接口模块共6个模块组成,电路系统框图如图3-1所示。 蜂鸣报警模块 液晶1602显示模块 DS12887时钟模块 STC89C52 主 控 制模 块 键盘模块 温度采集模块 图3-1电路设计框图 3.2主要硬件电路的设计 3.2.1单片机主控制模块的设计 本系统采用的是深圳宏晶科技公司生产的STC89C52单片机,首先我们来熟悉一下STC89C52单片机的外部引脚和内部结构。如图3-2 <1)单片机的引脚功能 STC89C52单片机有40个引脚。 ? Vcc:电源电压+5V ? GND:接地 5 / 32 ? P0口:P0口是一组8位漏极开路型双向I/O口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换低8位地址和数据总线服用,在访问期间激活内部上拉电阻。 ? P1口、P2口:带内部上拉电阻的8位双向I/O,P1的输出缓冲级可以驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时为输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部程序存储器或16位地址的外部数据存储器<例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。 6 / 32