以DS1302实时时钟芯片和液晶显示屏CD1602为基础设计的电子钟 联系客服

发布时间 : 星期二 文章以DS1302实时时钟芯片和液晶显示屏CD1602为基础设计的电子钟更新完毕开始阅读4ebaa92ea31614791711cc7931b765ce05087a91

电子系统设计实验报告

实验名称 院(系)别 实验人姓名 以DS1302实时时钟芯片和液晶显示屏CD1602为基础设计的电子钟 班号 学号 实验日期 2009-6-25到28 实验目的:

1、能够以DS1302实时时钟芯片和液晶显示屏CD1602为基础设计一款电子钟 2、熟悉DS1302芯片的工作过程 3、熟悉CD1602芯片的工作过程

4、可以进行必要的扩展,如用第三DS18B20新品进行温度采集和显示 5、熟悉掌握51的c程序的编写

6、掌握用Proteus进行系统设计仿真验证

实验仪器、仪表目录

1、DS1302实时时钟芯片1片 2、LCD1602液晶显示屏1个, 3、80C52芯片1片 5、DS18B20芯片一片

6、晶振、电容、电阻、开关各若干等 7、proteus仿真软件 8、Keil C51、PC机

实验设计任务

以DS1302实时时钟芯片和液晶显示屏LCD1602为基础设计一个电子钟,要求:时间和日期可调整,按键采用3个按键;至少在Proteus上调试通过。扩展:闹钟和重要日期提醒功能(增加蜂鸣器), 闹铃音乐功能

实验步骤

1、打开Keil软件,新建一个工程文件,选择好芯片,并记得在 “Options for Target 1”的Output选项中,将Create HEX Fil选项勾起来。 2、将编写的程序保存成“.C”的形式

3、编译保存好的C文件,并根据提示修改程序中的错误,直到编译成功为止 4、打开proteus软件,画出实验电路图

5、在89C52中,载入原来已生成的HEX文档

word文档 可自由复制编辑

6、按下运行键,对Proteus进行软件仿真,观察运行结果

原理、结果及分析

一、设计方案原理与设计特点分析

电子钟总的设计模块:

温度采集模块

DS1302时钟

采集模块

各个模块电路原理分析:

89C52CPU 控制模块 按键处理模块 LCD显示模块 1、DS1302时钟采集模块:

1.1电路原理图:

1.2 DS1302分析:

首先DS1302是DALLAS公司推出的涓流充电时钟芯片。内含有一个实时时钟/日历和31字节静态RAM通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息每月的天数和闰年的天数可自动调整时钟操作。

DS1302芯片广脚介绍:X1、X2为32.768KHz晶振管脚。GND 为地。RST复位脚。I/O数据输入/输出引脚。SCLK串行时钟。Vcc1,Vcc2电源供电管脚。与单片机连接的信号线为: DS1302_SCLK 接P1^6; 实时时钟时钟线引脚 DS1302_IO 接P1^7; 实时时钟数据线引脚 DS1302_RST 接P1^5; 实时时钟复位线引脚

特别注意DS1302芯片在读取或写入数据时,都是一位一位传送的,并且每传送一位,SCLK信号线要有一个负跳变。即单片机对SCLK咬先送高电平,再送低电平。数据时通过IO进行传送的。

1.3数据处理子程序流程图

word文档 可自由复制编辑

是否调用时间获取子 否 程序DS1302

_GetTime

调用Read1302函数,读取各个时间参

数,并存放于ReadValue变量中

对ReadValue数据进行转换,转换成

十进制数,并赋给Time指针中。

调用年份转换成可供lcd显示的字

段子程序DateToStr

时间转换成可供lcd显示的字段子

程序TimeToStr

结束 因为DS1302芯片在读取或写入数据时,都是一位一位传送的,并且每传送一位,SCLK信号线要有一个负跳变。所以在对DS1302具体某地址进行一字节数据的写入或读取时,都要调用实时时钟写入一字节(内部函数) DS1302InputByte和实时时钟读取一字节(内部函数) DS1302OutputByte两个函数。

2、按键处理模块

2.1按键连线图

其中按键1为模式键,按键2为加1键,按键3为减1键。与单片机连线如下: mode连接P3^0; //设定修改位数

word文档 可自由复制编辑

plus连接P3^3; //加键 dec连接P3^6; //减键 2.2按键扫描子程序流程图: Mode键是否按下 将mode按键次数存放于变 量mode_num中 否 mode_n 否 mode_nu 否 mode_nu 否 mode_n mode_num=1 ? um=2? m=3? m=4? um=5? 是 是 是 是 是 否 mode_n 否 mode_nu m=6? um=7? 移动光标,并返回 是 是

2.3加减键处理子程序流程图 判断是否为修改 否 模式 是 判断是否为加一 否 转减一键程序 键 是 判断判断num=3 判断 num=1 ? 否 num=2 ? 否 是 是 是 word文档 可自由复制编辑