智能电子数字钟设计_第1页
智能电子数字钟设计_第2页
智能电子数字钟设计_第3页
智能电子数字钟设计_第4页
智能电子数字钟设计_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 目 录 前 言 3 摘 要 4 第一章 背景介绍 4 1 1 单片机的相关知识 4 1 1 1 单片机简介 4 1 1 2 单片机的发展史 4 1 1 3 单片机的特点 5 1 1 4 89C51 单片机介绍 5 1 2 背景介绍 6 1 2 1 电子时钟简介 6 1 2 2 电子时钟的基本特点 7 1 2 3 电子时钟的原理 7 1 3 总体设计方案 7 第 2 章 数字时钟系统的整体设计 7 2 1 系统功能要求 7 2 2 整体方案 8 第 3 章 硬件设计与分析 9 3 1 硬件设计原理 9 3 2 各单元电路介绍 9 3 2 1 AT89S51 单片机介绍 9 3 2 2 显示电路 10 3 2 3 键盘及其接口 11 3 2 4 LED 的驱动控制 12 3 2 5 晶振电路 13 3 2 6 复位电路 14 第 4 章 软件设计 15 2 4 1 主程序的设计 15 4 2 键输入程序 15 4 3 显示程序 16 4 4 延时程序 17 4 5 中断程序 18 设计体会 19 参考文献 19 附 录 20 3 前 言 20 世纪末 电子技术获得了飞速的发展 在其推动下 现代电子产品几乎渗透 了社会的各个领域 有力地推动了社会生产力的发展和社会信息化程度的提高 同 时也使现代电子产品性能进一步提高 产品更新换代的节奏也越来越快 时间对人们来说总是那么宝贵 工作的忙碌性和繁杂性容易使人忘记当前的时间 忘记了要做的事情 当事情不是很重要的时候 这种遗忘无伤大雅 但是 一旦重 要事情 一时的耽误可能酿成大祸 于是电子时钟应运而生 它是一种利用数字电路来显示秒 分 时的计时装置 与传统的机械钟相比 它具有走时准确 显示直观 无机械传动装置等优点 因而 得到广泛应用 随着人们生活环境的不断改善和美化 在许多场合可以看到数字电 子钟 现代的电子时钟是基于单片机的一种计时工具 采用延时程序产生一定的时 间中断 用于一秒的定义 通过计数方式进行满六十秒分钟进一 满六十分小时进 一 满二十四小时小时清零 从而达到计时的功能 电子时钟广泛用于个人家庭 车站 码头办公室等公共场所 成为人们日常生活 中不可少的必需品 由于数字集成电路的发展和石英晶体振荡器的广泛应用 使得数 字钟的精度 远远超过老式钟表 钟表的数字化给人们生产生活带来了极大的方便 而且大大地扩展了钟表原先的报时功能 诸如定时自动报警 按时自动打铃 时间 程序自动控制 定时广播 自动起闭路灯 定时开关烘箱 通断动力设备 甚至各 种定时电气的自动启用等 所有这些 都是以钟表数字化为基础的 因此 研究数 字钟及扩大其应用 有着非常现实的意义 本文主要设计了一个基于 AT89C51 单片机的电子时钟 并在数码管上显示相应 的时间 并通过一个控制键用来实现时间的调节 应用 Ptotel 99 SE 软件实现了单 片机电子时钟系统的设计与仿真 该方法仿真效果真实 准确 节省了硬件资源 在编写过程中笔者参考了许多图书和资料 我写出了主要的参考书目 在此谨 向参考文献的作者表示忠心的感谢 由于编者水平有限 文中尚有许多错误和不足之处望各位老师 同学批评指正 也希望得到老师的意见和建议 4 摘 要 近年来随着计算机在社会领域的渗透和大规模集成电路的发展 单片机的应用 正在不断地走向深入 单片计算机即单片微型计算机 由 RAM ROM CPU 构成 定时 计数和多种接口于一体的微控制器 由于它具有功能强 体积小 功耗低 价格便 宜 工作可靠 使用方便等特点 因此特别适合于与控制有关的系统 越来越广泛 地应用于自动控制 智能化仪器 仪表 数据采集 军工产品以及家用电器等各个 领域 单片机往往是作为一个核心部件来使用 在根据具体硬件结构 以及针对具 体应用对象特点的软件结合 以作完善 本次做的数字钟是以单片机 AT89S51 为核心 结合相关的元器件 共阴极 LED 数码显示器 专用 LED 显示驱动芯片 HD7279A 驱动控制等 再配以相应的软 件 达到制作简易数字钟的目的 关键词 单片机 AT89S51 共阴极 LED 数码显示器 专用 LED 显示驱动芯片 HD7279A 驱动控制 第一章 背景介绍 1 1 单片机的相关知识 1 1 1 单片机简介 单片机全称为单片机微型计算机 Single Chip Microsoftcomputer 从应用 领域来看 单片机主要用来控制 所以又称为微控制器 Microcontroller Unit 或嵌入式控制器 单片机是将计算机的基本部件微型化并集成在一块芯片上的微型 计算机 1 1 2 单片机的发展史 4 位单片机 1975 年 美国德克萨斯仪器公司首次推出 4 位单片机 TMS 1000 四位单片机的 主要应用领域有 PC 机的输入装置 电池充电器 运动器材 带液晶显示的音 视 频产品控制器 一般家用电器的控制及遥控器 电子玩具 钟表 计算器 多功能 电话等 8 位单片机 1972 年 美国 Intel 公司首先推出 8 位微处理器 8008 并于 1976 年 9 月率先 推出 MCS 48 系列单片机 这类单片机的寻址能力达 64KB 片内 ROM 容量达 4 5 8KB 片内除带有并行 I O 口外 还有串行 I O 口 甚至还有 A D 转化器功能 8 位 单片机由于功能强 被广泛用于自动化装置 智能仪器仪表 智能接口 过程控制 通信 家用电器等各个领域 16 位单片机 1983 年以后 集成电路的集成度可达几十万只管 片 各系列 16 位单片机纷纷 面市 16 位单片机主要用于工业控制 智能仪器仪表 便携式设备等场合 32 位单片机 随着高新技术只智能机器人 光盘驱动器 激光打印机 图像与数据实时处理 复杂实时控制 网络服务器等领域的应用与发展 20 世纪 80 年代末推出了 32 位单 片机 64 位单片机 近年来 64 位单片机在引擎控制 智能机器人 磁盘控制 语音图像通信 算 法密集的实时控制场合已有应用 如英国 Inmos 公司的 Transputer T800 是高性能 的 64 位单片机 1 1 3 单片机的特点 单片机的存储器 ROM 和 RAM 时严格区分的 ROM 称为程序存储器 只存放程 序 固定常数 及数据表格 RAM 则为数据存储器 用作工作区及存放用户数据 采用面向控制的指令系统 为满足控制需要 单片机有更强的逻辑控制能力 特别是单片机具有很强的位处理能力 单片机的 I O 口通常是多功能的 由于单片机芯片上引脚数目有限 为了解 决实际引脚数和需要的信号线的矛盾 采用了引脚功能复用的方法 引脚处于何种 功能 可由指令来设置或由机器状态来区分 单片机的外部扩展能力很强 在内部的各种功能部件不能满足应用的需求时 均可在外部进行扩展 与许多通用的微机接口芯片兼容 给应用系统设计带来了很 大的方便 1 1 4 89C51 单片机介绍 VCC 电源 GND 接地 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 当 AT89S51 扩展外部存储器及 I O 接口芯片时 P0 口作为地址总线 低 8 位 及数据总线的分时复用端口 也可作 为通用的 I O 口使用 应先向端口输出锁存器写入 1 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口管脚写入 1 后 被内部上拉为高 可用作输入 P1 口被外部下拉为低电平时 将输出电流 在 FLASH 编程和校验时 P1 口作为第八位地址接收 6 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 当 AT89S51 扩展外部存储 器及 I O 口时 P2 口作为高 8 位地址总线用 输出高 8 位地址 也可作为普通的 I O 口使用 先向端口输出锁存器写入 1 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入 由于外部下拉为低电平 P3 口 将输出电流 ILL 这是由于上拉的缘故 P3 口也可作为 AT89C51 的一些特殊功能口 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 口同时为闪烁编程和编程校验接收一些控制信号 RST RESET 9 脚 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器 周期的高电平时间 ALE PROG Address Latch Enable PROGramming 30 脚 ALE 为 CPU 访问外部程 序存储器或外部数据存储器提供一个地址锁存信号 将低 8 位地址锁存在片外的地 址锁存器中 PSEN Program Strobe Enable 29 脚 片外程序存储器的读选通信号 低电 平有效 EA VPP Enable Address Voltage Pulse of Programing 31 脚 EA 为该引 脚的第一功能 即外部程序存储器访问允许控制端 为低电平时 只读取外部存储 器中的内容 VPP 为该引脚的第二功能 即在对片内 Flash 进行编程时 VPP 引脚接 入编程电压 1 2 背景介绍 1 2 1 电子时钟简介 1957 年 Ventura 发明了世界上第一个电子表 从而奠定了电子时钟的基础 电 子时钟开始迅速发展起来 现代的电子时钟是基于单片机的一种计时工具 采用延 时程序产生一定的时间中断 用于一秒的定义 通过计数方式进行满六十秒分钟进 一 满六十分小时进一 满二十四小时小时清零 从而达到计时的功能 是人们日 7 常生活不可缺少的工具 1 2 2 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器 由于电子钟 石英钟 石英表都采用了石英技术 因此走时精度高 稳定性好 使用方便 不需要经常调 试 数字式电子钟用集成电路计时 译码代替机械式传动 用 LED 显示器代替指针 显示进而显示时间 减小了计时误差 这种表具有时 分 秒显示时间的功能 还 可以进行时和分的校对 片选的灵活性好 1 2 3 电子时钟的原理 该电子时钟由 AT89S51 BUTTON 七段数码管等构成 采用专用 LED 显示驱动 芯片作为驱动电路 由延时程序和循环程序产生的一秒定时 达到时分秒的计时 六十秒为一分钟 六十分钟为一小时 满二十四小时为一天 而电路中唯一的一个 控制键却拥有多种不同的功能 按下又松开 可以实现屏蔽数码管显示的功能 达 到省电的目的 直接按下不松开 则可以通过按键实现分钟的累加 每按一次分钟 加一 而连续两次按下按键不放松 则可实现小时的调节 同样每按一次小时加一 1 3 总体设计方案 设计一个基于单片机的电子时钟 并且能够实现时分秒的显示和调节 设计出硬件电路 用 Protel 99 SC 软件绘制电路图 设计出软件编程方法 并写出源代码 用汇编语言实现程序设计 第 2 章 数字时钟系统的整体设计 2 1 系统功能要求 以单片机技术为核心 充分应用各种外围电路元器件 设计一个通过显示器显 示时间 星期 时 分 秒 的电子钟 要求 1 上电时 星期 1 00 时 00 分 00 秒 并以秒为单位进行计算 2 运行状态下 按动控制按扭 W SET 对星期进行调整 3 运行状态下 按动控制按扭 S SET 对秒进行调整 4 运行状态下 按动控制按扭 M SET 对分进行调整 5 运行状态下 按动控制按扭 H SET 对小时进行调整 8 6 当数字时钟运行到正点时 实现自动报时功能 7 当按下 E SET 键是实现小时由 24 进制和 12 进制的相互转换 2 2 整体方案 电子钟的电路图主要由单片机 AT89C51 键盘电路 驱动显示电路和 LED 显 示器四部分组成 它主要实现时钟的显示 以及对时 分 秒进行调整 即实现调 时的功能 其数字钟系统整体结构如图所示 图一 电子钟系统总体框图 1 显示方案 方案一 静态显示就是当 CPU 将要显示的字或字段码送到输出口 显示器就可以 显示出所要显示的字符 如果 CPU 不去改写它 它将一直保持下去 静态显示硬件 开销大 电路复杂 信息刷新速度慢 方案二 动态显示则是一位一位地轮流点亮显示器地各个位 扫描 对于显示 器的每一位而言 每隔一段时间点亮一次 动态显示耗能较小 但编写程序较复杂 动态显示硬件连接简单 信息刷新速度快 由于本次设计是对时间进行显示 如采用静态显示 则所占用的 I O 口较多 电路较复杂 所以在此选择的是方案二 采用动态显示 2 键盘方案 方案一 独立式键盘 独立式键盘的各个按键相互独立 每个按键独立地与一根 数据输入线 单片机并行接口或其他芯片的并行接口 连接 独立式键盘配置灵活 软件结构简单 但每个按键必须占用一根接口线 在按键数量不多时 接口线占用 多 所以 独立式按键常用于按键数量不多的场合 方案二 矩阵式键盘 矩阵式键盘采用的是行列式结构 按键设置在行列的交点 上 当接口线数量为 8 时 可以将 4 根接口线定义为行线 另 4 根接口线定义为列线 AT89S51 驱 动 LED 显示器 位 选 键盘电路 晶振电路 复位电路 9 形成 4 4 键盘 可以配置 16 个按键 由于本设计只用了五个按键 不需要采用矩阵式键盘 所以选用第一种方案 采 用独立式键盘 3 计时方案 采用软件控制 利用单片机内部的定时 计数器进行定时 配合软件定时实现时 分 秒的计时 该方案能够使设计者 在设计的过程中容易实现 且节省硬件成本 因此本系统将 采用软件方法实现计时 第 3 章 硬件设计与分析 3 1 硬件设计原理 时钟电路的核心是 AT89S51 单片机 其内部带有 2KB 的可反复擦写的只读 Flash 程序存储器和 128 bytes 的随机存取数据存储器 RAM 无须外扩程序存储 器 电脑时钟没有大量的运算和暂存数据 现有的 128B 片内 RAM 已能满足要求 也 不必外扩片 RAM 系统配备 8 位 LED 数码管显示和 3 个独立式按键 用 P0 口作为键 盘接口电路 P1 口和 P3 口作为段码和位码输出口 并在字段码输出口接 74LS245 芯片 用该芯片来驱动 LED 数码管显示 利用 P0 0 P0 1 和 P0 2 作为功能按键输 入口 3 2 各单元电路介绍 3 2 1 AT89S51 单片机介绍 AT89S51 是一个低电压 高性能 CMOS 8 位单片机 片内含 2k bytes 的可反复 擦写的只读 Flash 程序存储器和 128 bytes 的随机存取数据存储器 RAM 器件采 用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令系统 片 内置通用 8 位中央处理器和 Flash 存储单元 所以说 AT89C51 是一个功能强大的单 片机 AT89S51 是一个低功耗高性能单片机 它有 40 个引脚 32 个外部双向输入 输出 I O 端口 同时内含 2 个外中断口 2 个 16 位可编程定时计数器 2 个全双工串 行通信口 AT89S51 可以按照常规方法进行编程 也可以在线编程 其将通用的微 处理器和 Flash 存储器结合在一起 特别是可反复擦写的 Flash 存储器可有效地降 低开发成本 同时 AT89S51 的时钟频率可以为零 即具备可用软件设置的睡眠省电功能 系 10 统的唤醒方式有 RAM 定时 计数器 串行口和外中断口 系统唤醒后即进入继续工 作状态 省电模式中 片内 RAM 将被冻结 时钟停止振荡 所有功能停止工作 直 至系统被硬件复位方可继续运行 p1 0 1 p1 1 2 p1 2 3 p1 3 4 p1 4 5 MOSI p1 5 6 MISO p1 6 7 SCK p1 7 8 RST 9 RXD p3 0 10 TXD p3 1 11 INT0 p3 2 12 INT1 p3 3 13 T0 p3 4 14 T1 p3 5 15 WR p3 6 16 RD p3 7 17 XTAL2 18 XTAL1 19 Vss 20 p2 0 21 p2 1 22 p2 2 23 p2 3 24 p2 4 25 p2 5 26 p2 6 27 p2 7 28 PSEN 29 ALE PROG 30 EA Vpp 31 p0 7 32 p0 6 33 p0 5 34 p0 4 35 p0 3 36 p0 2 37 p0 1 38 p0 0 39 Vcc 40 AT89S51 图二 AT89S51 引脚图 3 2 2 显示电路 一 七段 LED 显示器的原理 LED 显示器由若干个发光二极管组成 七段 LED 通常构成字型 8 还有一个 发光二极管用来显示小数点 每段 LED 分别引出一个电极 电极的名为 a b c d e d g dp 其中 dp 是小数点段的引出电极 当发光二极管导通时 相应的一个笔画或一个点就发光 控制相应的二极管导通 就能显示出对应字符 说明 在该设计中 没有用到电极 dp 而是用单位的数码管来显示分隔符 二 动态显示 本设计共用了七位 LED 显示器 因此采用动态显示方式 所谓动态显示就是一 位一位的轮流点亮显示器的各个位 对于显示器的每一位而言 每隔一段时间点亮 一次 虽然在同一时刻只有一位显示器在工作 但由于人眼的视觉暂留效应和发光 二极管熄灭时的余晖 我们看到的却是多个字符 同时 显示 显示器亮度既与点 11 亮时的导通电流有关 也与点亮时间长短和时间间隔有关 a bf c g d e DPY 1 2 3 4 5 6 7 a b c d e f g 8 dp dp abcdefgdp 5V 入入入入入 入入入入入入CO M入 G ND abcdefgdp 入入入入入入CO M入 入入入入入 图三 七段 LED 显示器 3 2 3 键盘及其接口 键盘是由若干个按键组成的 它是单片机最简单的输入设备 通过键盘输入数 据或命令 就可实现简单的人机对话 一 按键的抖动现象 按键就是一个简单的开关 当按键按下时 相当于开关闭合 当按键松开时 相当于开关断开 按键在闭合和断开时 触点会存在抖动现象 按键抖动时间一般 为 5ms 10ms 抖动可能造成一次按键的多次处理问题 应采取措施消除抖动的影 响 消除的方法很多 本设计采用软件延时的方法来消除抖动 当单片机检测到有 按键按下时先定时 然后再检测按键的状态 若仍是闭合状态则认为真的有键按下 当检测到按键释放时 亦需要做同样的处理 二 按键电路 独立式键盘的各个按键相互独立 每个按键独立地与一根数据输入线 单片机 并行接口或其他芯片的并行接口 连接 独立式键盘配置灵活 软件结构简单 但 每个按键必须占用一根接口线 在按键数量不多时 接口线占用多 所以 独立式 按键常用于按键数量不多的场合 该设计只用了四个按键 来实现功能控制 在运行状态下 按动控制按扭 W SET 可对星期进行调整 按动控制按扭 S SET 可对秒进行调整 按动控制按扭 M SET 可对分进行调整 按动控制按扭 H SET 可对时进行调整 因此采用独立式键 盘方式 设计起来比较简单 12 P1 3 P1 0 P1 1 P1 2 K1 K2 K3 K4 10K 4 5V 图四 键盘电路 3 2 4 LED 的驱动控制 1 HD7279A 简介 HD7279A 能同时驱动 8 个共阴极 LED 数码管和 64 键的编码键盘矩阵 采用的是 动态扫描的循环显示方式 与 AT89S51 单片机间采用串行接口方式 仅占用 4 条口 线 接口简单 内部含有译码器 可以直接接受 BCD 码或十六进制码 同时具有两 种译码方式 实现 LED 数码管位寻址和段寻址 内部含有驱动器 可以直接驱动不 超过 25 4mm 的 LED 数码管 多种控制命令 如消隐 闪烁 左移 右移和段寻址 位寻址等 含有片选信号输入端 容易实现多于 8 位显示器和多于 64 键的键盘控制 具有自动消隐除键抖动并识别有效键值的功能 2 单片机与 HD7279A 接口设计 振荡元件为典型值 晶振频率为 12MHz 上电后 HD7279A 经过 15 18ms 的时间 才进入工作状态 HD7279A 控制显示时 应连接共阴极显示器 对于不使用按键和 显示器 可以不连接 省去的显示器或对显示器设置的消隐 闪烁属性 均不影响 键盘的使用 除非不使用显示器 否则串联在 DP 及 SA SG 引线上的 200 电阻不可 省去 如果不使用键盘 则与键盘连接的 10K 电阻和 100K 电阻可以省去 如果 使用键盘 电路中的 100K 下拉电阻则不可省去 13 CS 6 CLK 7 D ATA 8 K EY 9 D IG 0 18 D IG 1 19 D IG 2 20 D IG 3 21 D IG 4 22 D IG 5 23 D IG 6 24 D IG 7 25 CLK 0 26 RC 27 V ss 4 SG 10 SF 11 SE 12 SD 13 SC 14 SB 15 SA 16 D P 17 VDD 1 VDD 2 RESET 28 H D7279 图五 HD7279 引脚图 3 2 5 晶振电路 晶体振荡器电路给数字钟提供一个频率稳定准确的 12MHz 的方波信号 可保证数 字钟的走时准确及稳定 不管是指针式的电子钟还是数字显示的电子钟都使用了晶体 振荡器电路 晶体振荡器与 AT89C51 的接法 晶体振荡器与 AT89C51 的接法为如图所示 XTAL1 和 XTAL2 脚接到 12MHz 的晶 体振荡器上 与两个 30pf 的电容并联 并接低电平 图六 晶体振荡器电路 12M HZ 30pF 30pF G ND XTAL1 XTAL2 14 3 2 6 复位电路 复位是使单片机或系统中的其他部件处于某种确定的初始状态 单片机的工作 就是从复位开始的 当在单片机的 RST 引脚引入高电平并保持 2 个机器周期时 单 片机内部就执复位操作 若该引脚持续保持高电平 单片机就处于循环复位状态 图七 上电复位电路 12M HZ 30pF 30pF GND XTAL1 XTAL2 10uF 2K VCC VCC RST AT89S51 15 第 4 章 软件设计 在软件设计中 整个程序的主框架是以定时 1s 计算的方式来实现电子钟 定时 1s 的程序段 使用动态显示程序实现延时 既完成了延时 也完成了数字的显示 在计算程序中 使对应于时 分 秒的变化量按照 60 进制和 24 进制进行计算 动 态显示程序直接引用这些变量 达到显示的数字也随之不断变化 即完成了电子钟 的功能 其软件功能模块主要有键输入程序 中断程序 显示程序 以及延时程序 需要说明的是 这里设计的是简易的电子钟 主要是用程序运行来计算时间 这样用程序来确定出 1s 的时间精度是很有限的 所以整个时钟的精度不太高 4 1 主程序的设计 初始化将时 分 秒各单元的内容清空 置 T0 为计数器方式 1 分别给计数器 的高 8 位和低 8 位赋计数初值 启动 T0 工作 键入一个按键 如执行此动作 秒值 加 1 否则重新键如按键 主程序模块 主程序流程图 如图所示 初始化 键输入 开始 键执行 结束 图九 主程序流程图 4 2 键输入程序 键输入程序用于调整时间 以秒为例 按下按键 S SET 判断 S SET 是否真的 被按下 若没有键按下 转到 A1 程序段 再次键入按键 重新判断 若按键按下了 则调用延时程序 消除抖动现象秒值加 1 当秒值大于 60 时 秒清零 进行下一次 计时 同时分加一 并转到 J0 显示 此过程循环执行 其程序流程图如图所示 16 显示 S SET 是否按下 否按下 秒值加 1 秒 60 清零 N 调用延时 Y Y N 图十 键输入程序流程图 4 3 显示程序 显示其时 分 秒的数值 和两个分隔符 以显示秒为例 当 P3 7 输入高电平 时 秒的个位所对应的字段码点亮 显示其秒的个位 当秒有十位输入时 P3 6 输 入高电平 秒所十位对应的字段码点亮 显示其秒十位 其程序流程图如图所示 开始 17 取字段码 取字位码 显示秒个位 显示秒十位 调用延时 图十一 显示程序流程图 4 4 延时程序 按键抖动时间一般为 5ms 10ms 因此延时 10ms 其流程图如图所示 10 送 R6 250 送 R7 返回 R6 R7 Y N 图十二 延时程序流程图 开始 开始 18 4 5 中断程序 中断程序主要用于控制显示的字符 当秒值大于 60 时 秒清零 重新计数 分 值加 1 秒 分同时显示 当分值大于 60 时 分清零 重新计数 小时加 1 秒 分 时同时显示 当小时大于 23 时 一天的计时完毕 秒 分 时均清零 进行第 二天的计时 此任务循环执行 其程序流程图如下图所示 秒加 1 秒 59 小时 23 分 59 秒清 0 分加 1 小时清 0 分清 0 时加 1 N Y Y Y N N 返回 图十二 中断程序流程图 计数开始 19 设计体会 在老师耐心的指导下 我顺利完成了这次毕业设计中的电子时钟设计 通过这 次的设计使我认识到本人对单片机方面的知识知道的太少了 对于书本上的很多知 识还不能灵活运用 尤其是对程序设计语句的理解和运用 不能够充分理解每个语 句的具体含义 导致编程的程序过于复杂 使得需要的存储空间增大 损耗了过多 的内存资源 本次的设计使我从中学到了一些很重要的东西 那就是如何从理论到实践的转 化 怎样将我所学到的知识运用到我以后的工作中去 在大学的课堂的学习只是在 给我们灌输专业知识 而我们应把所学的用到我们现实的生活中去 此次的电子时 钟设计给我奠定了一个实践基础 我会在以后的学习 生活中磨练自己 使自己适 应于以后的竞争 同时在查找资料的过程中我也学到了许多新的知识 在和同学协 作过程中增进同学间的友谊 使我对团队精神的积极性和重要性有了更加充分的理 解 最后 感谢老师对我的细心的指导 使得我的课程设计设计能够顺利的完成 同时在设计过程中 我们巩固和学习了我们的单片机知识 相信这对我以后的学习 将会有很大的帮助 参考文献 1 朱永金 单片机应用技术 M 中国劳动社会保障出版社 2001 2 彭冬明 韦友春 单片机实验教程 M 武汉 华中理工大学出版社 2004 3 朱家建 单片机原理及应用 M 机械工业出版社 2002 4 胡汉才 单片机原理及接口技术 M 北京 清华大学出版社 2000 5 张伟 单片机原理及应用 M 机械工业出版社 2002 6 谢自美 电子线路设计 实验 测试 M 武汉 华中理工大学出版社 2000 7 陈 坚 电力电子学 M 北京 高等教育出版社 2002 8 高吉祥 电子技术基础实验与课程设计 M 电子工业出版社 2002 9 付家才 单片机控制工程实践技术 M 北京 化学工业出版社 2004 3 10 李光才 单片机课程设计实例指导 M 北京 北京航空航天大学出版社 2004 11 朱定华 单片机原理及接口技术实验 M 北京 北方交通大学出版 2002 11 20 12 刘湘涛 江世明 单片机原理与应用 M 北京 电子工业出版社 2006 附 录 程序源代码 键输入程序 A1 LCALL DISPLAY 调用延时程序 JNBS SET S1 判断按键是否按下 JNBM SET S2 JNBH SET S3 LJMPA1 S1 LCALLDELAY 去抖动 JBS SET A1 INCSECOND 秒值加 1 MOVA SECOND CJNEA 60 J0 判断是否加到 60 秒 MOVSECOND 0 秒清 0 LJMPJ0 J0 JBS SET A1 LCALL DISPLAY 调用显示 SJMPJ0 显示程序 DISPLAY MOVA SECOND 显示秒 MOVB 10 DIVAB CLRP3 6 MOVC A A DPTR 取字段码 MOVP0 A LCALLDELAY 调用延时 SETBP3 6 显示秒十位 MOVA B CLRP3 7 MOVC A A DPTR 取字段码 MOVP0 A LCALL DELAY 调用延时 去抖动 SETBP3 7 显示秒个位 21 CLRP3 5 延时程序 DELAY MOVR6 10 延时 10ms D1 MOVR7 250 DJNZR7 DJNZR6 D1 RET 中断程序 DISPLAY MOVA SECOND 显示秒 MOVB 10 DIVAB CLRP3 6 MOVC A A DPTR MOVP0 A LCALL DELAY 调用延时 SETBP3 6 显示秒的十位 MOVA B CLRP3 7 MOVC A A DPTR MOVP0 A LCALL DELAY SETBP3 7 显示秒的个位 CLRP3 5 MOVP0 40H 显示分隔符 LCALL DELAY SETBP3 5 MOVA MINUTE 显示分钟 MOVB 10 DIVAB CLRP3 3 MOVC A A DPTR MOVP0 A LCALL DELAY 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论