




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的电子日历设计 一、设计目的和要求 单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞 机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制 和数据处理,以及我们生活中广泛使用的各种智能 IC 卡、电子宠物等,这些都离不开单 片机。单片机是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小, 成本低,功能强,广泛应用于智能产业和工业自动化上。而 51 系列单片机是各单片机中 最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、 设计、开发软、硬的能力。 通过对一个基于单片机的能实现电子日历功能电子时钟的设 计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器 AT89C51、时 钟电路 DS1302、显示电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进 行时、分、秒的显示。 系统设计要求:电子日历能显示,能调整。基于 51 系列的单片机进行的电子万年历设 计可以显示年月日时分秒及周信息,具有可调整日期和时间功能。在设计的同时对单片 机的理论基础和外围扩展知识进行了比较全面准备。具体实现功能:显示年月日时分秒 及星期信息,具有可调整日期和时间功能,与即时时间同步。 主要使用到的工具和器件: Keilc51 Protues DS1302 AT89S52 LCD12864 二、方案设计 每一系统都有几个核心的模块。它对整个系统的性能有非常大的影响。比如 系统的主控。 2.1 主控芯片选择方案论证 方案一:选择 51 系列的单片机;AT89S52 是一种低功耗、高性能 CMOS8 位微控制器, 具有 8K 在系统可编程 Flash 存储器。使用 Atmel 公司高密度非易失性存储器技术制造, 与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程,亦适 于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52 具有以下标准功 能: 8k 字节 Flash,256 字节 RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针, 三个 16 位 定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时 钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空 闲模式下,CPU 停止工作,允许 RAM、定时器/ 计数器、串口、中断继续工 作。掉电保 护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或 硬件复位为止。 方案二:选择 msp430 系列单片机;MSP430 系列单片机是一个 16 位的单片机,采用 了精简指令集(RISC )结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数 寻址) 、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器 都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程 序。MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗 (WDT) 、模拟比较器 A、定时器 A0(Timer_A0 ) 、定时器 A1(Timer_A1) 、定时器 B0( Timer_B0) 、UART、SPI 、I2C、硬件乘法器、液晶驱动器、 10 位/12 位 ADC、16 位 - ADC、DMA、I/O 端口、基本定时器(Basic Timer) 、实时时钟(RTC)和 USB 控制器等 若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行 模拟电压的比较,配合定时器,可设计出 A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机 通信等应用;具有较多的 I/O 端口,P0 、P1、P2 端口能够接收外部上升沿或下降沿的中 断输入;10/12 位硬件 A/D 转换器有较高的转换速率,最高可达 200kbps ,能够满足大 基于单片机的电子日历设计 3 多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件 I2C 串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的 DMA 模 块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。 方案对比: 运算周期:时钟显示最小单位为秒,51 和 msp430 的运算周期都在 1 秒之内,这 一点都满足要求。 IO 口是否满足系统设计要求:51 有 32 个 IO 口,msp430 的 IO 口则更多。这一点 都满足要求。 是否需要外加时钟芯片:采用定时器,误差较大。Msp430 内部就有时钟 RTC 单 元,51 单片机需要外加。 选择 51 单片机作为系统的主控; 2.2 显示模块方案选择 方案一:用数码管显示:采用 LED 数码管动态扫描,LED 数码管价格适中, 对于显示数 字合适,采用动态扫描法与单片机连接时,虽然占用的单片机口线少,并且人站在远处夜能 观看到时间。 方案二:用 LCD 显示:采用 LCD 液晶显示屏,液晶显示屏的显示功能强大, 可显示大量 文字,图形,显示多样,清晰可见,并且使用串行接口占用 IO 数比使用数码管少,但是人站 在远处观看很难看清时间,且成本较高。 方案对比:由于这次是实验式课程设计,采用 LCD 显示,接线简单且编程简单。 2.3 时钟模块选择 方案一:用专用时钟模块 DS1302:DS1302 是美国 DALLAS 公司推出的一种高性能、 低功耗、带 RAM 的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具 有闰年补偿功能,工作电压为 2.0V5.5V。采用三线接口与 CPU 进行同步通信,并可采 用突发方式一次传送多个字节的时钟信号或 RAM 数据。DS1302 内部有一个 318 的用于 临时性存放数据的 RAM 寄存器。DS1302 是 DS1202 的升级产品,与 DS1202 兼容,但增 加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。 使用 DS1302,接线简单,编程简单,并且断电时,可使用电池保持 DS1302 继续工作, 确保时间正确。 方案二:用主控芯片的定时器:用定时器最为时钟源,误差大,编程复杂。 综上所述:采用 51 单片机,LCD 显示和时钟模块 DS1302。 基于单片机的电子日历设计 5 三、硬件设计 硬件设计包含了对整个系统的组成的描述,清晰地说明它们的工作内容和工作原理。 3.1 系统结构框图 AT89S5 2 键盘 DS1302 时钟 LCD12864 蜂鸣器 图 3.1 系统结构框图 该电路是由 AT89S52 单片机为控制核心,具有在线编程功能,低功耗,能在 3V 超低 压工作;时钟电路由 DS1302 提供,它是一种高性能、低功耗、带 RAM 的实时时钟电路, 它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为 2.5V 5.5V。采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的 时钟信号或 RAM 数据。DS1302 内部有一个 31*8 的用于临时性存放数据的 RAM 寄存器。 可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同 时具有掉电自动保存功能;显示部份由 LCD 液晶显示屏显示。 3.2 最小应用系统设计 单片机的最小系统一般有时钟电路、复位电路和电源等组成。 3.3 主要应用单元设计 主要应用单元包括专用时钟单元和 LCD 显示单元。 3.3.1 DS1302 时钟单元 DS1302 的引脚排列,其中 Vcc1 为后备电源,Vcc2 为 主电源。在主电源关闭的情况下,也能保持时钟的连续运 行。DS1302 由 Vcc1 或 Vcc2 两者中的较大者供电。当 Vcc2 大于 Vcc1+0.2V 时,Vcc2 给 DS1302 供电。当 Vcc2 小于 Vcc1 时,DS1302 由 Vcc1 供 图 3.2 电源、时钟电路、复位电路 图 3.3 DS1302 时钟电路 电。X1 和 X2 是振荡源,外接 32.768KHz 晶振。RST 是复位/ 片选线,通过把 RST 输入驱动 置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许 地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。 当 RST 为高电平时,所有的数据传送被初始化,允许对 DS1302 进行操作。如果在传送过 程中 RSTS 置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在 Vcc 大于等于 2.5V 之前,RST 必须保持低电平。只有在 SCLK 为低电平时,才能将 RST 置 为高电平,I/O 为串行数据输入端(双向) 。SCLK 始终是输入端。 DS1302 的工作原理:DS1302 在每次进行读、写程序前都必须初始化,先把 SCLK 端置 “0”,接着把 RST 端置“1” ,最后 才给予 SCLK 脉冲;读/ 写时序如下图 4 所示。DS1302 的控制字的位 7 必须 置 1,若为 0 则不能把对 DS1302 进 行读写数据。对于位 6,若对程序进 行读/写时 RAM=1,对时间进行读/写 时,CK=0,位 1 至位 5 指操作单元的 地址。位 0 是读/写操作位,进行读操作时,该位为 1;该位为 0 则表示进行的是写操作。 控制字节总是从最低位开始输入/输出的。 由图 3.4 可知: DS1302 的日历、时间寄存器内容:“CH”是时钟暂停标志位,当该位为 1 时,时钟 振荡器停止,DS1302 处于低功耗状态;当该位为 0 时,时钟开始运行。 “WP”是写保护 位,在任何的对时钟和 RAM 的写操作之前,WP 必须为 0。当“WP”为 1 时,写保护位 防止对任一寄存器的写操作。 DS1302 的控制字节: DS1302 控制字节的高有效位(位 7)必须是逻辑 1,如果它为 0,则不能把数据写入 DS1302 中,位 6 如果 0,则表示存取日历时钟数据,为 1 表示存取 RAM 数据;位 5 至位 1 指示操作单元的地址;最低有效位(位 0)如为 0 表示要进行写 操作,为 1 表示进行读操作,控制字节总是从最低位开始输出。 在控制指令字输入后的下一个 SCLK 时钟的上升沿时,数据被写入 DS1302,数据输入 从低位即位 0 开始。同样,在紧跟 8 位的控制指令字后的下一个 SCLK 脉冲的下降沿读出 DS1302 的数据,读出数据时从低位 0 位到高位 7。 图 3.4 DS1302 寄存器 基于单片机的电子日历设计 7 DS1302 有 12 个寄存器,其中有 7 个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。 此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器 及与 RAM 相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄 存器内容。 DS1302 与 RAM 相关的寄存器分为两类:一类是单个 RAM 单元,共 31 个, 每个单元组态为一个 8 位的字节,其命令控制字为 C0HFDH,其中奇数为读操作,偶数 为写操作;另一类为突发方式下的 RAM 寄存器,此方式下可一次性读写所有的 RAM 的 31 个字节,命令控制字为 FEH(写) 、FFH(读)。 3.3.2 LCD12864 显示单元 液晶显示模块是 12864 点阵的汉字图形型液晶显示 模块,可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵) 、128 个字符(8X16 点阵)及 64X256 点阵显示 RAM(GDRAM ) 。可与 CPU 直接接口,提供两种界面来连 接微处理机:8-位并行及串行两种连接方式。具有多种功 能:光标显示、画面移位、睡眠模式等。采用串口连接 LCD 和单片机。 图 3.5 DS1302 寄存器 四、软件设计 软件设计包含了主程序设计和模块程序设计。 4.1 接口定义 P1.0 接液晶屏的 CS 脚,作为串行的片选;P1.1 接液晶的 SID 脚,作为串行的数据口; P1.2 接液晶的 SCLK 脚,作为串行的同步时钟信号; P1.3 接时钟芯片的 SCLK 脚;P1.4 接时 钟芯片的 I/0 脚;P1.4 接时钟芯片的复位脚;P2.0 接矩阵键盘的第一行;P2.1 接矩阵键盘 的第二行;P2.2 接矩阵键盘的第三行;P2.3 接矩阵键盘的第四行;P2.4 接矩阵键盘的第 一列;P2.5 接蜂鸣器;单片机的 16 脚为单片机的复位端;20 脚接地;具体如表 1 所示: 表 1:单片机引脚说明 引脚号 引脚名 接口说明 备注 1 VCC 电源正端 2 P1.0 接液晶的 CS(4 脚) 串行片选线 3 P1.1 接液晶的 SID(5 脚) 串行数据线 4 P1.2 接液晶的 SCLK (6 脚) 串行同步时钟 5 P1.3 接时钟芯片的 SCLK 脚 6 P1.4 接时钟芯片的 I/O 脚 7 P1.5 接时钟芯片的复位脚 8 P2.0 接矩阵的第一行 9 P2.1 接矩阵的第二行 10 P2.1 接矩阵的第三行 11 P2.3 接矩阵的第四行 12 P2.4 接矩阵的第一列 13 P2.5 接蜂鸣器 16 RST 复位端 20 GND 电源地 4.2 程序流程图 4.2.1 主函数 主函数流程图如图 4.2.1 所示,在进行 I/O 口配置和初始化后 ,通过键盘扫描函数,来改变时钟芯片内 部时间和日期寄存器的值,然后单片机从里面把数据读取出来,经过处理后,在 12864 的液晶显示出来。 4.2.2 LCD12864 初始化函数 液晶屏初始化的流程框图如图 4.2 所示。写命令,功能设置为基本指令集,写清屏指令,整屏清 除,然后写命令设置光标的移动方向,整体显示不移动,整体显示打开,光标不显示且不反白。将液 基于单片机的电子日历设计 9 晶的地址归零。 写指令:0x30 开始 写指令:0x0C 写指令:0x01 写指令: 0x06 图 4.2 12864 液晶屏初始化函数 流程图 结束 开始 关闭看门狗 进行 I/O 口的配置 初始化 键盘扫描 设定闹钟时间 读取时钟芯片内部数据 将读得的数据液晶显示 结束 图 4.1 主函数 4.2.3 DS1302 的读取函数 DS1302 读数据函数流程如图 4.3 所示,先是将时钟线, 复位线 ,数据线全部置 0,由于时钟芯片 DS1302 读数据是采用串行通信的,故先发地址, 再进行数据的读取。 图 4.3 DS1302 读数据流程 图 开始 复位端拉高启动一次数据传输 写命令字节一位 SCLK 发脉冲 是否有 8 次? SCLK 发脉冲 读数据字节一位 是否有 8 次? 复位端拉低 结束 YNNY 4.2.4 键盘扫描函数 基于单片机的电子日历设计 11 进行 I/O 口的配置 开始 判断是否 为 第一 键按下? 判断是否 为 第二键按 下? 判断是否有 键 按 下 按按下次数选择档 位 判断是否 为 第四键按 下? 结束 还原所有数值 判断第二 键 是 否按下? 判断是否 为 第三键按 下? 判断第三 键 是 否按下? 每按一下加 1 每按一下减 1 图 4.4 按键扫描 YYYYNNNN NNN 五、系统仿真 5.1 protues 介绍 Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件。它运行于 Windows 操作系统上可以仿真、分析(SPICE)各种模拟器件和集成电路。该软件的特点是: 全部满足我们提出的单片机软件仿真系统的标准并在同类产品中具有明显的优势。具有 模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232 动态仿真、 IC 调试器、SPI 调试器、键盘和 LCD 系统仿真的功能。有各种虚拟仪器,如示波器、逻辑 分析仪、信号发生器等。目前支持的单片机类型有 ARM7 系列、68000 系列、8051 系列、 AVR 系列、 PIC12 系列、PIC16 系列、PIC18 系列、 Z80 系列、HC11 系列以及各种外围芯片。 支持大量的存储器和外围芯片。总之该软件是一款集单片机和 SPICE 分析于一身的仿真软 件功能极其强大可仿真 ARM、51、AVR、PIC。 5.2 protues 的仿真流程 1、绘制原理图; 2、用 keilc51 编写程序; 3、把程序与 protues 连接; 4、仿真; 5、若发生错误,修改直至成功显示时间; 5.3 protues 原理图 图 5.3 protues原理图 基于单片机的电子日历设计 13 5.4 protues 仿真结果 通过按键调节日历的年、月、日、时、分、秒和星期,然后写入时钟芯片 DS1302 中, 启动时钟,时钟正常运转,显示结果如上图所示,系统设计基本要求达到。 图 5.4 protues仿真结果 六、设计中的问题及解决方法 问题:对万年历修改时间或日期时,有时 LCD 液晶显示屏被屏蔽掉造成不亮现象。 解决方法:根据仪器的测试,发现电路的驱动能力不足,最后在 DS1302 时钟芯片的 /CS、SCLK 、RET 端接入 5.1K 的上拉电阻后, 电路的驱动能力才能满足 即可解决不亮现象。 基于单片机的电子日历设计 15 七、心得体会和致谢 在整个设计过程中,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。 较好的完成了设计,达到了预期的目的,完了最初的设想。对电路的设计、布局要先有 一个好的构思,才显得电路图美观、大方。程序编写中 由于思路不清晰,开始时遇到 了很多的问题,经过静下心来思考,和同学讨论,理清了思路,反而得心应手。在此次 设计中,知道了做凡事要有一颗平常的心不要想着走捷径一步一脚印。也练就了我的耐 心,做什么事都在有耐心。此次课程设计中学到了很多很多东西,这是最重要的。总之, 此次课设使我的能力得到了全方位的提高,使得我的操作能力和专业技能都有了很大的 提高。 在做课程设计的日子里得到了老师的悉心指导和同学的帮助,在此向他们致以诚挚的 谢意。感谢提供相关技术帮助的老师和同学,你们的支持和鼓励使我对这次的设计完成 有了信心和动力,我在此深表谢意。 八、参考文献 1 陈景初.单片机应用系统设计与实践M.北京航空航天大学出版社 . 2006 年 2 徐爱钧. 彭秀华.单片机高级语言编程与 uVision2 应用实践.电子工业出版社. 2004 年 3 刘勇.数字电路.电子工业出版社. 2004 年 4 王法能.单片机原理及应用. 科学出版社. 2004 年 5 何立民.MCS-51 系列单片机应用系列设计 M.北京航空航天大学出版社. 2006 年 6 李广弟.朱月秀. 王秀山.单片机基础M.北京航空航天大学出版社.2004 年 7 马家辰.MCS-51 单片机原理与接口技术 M.哈尔滨工业大学出版社.2005 年 8 陈正振.电子电路设计与制作. 广西交通职业技术学院信息工程系. 2007 年 9 杨子文.单片机原理及应用. 西安电子科技大学出版社. 2006 年 10 何立民 .MCS-51 系列单片机应用系列设计M. 航空航天大学出版社.2004 年 基于单片机的电子日历设计 17 附录 1:硬件电路 附录 2:源程序 /*变量定义及函数的声明*/ #include #define uint unsigned int #define uchar unsigned char #define cyCS 0 /P1.0,片选信号 #define cySID 1 /P1.1,串行数据 #define cySCLK 2 /P1.2,同步时钟 #define sclk_in P1DIR temp=date; for(t=8;t0;t-) /写数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》模拟题库带答案详解(考试直接用)
- 2025年教师招聘之《幼儿教师招聘》题库及答案详解【全优】
- 2025一建《水利水电工程管理与实务》押题卷A卷
- 乳品新产品平台创新创业项目商业计划书
- 押题宝典教师招聘之《小学教师招聘》通关考试题库及参考答案详解(模拟题)
- 教师招聘之《小学教师招聘》能力提升题库及参考答案详解【突破训练】
- 2025内蒙古呼伦贝尔农垦集团有限公司招聘笔试及答案详解(名校卷)
- 教师招聘之《小学教师招聘》模拟考试高能附参考答案详解【b卷】
- 教师招聘之《小学教师招聘》提分评估复习附参考答案详解(培优b卷)
- 教师招聘之《小学教师招聘》考前冲刺分析附答案详解【a卷】
- 劳动课种植教学方案
- 2024年全国职业院校技能大赛高职组(环境检测与监测赛项)考试题库(含答案)
- 实验-大肠杆菌感受态细胞的制备及转化
- 2025年中考语文阅读复习:理解词语含义(含练习题及答案)
- GB/T 44421-2024矫形器配置服务规范
- 磷酸哌嗪宝塔糖的毒理学研究
- 【课件】2025届高三生物一轮复习备考策略研讨
- 灵芝培训课件
- 环形开挖预留核心土法
- 妇科医生进修汇报课件
- 《科室管理方案》课件
评论
0/150
提交评论