




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南人文科技学院 课程设计报告 课程名称 课程名称 单片机原理及应用课程设计 设计题目设计题目 电子时钟的设计 系系 别 别 通信与控制工程系 专专 业 业 通信工程 班班 级 级 09 级通信二班 学生姓名学生姓名 袁 琦 黄文付 学学 号号 09416230 09416227 起止日期起止日期 2011 年 12 月 20 日 2011 年 12 月 30 日 指导教师指导教师 王善伟 姚毅 谢四莲 教研室主任 教研室主任 刘建闽 指导教师评语指导教师评语 指导教师签名 年 月 日 成绩成绩 项项 目目权重权重 袁琦黄文付 1 设计过程中出勤 学习态度等方面0 2 2 课程设计质量与答辩 0 5 3 设计报告书写及图纸规范程度 0 3 成成 绩绩 评评 定定 总 成 绩 教研室审核意见 教研室主任签字 年 月 日 教学系审核意见 主任签字 年 月 日 摘 要 时钟是人类日常生活必不可少的工具 本设计从日常生活中常见的事物入手 通 过对电子时钟的设计 让我们认识到单片机已经深入到我们生活的每个领域 该设计 不仅可以锻炼我们的动手能力 而且可以加深我们对单片机的认识和激发我们对未知 科学领域的探索 本文利用单片机实现数字时钟计时功能的主要内容 它体积小 成本低 功能强 使用方便 可靠性高等一系列优点 广泛应用于智能产业和工业自动化上 本次设计 采用独立式按键进行时间调整 其中 STC89C52 是核心元件 同时采用数码管 LED 动 态显示 时 分 秒 的现代计时装置 与传统机械表相比 它具有走时精确 显 示直观等特点 它的计时周期为 24 小时 显满刻度为 23 时 59 分 59 秒 另外利用 DS1302 具有校时功能 断电后有记忆功能 恢复供电时可实现计时同步等特点 该系 统同时具有硬件设计简单 工作稳定性高 价格低廉等优点 关键词关键词 STC89C52 LED 数码管 数码管 8255 芯片 芯片 DS1302 芯片 芯片 目录目录 设计要求 1 1 方案论证与对比 1 1 1 方案一 1 1 2 方案二 2 1 3 方案对比 2 2 系统硬件电路的设计 3 2 1 单片机的选择及引脚功能介绍 3 2 2 8255A 芯片的结构及引脚功能介绍 4 2 3 DS1302 芯片的结构及引脚功能介绍 6 2 4 显示电路设计 7 2 5 电源电路设计 8 2 6 键盘动态扫描电路设计 8 3 控制系统的软件设计 10 3 1 主程序流程图 10 3 2 显示子程序 11 3 3 闹钟时间设定功能程序 11 3 4 键盘扫描程序 12 4 系统功能调试与整体指标 13 4 1 硬件调试与分析 13 4 2 软件调试与分析 14 4 3 性能分析 14 5 详细仪器清单 14 6 总结与思考及致谢 15 参考文献 16 附录一 程序 方案一 17 附录二 程序 方案二 25 0 电子时钟的设计电子时钟的设计 设计要求设计要求 利用单片机作为控制核心 完成一个时钟计时器 具体要求如下 1 采用 6 位 LED 数码显示时 分 秒 2 时制式为 24 小时制 3 使用按键开关可实现时 分调整 4 秒表 时钟功能转换 5 定时设定提醒的功能 6 整点提醒 蜂鸣 7 DS1302 设时 对时 掉电记忆时间的功能 1 1 方案论证与对比 方案论证与对比 1 11 1 方案一方案一 此方案采用单片机内部定时器 T0 进行计时 STC89S52 实时控制 如图 1 所示 P0 STC89C52 单片机 定时器 P2 PA PB 8255 PC 6位LED数码 管显示 矩阵键盘 蜂鸣器 图 1 方案一系统方框图 1 1 2 方案二 此方案采用专用时钟芯片 DS1302 精确计时 单片机 STC89C52 实时读取时钟 显示至 6 位数码管 如图 2 所示 P0 STC89C52 单片机 控制器 P2 PA PB 8255 PC 6位LED数码 管显示 矩阵键盘 蜂鸣器 DS1302 图 2 方案二系统方框图 1 3 方案对比 以上方案中 方案一设计简洁 编程比较简单 计时精度不高 准确性不能完 全保证 虽硬件简洁 成本更低廉 便于实现 绿色环保 编程简单易写 不能达 到提高同学们编程的能力和对单片机及其扩展芯片的学习和深程度的去了解单片机 及其更广泛的应用 故在此我们选择挑战 放弃对其选择 虽然我们对其进行了放 弃 但我们也把此方法的程序写好以便进行对比 方案二与方案一相比 编程比较复杂 计时精度较高 而且可以灵活运用 可扩 展性好 并能充分的利用单片机的有效资源 还可让我们培养我们的自学能力 自 己去发掘单片机内部结构及其扩展功能 自己去学会怎样对其他芯片控制的学习方 法 使得课程设计具有一定的挑战性 正因如此 故我们选择方案二 2 2 2 系统硬件电路的设计 系统硬件电路的设计 2 1 单片机的选择及引脚功能介绍 STC89C52具有如下特点 40个引脚 引脚图如图四所示 4k Bytes Flash 片内 程序存储器 128 bytes 的随机存取数据存储器 RAM 32个外部双向输入 输出 I O 口 5个中断优先级2层中断嵌套中断 2个16位可编程定时计数器 2个全双工 串行通信口 看门狗 WDT 电路 片内时钟振荡器 此外 STC89C52RC 设计和配置了振荡频率可为 0Hz 并可通过软件设置省电模 式 空闲模式下 CPU 暂停工作 而 RAM 定时计数器 串行口 外中断系统可继 续工作 掉电模式冻结振荡器而保存 RAM 的数据 停止芯片其它功能直至外中断 激活或硬件复位 同时该芯片还具有 PDIP TQFP 和 PLCC 等三种封装形式 以适 应不同产品的需求 图4 STC89C52芯片引脚图 引脚功能介绍 VCC 40 5V GND 20 接地 3 P0口 39 32 P0口为8位漏极开路双向 I O 口 每引脚可吸收8个 TTL 门电 流 P1口 1 8 P1口是从内部提供上拉电阻器的8位双向 I O 口 P1口缓冲器能 接收和输出4个 TTL 门电流 P2口 21 28 P2口为内部上拉电阻器的8位双向 I O 口 P2口缓冲器可接收 和输出4个 TTL 门电流 P3口 10 17 P3口是8个带内部上拉电阻器的双向 I O 口 可接收和输出4 个 TTL 门电流 P3口也可作为 AT89C51的特殊功能口 RST 9 复位输入 当振荡器复位时 要保持 RST 引脚2个机器周期的高电 平时间 ALE PROG 30 当访问外部存储器时 地址锁存允许的输出电平用于锁存 地址的低位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变的频率周期输出正脉冲信号 此频率为振荡器频率的1 6 它可用作对外部 输出的脉冲或用于定时目的 要注意的是 每当访问外部数据存储器时 将跳过1 个 ALE 脉冲 PSEN 29 外部程序存储器的选通信号 在由外部程序存储器取指期间 每 个机器周期2次 PSEN 有效 但在访问外部数据存储器时 这2次有效的 PSEN 信号 将不出现 EA VPP 31 当 EA 保持低电平时 外部程序存储器地址为 0000H FFFFH 不管是否有内部程序存储器 FLASH 编程期间 此引脚也用于 施加12V 编程电源 VPP XTAL1 19 反向振荡器放大器的输入及内部时钟工作电路的输入 XTAL2 18 来自反向振荡器的输出 2 2 8255A 芯片的结构及引脚功能介绍 8255A 芯片是 Intel 公司生产的通用可编程并行接口电路 广泛应用于单片机扩 展并行 I O 口 它具有 8 个位并行口 PA PB 和 PC 8255A 芯片的内部结构及引脚 如图 5 所示 1 8255A 的内部结构 4 8255A 的内部结构有以下几部分组成 a 并行 I O 端口 A B C 8255A 的内部有 3 个 8 位并行 I O 口 A 口 B 口 C 口 3 个 I O 口都可以通过编程选择为输入口或输出口 但在结构和功能上有所不 同 A 口 含有一个 8 位数据输出锁存 缓冲器和一个 8 位输入锁存器 B 口 含有一个 8 位数据输出锁存 缓冲器和一个 8 位输入锁存器 不锁存 C 口 含有一个 8 位数据输出锁存 缓冲器和一个 8 位输入锁存器 不锁存 当数据传送不需要联络信号时 这 3 个端口都可以用作输入口或输出口 当 A 口 B 口需要有联络信号时 C 口可以作为 A 口和 B 口的联络信号线 b 工作方式控制电路 8255A 的三个端口在使用使可分为 A B 两组 A 组包括 A 口 8 位和 C 口高 4 位 B 组包括 B 口 8 位和 C 口低 4 位 两组的控制电路中分别 有控制寄存器 根据写入的控制字决定两组的工作方式 也可对 C 口每一位置 1 或清 0 c 数据总线缓冲器 数据总线缓冲器是三态双向的 8 位缓冲器 是 8255A 与单 片机数据总线的接口 8255A 的 D0 D7 可以和 AT89C51 单片机的 P0 0 P0 7 直接 相连 数据的输入输出 控制字和状态信息的传递 均可通过数据总线缓冲器进行 d 读 写控制逻辑 8255A 读 写控制逻辑的作用是从 CPU 的地址和控制总线上 接受有关信号 转变成各种控制命令送到数据缓冲器及 A 组和 B 组的控制电路 控 制 A B C3 个端口的操作 其引脚图如图 5 所示 5 图 5 8255 引脚图 引脚功能介绍 8255A 共有 40 个引脚 一般为双列直插 DIP 封装 40 个引脚可分为与 CPU 连 接的数据线 地址和控制信号以及与外围设备连接的三个端口线 D0 D7 双向三态数据总线 RESET 复位信号 输入 高电平有效 复位后 控制寄存器清 0 A 口 B 口 C 口被置为输入方式 CS 片选信号 输入 低电平有效 RD 读信号 输入 低电平有效 有效时 允许 CPU 通过 8255A D0 D7 读 取数据或状态信息 WR 写信号 输入 低电平有效 有效时 允许 A1A0 端口控制信号 输入 2 位可构成四种状态 分别寻址 A 口 B 口 C 口和控制寄存器 PA0 PA7 A 口数据线 双向 PB0 PB7 B 口数据线 双向 PC0 PC7 C 口数据 信号线 双向 当 8255A 工作于方式 0 时 PC0 PC7 分 为两组 每组 4 位 并行 I O 数据线 当 8255A 工作于方式 1 或方式 2 时 PC0 PC7 为 A 口 B 口提供联络信号 6 2 3 DS1302 芯片的结构及引脚功能介绍 DS1302 是美国 DALLAS 公司推出的一种高性能 低功耗 带 RAM 的实时时 钟电路 它可以对年 月 日 周日 时 分 秒进行计时 具有闰年补偿功能 工作电压为 2 5V 5 5V 采用三线接口与 CPU 进行同步通信 并可采用突发方式 一次传送多个字节的时钟信号或 RAM 数据 DS1302 内部有一个 31 8 的用于临时 性存放数据的 RAM 寄存器 DS1302 是 DS1202 的升级产品 与 DS1202 兼容 但 增加了主电源 后背电源双电源引脚 同时提供了对后背电源进行涓细电流充电的能 力 1 DS1302 的引脚功能及结构 DS1302 的引脚排列 其中 Vcc1 为后备电源 VCC2 为主电源 在主电源关闭 的情况下 也能保持时钟的连续运行 DS1302 由 Vcc1 或 Vcc2 两者中的较大者供 电 当 Vcc2 大于 Vcc1 0 2V 时 Vcc2 给 DS1302 供电 当 Vcc2 小于 Vcc1 时 DS1302 由 Vcc1 供电 X1 和 X2 是振荡源 外接 32 768kHz 晶振 RST 是复位 片选 线 通过把 RST 输入驱动置高电平来启动所有的数据传送 RST 输入有两种功能 首先 RST 接通控制逻辑 允许地址 命令序列送入移位寄存器 其次 RST 提供终 止单字节或多字节数据的传送手段 当 RST 为高电平时 所有的数据传送被初始化 允许对 DS1302 进行操作 如果在传送过程中 RST 置为低电平 则会终止此次数据 传送 I O 引脚变为高阻态 上电运行时 在 Vcc 2 5V 之前 RST 必须保持低电平 只有在 SCLK 为低电平时 才能将 RST 置为高电平 I O 为串行数据输入输出端 双 向 后面有详细说明 SCLK 始终是输入端 DS1302 的引脚功能以及单片机的连 接图如图 6 7 图 6 DS1302 引脚及其与单片机连接的原理图 2 4 显示电路设计 单片机中通常用七段 LED 构成字型 8 另外 还有一个小数点发光二极管以 显示小数位 这种显示器有共阴和共阳两种 发光二极管的阳极连在一起的 公共 端 称为共阳极显示器 阴极连在一起的称为共阴极显示器 一位显示器由 8 个发 光二极管组成 其中 7 个发光二极管构成字型 8 的各个笔划 段 a g 另一个小 数点为 dp 发光二极管 当在某段发光二极管上施加一定的正向电压时 该段笔画即 亮 不加电压则暗 为了保护各段 LED 不被损坏 需外加限流电阻 由于共阴极连 接需加驱动 故在这里我采用的是共阳阳极连接 以共阳极 LED 为例 各 LED 公共阳极 K0接高电平 若向各控制端 a b g dp 顺次送入00011110信号 则该显示器显示 字型 共阴极7段 LED 显示数字0 F 文字 符号及小数点的编码 a 段为最地位 dp 点为最高位 如图7 8 图 7 数码管的驱动显示电路设计 2 5 电源电路设计 在各种电子设备中 直流稳压电源是必不可少的组成部分 它是电子设备唯一 能量来源 它的设计思路是根据我们以前学过的模电电子技术 要想得到我们所要 的 6V 输出电压 就需将交流220V 的电压经过变压器 整流电路 滤波电路和稳压 电路四个部分 2 6 键盘动态扫描电路设计 在单片机系统中按键数量较多时 为了减少 I O 口的占用 常常将按钮排列成 矩阵式键盘中 每条水平线和直线在交叉处不直接连通 而是通过一个按钮加以连 接 这样 一个端口 如 P1 口 就能组成 4 4 16 个按钮 比之直接将端口线用于 键盘多出了一倍 而且线数越多 区别越明显 比如再多加一条就能组成 20 键的键 盘 而直接用端口线则只能多出一键 9 键 由此可见 在需要的键数比较多时 采用矩阵法来做键盘是最合理的 矩阵式键盘的按钮识别办法确定矩阵式键盘上何键被按下简绍一种 行扫描法 行扫描法又称为逐行 或列 扫描查询法 是一种最常用的 按钮识别办法 如 9 下图示键盘 介绍过程如下 判断键盘中有无键盘按下将全部行线置低电平 然后检测列的电平为低 则表 示键盘中有键被按下 而且闭合的键位位于低电平线与 4 根行线相交叉的 4 个按钮 之中 若所有列线均为高电平 则键盘中无键按下 判断闭合键所在的位置 在确认有键按下后 即可置某根行线为低电平时 其 他线为高电平 在确定某根位置为低电平后 再逐行检测各列线的电平状态 若某 列为低 则该列与置为低电平的行线交叉处的按钮就是闭合的按钮 将程序通过串 口下载到单片机中 在键盘上按任意键时 将会在数码管上显示对应的字符 为了驱动键盘 同上以 8255 PC 第四位作为输入 8255PC 高四位作为列扫描 输出 以此来实现动态扫描显示法 如图 8 所示 图 8 键盘动态扫描电路设计 3 3 控制系统的软件设计 控制系统的软件设计 3 1 主程序流程图 本设计中主程序主要实现显示的初始化和调用各子程序工作的功能 读取时间 的子程序主要实现初始化 时间信息的采集和显示段码的码的存取 分别对各个器 10 件的功能进行编程设计 根据主程序流程图 如下 进行全面的分析 设计中计时 主要以定时器 T0 中断完成 定点闹铃使用峰鸣器来完成 当端口有开关按下时 转 入相应的功能程序 其主程序执行流程图如下图 9 开始 初始化 显示 是否按键 是否为开启闹钟 设置闹钟时间 是否整点 蜂鸣器响4 秒 调节显示时间 是否到闹钟时间 蜂鸣器响1分 钟 Y Y Y Y N N N N 图 9 主程序流程图 3 2 显示子程序 时间显示子程序显示时钟芯片 3 个内存单元 小时 分钟 秒钟 的 BCD 码数 据 8255 的 PA 口送数码管的位选编码 8255 的 PB 口送段选编码 位选段选编码 存放在 ROM 表中 显示时 先取出位选编码数据 然后送至 PA 口输出 接着取出段选编码数据 送至 PB 口输出 剩下的数码管以同样地方法送数据直到将 3 个内存单元的数据分 成 6 个位全部送去数码管显示 数码管显示子程序流程图如图 9 所示 11 初始化显示数值 六位显示完成 开始 从RAM中取键码 计算存入缓冲区 显示延时 结束 N Y 图 10 数码管显示子程序流程图 3 3 闹钟时间设定功能程序 在时钟状态下 触发外中断 1 时 进入闹钟时间设定模式 且不影响 T0 计时器 的功能状态 在键盘上输入对应的数字进行时间设定 当分别按下调节时钟 分钟 和秒钟的个位时 时间自动确定 闹钟时间只精确到分钟 闹钟时间设定流程图如 图 11 所示 开始 闹铃 达到预设时间 返回 Y N 图 11 闹钟时间设定流程图 12 3 4 键盘扫描程序 本设计采用动态扫描法 动态扫描法不仅扫描键阵 也可以实现显示 是目前 应用十分广泛的一种方法 动态扫描法是采用输出 移动 信号 轮流对各行按键 进行检测来实现的 设置行线为输出 列线为输入 当无按键按下时 列输入全为 1 设计时 将某一行输出为 0 读取列线值 若其中某一位为 0 则表明 行 列交叉处的按键按下 否则 无按键按下 继续扫描下一行 将下一行输出为 0 直至全扫描完为止 键盘扫描程序流程图如 12 图所示 初始化地址参数 该列有键入 开始 输出列扫描信号 读入行信号 按照行列计算键值 四列扫描完 返回 查表得键码 等待键释放 N Y Y N 图 12 键盘扫描程序流程图 4 4 系统功能调试与整体指标 系统功能调试与整体指标 4 1 硬件调试与分析 1 时间准确性调试 硬件调试时可先检查印制版及焊接的质量情况 将电子时钟通电后 显示 13 00 00 00 触发 INT0 中断开始计时 每过一秒时间就显示变化一次 计时准确 显示稳定 2 闹铃功能调试 将时钟调到 11 点 59 分 58 秒 2 秒后 时钟开始定点闹铃 铃声为 嘀 嘀 嘀 嘀 声 持续 1 分钟报时声自动停止也可以触发功能键来中止闹铃 设计的电子时钟计时精确度较高 并可应用于日常生活中 能够通过键盘对电 子时钟进行调整 且调整过程简单方便 易于操作 有较强的人性化设计 并且可 通过键盘实现闹铃与时间模式的切换 使电子时钟的功能更加强大 能够进行定时 闹铃 计时较准确 基本能实现测试目标 4 2 软件调试与分析 软件调时在 KEIL C51 编译器下进行 源程序编译及仿真调试应分段或以子程 序为单位逐个进行 最后可结合硬件实时调试 4 3 性能分析 按照设计程序分析 LED 显示器动态扫描的频率为 167HZ 实际使用观察时完 全没有闪烁 由于计时中断程序中加了中断延时误差处理 所以实际计时精度非常 高 可满足多种场合的应用需要 5 5 详细仪器清单 详细仪器清单 表格 1 仪器清单 仪器名称仪器名称 STC89C52STC89C52 8255A8255A 14 3 位数码管3 位数码管 2 个 DS1302DS1302 11 0592k 晶振11 0592k 晶振 32 768k 晶振32 768k 晶振 矩阵键盘 4 4 矩阵 30PF 电容30PF 电容 100PF 电容100PF 电容 1K 电阻1K 电阻 蜂鸣器蜂鸣器 6 6 总结与思考及致谢 总结与思考及致谢 在老师的指导和同学的帮助之下 我完成了此次单片机课程设计 从开始接到 课题要求到时钟的实现 再到论文的完成 每走一步对我来说都是新的尝试与挑战 在这次的课程设计中不仅检验了我所学习的知识 也培养了我如何去把握一件事情 如何去做一件事情 又如何完成一件事情 在设计过程中 与同学分工设计 和同 学们相互探讨 相互学习 相互监督 课程设计是我们专业课程知识综合应用的实 践训练 着是我们迈向社会 从事职业工作前一个必不少的过程 15 这次时钟计时器设计的经历也会使我终身受益 我感受到做设计是要用心去做 的一件事情 是真正的自己学习的过程和研究的过程 没有学习就不可能有研究的 能力 没有自己的研究 就不会有所突破 通过设计 我在老师的精心指导和严格 要求下 获得了丰富的理论知识 极大地提高了实践能力 最后 再一次感谢我的老师 老师严谨细致 一丝不苟的作风一直是我学习的 榜样 老师循循善诱的教导和不拘一格的思路给予我无尽的启迪 这次时钟计时器 设计的每个环节 都离不开老师您的细心指导 我懂得了学习的重要性 了解到理 论知识与实践相结合的重要意义 学会了坚持 耐心和努力 这将为自己今后的学 习和工作做出了最好的榜样 参考文献参考文献 1 余锡存 单片机原理及接口技术 M 西安 西安电子科技大学出版社 2000 2 贾好来 MCS 51 单片机原理及应用 M 北京 机械工业出版社 2006 3 楼然苗 李光飞 单片机课程设计指导 M 北京 北京航空航天大学出版社 2007 4 夏路易 石宗义 电路原理图与电路板设计教程 北京希望电子工业出版 2002 5 朱定华 戴汝平 单片微机原理与应用 M 北京 清华大学出版社 2003 16 附录一 程序附录一 程序 方案一 方案一 include include define uint unsigned int define uchar unsigned char define PA XBYTE 0 xD1FF define PB XBYTE 0 xD2FF define PC XBYTE 0 xD5FF define PCON XBYTE 0 xD7FF sbit buzzer P3 3 蜂鸣器端口 数码管 0 9 的段选编码 uchar code tabledu 0 xA0 0 xBB 0 x62 0 x2A 0 x39 0 x2C 0 x24 0 xBA 17 0 x20 0 x28 数码管各位选编码 uchar code tablewe 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 全局变量定义 unsigned long num1 num2 uchar shi0 shi1 fen0 fen1 m0 m1 num num3 aa bb cc count temp count S flag flag1 char hour min second h0 h1 mi0 mi1 s0 s1 void init 初始化函数声明 void display uchar uchar uchar uchar uchar uchar 显示函数声明 void delay uint 带参数延时函数声明 1 毫秒 void keyscan 键盘扫描函数 void main PCON 0 x80 init while 1 主体循环 keyscan 时钟分离部分 m1 aa 10 m0 aa 10 fen1 bb 10 fen0 bb 10 shi1 cc 10 shi0 cc 10 clock 分离部分 s1 second 10 s0 second 10 mi1 min 10 mi0 min 10 h1 hour 10 h0 hour 10 时钟显示和 clock 显示部分 if num3 1x for y 124 y 0 y 键盘函数函数 void keyscan PC 0 xfe temp PC temp temp if temp 0 xf0 delay 5 temp PC temp temp if temp 0 xf0 temp PC switch temp case 0 xee num3 1 秒钟加一按键 break case 0 xde num3 2 分钟加一按键 break case 0 xbe num3 3 时钟加一按键 break case 0 x7e num3 4 清零按键 break 21 while temp 0 xf0 松手检测 temp PC temp temp display shi0 shi1 fen0 fen1 m0 m1 switch num3 case 1 aa if aa 59 aa 0 break case 2 bb if bb 59 bb 0 break case 3 cc if cc 23 cc 0 break case 4 aa 0 bb 0 cc 0 break PC 0 xfd temp PC temp temp if temp 0 xf0 delay 5 temp PC temp temp if temp 0 xfe temp PC switch temp case 0 xed num3 5 定时器暂停 并进入设置 clock 状态按键 break 22 case 0 xdd num3 6 设置 clock 的秒 分 时加时按键 break case 0 xbd num3 7 设置 clock 的秒 分 时减时按键 break case 0 x7d num3 8 定时器暂停 开启按键 break while temp 0 xf0 temp PC temp temp display h0 h1 mi0 mi1 s0 s1 switch num3 case 5 TR0 0 count if count 4 count 0 TR0 1 break case 6 if count 1 second if second 60 second 0 else if count 2 min if min 60 min 0 else if count 3 hour if hour 24 23 hour 0 break case 7 if count 1 second if second 1 second 59 else if count 2 min if min 1 min 59 else if count 3 hour if hour 1 hour 23 break case 8 S if S 2 1 TR0 0 else TR0 1 if S 2 S 0 break 24 附录二 程序 方案二 附录二 程序 方案二 include include define uchar unsigned char define uint unsigned int define uchar unsigned char define PA XBYTE 0 xD1FF define PB XBYTE 0 xD2FF define PC XBYTE 0 xD5FF define PCON XBYTE 0 xD7FF uchar num temp hour minute second hour1 hour2 minute1 minute2 second1 second2 uchar aa aa1 aa2 bb bb1 bb2 cc cc1 cc2 sbit buzzer P3 3 蜂鸣器 sbit D0 P1 0 用来指示闹钟开启关闭的 LED bit flag 闹钟开启关闭的标志位 uint a0 uchar code tabledu 25 0 xA0 0 xBB 0 x62 0 x2A 0 x39 0 x2C 0 x24 0 xBA 0 x20 0 x28 数码管 0123456789 的段选编码 uchar code tablewe 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 数码管的位选编码 sbit SCLK P3 2 sbit RST P2 6 sbit IO P3 5 毫秒延时程序 void delay uint z uint x y for x z x 0 x for y 110 y 0 y 微秒延时程序 void delay us uchar n uchar i for i 0 i n i 1302 做好准备 void ready init1302 RST 0 SCLK 0 RST 1 1302 单字节数据写入 void write1302 uchar dat uchar i SCLK 0 delay us 2 for i 0 i 1 1302 双字节数据写入 寄存器地址和数据 void write set1302 uchar cmd uchar dat ready init1302 delay us 2 write1302 cmd write1302 dat SCLK 1 RST 0 1302 单字节数据读出 uchar read1302 uchar i dat dat 0 delay us 2 for i 0 i 1 if 1 IO dat dat 0 x80 SCLK 1 delay us 2 SCLK 0 delay us 2 return dat 1302 单字节数据读出 读指定寄存器值 uchar read set1302 uchar cmd 27 uchar dat ready init1302 write1302 cmd dat read1302 SCLK 1 RST 0 return dat 1302 初始化 设置初始时间 void init1302 write set1302 0 x8e 0 x00 write set1302 0 x80 0 10 4 0 10 write set1302 0 x82 27 10 4 27 10 write set1302 0 x84 10 10 4 10 temp temp read set1302 0 x83 minute temp temp read set1302 0 x85 hour temp 数码管显示函数 入口参数为每个数码管的段选序号 void dispaly uchar du0 uchar du1 uchar du2 uchar du3 ucha
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省漳州市2026届高三第一次教学质量检测数学试题(含答案)
- 幼师论文题目及答案
- 2025年食品、饮料及烟草批发服务项目建议书
- 教师老师试题及答案
- 公务员制度自考试题及答案
- 抗原检测生物安全培训课件
- 扩展语句压缩语段课件
- 慢性胃炎的护理
- 2025年机械技能考试题目及答案
- 山东高职考试数学试题及答案
- 昭阳区生活垃圾管理办法
- 项目绩效评价思路
- 2025年卫生院信息化建设年初工作计划
- 校纪校规主题班会课件
- 浙江海洋大学《大学英语Ⅰ(5)》2023-2024学年第一学期期末试卷
- 2025至2030中国电解二氧化锰粉行业发展分析及发展趋势分析与未来投资战略咨询研究报告
- DB1508T 171-2025 酸枣生态种植技术规程
- 部编版语文三年级上册第一单元单元整体作业设计
- 工厂各部门管理制度
- 财务风险预警管理制度
- 国企往来款管理制度
评论
0/150
提交评论