现在在电子的发展应用中,为了使人们用更小的成本得到更大的享受,本文对利用单片机技术设计的电子万年历进行了详细介绍。
1. 组成部分
1.1整体设计
本文这种电子万年历的设计进行了详细的说明,我们用单片机编程控制来设计。单片机有许多特点,形体上来说体积小,资源上来说功耗小成本低,技术上来说控制强运算速度快。因此本设计是基于单片机来实现的。设计本程序需要编程语言,我们选择用C语言,C语言对操作技术要求低、控制简单方便。
1.2 单片机芯片
在硬件核方面,我们选取89S51芯片,它是一个功耗非常小,在性能上非常卓越的 8位单片机。因为它的成本在市场上也比较低,因此选用89S51芯片。
1.3 时钟芯片
在时钟芯片的选择上,我们选用DS12887。DS12887是一种内建128字节RAM,有三种可编程中断,能采用夏令时模式,自带晶体振荡器及备用电池,可作为IBM AT计算机的时钟和日历,所以选择DS12887时钟芯片。
1.4 温度传感器
在温度传感器的选择上,我们选用DS18B20,它能简单快速的实现双向通讯,其接口的方式为单线接口;其适应电压范围更大;支持多点组网测温;所有的传感元件及转换电路都集合在一个小的集成电路内,成本也低,所以选择此温度传感器。
2. 硬件设计
2.1 电路组成的框图
本电路的中心是CPU,键盘来提供数据写入CPU,时钟芯片和温度传感器与CPU相互作用,CPU输出指令控制驱动电路,然后驱动电路发出指令给显示电路。我们可以用键盘对显示的内容进行切换或更改。时钟芯片选择DS12887得到时间和日期,温度传感器选择DS18B20来得到温度,单片机芯片选择89S51作为大脑控制全部,数码管显示时间和日期,还有温度,还能利用键盘对数据进行调整,框图如图1所示。
图1 电子万年历方框图
2.2 系统硬件概述
本文采用单片机AT89S51,它的性能卓越,成本功耗都较低,是一种8位单片机。传统的数据记录的方法用的是隔一段时间采样,或者在一定的时间进行采样,采集的数据精度不高,而且浪费时间,还有用单片机来记录数据,不仅仅需要编程设置程序,编写程序来进行中断,或者设置程序去查询,还需要选用计数器,都是比较麻烦的,所以我们选用时钟芯片。对于时钟芯片的选择,我们选择DS12887,此芯片内部有时钟和状态控制寄存器,有更新周期进行位,时间更新禁止位,中断允许进行位,定闹中断允许位,这些寄存器都是我们本次设计所需要的,有了这样类型的时钟芯片,我们的设计才能很好的工作从而达到我们的目的,它是研究人员利用高科技CMOS技术研发出来的,DS12887是一种内建128字节RAM,有三种可编程中断,能采用夏令时模式,自带晶体振荡器及备用电池,可作为IBM AT计算机的时钟和日历。不仅有备用锂电池,而且它还有内部晶振振荡器;驱动电路用的是ULN2004芯片;在LED的显示上,我们选择常用的共阴型数码管,数量是4个,在输出方式上,选用又快又精确的动态扫描。键盘有位、加、减三种。
2.3 各芯片介绍
2.3.1 AT89S51单片机
在硬件核方面,我们选取89S51芯片,它是一个功耗非常小,在性能上非常卓越的 8位单片机,器件用的是研发人员研发的强度高、存储强的技术,AT89S51兼容标准MCS-51指令行系统,而且有90C51引脚结构,当有许多干扰出现在芯片上时,这类单片机抗干扰能力强,不会受到影响来对我们的设计产生影响,这些都是我们选择它作为单片机芯片的原因。当其处于空闲时,CPU会停止运行,但有一些系统仍然可以工作,如串行口、外中断系统等,在其处于掉电的情况时,振荡器虽会停止工作,但RAM的数据不会丢失。别的情况当激活了中断复位了硬件,或激活了中断,才能让其停止。AT89S51不仅功耗低。而且成本低,避免因为这些原因而导致出现一些故障,降低了风险同时也减少了维修的成本和费用。