基于单片机万年日历系统的设计

2017-11-15 10:22张涛
东方教育 2017年18期
关键词:系统设计单片机

张涛

摘要:电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,電压可选用3~5V电压供电。

关键词:单片机;万年历;系统设计

1. 概述

随着微电子技术的高速发展,单片机在国民经济的个人领域得到了广泛的运用。单片机以体积小、功能全、性价比高等诸多优点,在工业控制、家用电器、通信设备、信息处理、尖端武器等各种测控领域的应用中独占鳌头,单片机开发技术已成为电子信息、电气、通信、自动化、机电一体化等专业技术人员必须掌握的技术。而电子万年历作为电子类小设计不仅是市场上的宠儿,也是是单片机实验中一个很常用的题目。因为它的有很好的开放性和可发挥性,因此对作者的要求比较高,不仅考察了对单片机的掌握能力更加强调了对单片机扩展的应用。而且在操作的设计上要力求简洁,功能上尽量齐全,显示界面也要出色。数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢迎。LED数字显示的日历钟显示清晰直观、走时准确、可以进行夜视,并且还可以扩展出多种功能。所以,电子万年历无论作为比赛题目还是练习题目都是很有价值。

2. 单片机的发展历程

单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段,以INTEL公司制造的MSC-48系列单片机为代表。第三阶段为高性能单片机阶段,这个阶段推出的单片机普遍带有穿行接口,多级中断系统,16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。第四阶段是8位单片机巩固发展以及16位单片机、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。

3. 设计思路

(1)采用单片机常用的时钟芯片。以前,通常采用并行的实时时钟芯片计时、EEPROM作为存储器,但对一些微小型智能控制设备而言,并行实时时钟芯片封装形式大,再加上EEPROM,占用扩展线多,使电路结构很难进一专门的液晶驱动接口,且成本高。因此,本设计控制器采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市步简化。Dallas公司生产的串行实时时钟芯片DS1302具有实时时钟和静态RAM,采用串行通信,可方便地与单片机接口。除了在工业控制中使用外,还可以应用到一般的时钟计数上。本章正是采用了DS1302芯片与AT89C51单片机的串行通信。

(2)显示电路。就时钟而言,通常可采用液晶显示或数码管显示。对于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理的接口要求较高,占用资源多。另外,AT89C51本身无场上也有专门的时钟显示组合数码管。

(3)按键电路

本设计采用了三个按键对公历年、月、日和时、分、秒进行调整。

①当按下“调日历”键,首先年的两位数码管闪烁显示,表示在调整“年”状态。再按“调日历”键则确认“年”,同时进入调整“月”状态,“月”的两位数码管闪烁显示,再按“调日历”键则确认“月”,同时进入调整“日”状态,“日”的两位数码管闪烁显示,再按“调日历”键则确认“日”,同时调整年、月、日结束。“调时”键与“调日历”键有类似的功能。

②当按下“加一”键时,与前面对应的调整到期望的年、月、日和时、分、秒。时间设置完成时,进入正常的走时状态。

4. 功能要求

一个完整的电子万年历的实现步骤,在硬件方面,要求可以按照硬件电路原理图的设计,与芯片的正确选取,完成准确的年、月、日和时、分、秒显示;并且我们通过对“调日历”键和“调时键”的设置,能够实现对日期和时间的调整,当按下“加一”键时,也可以与前面对应地,调整到期望的年、月、日和时、分、秒。在软件设计方面,采用Keil软件来实现对电子万年历程序的正确调试与仿真,最终将其生成Hex文件;再运用Proteus软件,一步一步地完成万年历原理图的绘制,最后便能够利用Proteus进行功能的仿真,实现设计中万年历所有的功能要求。

5. 系统总体设计

按照系统设计功能的要求,初步确定设计系统由主控模块、时钟模块、显示模块按键电路模块共4个模块组成,电路系统构成框图如图1-1所示。主控芯片使用51系列AT89C51单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟DS1302。采用DS1302作为主要计时芯片,可以做到计时准确。更重要的是,DS1302可以在很小电流的后备电源(2.5~5.5V电源,在2.5V时耗电小于300 nA)下继续计时,并可编程选择多种充电电源来对后备电源进行慢速充电,可以保证后备电源基本不耗电。

6. 硬件调试

硬件调试的调试比较困难。因为是调试所以不能对元件进行焊接,只能把各个元件用导线连接起来。调试的整体过程是:各个系统逐个调试,各部分调试成功后再进行组装后的整体调试。

调试过程包括:

1. 显示部分的调试

问题:数码管的显示不稳定,不停的闪烁。

分析:没有考虑到干扰及环境的制约。于是我们把在面包板上连好的电路焊接在印刷板上,并采用电容滤波尽可能去除纹波和干扰。

2. 控制部分的调试

问题:按下按键后数据有时正常有时又不正常,数据的加减不稳定。

分析:根据分析有两个问题可以导致此种现象,一是按键接触不良可能有短路,二是程序部分有问题。用万用表测量后发现按键按下后不稳定,更换质量更好的按键后故障即排除。

7. 软件调试

程序的调试分几个步骤,首先要在WAVE6000软件中编译通过,然后通过Keil软件把程序下载到单片机中最终调试出满意的效果才算成功。

1.WAVE6000调试

首先,启动WAVE6000新建一个项目,输入一个名字保存,然后打开“真器设置”,在“语言”选项下选择“伟福汇编器”,“缺省显示格式”选择“混合十、十六进制”。“仿真器”选项下选择“使用伟福软件模拟器”。“通信设置”选项下选择“使用伟福软件模拟器”。

打开已经写好的程序,选择“项目”菜单下的“编译”命令,根据Message窗口的编译信息修改程序中的错误地方。直到Message窗口中不再出现错误符号,全部显示正确符号为止。

虽然程序在WAVE6000中编译通过了,但并不代表程序就没有错误,只有最终出现效果才说明没问题。endprint

猜你喜欢
系统设计单片机
单片机在智能控制中的应用
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
目标特性测量雷达平台建设构想
信息管理服务平台项目应用系统设计探析
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器