




免费预览已结束,剩余35页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程名称 自动控制课程设计课程名称 自动控制课程设计 设计题目 设计题目 电子时钟系统的设计与实现电子时钟系统的设计与实现 院院 系 系 专专 业 业 年年 级 级 姓姓 名 名 指导教师 指导教师 西南交通大学峨眉校区西南交通大学峨眉校区 2010 年年 7 月月 22 日日 西南交通大学峨眉校区自动控制课程设计 论文 第 I 页 课课 程程 设设 计计 任任 务务 书书 专专 业业 姓姓 名名 学学 号号 开题日期开题日期 2010 年 7 月月 13 日日 完成日期 完成日期 2010 年年 7 月月 22 日日 题题 目目 电子时钟系统的设计与实现 一 设计的目的一 设计的目的 通过课程设计 使学生巩固和加深对单片机基本知识的理解 学会查 询资料 方案设计 方案比较 以及单元电路设计计算等环节 进一步提 高学生综合运用所学知识的能力 提高分析解决实际问题的能力 锻炼分 析 解决电子电路问题的实际本领 通过此综合训练 为以后毕业设计打 下一定的基础 二 设计的内容及要求二 设计的内容及要求 1 设计一个基于单片机的电子时钟 并且能够实现时分秒的显示和调 节 2 系统显示器由6位数字型数码管组成 分别显示时间值的小时 分和 秒 3 能够随时对当前时间进行调整 4 能够随时输入定时 闹钟 时间 5 定时 闹钟 时间到 发出闹钟提醒信号 6 闹钟提醒信号的声音为断续形式 最长不超过 1min 三 指导教师评语三 指导教师评语 四 成四 成 绩绩 指导教师指导教师 签章签章 年年 月月 日日 西南交通大学峨眉校区自动控制课程设计 论文 第 II 页 摘 要 随着电子技术的发展 计算机在现代科学技术的发展中起着越来越重 要的作用 多媒体技术 网络技术 智能信息处理技术 自适用控制技术 数据挖掘与处理技术等都离不开计算机 本课程设计是基单片机原理与接 口技术的简单应用 运用所学的单片机原理和接口技术知识完成电子时钟 系统的设计与实现 电子时钟已成为人们日常生活中必不可少的必需品 广泛用于个人家 庭以及办公室等公共场所 给人们的生活 学习 工作 娱乐带来极大的 方便 由于数字集成电路技术的发展和采用了先进的石英技术 使电子时 钟具有走时准确 性能稳定 携带方便等优点 它还用于计时 自动报时 及自动控制等各个领域 尽管目前市场上已有现成的电子表集成电路芯片 出售 价格便宜 使用也方便 但鉴于电子时钟电路的基本组成包含了数 字电路的主要组成部分 因此进行电子时钟的设计是必要的 用汇编语言 设计电子时钟显示程序 要求根据输入程序显示电子时钟画面 研究电子 时钟及扩大其应用 有着非常现实的意义 关键词 LED 定时 计器数 汇编语言 调试 运行 西南交通大学峨眉校区自动控制课程设计 论文 第 III 页 ABSTRACT With the development of electronic technology computers in the development of modern science and technology play an increasingly important role in Multimedia technology network technology intelligent information processing since the application of control technology data mining and processing and so can not do without a computer The course design is based SCM theory and simple application interface technology Learned the use of SCM principles and interface of technical knowledge to complete electronic clock system design and implementation Electronic clock has become essential daily necessities are widely used in personal home and office and other public places to people s lives study work entertainment brought great convenience As digital integrated circuit technology and uses advanced quartz technology to enable electronic clock has accurate time and stable performance portable and easy it also used for timing automatic timekeeping and control fields Although the market has been ready to sell electronic form integrated circuit chip cheap easy to use also but in view of the basic components of electronic clock circuit includes the main components of digital circuits so the design of the electronic clock is necessary use electronic clock display of assembly language programs designed to require electronic clock program displays the input screen Of electronic clock and extend its application has a very practical significance Keyword LED timer total number of devices assembly language debugging running 西南交通大学峨眉校区自动控制课程设计 论文 第 IV 页 目录目录 摘 要 II ABSTRACT III 第一章 绪论 1 1 1 电子时钟课程设计的背景和意义 1 1 2 电子时钟的功能 2 第二章 设计思路与方案确定 3 2 1 电子时钟的设计思路 3 2 2 硬件电路的设计方案及框图 3 2 2 1 计时方案 4 2 2 2 显示方案 4 第三章 硬件电路设计与器件选择 5 3 1 单片机简介 5 3 1 1 单片机的特点 5 3 1 2 8051 单片机介绍 5 3 2 时钟与复位电路介绍 8 3 2 1 时钟电路的介绍 8 3 2 2 复位电路的介绍 9 3 3 LED 显示电路介绍 10 3 3 1 LED 数码管介绍 10 3 3 2 LED 驱动电路与单片机的连接介绍 11 3 4 按键电路设计与器件介绍 12 3 4 1 键盘结构介绍 12 3 4 2 键盘与单片机的接口电路介绍 12 3 5 蜂鸣器电路介绍 13 第四章 电子时钟软件的设计方案 14 4 1 电子时钟系统软件设计方案及框图 14 第五章 电子时钟应用程序设计 15 5 1 主程序的设计 15 5 1 1 程序的起始地址 15 5 1 2 主程序的初始化内容 15 5 1 3 主程序清单 16 西南交通大学峨眉校区自动控制课程设计 论文 第 V 页 5 2 LED 动态显示程序模块的设计 18 5 2 1 T0 定时器中断服务程序的功能 19 5 2 2 定时器 T0 的计数初值 19 5 2 3 T0 定时器中断服务程序流程及程序清单 19 5 3 时钟计时程序模块的设计 21 5 3 1 24h 时间的产生 22 5 3 2 计算定时器 T1 的技术初值 22 5 3 3 程序设计框图及程序清单 22 5 4 键盘接收子程序的设计 25 5 4 1 程序设计框图 25 5 4 2 设置当前时间程序清单 25 5 4 3 设置定时 闹钟 时间程序清单 28 第六章 心得体会 31 参考文献 32 西南交通大学峨眉校区自动控制课程设计 论文 第 1 页 第一章 绪论 1 1 电子时钟课程设计的背景和意义 在电子技术飞速发展的现今 电子产品几乎渗透到了社会的各个领域 有力的推动和提高了社会生产力的发展和信息化程度 同时也使现代电子 产品性能进一步提升 产品更新换代的节奏也越来越快 时间对人们来说总是那么宝贵 工作的忙碌性和繁杂容易使人忘记当 前的时间 然后压倒重大事情的时候 一旦忘记时间 就会给自己或他人 造成很大麻烦 平时我们要求上班准时 约会或召开会议必然要提及时间 火车要准点到达 航班要准点起飞 工业生产中 很多环节都需要时间来 确定工序替换时刻 所以说随时准确的知道时间并利用时间 是我们生活 和工作中必不可少的 电子时钟是采用电子电路实现对时 分 秒进行数字显示的计时装置 广泛应用于个人 家庭 车站 办公等公共场所 成为人们日常生活中不 可或缺的必需品 现今 高精度的计时工具大多数都使用了石英晶体振荡器 由于电子 钟 石英表 石英钟都采用了石英技术 因此走时精度高 稳定性好 使 用方便 不需要经常调校 数字式电子钟用集成电路计时 译码代替机械 式传动 用 LED 显示器代替显示器代替指针显示进而显示时间 减小了计 时误差 这种表具有时 分 秒显示时间的功能 还可以进行时和分的校 对 片选的灵活性好 为了实现电子时钟时间设置 时间显示 以及能够正确无误的运行 本文主要介绍用单片机内部的定时 计数器来实现电子时钟的方法 本设计 由单片机 AT89S51 芯片和 LED 数码管为核心 辅以必要的电路 构成了一 个单片机电子时钟 西南交通大学峨眉校区自动控制课程设计 论文 第 2 页 1 2 电子时钟的功能 电子时钟主要是利用电子技术将时钟电子化 数字化 拥有时间精确 体积小 界面友好 可扩展性能强等特点 被广泛应用与生活和工作当中 当今市场上的电子时钟品类繁多 外形小巧别致 也有体型较大的 诸如 公共场所的大型电子报时器等 电子时钟首先是数字化的时间显示或报时 器 在此基础上 人们可以根据不同场合的要求 在时钟上加置其他功能 比如定时闹铃 音乐等 本设计电子时钟主要功能为 1 具有时间显示和手动校对功能 24 小时制 2 具有闹钟功能 西南交通大学峨眉校区自动控制课程设计 论文 第 3 页 第二章 设计思路与方案确定 2 1 电子时钟的设计思路 根据设计要求 初步思路如下 1 计时单元由单片机内部的定时器 计数器 1 来实现 2 时间显示采用 8 段 LED 数码管 动态扫描方式 动态扫描的定 时时间 由单片机内部的定时器 计数器 0 来实现 3 LED 数码管的段码输入 由并行端口 P0八位产生 4 LED 数码管的位码输入 由并行端口 P3后六位产生 5 时间调整与定时时间的输入 通过接入键盘电路实现 系统共 设计 4 个按键 分别定义为 KB1 键 时间调整设置键 其功能是当该键按下时 进入时间调整输 入功能 KB2 键 定时时间设置键 其功能是当该键按下时 进入定时 闹钟 时间输入功能 KB3 键 其功能是当该键按下时 被调整位加 1 KB4 键 其功能是当该键按下时 指向下一个调整的位 6 按键的接入方式 KB1 键 通过 P3口 INT0引脚接入 中断工作方式 KB2 键 通过 P3口 INT1引脚接入 中断工作方式 KB3 键 通过 P3口 P3 4引脚接入 查询工作方式 KB4 键 通过 P3口 P3 5引脚接入 查询工作方式 7 报警声响用蜂鸣器产生 蜂鸣器接入 P2口的 P2 6引脚 2 2 硬件电路的设计方案及框图 根据设计要求与设计思路 确定该系统的设计方案 下图 1 为该系统 设计方案的硬件电路设计框图 硬件电路由 8 部分组成 即按键输入电路 西南交通大学峨眉校区自动控制课程设计 论文 第 4 页 单片机 时钟电路 复位电路 LED 显示器段码驱动电路 LED 显示器位码 驱动电路 8 位显示器电路和蜂鸣器电路 图 1 2 2 1 计时方案 利用 8051 单片机内部的定时 计数器进行中断定时 配合软件延时实 现时 分 秒的计时 该方案节省硬件成本 且能使读者在定时 计数器的 使用 中断及程序设计方面得到锻炼与提高 对单片机的指令系统能有更 深入的了解 从而对学好单片机技术这门课程起到一定的作用 2 2 2 显示方案 8051 的 P0口和 P2口外接由 8 个 LED 数码管 LED7 LED0 构成的显示器 用 P0口作 LED 的段码输出口 P2口作 LED 数码管的位控输出线 P3口外接 四个按键 KB1 KB2 KB3 KB4 构成键盘电路 简易电子钟的功能不复杂 采用其现有的 I O 便可完成 西南交通大学峨眉校区自动控制课程设计 论文 第 5 页 第三章 硬件电路设计与器件选择 3 1 单片机简介 单片微型计算机简称为单片机 又称为微型控制器 是微型计算机的 一个重要分支 单片机是 70 年代中期发展起来的一种大规模集成电路芯片 是 CPU RAM ROM I O 接口和中断系统于同一硅片的器件 80 年代以来 单片机发展迅速 各类新产品不断涌现 出现了许多高性能新型机种 现 已逐渐成为工厂自动化和各控制领域的支柱产业之一 3 1 1 单片机的特点 1 单片机的存储器 ROM 和 RAM 时严格区分的 ROM 称为程序存储器 只存放程序 固定常数 及数据表格 RAM 则为数据存储器 用作工作区及 存放用户数据 2 采用面向控制的指令系统 为满足控制需要 单片机有更强的逻 辑控制能力 特别是单片机具有很强的位处理能力 3 单片机的 I O 口通常时多功能的 由于单片机芯片上引脚数目有 限 为了解决实际引脚数和需要的信号线的矛盾 采用了引脚功能复用的 方法 引脚处于何种功能 可由指令来设置或由机器状态来区分 4 单片机的外部扩展能力很强 在内部的各种功能部件不能满足 应用的需求时 均可在外部进行扩展 与许多通用的微机接口芯片兼容 给应用系统设计带来了很大的方便 3 1 2 8051 单片机介绍 根据初步的设计方案的分析 设计这样一个简单的应用系统 可以选 择带有 EPROM 的单片机 应用程序直接存储在片内 不用在外部扩展程序 存储器 电路可以简化 INTEL 公司的 8051 和 8751 芯片均可以选用 西南交通大学峨眉校区自动控制课程设计 论文 第 6 页 MCS 51 是标准的 40 引脚双列直插式集成电路芯片 引脚分布请参照单 片机引脚图 图 2 1 主电源引脚 VCC 和 VSS VCC 40 脚 接 5V 电压 VSS 20 脚 接地 2 外接晶体引脚 XTAL1 和 XTAL2 XTAL1 19 脚 接外部晶体的一个引脚 在单片机内部 它是一个反相 放大器的输入端 这个放大器构成了片内振荡器 当采用外部振荡器时 对 HMOS 单片机 此引脚应接地 对 CHMOS 单片机 此引脚作为驱动端 XTAL2 18 脚 接外晶体的另一端 在单片机内部 接至上述振荡器的 反相放大器的输出端 采用外部振荡器时 对 HMOS 单片机 该引脚接外部 振荡器的信号 即把外部振荡器的信号直接接到内部时钟发生器的输入端 对 XHMOS 此引脚应悬浮 3 控制或与其它电源复用引脚 RST VPD ALE PROG PSEN 和 EA VPP RST VPD 9 脚 当振荡器运行时 在此脚上出现两个机器周期的高 西南交通大学峨眉校区自动控制课程设计 论文 第 7 页 电平将使单片机复位 推荐在此引脚与 VSS 引脚之间连接一个约 8 2k 的下 拉电阻 与 VCC 引脚之间连接一个约 10 F 的电容 以保证可靠地复位 VCC 掉电期间 此引脚可接上备用电源 以保证内部 RAM 的数据不丢失 当 VCC 主电源下掉到低于规定的电平 而 VPD 在其规定的电压范围 5 0 5V 内 VPD 就向内部 RAM 提供备用电源 ALE PROG 30 脚 当访问外部存贮器时 ALE 允许地址锁存 的 输出用于锁存地址的低位字节 即使不访问外部存储器 ALE 端仍以不变的 频率周期性地出现正脉冲信号 此频率为振荡器频率的 1 6 因此 它可用 作对外输出的时钟 或用于定时目的 然而要注意的是 每当访问外部数 据存储器时 将跳过一个 ALE 脉冲 ALE 端可以驱动 吸收或输出电流 8 个 LS 型的 TTL 输入电路 对于 EPROM 单片机 如 8751 在 EPROM 编程期间 此引脚用于输入编 程脉冲 PROG PSEN 29 脚 此脚的输出是外部程序存储器的读选通信号 在从 外部程序存储器取指令 或常数 期间 每个机器周期两次 PSEN 有效 但 在此期间 每当访问外部数据存储器时 这两次有效的 PSEN 信号将不出现 PSEN 同样可以驱动 吸收或输出 8 个 LS 型的 TTL 输入 EA VPP 引脚 当 EA 端保持高电平时 访问内部程序存储器 但在 PC 程序计数器 值超过 0FFFH 对 851 8751 80C51 或 1FFFH 对 8052 时 将自动转向执行外部程序存储器内的程序 当 EA 保持低电平时 则只访问外部程序存储器 不管是否有内部程序存储器 对于常用的 8031 来说 无内部程序存储器 所以 EA 脚必须常接地 这样才能只选择外部程 序存储器 对于 EPROM 型的单片机 如 8751 在 EPROM 编程期间 此引脚也用于 施加 21V 的编程电源 VPP 4 输入 输出 I O 引脚 P0 P1 P2 P3 共 32 根 P0口 39 脚至 32 脚 是双向 8 位三态 I O 口 在外接存储器时 与地址总线的低 8 位及数据总线复用 能以吸收电流的方式驱动 8 个 LS 型 的 TTL 负载 P1口 1 脚至 8 脚 是准双向 8 位 I O 口 由于这种接口输出没有 高阻状态 输入也不能锁存 故不是真正的双向 I O 口 P1口能驱动 吸 西南交通大学峨眉校区自动控制课程设计 论文 第 8 页 收或输出电流 4 个 LS 型的 TTL 负载 对 8052 8032 P1 0引脚的第二功 能为 T2定时 计数器的外部输入 P1 1引脚的第二功能为 T2EX 捕捉 重装 触发 即 T2的外部控制端 对 EPROM 编程和程序验证时 它接收低 8 位地 址 P2口 21 脚至 28 脚 是准双向 8 位 I O 口 在访问外部存储器时 它可以作为扩展电路高 8 位地址总线送出高 8 位地址 在对 EPROM 编程和 程序验证期间 它接收高 8 位地址 P2可以驱动 吸收或输出电流 4 个 LS 型的 TTL 负载 P3口 10 脚至 17 脚 是准双向 8 位 I O 口 在 MCS 51 中 这 8 个引脚还用于专门功能 是复用双功能口 P3能驱动 吸收或输出电流 4 个 LS 型的 TTL 负载 作为第一功能使用时 就作为普通 I O 口用 功能和操作方法与 P1口 相同 P3口也可作为 8051 的一些特殊功能口 如下表所示 口管脚 备选功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 P3口同时为闪烁编程和编程校验接收一些控制信号 值得强调的是 P3口的每一条引脚均可独立定义为第一功能的输入输 出或第二功能 西南交通大学峨眉校区自动控制课程设计 论文 第 9 页 3 2 时钟与复位电路介绍 3 2 1 时钟电路的介绍 8051 内置最高频率达 12MHz 的时钟电路 用于产生整个单片机运行的 脉冲时序 但 8051 单片机需外置振荡电容 单片机的结构有两种类型 一种是程序存储器和数据存储器分开的形 式 即哈佛 Harvard 结构 另一种是采用通用计算机广泛使用的程序存储 器与数据存储器合二为一的结构 即普林斯顿 Princeton 结构 INTEL 的 MCS 51 系列单片机采用的是哈佛结构的形式 而后续产品 16 位的 MCS 96 系列单片机则采用普林斯顿结构 图 3 3 2 2 复位电路的介绍 8051 单片机的复位电路有上电复位和手动按钮复位两种形式 RST VPD 端的高电平直接由上电瞬间产生高电平则为上电复位 若通过按钮产生高 电平复位信号称为手动按钮复位 图 4 为兼有上电复位与按钮复位的电路 图中 上电瞬间 RST 端的电 位与 Vcc 相同 随着电容充电电流的减小 5V 立即加到了 RST VPD 端 该 高电平使 8051 复位 西南交通大学峨眉校区自动控制课程设计 论文 第 10 页 图 4 若运行过程中 需要程序从头开始执行 这只需按图 4 中的按钮即可 按下按钮则直接把 5V 加到了 RST VPD 端从而复位 这称为手动复位 在实际应用系统中 有些外围芯片也需要复位 如果这些复位端的复 位电平要求与单片机的要求一致 则可以与之相连 8051 复位后 P0 P3 四个并行接口全为高电平 其它寄存器全部清零 只 有 SBUF 寄存器状态不确定 表 3 9 单片机寄存器的复位状态表 寄存器复位状态寄存器复位状态 PC0000HTCON00H ACC00HTH000H PSW00HTL000H SP07HTH100H DPTR0000HTL100H P1 P3 FFHSCON00H IP 000000BSBUF 不定 IE0 00000B0 B NMOS TMOD00H PCON 0 0000B CHMOS 西南交通大学峨眉校区自动控制课程设计 论文 第 11 页 3 3 LED 显示电路介绍 3 3 1 LED 数码管介绍 数码管是一种把多个 LED 显示段集成 在一起的显示设备 有两种类型 一种是 共阳型 一种是共阴型 共阳型就是把多 个 LED 显示段的阳极接在一起 又称为公 共端 共阴型就是把多个 LED 显示段的阴 极接在一起 即为公共商 阳极即为二极 管的正极 又称为正极 阴极即为二极管 的负极 又称为负极 通常的数码管又分 为 8 段 即 8 个 LED 显示段 这是为工程 应用方便如设计的 分别为 A B C D E F G DP 其中 DP 是 小数点位段 而多位数码管 除某一位的公共端会连接在一起 不同位的 数码管的相同端也会连接在一起 即 所有的 A 段都会连在一起 其它的 段也是如此 这是实际最常用的用法 数码管显示方法可分为静态显示和 动态显示两种 静态显示就是数码管的 8 段输入及其公共端电平一直有效 动态显示的原理是 各个数码管的相同段连接在一起 共同占用 8 位段引 管线 每位数码管的阳极连在一起组成公共端 利用人眼的视觉暂留性 依次给出各个数码管公共端加有效信号 在此同时给出该数码管加有效的 数据信号 当全段扫描速度大于视觉暂留速度时 显示就会清晰显示出来 图 5 3 3 2 LED 驱动电路与单片机的连接介绍 可以采用单片机的 P2 口和 P0 作为与 LED 的输出接口 即 P0 口 8 位作 为 LED 的段码输出信号 P2 口后六位作为 LED 位码的输出控制信号 硬件 电路连接如图 6 所示 段码输出所接上拉电阻 作用是保证 LED 可靠导通 西南交通大学峨眉校区自动控制课程设计 论文 第 12 页 与截止 图 6 3 4 按键电路设计与器件介绍 电子时钟应用系统工作时应具备两项基本功能 意识随时输入定时 闹钟 时间 而是随时对当前时间进行调整 要实现这两项功能 可以 介入键盘输入电路 3 4 1 键盘结构介绍 在单片机组成的测控系统及智能化仪器中 用得最多的是非编码键盘 键盘结构可以分为独立式键盘和行列式键盘 矩阵式 两类 在本次设计中只需要 4 个按键 因此选择独立式键盘 如图 7 所示 电路有按键和 4 个电阻组成 按键分别名为 KB1 KB2 KB3 KB4 按键可 以采用轻触开关 电阻可以采用 5 脚排电阻 西南交通大学峨眉校区自动控制课程设计 论文 第 13 页 3 4 2 键盘与单片机的接口电路介绍 如图 7 所示 将键盘直接与单片机的 P3 口连接 用 P3 2 P3 3 引脚 通过两个按键 KB1 KB2 接入两个外部中断请求信号 INT0 INT1 P3 4 P3 5 引脚作为 I O 口使用 通过两个按键 KB3 KB4 接入两个输入信号 4 个按 键功能的设计思路如下 图 7 KB1 键功能 设置当前时间 即当电子时钟的时间有误差时 需要随时 对它进行调整 使用 KB1 键与 KB3 键 KB4 键配合来完成这一功能 KB2 键功能 设置定时 闹钟 时间 即当需要电子时钟进行定时 闹 钟 服务时 可以通过该键的功能来输入定时 闹钟 时间 使用 KB2 键 与 KB3 键 KB4 键配合来完成这一功能 KB3 调整键功能 分别对时间值的小时十位 小时个位 分十位 分个 位 秒十位 秒个位进行 1 调整 及该键没按下一次 对应的时间调整位 1 KB4 确认键功能 确认 即对 KB3 调整位进行确认 该键按下时 说明 被调整位的值已经确定 转去调整下一位 3 5 蜂鸣器电路介绍 设计要求定时 闹钟 时间到时要有 声音提醒信号产生 可选择一只蜂鸣器来 实现这一功能 电路设计如图 8 所示 西南交通大学峨眉校区自动控制课程设计 论文 第 14 页 下图 9 为电子时钟硬件电路原理图 图 8 图 9 西南交通大学峨眉校区自动控制课程设计 论文 第 15 页 第四章 电子时钟软件的设计方案 进行应用软件设计时可采用模块化程序设计方法 其优点是 1 每个模块的程序结构简单 任务明确 易于编写 调试和修改 2 程序可读性好 对程序的修改可局部进行 其他部分可以保持不变 便于功能扩充和版本升级 3 对于使用频繁的子程序可以建立子程序库 便于多个模块调用 4 1 电子时钟系统软件设计方案及框图 根据设计要求 首先要确定软件设计方案 即确定该软件应该完成哪 些功能 其次是规划为了完成这些功能需要分成多少个功能模块 以及每 一个程序模块的具体任务是什么 模块的划分有很大的灵活行 但也不能 随意划分 划分模块时应遵循下述原则 1 每个模块应具有独立的功能 能产生一个明确的结果 2 模块之间的控制参数应尽量简单 数据参数应尽量少 控制参 数是指模块进入和退出的条件及方式 数据参数是指模块间的信息交换 传 递 方式 交换量的多少级交换的频繁程度 3 模块长度适中 模块语句的长度通常在 20 100 条较合适 模块 太长时 分析和调试比较困难 失去了模块化程序机构的优越性 模块太 短则信息交换太频繁 也不合适 4 根据模块的划分原则 将该程序划分成 7 个模块 如图 10 所示 西南交通大学峨眉校区自动控制课程设计 论文 第 16 页 图 10 第五章 电子时钟应用程序设计 5 1 主程序的设计 主程序的内容一般包括 主程序的起始地址 中断服务程序的起始地 址 有关内存单元及相关部件的初始化和一些子程序调用等等 5 1 1 程序的起始地址 8051 单片机复位后 PC 0000H 而 0003H 002BH 分别为各中断源 的入口地址 所以 编程时应在 0000H 处写一跳转指令 当 CPU 接收到中断请求信号并予以响应后 CPU 把当前的 PC 内容压入 栈中进行保护 然后转入相应的中断程序入口处执行 一般应在相应的中 断服务程序入口处写一条跳转指令 并以跳转指令的目标地址作为中断服 务程序的其实地址进行编程 5 1 2 主程序的初始化内容 所谓初始化 是对将要用到的 8051 单片机内部部件或扩展芯片进行初 始工作状态设定 8051 单片机复位后 特殊功能寄存器 IE IP 的内容均为 00H 所以应对 IE IP 进行初始化编程 以开放 CPU 中断 允许某些中断 源中断和设置中断优先级等 西南交通大学峨眉校区自动控制课程设计 论文 第 17 页 在本次设计中 使用了四个中断工作方式 即 T0 T1 INT0 INT1 其中 1 T0 中断 采用 T0 定时中断工作方式 完成 LED 动态扫描 2 T1 中断 采用 T1 定时中断工作方式 产生 100ms 或 50ms 单位 时间 3 INT0 中断 采用外部中断工作方式 完成时间按调整功能 4 INT1 中断 采用外部中断工作方式 完成闹钟时间输入功能 同时还要对一些存储单元的进行初始化 这些内容都需要在初始化程 序中来完成 5 1 3 主程序清单 ORG 0000H 程序执行开始地址 LJMP MAIN 跳转主程序执行 ORG 0003H 外部中断 0 中断服务程序入口地址 LJMP INTA 转外部中断 0 中断服务程序 ORG 000BH 定时器 T0 中断服务程序入口地址 LJMP TO SEV 转 T0 定时中断服务程序执行 ORG 0013H 外部中断 1 中断服务程序入口地址 LJMP INTB 转外部中断 1 中断服务程序 ORG 001BH 定时器 T1 中断服务程序入口地址 LJMP T1 SEV 转 T1 定时中断服务程序 ORG 0030H 设置主程序起始地址 0030H MAIN MOV SP 60H 设置堆栈指针 MOV A 00H MOV 30H A MOV 31H A MOV 32H A MOV 33H A MOV 34H 0CH MOV 35H A 西南交通大学峨眉校区自动控制课程设计 论文 第 18 页 MOV 36H A MOV 37H A MOV 50H DFH MOV 51H EFH MOV 52H F7H MOV 53H FBH MOV 54H FDH MOV 55H FEH CLR RS0 CLR RS1 MOV R2 0 MOV R3 0 MOV R4 0 MOV R5 12 MOV TMOD 11H MOV TH1 3CH MOV TL1 0B0H MOV TH0 0ECH MOV TL0 78H MOV IP 08H MOV TCON 50H MOV IE 8FH LOP MOV A 34H ANL A F0H MOV 40H A MOV A 34H ANL A 0FH MOV 41H A MOV A 33H ANL A F0H MOV 42H A 西南交通大学峨眉校区自动控制课程设计 论文 第 19 页 MOV A 33H ANL A 0FH MOV 43H A MOV A 32H ANL A F0H MOV 44H A MOV A 32H ANL A 0FH AA MOV 45H A SETB RS1 CLR RS0 A1 MOV R2 37H 判断是否有定时时间 CJNE R2 0 NT MOV R2 36H CJNE R2 0 NT MOV R2 35H CJNE R2 0 NT SJMP BB NT MOV A 37H CJNE A 34H BB 判断定时时间到否 MOV A 36H CJNE A 33H BB MOV A 35H CJNE A 32H BB CLR P3 6 时间到 发出报警 SJMP LOP BB SETB P3 6 SJMP LOP 西南交通大学峨眉校区自动控制课程设计 论文 第 20 页 5 2 LED 动态显示程序模块的设计 在采用动态扫描显示方式时 要使得 LED 显示的比较均匀 又有足够 的亮度 需要设置适当的扫描频率 当扫描频率在 70Hz 左右时 能够产生 足够的图形和较好的显示效果 一般可以采用间隔 10ms 对 LED 进行动态扫 描一次 每一位 LED 的显示时间为 1ms 本次设计中 采用硬件定时和软件定时并用的方式 即用定时器 0 溢 出中断功能实现 10ms 定时 通过软件延时程序实现 1ms 的定时 5 2 1 T0 定时器中断服务程序的功能 1 从显示缓冲区分别取出 6 位 LED 显示器显示数据的位码和段码 送 到 P0 口和 P2 口 一次显示每一位 每一位的显示时间为 1ms 显示 6 位需 要 6ms 的时间 2 在设置当前时间或输入闹钟时间时 当前调整位应具有闪烁 眨眼 功能 用来提示当前调整位是哪一位 因此 在每一位显示之前都要进行 判断 该位是否闪烁位 然后决定进行正常显示还是闪烁显示 3 LED 显示器每一位的显示时间是 1ms 延时 1ms 子程序是典型的软 件定时程序 5 2 2 定时器 T0 的计数初值 设时钟频率为 12MHZ 1 个机器周期时间为 1 s To 定时器产生 10ms 的定时 可以计算出计数值和计数初值 计数值 10000 机器周期时间 定时时间 s1 ms10 计数初值 65536 10000 55537 D8F1H 初值寄存器的初值为 TH0 0D3H TL0 F1H 工作方式寄存器 TMOD XXXX0001B X1H T0 定时器 工作方式 1 定时 西南交通大学峨眉校区自动控制课程设计 论文 第 21 页 5 2 3 T0 定时器中断服务程序流程及程序清单 TO 定时器中断服务程序流程如图 11 所示 图 11 程序清单如下 TO SEV PUSH A LED 定时扫描程序 PUSH PSW 保护现场 SETB RS1 RS1 RS0 11H SETB RS0 选择 3 组工作寄存器 CLR TR0 停止 T0 定时器 西南交通大学峨眉校区自动控制课程设计 论文 第 22 页 MOV R2 06H 设置显示器位数 MOV R0 40H 设置段码首地址 MOV R1 50H 设置位码首地址 GO ON MOV A R2 送显示位数到 A CJNE A 31H NO FLASH 判断是闪烁位否 NO FLASH MOV A R1 送位码地址到 A 累加器 MOV P3 A 输出位码数据到 P3 口 MOV A R0 送段码地址到 A 累加器 MOV P0 A 输出段码数据到 P0 口 LCALL DELAY1 调延时子程序 延时 1ms FLASH INC R0 段码地址 1 INC R1 位码地址 1 DJNZ R2 GO ON 判断 6 为都显示完否 没完继续显示 下一位 MOV TH0 0D8H MOV TL0 F1H 重置 T0 计数初值 POP A 恢复现场 SETB ET0 允许 T0 中断 SETB TR0 启动 T0 开始定时 SETB EA 开中断 RETI 中断返回 DELAY1 MOV R3 0FAH 延时 1ms 子程序 AGAIN MOV R4 03H DELAY DJNZ R4 DELAY DJNZ R3 AGAIN RET 说明 在 TO 中断服务程序中 又调用了延时 1ms 子程序 因此 T0 中 断服务程序又是延时 1ms 子程序的主程序 西南交通大学峨眉校区自动控制课程设计 论文 第 23 页 5 3 时钟计时程序模块的设计 电子时钟系统的主要任务是 采用单片机为核心器件产生 24h 时间 并用 LED 显示器将它显示出来 本设计中 当时钟频率为 12MHz 是 定时器最长的定时时间是 65 86ms 以此要产生 24h 的时间值 必须采用硬件定时和软件编程相结合 的方法来实现 5 3 1 24h 时间的产生 选择定时器 T1 工作方式 1 定时 50ms T1 定时 50ms 中断一次 利 用 R2 寄存器加 1 R2 寄存器的值等于 20 时 时间正好为 1s 再利用 R3 寄 存器计数 60s 一次类推 累计 24h 的时间值 并需要设置以下几个寄存器 R2 累计 1s 时间寄存器 T1 每中断一次 R2 R2 1 计数二十次向 R3 进位 并将 R2 清零 R3 累计 60s 时间寄存器 当 R3 60s 向 R4 进位 然后将 R3 清零 R4 累计 60min 时间寄存器 当 R4 60min 正好是 1h 的时间 向 R5 进位 然后 R4 清零 R5 累计 24h 时间寄存器 当 R5 24h 正好是昼夜的时间 并使 R5 清 零 5 3 2 计算定时器 T1 的技术初值 当时钟频率 12MHZ 时 计数值 50000 机器周期时间 定时时间 s1 ms50 计数初值 65537 50000 15537 3CB0H 初值寄存器的初值为 TH1 3CH TL1 B0H 工作方式计数器 TMOD 0001XXXXB 1 H T1 T0 的工作方式控制字应该一次 性写入 即 TMOD 11H 西南交通大学峨眉校区自动控制课程设计 论文 第 24 页 5 3 3 程序设计框图及程序清单 程序设计框图如图 12 所示 图 12 程序清单 T1 定时器 每 50ms 中断一次 中断 20 次为 1s T1 SEV MOV TH1 3CH 重置 T1 计数初值 MOV TL1 0B0H 西南交通大学峨眉校区自动控制课程设计 论文 第 25 页 CLR EA 关中断 PUSH A 保护现场 PUSH B PUSH PSW CLR RS1 CLR RS0 选择 0 区工作寄存器 INC R2 中断次数加 1 CJNE R2 14H EN 判断中断 20 次否 否 转 EN 标号地址 MOV R2 0 T1 中断 20 次的累计时间 1s 计数寄存 器 R2 清零 INC R3 秒计时单元 R3 1 MOV 32H R3 秒值送 32H 单元 CJNE R3 3CH EN 判 R3 60 秒 否 转 EN 标号地址 MOV R3 0 60s 时间到 R3 清零 MOV 32H R3 秒值送 32H 单元 INC R4 分计时单元 R4 1 MOV 33H R4 分值送 33H 单元 CJNE R4 3CH EN 判 R4 60min 否 转 EN 标号地址 MOV R4 0 60min 时间到 R4 清零 MOV 33H R4 分值送 33 单元 INC R5 小时单元 R5 1 MOV 34H R5 小时值送 34H 单元 CJNE R5 18H EN 判 R5 24h 否 转 EN 标号地址 MOV R5 0 24h 时间到 R5 清零 MOV 34H R5 小时值送 34H 单元 EN POP PSW POP B POP A SETB EA 开中断 RETI 中断返回 西南交通大学峨眉校区自动控制课程设计 论文 第 26 页 5 4 键盘接收子程序的设计 5 4 1 程序设计框图 5 4 2 设置当前时间程序清单 INTA SETB P3 4 输入键值前 先将 P3 4 P3 5 置 1 SETB P3 5 CLR TR1 T1 停止定时 西南交通大学峨眉校区自动控制课程设计 论文 第 27 页 CLR ET1 T1 禁止中断 CLR EX0 INT0 禁止中断 CLR EX1 INT1 禁止中断 SETB EA 开中断 SETB ET0 允许 T0 中断 SETB PT0 PUSH A 保护现场 PUSH B PUSH PSW MOV 31H 06H 31H 06H LED 的位数 MOV 29H 00H 29H 00H LP0 JB P3 4 NEXT0 判断 P3 4 键按下否 无键按下转 NEXT0 LCALL DELAY1 有键按下 延迟 1ms JB P3 4 LP0 判断是否松开 否 转 LPO LP1 JNB P3 4 LP1 等待键松开 INC 29H 键松开后 29H 1 MOV 30H 1H SJMP L01 转 L01 标号地址 NEXT0 JB P3 5 L1 判断 P3 5 是否按下 否 转 L1 LCALL DELAY1 有键按下 延迟 1ms JB P3 5 NEXT0 是否松开 否 转 NEXT0 LD1 JNB P3 5 LD1 是否松开 否 转 LD1 MOV 29H 0 MOV 30H 1 DJNZ 31H L01 SJMP LL L01 MOV A 31H CJNE A 06H L02 是时针的十位嘛 不 转 L02 MOV A 29H CJNE A 03H LA1 西南交通大学峨眉校区自动控制课程设计 论文 第 28 页 MOV 29H 00H LA1 MOV 40H 29H SJMP L1 L02 MOV A 31H CJNE A 03H L03 MOV A 40H CJNE A 2 A2 MOV A 29H CJNE A 4 LA2 MOV 29H 0 SJMP LA2 A2 MOV A 29H CJNE A 0AH LA2 MOV 29H 00H LA2 MOV 41H 29H SJMP L1 L03 MOV A 31H CJNE A 02H L04 MOV A 29H CJNE A 06H LA3 MOV 29H 00H LA3 MOV 42H 29H SJMP L1 L04 MOV A 29H CJNE A 0AH LA4 MOV 29H 00H LA4 MOV 43H 29H SJMP L1 L05 MOV A 31H CJNE A 02H L06 MOV A 29H 西南交通大学峨眉校区自动控制课程设计 论文 第 29 页 CJNE A 06H LA5 MOV 29H 00H LA5 MOV 44H 29H SJMP L1 L06 MOV A 29H CJNE A 0AH LA6 MOV 29H 00H LA4 MOV 45H 29H L1 MOV A 31H CJNE A 00H LP0 LL 5 5 4 3 设置定时 闹钟 时间程序清单 INTB SETB P3 4 输入键值前 先将 P3 4 P3 5 置 1 SETB P3 5 CLR EX0 INT0 禁止中断 CLR EX1 INT1 禁止中断 SETB EA 开中断 SETB ET0 允许 T0 中断 SETB ET1 SETB PT0 PUSH A 保护现场 PUSH B PUSH PSW MOV 31H 06H 31H 06H LED
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-河北-河北广播电视天线工四级(中级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-河北-河北农业技术员三级(高级工)历年参考题库含答案解析
- 2025年事业单位工勤技能-江苏-江苏环境监测工二级(技师)历年参考题库含答案解析(5套)
- 2025年事业单位工勤技能-广西-广西水利机械运行维护工五级(初级工)历年参考题库典型考点含答案解析
- 焊工安全知识培训目的
- 2025年事业单位工勤技能-广西-广西医技工五级(初级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东计算机操作员四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东房管员四级(中级工)历年参考题库典型考点含答案解析
- 2020-2025年安全员之A证(企业负责人)通关题库(附答案)
- 2025年事业单位工勤技能-北京-北京计算机文字录入处理员五级(初级工)历年参考题库典型考点含答案解析
- 2023-2024学年七年级数学上册专题2.7 数轴与动点的四大经典题型(浙教版)(解析版)
- 呼吸诊疗中心建设方案
- 服务器存储网络设备巡检报告
- 河北2023年邯郸银行内部审计人员招聘考试参考题库含答案详解
- 简思plc状态帧使用说明书
- GB/T 4668-1995机织物密度的测定
- GB/T 29256.5-2012纺织品机织物结构分析方法第5部分:织物中拆下纱线线密度的测定
- GB/T 27021.1-2017合格评定管理体系审核认证机构要求第1部分:要求
- GB/T 1410-2006固体绝缘材料体积电阻率和表面电阻率试验方法
- FZ/T 07010-2021绿色设计产品评价技术规范针织服装
- 科幻小说《三体》内容简介读书分享会ppt图文课件
评论
0/150
提交评论