电子系统设计报告
与89C52的连接图,其中,时钟的显示用LCD。
在DS1302的时钟日历或RAM进行数据传送时,DS1302必须首先发送命令字节。若进行单字节传送,8位命令字节传送结束之后,在下2个SCLK周期的上升沿输入数据字节,或在下8个SCLK周期的下降沿输出数据字节。DS1302与RAM相关的寄存器分为两类:一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0H~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,在此方式下可一次性读、写所有的RAM的31个字节。 3.3.4 DS1302的调试与电路实现
要特别说明的是备用电源3V,可以用电池或者超级电容器(0.1F以上)。虽然DS1302在主电源掉电后的耗电很小,但是,如果要长时间保证时钟正常,最好选用小型充电电池。DS1302在第一次加电后,必须进行初始化操作。初始化后就可以按正常方法调整时间。 实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。电路原理图如3-3下:
图3-3第三章第三图
3.4显示模块
3.4.1 LCD1602的简介
工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 3.4.2 LCD1602引脚图及功能
第 16 页 共 50 页
电子系统设计报告
3.5按键控制模块
3.5.1键盘电路原理
键盘是由8个按键组成的开关,是最简单的也是最常用的单片机输入设备,操作员可以通过键盘输入数据或命令,实现简单的人机通信。
3.5.2键盘电路与89C52的连接如图
第 17 页 共 50 页
电子系统设计报告
第4章 系统软件设计
整个软件系统采用模块化思想,把1602,DS1302的驱动程序做成头文件,在功能程序中调用。采用这种方法不仅使程序模块化,使程序结构层次分明,便于管理和维护,同时可方便以后开发的调用,只要包含头文件,功能程序模块中再调用接口函数就可以了,而不必关心底层驱动是如何实现的,这样缩短了开发周期,开发效率大大提高。在主程序中采用事件顺序驱动机制的编程方法,按键处理中采用采用网状多级状态结构的编程方法,而秒表功能采用定时中断实现,精确到1ms。
主程序采用事件驱动机制,事件为某个按键按下,则主程序响应这个按键,并进入相应的功能程序,其编程思想如下:
第 18 页 共 50 页
电子系统设计报告
开始 主程序流程图 I/O初始化 DS1302初始化,定时中断初始化 读取DS1302的RAM中的时间 正常显示 整点到否? 报时 是否进入校准模式?K1? 闹钟模式?k 进入校准 确认?K4 进入闹钟定时模式 秒表模式?K5 确认?k4 进入秒表模式?k 确认?K4 第 19 页 共 50 页
电子系统设计报告
开始 闹钟模式 返回?K4 返回闹钟时间 确认?K4 显示是否与闹铃一致? 蜂鸣器响 显示闹铃时间 是否关闭蜂鸣?k 正常显示
第 20 页 共 50 页