基于VRS51L3074和DS12887的电子日历时钟设计方案
WR读、写选通端与单片机的/RD、/WR相连,低电平有效,为输入信号。/CE为T6963C的片选信号,低电平有效。C/D通道选择信号,1为指令通道,O为数据通道。
3.3 闹点报警功能设计
蜂鸣器报警电路如图5所示。当时钟到指定闹点时,DSl2887控制/状态寄存器2中的AF被置1,同时ALE引脚产生一个中断(低电平有效),由于 ALE接至单片机的ALE脚,所以引发中断程序。DSl2887的SQW输出1Hz的脉冲,由于数据信息接至单片机的P00~P07脚,所以P20脚输出 1 Hz的脉冲,使得蜂鸣器间断性地发出鸣声。当复位脚为低并且Vcc>4.25 V时,闹钟中断允许ALE被置为O,闹钟中断标志AF置0,信号通过AS位传送到VRS51L3074的37脚,通过P20脚输出脉冲到蜂鸣器,停止闹响。到达预定时间响铃1 min,1 min后自动停止,也可以按下已设定的键实现手动停止。
3.4 单片机与键盘的连接
系统采用行列式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。因此,在按键数量较多时,可以节省I/O口线。键盘的列线分别与单片机的P1.0~P1.2相连,行线分别与单片机的P1.3~P1.5相连。
4 软件系统的设计
系统软件设计包括单片机计算机两部分的编程。计算机软件编程主要实现参数设置、串行口数据接收、指令发送以及数据的显示和存储。单片机软件编程主要实现键盘、液晶显示、闹钟等各模块的功能,采用C语言编程。该系统通过串行口与键盘通信,键盘给单片机发指令实现数据采集及系统控制,并将数据实时传回液晶显示器显示结果。整个软件系统采用模块化的程序设计方法,共分为时间日期设定、闹铃
设定、LCD显示模块和键盘扫描模块4个部分。其中主要是闹点的设定与提取。软件系统的主要特点是整个过程完全在键盘的控制之下,实现了友好的人机交互功能。主程序通过判断键盘的输入情况调用不同的子程序,子程序的功能实现也是在键盘的配合之下完成的。主程序流程图,如图6所示。
首先对单片机的串行口及定时器进行初始化,然后进行键盘扫描,如果有键按下,则根据扫描到的键值跳转到相应的入口并执行相应的程序,并根据外部的输入进行相应的操作。如果没有键按下,则回到初始化状态。在并行运行的程序中,本设计将调用另外两位合作者编写的日历时钟和温度程序,送入液晶显示器中进行显示。
4.1 多点定闹模块
闹钟的的起闹止闹基本步骤:(1)电子设备的中央处理器CPU从硬件时钟芯片中读取当前时间,从闹钟信息中提取一个与当前时间最接近的然后启动闹钟,将该闹钟的启动时间设置到硬件时钟芯片中。(2)硬件时钟芯片在当前时间与该需启动闹钟的启动时间进行比较,一致时通知CPU闹钟启动时间已经到达,蜂鸣器控制标志为“1”,闹钟打开,开始起闹,并显示在显示器上,要止闹只需按下启停键便可止闹,没有按键的情况下系统根据预设的闹响时间1 min后停止闹铃,闹时功能关停。硬件时钟芯片在当前时间与该需启动闹钟的启动时间进行比较不同时指向下一时间。(3)通过不停的进行比较,第一个闹点响停后,时钟正常行走,系统又再返回步骤(1)。
4.2 OSl2887时钟芯片与VRS51L3074的接口程序
系统通过中断和软件计数器可产生秒信号。每到1 s,系统将会调整时间存储单元的内容,从而实现计时功能。下面为DSl2887时钟芯片和VRS51L3074单片机的接口软件,假定采用每天24 h制,时间数据格式为BCD码,初始化时间为2000年1月1日9时00分00秒,1 kHz方波输出。时钟芯片每1 s向单片机申请中断一次,一方面让单片机修改一次时钟显示,另一方面也给单片微机系统提供时间基准。
5 结束语
系统利用VRS51L3074作为控制核心,外加专用的时钟芯片DSl2887的应用,实现时间、日历及闹钟信息显示功能。该电子钟操作方便,通过键盘和汉显液晶提示可方便地校对时钟和对闹钟进行设置。
VRS51L3074 DS12887 电子日历时钟 相关文章:
- VRS51L3074铁电单片机在加密防破解方面的应用(10-26)
- 89C52和DS12887做的倒计时器(11-24)
- 基于C8051的状态监测电路设计(08-06)
- 基于C8051F040多路浸水时刻记录电路设计(01-18)
- 单片机时钟芯片DS12887的应用(11-17)
- Windows CE 进程、线程和内存管理(11-09)