多功能数字钟的设计与制作.docx
《多功能数字钟的设计与制作.docx》由会员分享,可在线阅读,更多相关《多功能数字钟的设计与制作.docx(91页珍藏版)》请在冰豆网上搜索。
![多功能数字钟的设计与制作.docx](https://file1.bdocx.com/fileroot1/2023-1/27/bd062cf7-1ddc-4224-9f9d-4e5bef3030d6/bd062cf7-1ddc-4224-9f9d-4e5bef3030d61.gif)
多功能数字钟的设计与制作
多功能数字钟的设计与制作
摘要:
本数字钟采用STC89c58RD+单片机作为主控制器,结合温度传感器DHT11、时钟芯片DS1302、语音芯片ISD4004,来实现温度湿度测量、闹钟、秒表、倒计时、12时制24时制转换、报时到分和显示年、月、日、时、分、秒的功能。
而在显示方面采用了LCD12864液晶显示。
由于本设计需要庞大的程序控制,因此软件程序均采用C语言编写,便于移植与升级。
关键词:
单片机控制;数字钟;STC89c58RD+;DS1302;ISD4004;DHT11;LCD12864
Multi-functiondigitalclockdesignandproduction
Abstract:
ThedigitalclockusesSTC89c58RD+microcontrollerasthemaincontroller,withtemperaturesensorDHT11,clockchipDS1302,andtheamplifierchipISD4004,toachievethetemperatureandhumiditymeasurements,alarmclock,stopwatch,countdown,12-hour24-hourconversion,timekeepingtopointsanddisplayyear,month,day,hour,minuteandsecondfunctions.ThetermsusedinthedisplayLCD12864liquidcrystaldisplay.Asthedesignrequiresalargeprocesscontrol,softwareprogramsarewrittenusingClanguageforeasymigrationandupgrades.
Keywords:
microchipcontrol;DigitalClock;STC89c58RD+;DS1302;ISD4004;DHT11;LCD12864
1.3功能介绍……………………………………………………………………………….……..2
3.2.1单片机模块……………………………………………………………………………5
3.2.2时钟模块………………………………………………………………………………9
3.2.3温湿度采集模块……………………………………………………………………12
3.2.4语音模块……………………………………………………………………………15
3.2.5液晶显示模块………………………………………………………………………19
3.2.6按键模块……………………………………………………………………….…..23
4.2.1时钟驱动模块………………………………………………………………………25
4.2.2温湿度采集数据模块………………………………………………………………26
4.2.3液晶驱动程序………………………………………………………………………28
4.2.4语音控制程序………………………………………………………………………30
多功能数字钟的设计与制作
1背景与意义
1.1背景
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。
忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。
但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。
从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。
这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
1.2意义
数字钟是采用数字电路实现对时、分、秒、数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。
诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。
因此,研究数字钟及扩大其应用,有着非常现实的意义。
数字钟已成为人们日常生活中:
必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
目前家用的数字电子钟,多数只能显示小时、分钟等信息,功能单一,而且大都采用LED数码管作为显示器件,功耗大,不能令消费者满意。
为此,我设计了一款多功能语音数字钟,它可以显示年、月、日、小时、分钟、秒钟、星期等时间信息,可以进行12时制与24时制转换功能,同时可以显示环境的温度和湿度信息。
还具有按键调节时间,语音实时报时到分,秒表,倒计时和5路闹钟设置功能。
时钟采用LCD作为显示器,界面友好。
1.3功能介绍
1.3.1液晶屏供可以显示5个页面,初始化时显示页面1。
其包括第一行显示年、月、日。
第二行显示时、分、秒、时制(12时制则有AM和PM显示,24时制则没有)。
第三行显示湿度和温度。
第四行显示星期。
1.3.2按Model键切换成设置模式,按一下Model键液晶屏显示页面2为时间设置,按Set键后,通过左键、右键、加键和减键就可以对包括年、月、日、时、分、秒、星期和时制的时间参数进行设置,设置完后再按Set键就可以保存设定的时间参数。
1.3.3按两下Model键液晶屏显示页面3为闹钟设置,可同时设置不同的5路闹钟,其中,每路闹钟还有模式选择,包括星期一、星期二、星期三、星期四、星期五、星期六、星期日、工作日、周末日和每天。
按Set键后,通过左键、右键、加键和减键就可以对包括闹钟时间、闹钟状态(开或关)、闹钟路数、闹钟模式的设置。
设置完后再按Set键就可以保存设定的闹钟参数。
1.3.4按三下Model键液晶屏显示页面4为秒表设置,秒表计时包括时、分、秒及千分秒。
按Set键清零,按加键或减键则开始和暂停。
1.3.5按四下Model键液晶屏显示页面5为倒计时设置,倒计时计时同样包括时、分、秒及千分秒。
按Set键后通过左键、右键、加键和减键进行倒计时时间设置,设置完后再按Set键就可以保存设定的倒计时时间参数。
此时加键或减键是倒计时的开关,按一下开始倒计时,再按一下暂停倒计时;按左右键倒计时清零。
1.3.6在液晶屏显示页面1时,按一下Set键,数字钟会进行24时制的实时报时到分的功能。
2方案比较与论证
设计任务与要求
2.1.1实现基本的时钟显示,包括年、月、日、时、分、秒、星期的显示。
2.1.2实现时间的12时制与24时制的转换
2.1.3实现当前环境温度湿度的测量
2.1.4实现闹钟功能
2.1.5实现秒表和倒计时功能
2.1.6实现实时报时到分的功能
方案比较与论证
方案一:
采用AT89C51为主控器件,结合温度采集模块DS18B20、时钟芯片DS1302、语音芯片ISD4004和蜂鸣器也可以实现显示时间显示,也还可以实现闹钟,秒表,倒计时和报时功能。
在显示方面采用LED点阵显示。
但是多功能数字钟主要是以程序控制为主,要实现以上功能需要大量的程序,51单片机的内存比较小,一方面可能容纳不了这么多程序;另方面,即使容纳的了这么多的程序,也必然会影响数字钟的运行速度,甚至可能卡机。
同时,采用DS18B20检测温度有点大材小用,生活上的温度测量并不需要非常的精确。
而且,此方案选择LED点阵显示,必然使得制作时焊接麻烦,工程量大,同时还会是数字钟需要很大的功耗。
无论是从产品质量还是环保方面,此方案都不是很理想的。
下图为方案一的方框图:
图2.2.1方案一方框图
方案二:
采用单片机STC89c58RD+为主控器件,结合温湿度传感器DHT11、时钟芯片DS1302、语音芯片ISD4004和蜂鸣器来可以实现显示包括年、月、日、时、分、秒、星期等时间显示,也还可以实现闹钟,秒表,倒计时和报时功能。
在显示方面采用LCD12864液晶显示屏显示。
58单片机具有更大的内存,对于设计像这样大程序的器件是非常合适的。
温湿度采集方面采用温湿度传感器已经很够用了,而显示采用LCD12864液晶显示屏显示,减少了很多的焊接工作,同时电路还更稳定,性能更好,更节能。
下图为方案二的方框图:
图2.2.2方案二方框图
通过方案一与方案二的比较,很明显方案二做出来的产品性能更好,更稳定,更经济。
在实现相同功能下,方案二会是一个更好的设计。
所以我的设计采用的方案二的设计思路。
3系统硬件设计
总体电路框图
图3.1总体电路框图
单元电路设计
3.2.1单片机模块
3.2.1.1STC89c58RD+单片机简介
STC89C58RD+是一种低功耗高性能的8位单片机,STC89C58RD+系列是全球第一片掉电模式时典型功耗小于0.1uA的8051单片机。
片内带有一个32k字节的F1ash可编擦除只读存储器(PEROM),它采用了CMOS工艺和STC(宏晶)公司的高密度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统和MCU-51系列单片机兼容。
片内的Flash存储器允许在系统内可改编程序或用常规的非易失性的存储器编程器来编程。
同时它具有三级程序存储器保密的性能。
在众多的51系列单片机中,要算STC(宏晶)公司的STC89C58RD+最实用,因为它不仅和MCU-51系列单片机指令、管脚完全兼容,而且它支持ISP(在系统可编程),无需高价的编程器,可轻松通过串口实现程序下载和远程升级,加上其片内的32k程序存储器是Flash工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写。
此外,它有1280字节的RAM,8K以上的E2PROM,内置看门狗。
在ISP下载编程时就可以任意设置6时钟/机器周期或12时钟/机器周期,STC单片机ISP引导码出厂时已有,不需要用户烧录。
该单片机对开发设备要求很低,开发时间也大大缩短。
单片机出厂时已完全加密,无法解密,其DIP封装引脚如图1所示
图3.2.1.1STC89c58RD+单片机
3.2.1.2单片机引脚功能
特点:
1.增强型6时钟/机器周期,12时钟/机器周期8051CPU
2.工作电压:
5.5V-3.4V(5V单片机)/3.8V-2.0V(3V单片机)
3.工作频率范围:
0-40MHz,相当于普通8051的0~80MHz.实际工作频率可达48MHz.
4.用户应用程序空间4K/8K/13K/16K/20K/32K/64K字节
5.片上集成1280字节/512字节RAM
6.通用I/O口(32/36个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉(普通8051传统I/O口)
P0口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器,可通过串口(P3.0/P3.1)直接下载用户程序,8K程序3秒即可完成一片
8.EEPROM功能
9.看门狗
10.内部集成MAX810专用复位电路(D版本才有),外部晶体20M以下时,可省外部复位电路
11.共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用
12.外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒
13.通用异步串行口(UART),还可用定时器软件实现多个UART
14.工作温度范围:
0-75℃/-40-+85℃
15.封装:
PDIP-40,PLCC-44,LQFP-4
3.2.1.3单片机设计原理图介绍:
系统采用STC89c58RD+单片机作为控制核心。
STC89c58RD+单片机与MCS_51系列单片机产品兼容,采用了Flash存储器结构,可以在线下载程序,易于日后的升级。
图3主要负责各个模块的初始化工作;设置定时器、寄存器的初值;读取并处理时间、温度等信息;处理按键响应;控制液晶实时显示。
图3.2.1.1单片机硬件原理图
主控单片机硬件电路连接如图3.2.1所示。
其只要负责对温湿度传感器DHT11的温度湿度
采集处理和显示,对时钟ICds1302时钟信息
提取并显示和写入需要设置的时间数据到
ds1302指定的寄存器里。
其中由C1,C2和Y1
组成单片机时钟电路,其中系统采用11.0592M
晶振;由RST,C3,R1组成按键电平复位电路。
如有图所示。
为了增强P0口的驱动能力,故在
接口处接上P0,10K的上拉电阻。
P0口为
单片机与液晶显示器通信的数据端口;图3.2.1.2按键电平复位电路
P25,P26,P27连接液晶显示器的控制信号端口;P10,P11,P12为单片机与时钟
芯片DS1302通信的连接端口;P1.5为单片机连接温湿度传感器DHT11的通信端口;P30~P35为连接按键模块的接口。
3.2.2时钟模块
3.2.2.1DS1302简介
DS1302是DALLAS公司推出的涓流充电时钟芯片内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信仅需用到三个口线1RES复位2I/O数据线3SCLK串行时钟时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低保持数据和时钟信息时功率小于1mWDS1302是由DS1202改进而来增加了以下的特性双电源管脚用于主电源和备份电源供应Vcc1为可编程涓流充电电源附加七个字节存储器它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等
3.2.2.2各引脚的功能:
产品领域下面将主要的性能指标作一综合:
◆实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力
◆318位暂存数据存储RAM
◆串行I/O口方式使得管脚数量最少
◆宽范围工作电压2.05.5V
◆工作电流2.0V时,小于300nA
◆读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式
◆8脚DIP封装或可选的8脚SOIC封装根据表面装配
◆简单3线接口
◆与TTL兼容Vcc=5V
◆可选工业级温度范围-40+85
◆与DS1202兼容
◆在DS1202基础上增加的特性
——对Vcc1有可选的涓流充电能力
——双电源管用于主电源和备份电源供应
——备份电源管脚可由电池或大容量电容输入
——附加的7字节暂存存储器
1.DS1302的基本组成和工作原理
DS1302的管脚排列及描述如下图及表所示
管脚描述
X1X2——32.768KHz晶振管脚
GND——地
RST——复位脚
I/O——数据输入/输出引脚
SCLK——串行时钟
Vcc1,Vcc2——电源供电管脚图3.2.2.1DS1302管脚图
订单信息
部分#描述
DS1302串行时钟芯片8脚DIP
DS1302S串行时钟芯片8脚SOIC(200mil)
DS1302Z串行时钟芯片8脚SOIC(150mil)
2.DS1302内部寄存器
CH:
时钟停止位寄存器2的第7位12/24小时标志
CH=0振荡器工作允许bit7=1,12小时模式
CH=1振荡器停止bit7=0,24小时模式
WP:
写保护位寄存器2的第5位:
AM/PM定义
WP=0寄存器数据能够写入AP=1下午模式
WP=1寄存器数据不能写入AP=0上午模式
TCS:
涓流充电选择DS:
二极管选择位
TCS=1010使能涓流充电DS=01选择一个二极管
TCS=其它禁止涓流充电DS=10选择两个二极管
DS=00或11,即使TCS=1010,充电功能也被禁止
A、时钟
B、RAM
3.2.2.3DS1302原理图设计介绍
图3.2.2.2DS1302原理图
电路原理图如图,DS1302与单片机的连接也仅需要3条线:
RST引脚、SCLK串行时钟引脚、I/O串行数据引脚,由C4和Y2组成DS1302时钟振荡电路,提供计时脉冲,其中Y2为32.768MHz。
其中SCLK,I/O,RST分别接主控单片机的P10,P11,P12脚。
3.2.3温湿度采集模块
3.2.3.1DHT11传感器简介
DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。
它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。
传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。
因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。
每个DHT11传感器都在极为精确的湿度校验室中进行校准。
校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。
单线制串行接口,使系统集成变得简易快捷。
超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。
产品为4单排引脚封装。
连接方便,特殊封装形式可根据用户需求而提供。
1.传感器性能说明
2.接口说明
图3.2.3.1接口说明图
3.电源引脚
DHT11的供电电压为3-5.5V。
传感器上电后,要等待1s以越过不稳定状态在此期间无需发送任何指令。
电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。
4.串行接口
DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零.操作流程如下:
一次完整的数据传输为40bit,高位先出。
数据格式:
8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。
i温度整数数据+8bit温度小数数据”所得结果的末8位。
用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取部分数据.从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集.采集数据后转换到低速模式。
5.测量分辨率
测量分辨率分别为8bit(温度)、8bit(湿度)
6.电气特性
VDD=5V,T=25℃,除非特殊标注
注:
采样周期间隔不得低于1秒钟。
3.2.3.2DHT11原理图简介右图为
温湿度传感器DHT11的硬件原理图
其中1脚为电源脚,2脚连接到单片机
P15脚,将数据传送到单片机中。
图3.2.3.2DHT11原理图
3.2.4语音模块
3.2.4.1ISD4004简介
ISD系列语音芯片是美国ISD公司推出的产品。
该系列语音芯片采用多电平直接接模拟存储(ChipCorder)专利技术,声音不需要A/D转换和压缩,每个采样值直接存储在片内的闪烁存储器中,没有A/D转换误差,因此能够真实、自然地再现语音、音乐及效果声。
避免了一般固体录音电路量化和压缩造成的量化噪声和金属声。
ISD4004语音芯片采用CMOS技术,内含晶体振荡器、防混叠滤波器、平滑滤波器、自动静噪、音频功率放大器及高密度多电平闪烁存储阵列等(见图1),因此只需很少的外围器件就可构成一个完整的声音录放系统。
芯片设计是基于所有操作由微控制器控制,操作命令通过串行通信接口(SPI或Microwire)送入。
采样频率可为4.0Hz、5.3Hz、6.4Hz、8.0kHz,频率越低,录放时间越长,而音质则有所下降。
片内信息存于内烁存储器中,可在断电情况下保存100年(典型值)反复录音10万次。
器件工作电压3V,工作电流25~30mA,维持电流1μA?
单片录放语音时间8~16min,音质好,适用于移动电话机及其它便携式电子产品中。
ISD4004系列芯片引脚图如图2所示。
同相模拟输入(ANAIN+)-这是录音信号的同相输入端,输入放大器可用单端或差分驱动。
单端输入时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3kΩ输入阻抗决定了芯片频率的低端截止频率。
在差分驱动时,信号最大幅度为峰峰值16mV。
反相模拟输入(ANAIN-)-差分驱动时,这是录音信号的反相输入端。
信号通过耦合电容输入,最大幅度为峰峰值16mV,本端的标称输入阻抗为56kΩ,单端驱动时,本端通过电容接地。
两种方式下,ANAIN+和ANAIN-端的耦合电容值应用相同。
音频输出(AUDOUT)-提供音频输出,可驱动5kΩ的负载。
串行输入(MOSI)-此为单行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。
串行输出(MISO)ISD-串行输出端,ISD未选中时,本端呈高阻态。
串行时钟(SCLK)-ISD的时钟输入端,由于控制器产生,用于同步MOSI和MISO的数据传输。
数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。
中断(INT)-本端为漏极开路输出,IS