万年历课程设计.docxVIP

  • 13
  • 0
  • 约1.14万字
  • 约 28页
  • 2020-11-22 发布于河北
  • 举报
万年历课程设计 -------------------------------------------------------------------------- 作者 : _____________ -------------------------------------------------------------------------- 日期 : _____________ 基于 51 单片机的万年历的设计 学生姓名 学 号 所在专业 电子信息工程 所在班级 电子 1111 小组成员 指导教师 完成日期 基于 51 单片机的万年历的设计 需求分析 1.1 “需“的分析 万年历是一个可以显示当前时间、日历、温度信息以及设置闹钟报警的应用系 统,其具有以下功能: 1)可以显示当前的时间信息; 2)可以显示当前的温度; 3)可以手动修改时间; 4)可以设置闹钟,并且达到设置的时间点发出音响信号。 1.2 “求“的分析 设计万年历,需要考虑以下几方面的内容: 1)如何获取当前的时间信息,这些时间信息包括时、分、秒、年、月、日、和 星期; 2)如何获得当前的温度信息,精确到 1°C即可; 3)提供必要的用户输入设置通道; 4)提供相应的显示和报警部件; 5)需要写出合适的软件应用代码。 方案设计与论证 2.1 时间获取方法的方案设计与论证 方案一: 使用单片机的内部定时器进行定时,使用软件算法来计算当前的时间信息。此种 方案虽然可以不使用时钟芯片,节约成本,但是时间的精准度一般,软件代码复杂。 方案二: 采用外部扩展实时时钟芯片 DS12C887的方式来获取相应的时间信息。 DS12C887是一种高性能的芯片,能自动产生年、月、日、时、分、秒等信息,并 有闰年修正功能。采用双电源供电方式,可设置备用电源充电方式,提供了对后备电 源进行涓细电流的充电的能力,在能满足精度要求的同时价格也比较便宜,性价比较 高。 所以采用方案二。 2.2 显示模块的方案设计与论证 方案一:采用 LED数码管动态扫描。 LED数码管价格适中 , 但只能显示数字和简单 的字符,且其的接口线少。 方案二: 采用点阵式数码管显示。点阵式数码管是由八行八列的发光二极管组成,并不太 适合于对数字跟字母进行显示,其主要用于汉字的显示。 方案三: 采用 LED液晶显示屏。液晶显示屏的显示功能强大 , 可显示大量文字 , 图形 , 显示多 样, 清晰可见,虽然价格稍微贵了点,但其接口线多。 所以采用方案三。 2.3 温度采集的方案设计与论证 方案一: 使用 PT铂电阻采集。 PT铂电阻根据温度变化的只是其电阻值,在实际使用过程, 需要额外的辅助器件将其转化为电压信号,并且通过调整后送到模 / 数字转换器件才能 让 51 单片机进行处理。 方案二:使用数字温度传感器采集。温度传感器虽然、精度采样速度等性能比不 上 PT铂电阻,但是其没有额外的附加器件,且能满足系统对采集精度的要求。 所以采用数字温度传感器。 硬件设计 3.1 万年历的硬件模块 显示模块 声音报警模块 51 单 片 用户输入模块 机 温度传感器模块 时钟日历模块 图 3-1 万年历的硬件模块 3.2 万年历的电路 图 3-2 万年历的电路 3.3 硬件基础 DS1302的硬件基础: 时钟芯片 DS1302的工作原理: DS1302在每次进行读、写程序前都必须初始化,先把 SCLK端置 “0”,接着把RST 端置“1”,最后才给予SCLK脉冲。图 5 为 DS1302的控制字的位 7 必须置 1,若为 0 则 不能把对 DS1302进行读写数据。对于位 6,若对程序进行读 / 写时 RAM=1,对时间进行 读/ 写时, CK=0。位 1 至位 5 指操作单元的地址。位 0 是读 / 写操作位,进行读操作 时,该位为 1;该位为 0 则表示进行的是写操作。控制字节总是从最低位开始输入 / 输 出的。 DS1302的日历、时间寄存器内容:“ CH”是时钟暂停标志位,当该位为 1 时,时 钟振荡器停止, DS1302处于低功耗状态;当该位为 0 时,时钟开始运行。“WP”是写保 护位,在任何的对时钟和 RAM的写操作之前, WP必须为 0。当“WP”为1 时,写保护位防 止对任一寄存器的写操作。 (2) DS1302 的控制字节 DS1302的控制字如表 -1 所示。控制字节的高有效位(位 7)必须是逻辑 1,如果 它为 0,则不能把数据写入 DS1302中,位 6 如果 0,则表示存取日历时钟数据,为 1 表示存取 RAM数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示 要进行写操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 3-1 DS13

文档评论(0)

1亿VIP精品文档

相关文档