




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的数字时钟加闹钟的设计与制作 题 目 基于单片机的数字时钟加闹钟的设计与制作 1 绪论绪论 2 1 1 引言 2 1 2 研究目的 2 1 3 系统基本方案选择和论证 2 1 3 1 单片机芯片的选择方案和论证 2 1 3 2 显示模块选择方案和论证 2 1 3 3 时钟芯片的选择方案和论证 2 1 3 4 电路设计最终方案确定 3 1 4 硬件系统框图 3 2 主要元件介绍主要元件介绍 4 2 1 STC89C52 以及最小系统介绍 4 2 1 1 ST89C52 单片机 4 2 1 2 计时芯片 DS1302 5 2 1 3 字符液晶显示屏 LCD1602 资料 6 2 1 4 电源模块 8 3 硬件电路连接图 硬件电路连接图 8 3 1 单片机的连接图 8 3 2 DS1302 计时模块 9 3 3 LCD1602 液晶显示模块 9 3 4 按键模块 9 4 系统的软件设计 系统的软件设计 10 4 1 软件设计流程图 10 5 系统的调试 系统的调试 11 6 总结 总结 12 参考文献参考文献 13 附录一 附录一 14 附录二 附录二 15 附录三 附录三 29 嵌入式综合课程设计嵌入式综合课程设计 IIIIII 基于单片机的数字时钟加闹钟的设计与制作 基于单片机的数字时钟加闹钟的设计与制作 任务提出 随着单片机技术的飞速发展 在其推动下 现代的电子产品几乎渗透到了社会的各个领域 有 力地推动了社会生产力的发展和社会信息化程度的提高 同时也使现代电子产品性能 进一步提高 时间就是金钱 时间就是生命 时间就是胜利 准确的掌握时间和分配时间对人们来说至 关重要 时钟是我们生活中必不可少的工具 电子钟的设计方法有很多种 但是基于单片机并通过 LCD 显示的电子时钟具有编程灵活 精确度高 便于携带 显示直观等特点 利用 STC89C52 单片 机对 DS1302 时钟芯片进行读写操作并通过 LCD1602 字符液晶显示实时时钟信息 这样便构成了一 个单片机电子时钟 设计要求 利用单片机作为核心控制器件 制作一个数字时钟 要求其具有如下功能 具有年 月 日 星期 时 分 秒显示功能 具备年 月 日 星期 时 分 秒校准功能 具有闹钟显示 调节设定 鸣叫功能 计时器模块能够准确计时 显示模块能够清晰 稳定显示 不出现乱码 输入模块能够正确输入指令 控制模块能够正确控制输入 输出显示 整个系统能够正常 稳定工作 陕西理工学院课程设计论文 第 1 页 共 29 页 摘 要 随着单片机技术的飞速发展 在其推动下 现代的电子产品几乎渗透到了社会的各个领域 有 力地推动了社会生产力的发展和社会信息化程度的提高 同时也使现代电子产品性能进一步提高 时间就是金钱 时间就是生命 时间就是胜利 准确的掌握时间和分配时间对人们来说至 关重要 时钟是我们生活中必不可少的工具 电子钟的设计方法有很多种 但是基于单片机并通过 LCD 显示的电子时钟具有编程灵活 精确度高 便于携带 显示直观等特点 利用 STC89C52 单片 机对 DS1302 时钟芯片进行读写操作并通过 LCD1602 字符液晶显示实时时钟信息 这样便构成了一 个单片机电子时钟 关键词关键词 单片机 电子时钟 STC89C52 蜂鸣器 陕西理工学院课程设计论文 第 2 页 共 29 页 1 绪论 1 1 引言引言 时间 对人们来说是非常宝贵的 准确的掌握时间和分配时间对人们来说至关重要 因此自从 时钟发明的那刻起 就成为人类的好朋友 随着时间的流逝 科学技术的不断发展和提高 人们对 时间计量的精度要求越来越高 应用越来越广 怎样让时钟更好 更方便 更精确的显示时间 这 就要求人们不断设计研发出新型的时钟 高精度的计时工具大多数都使用了石英晶体振荡器 由于电子钟 石英表 石英钟都采用了石 英技术 因此走时精度高 稳定性好 使用方便 不需要经常调校 数字式电子钟用集成电路计时 时 译码代替机械式传动 用 LED 显示器代替指针进而显示时间 减小了计时误差 这种表具有 时 分 秒显示时间的功能 还可以进行时和分的校对 片选的灵活性好 时钟电路在计算机系统 中起着非常重要的作用 是保证系统正常工作的基础 在单片机的应用系统中 时钟有两个方面的 含义 一是指为保障系统正常工作的基准振荡定时信号 主要由晶振和外围电路组成 晶振频率的 大小决定了单片机系统工作的快慢 二是指系统的标准定时时钟 即定时时间 它通常有两种实现 方法 一是用软件实现 即用单片机内部的 可编程定时器计数器来实现 二是用专门的时钟芯片实现 1 2 研究目的研究目的 通过利用 STC89C52 单片机和 DS1302 芯片以及外围的按键和 LCD 显示器等部件 设计一个 基于单片机的电子时钟 设计的电子时钟通过液晶显示器显示 并能通过按键对时间以及闹钟进行 置 1 3 系统基本方案选择和论证系统基本方案选择和论证 1 3 1 单片机芯片的选择方案和论证 方案一 采用 STC89C52 芯片作为硬件核心 STC89C52 内部具有 8KB ROM 存储空间 512 字节数据存储空间 带有 2K 字节的 EEPROM 存储空间 与 MCS 51 系列单片机完全兼容 STC89C52 可以通过串口下载 方案二 采用 AT89S52 AT89S52 片内具有 8K 字节程序存储空间 256 字节的数据存储空间没有 EEPROM 存储空间 也与 MCS 51 系列单片机完全兼容 具有在线编程可擦除技术 两种单片机都完全能够满足设计需 要 STC89C52 相对 ATS89C52 价格便宜 且抗干扰能力强 考虑到成本因素 因此选 STC89C52 1 3 2 显示模块选择方案和论证 方案一 采用点阵式数码管显示 点阵式数码管是由八行八列的发光二极管组成 对于显示文字比较适合 如采用在显示数字显 得太浪费 且也相对较高 所以不用此种作为显示 方案二 采用 LED 数码管动态扫描 LED 数码管价格便宜 对于显示数字最合适 但功耗较大 且显示容量不够 所以也不用此种方 案 方案三 采用 LCD 液晶显示屏 液晶显示屏的显示功能强大 可显示大量文字 显示多样 清晰可见 且价格适中 所以采用 LCD 数码管作为显示 1 3 3 时钟芯片的选择方案和论证 方案一 直接采用单片机定时计数器提供秒信号 使用程序实现年 月 日 星期 时 分 秒计数 采用此种方案虽然减少芯片的使用 节约成本 但是 实现的时间误差较大 所以不采用此方案 陕西理工学院课程设计论文 第 3 页 共 29 页 方案二 采用 DS1302 时钟芯片实现时钟 DS1302 芯片是一种高性能的时钟芯片 可自动对秒 分 时 日 周 月 年以及闰年补偿的年进行计数 而且精度高 工作电压 2 5V 5 5V 范围内 2 5V 时耗电小于 300nA 1 3 4 电路设计最终方案确定 综上各方案所述 对此次作品的方案选定 采用 STC89C52 单片机作为主控制系统 采用 DS1302 作为时钟芯片 采用 LCD1602 液晶作为显示器件 1 4 硬件系统框图硬件系统框图 该系统采用单片机 89C52 作为控制芯片 把 DS1302 计时模块传来的信息和键盘输入的指令进 行处理 控制着液晶屏 LCD1602 的显示和蜂鸣器的驱动 单 片 机 DS1302 计时模块 键盘输入模块 LCD1602 显示模块 蜂鸣器 陕西理工学院课程设计论文 第 4 页 共 29 页 2 主要元件介绍 2 1 STC89C52 以及最小系统介绍以及最小系统介绍 2 1 1 ST89C52 单片机 1 主要性能参数 与 MCS 51 产品指令和引脚完全兼容 8 字节可重擦写 FLASH 闪速存储器 1000 次擦写周期 全静态操作 0HZ 24MHZ 三级加密程序存储器 256X8 字节内部 RAM 32 个可编程 I 0 口线 3 个 16 位定时 计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 2 功能特性 STC89C52 提供以下标准功能 8 字节 FLASH 闪速存储器 256 字节内部 RAM 32 个 I O 口 线 3 个 16 位定时 计数器 一个 6 向量两级中断结构 一个全双工串行通信口 片内振荡器 及时钟电路 同时 AT89C52 可降至 0Hz 的静态逻辑操作 并支持两种软件可选的节电上作模 式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串行通信口及中断系统继续工 作 掉电方式保存 RAM 中的内容 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件 复位 3 管脚图 STC89C52 引脚介绍 主电源引脚 2 根 VCC Pin40 电源输入 接 5V 电源 GND Pin20 接地线 外接晶振引脚 2 根 XTAL1 Pin19 片内振荡电路的输入端 XTAL2 Pin20 片内振荡电路的输出端 控制引脚 4 根 RST VPP Pin9 复位引脚 引脚上出现 2 个机器周期的高电平将使单片 机复位 ALE PROG Pin30 地址锁存允许信号 PSEN Pin29 外部存储器读选通信号 EA VPP Pin31 程序存储器的内外部选通 接低电平从外部程序存储器读指令 如果接高电平 则从内部程序存储器读指令 可编程输入 输出引脚 32 根 STC89C52 单片机有 4 组 8 位的可编程 I O 口 分别位 P0 P1 P2 P3 口 每个口有 8 位 8 根 引脚 共 32 根 P0 口 Pin39 Pin32 8 位双向 I O 口线 名称为 P0 0 P0 7 P1 口 Pin1 Pin8 8 位准双向 I O 口线 名称为 P1 0 P1 7 P2 口 Pin21 Pin28 8 位准双向 I O 口线 名称为 P2 0 P2 7 P3 口 Pin10 Pin17 8 位准双向 I O 口线 名称为 P3 0 P3 7 陕西理工学院课程设计论文 第 5 页 共 29 页 2 1 2 计时芯片 DS1302 1 概述 DS1302 是 DALLAS 公司推出的涓流充电时钟芯片内含有一个实时时钟 日历和 31 字节静态 RAM 通过简单的串行接口与单片机进行通信实时时钟 日历电路提供秒 分 时 日 日期 月 年的信息 每月的天数和闰年的天数可自动调整 时钟操作可通过 AM PM 指示决定采用 24 或 12 小时格式 DS1302 与单片机之间能简单地采用同步串行的方式进行通信 仅需用到三个口线 RES 复位 I O 数据线 SCLK 串行时钟 RAM 的读 写数据以一个字节或多达 31 个字节的 字符组方式通信 DS1302 工作时功耗很低保持数据和时钟信息时功率小于 1mW 2 DS1302 功能特性 双电源管脚用于主电源和备份电源供应 VCC1 为可编程涓流充电电源 附加七个字节的存储 器 实时时钟具有能计算 2100 年之前的秒 分 时 日 日期 星期 月 年的能力 还有闰 年调整的能力 31 8 位暂存数据存储 RAM 串行 I O 口方式使得管脚数量最少 宽范围工作电压 2 0 5 5V 工作电流 2 0V 时 小于 300nA 读 写时钟或 RAM 数据时有两种传送方式 单字节传 送和多字节传送字符组方式 8 脚 DIP 封装或可选的 8 脚 SOIC 封装 简单 3 线接口 与 TTL 兼 容 VCC 5V 可选工业级温度范围 40 85 3 管脚描述 X1 X2 32 768KHz 晶振管脚 GND 地 RST 复位脚 I O 数据输入 输出引脚 SCLK 串行时钟 VCC1 VCC2 电源供电管脚 4 DS1302 的控制字如表所示 控制字节最高有效位 位 7 必须是逻辑 1 如果它为 0 则不能把数据写入 DS1302 中 位 6 如果 0 则表示存取日历时钟数据 为 1 表示存取 RAM 数据 位 5 至位 1 指示操作单元的地址 最低有效位 位 0 如为 0 表示要进行写操作 为 1 表示进 行读操作 控制字节总是从最低位开始传输 数据输入输出 I O 在控制指令字输入后的下一个 SCLK 时钟的上升沿时 数据被写入 DS1302 数据输入从低位即位 0 开始 同样 在紧跟 8 位的控制指令字后的下一个 SCLK 冲的下降沿读出 DS1302 的数据 读出数据时从低位 0 位到高位 7 其读写时序如图示 DS1302 控制字 陕西理工学院课程设计论文 第 6 页 共 29 页 2 1 3 字符液晶显示屏 LCD1602 资料 1 概述 工业字符型液晶 1602 是指显示的内容为 16 2 即能够同时显示两行 每行 16 个符 常见的 1602 字符液晶有两种 一种显示的是绿色背光黑色字体 另一种显示蓝色背光白色字体 目前市 面上字符液晶绝大多数是基于 HD44780 液晶芯片的 控制原理是完全相同的 本课题所用 1602 液 晶模块 显示屏是蓝色背光白色字体 如图 2 引脚功能说明 第 1 脚 GND 为地电源 第 2 脚 VCC 接 5V 正电源 第 3 脚 VO 为液晶显示器对比度调整端 接正电源时对比度最弱 接地电源时对比度最高 对比度过高时会产生重影 使用一个 10K 的电位器调 整对比度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存器 第 5 脚 R W 为读写信号线 高电平时进行读操作 低电平时进行写操作 第 6 脚 E 端为使能端 当 E 端由高电平跳变成低电 平时 液晶模块执行命令 第 7 14 脚 DB0 DB7 为 8 位双向数据线 第 15 16 脚 背光灯电源 DS1302 读写时序 陕西理工学院课程设计论文 第 7 页 共 29 页 3 LCD1602 液晶屏的使用时序 4 LCD1602 存储器 RAM 1602 液晶控制器芯片内部带有 80 个 8 位的 RAM 缓冲区 其地址和屏幕的对应关系如图示 DS1302 读写时序 LCD1602 写时序 LCD1602 读时序 陕西理工学院课程设计论文 第 8 页 共 29 页 2 1 4 电源模块 系统的供电采用 5V 供电 具体的连接如图示 变压器采用的是 AC220 AC9V 稳压芯片是 LM7805 3 硬件电路连接图 以 STC89C52 单片机最小系统为核心控制 时钟电路由 DS1302 芯片提供 采用三线与单片机 进行通信 用四个独立的按键进行年 月 日 时间 星期等调整 最终的结果通过 LCD1602 液 晶显示屏显示出来 3 1 单片机的连接图单片机的连接图 其中 XTAL1 和 XTAL2 接 11 0592MHZ 的晶振 RST 经开关接 5V 控制系统的复位 P1 口与 DS1302 计时模块连接 进行通信与对其控制 P2 口与 LCD1602 液晶显示模块连接 控制着 LCD1602 的显示 P3 口与按键连接 通过 P3 口输入控制信号 陕西理工学院课程设计论文 第 9 页 共 29 页 3 2 DS1302 计时模块计时模块 其中 X1 X2 接晶振 32 768KHZ VCC1 VCC2 接电源 I O 接单片机的 P1 1 进行数据的交 换 SCLK 接单片机的 P1 0 RST 接单片机的 P1 2 引脚 进行指令的接收 3 3 LCD1602 液晶显示模块液晶显示模块 其中 DB0 DB7 分别接单片机的 P2 0 P2 7 进行数据的传输 VO 接电阻进行背光亮度的调节 RS RW 和 EN 分别接单片机的 P1 3 P1 5 用于单片机的指令接收 3 4 按键模块按键模块 开关一端接地 另一端接 P3 0 P3 3 单片机用检测 P3 0 P3 3 引脚的电位判断是否有键按下 陕西理工学院课程设计论文 第 10 页 共 29 页 4 系统的软件设计 4 1 软件设计流程图 软件设计流程图 首先 编写主程序 对计时模块 DS1302 和显示模块 LCD1602 进行初始化 同时定义计时模 块 显示模块和按键模块的控制程序 之后读取 DS1302 计时模块预先设定数据 显示模块 LCD1602 进行显示 按键检测程序一直在检测是否有键按下 如果 S1 键按下一次 主函数调用计 时控制和显示控制的函数对秒进行操作 此时秒闪烁 如果此时按下 S2 S3 可对其进行加减调整 按下如果 S1 按下两次 主函数调用计时控制和显示控制的函数对分进行操作 此时分闪烁 如果 此时按下 S2 S3 可对其进行加减调整 按下如果 S1 按下三次 主函数调用计时控制和显示控制的 函数对时进行操作 此时时闪烁 如果此时按下 S2 S3 可对其进行加减调整 按下如果 S1 按下四 次 主函数调用计时控制和显示控制的函数对年进行操作 此时年闪烁 如果此时按下 S2 S3 可 对其进行加减调整 按下如果 S1 按下五次 主函数调用计时控制和显示控制的函数对月进行操作 此时月闪烁 如果此时按下 S2 S3 可对其进行加减调整 按下如果 S1 按下六次 主函数调用计时 控制和显示控制的函数对日进行操作 此时日闪烁 如果此时按下 S2 S3 可对其进行加减调整 按下如果 S1 按下七次 主函数调用计时控制和显示控制的函数对周进行操作 此时周闪烁 如果 此时按下 S2 S3 可对其进行加减调整 按下如果 S1 按下八次 程序进入主函数 陕西理工学院课程设计论文 第 11 页 共 29 页 5 系统的调试 将系统的电源 计时模块 按键模块 显示模块 控制模块 按照附录一的电路做成 PCB 电 路板 把元器件焊接在板子上 进行硬件的搭建 搭建好硬件之后 将编译好的软件程序下载到 STC89C52 中 检查无误后 接通电源 看是否能够实现预期的功能 在单个的模块调试中 各个 模块均能够正常稳定的工作 但是在将它们装配在一块 进行整体的调试时 就出现了其他一些问 题 不能实现预期的功能 经过仔细的检查和查阅资料 询问老师同学等方式 进行解决 现在系 统能够稳定 正常的工作 调试过程 检查各个器件完好 连接正常之后 接通电源 此时电源指示灯亮 液晶显示屏 LCD1602 同时亮 依次出现开机画面 数秒之后 显示初始的年 月 日 星期 时 分 秒 通过模式选择键可以在时间显示模式和闹钟模式之间切换 通过移位键可以使液晶屏上的光标 依次移位 将光标移位在想要的调节的位置 按加 减键可以进行该位置的数字的调整 加 减键可以在按下移位键之后 调节光标闪烁位置的数字 将模式切换到闹钟模式 依次调整时 分 当时间到预设的时间 蜂鸣器发出 滴滴 声 陕西理工学院课程设计论文 第 12 页 共 29 页 6 总结 通过本次课程设计 使我加深了对单片机的认识 并且掌握了单片机系统的设计 制作流程 收获丰硕 功能上基本达标 时钟与闹钟的显示 调时间和闹钟功能以及闹钟鸣叫功能 时钟与闹 钟显示功能 精确度完全可以满足日常生活显示时间的需要 调时间与闹钟功能 方便快捷 硬件 设施基本合乎要求 软件设计可以配合硬件实现其功能 技术在不断进步 机械式时钟已经被淘汰 取而代之的是具有高度准确性和直观性且无机械装 置 具有更长的使用寿命等优点的电子时钟 电子时钟更具人性化 更能提高人们的生活质量 更 受人们欢迎 机械时代已经远去 电子时代已经到来 做为新时代的我们 更应该提高自身能力 适应新时代的发展 知识来自实践 多从生活中探寻所需要的 从这次的课程设计中 我真正的体会到 知识的重要性 特别是要理论联系实际 把我们所学 的理论知识运用到实际生活当中 学以致用 陕西理工学院课程设计论文 第 13 页 共 29 页 参考文献 1 李广第 朱月秀 冷租祁 单片机基础第三版 北京 北京航空航天大学出版社 1 259 2 李庆亮 C 语言程序设计实用教程 北京 机械工业出版社 2005 3 1 100 3 康华光 电子技术基础数字部分 北京 高等教育出版社 2008 1 560 3 康华光 电子技术基础模拟部分 北京 高等教育出版社 2008 1 560 4 杨志忠 数字电子技术 北京 高等教育出版社 2003 12 30 100 5 及力 Protel 99 SE 原理图与 PCB 设计教程 北京 电子工业出版社 2007 8 48 100 6 杨欣 电子设计从零开始 北京 清华大学出版社 2005 10 200 12 邢小杰 单片机电子时钟 设计 中国科技博览 2009 陕西理工学院课程设计论文 第 14 页 共 29 页 附录一 整体电路连接图 陕西理工学院课程设计论文 第 15 页 共 29 页 附录二 源程序代码 include include define uchar unsigned char define uint unsigned int bit flag uchar s1num char nian yue ri shi fen miao week char a fen 10 a shi 10 初始值年周月时分秒 uchar kaiji Welcome 开机画面显示 uchar kaiji1 Good Luck 123456789abcdefg uchar alarm table Alarm uchar write add 7 0 x8c 0 x8a 0 x88 0 x86 0 x84 0 x82 0 x80 uchar read add 7 0 x8d 0 x8b 0 x89 0 x87 0 x85 0 x83 0 x81 sbit rs P1 5 1602 定义 sbit rw P1 4 sbit e P1 3 sbit sck P1 0 1302 定义 sbit io P1 1 sbit rst P1 2 sbit s1 P3 2 调整按键 sbit s2 P3 1 加 1 sbit s3 P3 0 减 1 sbit s4 P3 3 模式选择 sbit dd P3 4 蜂鸣器 陕西理工学院课程设计论文 第 16 页 共 29 页 void delay 1ms uchar m 延时函数 uchar i j for j 0 j m j for i 0 i 110 i void beep 蜂鸣器发声 dd 0 delay 1ms 50 dd 1 void write com uchar com lcd1602 写指令 e 0 rs 0 rw 0 P2 com delay 1ms 1 e 1 delay 1ms 1 e 0 void write data uchar dat lcd1602 写数据 e 0 rs 1 rw 0 P2 dat delay 1ms 1 e 1 delay 1ms 1 e 0 void write sfm uchar add uchar dat 时分秒刷新显示函数 陕西理工学院课程设计论文 第 17 页 共 29 页 uchar shi ge shi dat 10 ge dat 10 write com 0 xc0 add write data 0 x30 shi write data 0 x30 ge void write nyr uchar add uchar dat 年月日刷新显示函数 uchar shi ge shi dat 10 ge dat 10 write com 0 x80 add write data 0 x30 shi write data 0 x30 ge void write ds1302 byte uchar add ds1302 uchar i for i 0 i 1 sck 1 void write ds1302 uchar add uchar dat rst 0 nop sck 0 nop rst 1 陕西理工学院课程设计论文 第 18 页 共 29 页 nop write ds1302 byte add write ds1302 byte dat rst 0 nop io 1 sck 1 void write tran data uchar add uchar dat 十进制转换成 BCD 码 uchar t t dat 10 dat dat 10 dat t 4 dat write ds1302 0 x8e 0 x00 去除写保护 write ds1302 add dat 给指定的地址写数据 write ds1302 0 x8e 0 x80 加写保护 uchar read ds1302 uchar add 读 ds1302 数据 uchar vulue i rst 0 nop sck 0 nop rst 1 nop write ds1302 byte add for i 0 i 1 if io vulue vulue 0 x80 sck 1 rst 0 陕西理工学院课程设计论文 第 19 页 共 29 页 nop sck 0 io 1 sck 1 vulue vulue 4 10 vulue BCD 码转换成十进制 return vulue void tran week uchar dat 星期转化函数 switch dat case 1 write com 0 x80 13 write data M write data o write data n break case 2 write com 0 x80 13 write data T write data u write data e break case 3 write com 0 x80 13 write data W write data e write data d break case 4 write com 0 x80 13 write data T write data h write data u break case 5 write com 0 x80 13 write data F write data r write data i break case 6 write com 0 x80 13 write data S write data a write data t break case 7 write com 0 x80 13 陕西理工学院课程设计论文 第 20 页 共 29 页 write data S write data u write data n break void init uchar t write com 0 x38 1602 初始化 write com 0 x0c write com 0 x06 write com 0 x01 ds1302 初始化 write tran data 0 x8c 13 write tran data 0 x8a 1 write tran data 0 x88 03 0 x8c 0 x8a 0 x88 0 x86 0 x84 0 x82 0 x80 write tran data 0 x86 01 年 周 月 日 时 分 秒 write tran data 0 x84 00 write tran data 0 x82 00 write tran data 0 x80 00 write com 0 x80 for t 0 t 16 t write data kaiji t delay 1ms 1 write com 0 x80 0 x40 for t 0 t 16 t write data kaiji1 t delay 1ms 1 for t 0 t 50 t delay 1ms 100 write com 0 x01 清屏 陕西理工学院课程设计论文 第 21 页 共 29 页 void scan key 按键判别函数 if s4 0 选择模式 时间 闹钟 delay 1ms 10 if s4 0 while s4 beep flag flag if flag 0 选择时间模式 if s1 0 delay 1ms 10 if s1 0 while s1 beep s1num switch s1num 光标闪烁定位 case 7 write com 0 xc0 11 秒 write com 0 x0f break case 6 write com 0 xc0 8 分 write com 0 x0f break case 5 write com 0 xc0 5 时 write com 0 x0f break case 4 write com 0 x80 13 周 write com 0 x0f break case 3 write com 0 x80 10 日 陕西理工学院课程设计论文 第 22 页 共 29 页 write com 0 x0f break case 2 write com 0 x80 7 月 write com 0 x0f break case 1 write com 0 x80 4 年 write com 0 x0f break default s1num 0 write com 0 x0c 取消闪烁 break if s1num 0 加 1 按键 if s2 0 delay 1ms 10 if s2 0 while s2 beep switch s1num case 7 miao if miao 60 miao 0 write tran data 0 x80 miao 调整后的值 送入 ds1302 中 break case 6 fen if fen 60 fen 0 write tran data 0 x82 fen break case 5 shi if shi 24 shi 0 陕西理工学院课程设计论文 第 23 页 共 29 页 write tran data 0 x84 shi break case 4 week if week 8 week 1 write tran data 0 x8a week tran week week break case 3 ri if ri 32 ri 1 write tran data 0 x86 ri break case 2 yue if yue 13 yue 1 write tran data 0 x88 yue break case 1 nian if nian 100 nian 1 write tran data 0 x8c nian break if s3 0 减 1 按键 delay 1ms 10 if s3 0 while s3 beep switch s1num case 7 miao 陕西理工学院课程设计论文 第 24 页 共 29 页 if miao 1 miao 59 write tran data 0 x80 miao break case 6 fen if fen 1 fen 59 write tran data 0 x82 fen break case 5 shi if shi 1 shi 23 write tran data 0 x84 shi break case 4 week if week 0 week 7 write tran data 0 x8a week tran week week break case 3 ri if ri 0 ri 30 write tran data 0 x86 ri break case 2 yue if yue 0 yue 12 write tran data 0 x88 yue break case 1 nian if nian 1 nian 99 write tran data 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电解铝行业市场前景及投资研究报告:价格底部夯实库存拐点
- 生态公园建筑工程与绿色物业管理合作协议
- 离婚协议范本:离婚经济补偿协议及子女抚养权协议
- 骶管麻醉课件
- 河道清淤工程设计手册
- 零售业货品陈列细则
- 企业绩效管理体系制定
- 物业商业服务招商通知
- 用园艺抚慰你的心灵和情感
- 船舶物资装备方案
- 二年级上册《生态 生命 安全》教案
- 中交集团国考云题库
- 《无人机法律法规知识》课件-第1章 民用航空法概述
- 2024届广东省高三三模数学试题(解析版)
- 2.5动荡变化中的春秋时期课件 2024~2025学年统编版七年级历史上册
- 经外周静脉穿刺中心静脉置管(PICC)操作技术专家共识解读
- 幼儿园大班科学课件:日月地
- 校园五清三提方案
- 高龄患者PICC导管静脉血栓形成的个案分享课件
- 国有企业采购管理规范 T/CFLP 0027-2020
- 国企纪检干部业务知识竞赛题库及参考答案(2套)
评论
0/150
提交评论