毕业设计(论文)-基于单片机的多用途定时器装置.doc_第1页
毕业设计(论文)-基于单片机的多用途定时器装置.doc_第2页
毕业设计(论文)-基于单片机的多用途定时器装置.doc_第3页
毕业设计(论文)-基于单片机的多用途定时器装置.doc_第4页
毕业设计(论文)-基于单片机的多用途定时器装置.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1 摘摘 要要 如今的科技已是飞跃的进步 然而定时器的应用永远不会退休 定时器 总的来说有两种类型 一种以机械时钟形式的产品 这种定时器功能简单 应 用于成本比较低的产品中 如比较古老的滴水计时器 传统的电风扇 当然滴 水计时已被淘汰 而低价的风扇中还是不会淘汰这种机械运转的精度不高的定 时器 另一种是基于电子电路数字技术的新一代产品 这种产品功能强 精度 高 控制和使用都比较直观而灵活 是前者的替代之物 本设计开发了一种基于单片机的专用定时器 它造价低 功能全 整体性 价比高 可适应很多的场合做为保护或定时预警系统中 此设计是最典型且经典的单片机定时功能应用设计 设计中使用了单片机 定时器的设计 单片机中断使用方法 LED 显示技术等 可以实现在 100 小时 内的任意时间定时 另可外控负载和提示报警等 设计中的硬件电路主要含盖了 STC89C51RC 单片机 有源蜂鸣器 LED 数字 显示数码管等 在硬件的设计基础上 通过软件进行数码管的数值显示 键扫 描程序 蜂鸣器的提示音效和报警音效的处理 关键词 关键词 定时器 STC89C51 单片机 LED 数字显示数码管 2 ABSTRACT Today technology is a leap of progress however the application of the timer never retired Timer In general there are two types a mechanical clock in the form of products such a simple timer function used in low cost products such as the old drip timer traditional fans Of course dripping timing has been eliminated and cheap fan or accuracy of this mechanical operation of the timer will not be eliminated Another is based on a new generation of electronic circuits digital technology products this product features high precision control and use more intuitive and flexible the former alternative material The design and development of a microcontroller based dedicated timer It is low cost full function and overall cost effective and can be adapted to many occasions as a protection or in the timing early warning system This design is the most typical and classic the microcontroller timing function application design the design used in the design of a microcontroller timer microcontroller interrupt usage LED display technologies The arbitrary timing can be achieved in 100 hours another may be outside the control load and prompted alarm The hardware circuit design covers Microcontroller STC89C51RC active buzzer LED digital display digital tube Hardware design based on the value of the digital tube display key scanner prompt sound and alarm buzzer sound processing through software Keywords timer STC89C51 microcontroller LED digital display digital tube 3 目目 录录 前前 言言 4 第一章第一章 系统任务与总体方案论证系统任务与总体方案论证 5 1 设计任务 5 2 方案论证 6 3 方案选择 7 第二章第二章 8051 单片机的结构单片机的结构 7 1 8051 单片机的特点 7 2 8051 单片机的片内资源 7 3 8051 的引脚信号 8 4 复位电路 10 5 时钟电路 10 第三章第三章 LED 数码管接口技术数码管接口技术 11 1 LED 数码管的结构与原理 11 2 多位 LED 显示器的显示方式 13 3 LED 显示器接口技术 14 第四章第四章 多用途定时器装置的硬件设计多用途定时器装置的硬件设计 15 1 硬件电路结构 15 2 电源电路 16 3 蜂鸣器报警电路 16 4 系统结构原理整图 17 硬件焊接 17 第五章第五章 多用途定时器装置的软件流程多用途定时器装置的软件流程 19 1 所需要完成的定时器装置功能 19 2 软件设计思路 19 3 软件程序流程图 20 4 多用途定时器装置的源程序如下 20 5 多用途定时器装置的实际应用 29 结结 论论 29 参考文献参考文献 29 致致 谢谢 30 4 前前前前 言言言言 含有微处理器 存储器 输入 输出电路及一些诸如中断控制器 定时器 计数器等资源的集成电路芯片 它包含了作为一个计算机所必需的基本部件 在外部只需添加少许的外围器件就可以组成完整的计算机实现控制目的 这样 的器件通常称为单片机或微型控制器 单片机是通过内部总线把计算机的各主 要部件接为一体 其内部总线包括地址总线 数据总线和控制总线 其中 地 址总线的作用是在进行数据交换时提供地址 CPU 通过它们将地址输出到存储 器或 I O 接口 数据总线的作用是在 CPU 与存储器或 I O 接口之间 或存储器 与外设之间交换数据 控制总线包括 CPU 发出的控制信号线和外部送入 CPU 的 应答信号线等 单片机诞生于 20 世纪 70 年代末 经历了单片微型计算 SCM 微控制器 MCU 单片应用系统 SOC 三大阶段 在日新月异的 21 世纪里 家用电子产品得到了迅速发展 现在的家用电器 基本上都采用了单片机控制 从电饭褒 洗衣机 电冰箱 空调机 彩电 其 他音响视频器材 再到电子秤量设备 五花八门 无所不在 单片机在工商 金融 科研 教育 国防航空航天等领域都有着十分广泛的用途 许多家电设 备都趋于人性化 智能化 正是因为这些电器设备大部分都含有 CPU 控制器或 者是单片机 用单片机来控制的小型家电产品具有便携实用 操作简单的特点 单片机体积小 重量轻 具有很强的灵活性 而且价格低兼 越来越受到 广泛的应用 该最小系统选用的 STC89C51RC 单片机具有优于其它同类别单片机 的 ISP 在线编程功能 改写单片机存储器内的程序不需要把芯片从工作环境中 剥离 实时修改程序的不足之处 并立即从目标系统中反映出修改的结果 大 大缩短单片机学习开发的周期 提高效率 全新的加密算法 这使得对于 89S51 的解密变为不可能 程序的保密性大大加强这样就可以有效的保护知识 产权不被侵犯 该系统的资源可重复利用性使系统上的所有资源均能重复利用 并能通过软件调配或通过扩展槽增加其它的功能提高系统的实用性 论文的第一章确立系统任务与总体方案认证 第二章对单片机及其应用领 域做了简单的介绍 第三章针对主要的显示器件做全面性的了解和分析 第四 章针对本设计讲述硬件电路 从各个功能模块出发 具体的分析了电源电路 显示电路 报警电路等几个重要模块的功能结构 第五章针对本设计讲述软件 的流程 5 第一章第一章第一章第一章 系统任务与总体方案论证系统任务与总体方案论证系统任务与总体方案论证系统任务与总体方案论证 1 设计任务 设计任务 按照系统设计功能的要求 可初步确定设计系统由以下模块组成 主控 制模块 显示模块 报警提示模块 键盘模块 可以实现在 100 小时内的 任意时间定时操作 每分钟还具有短音提示 按键按下时带有按键音效 在非设定定时模式中 可以查看当前定时的时间 显示时间约半秒即可 当报警后可用按键取消报警声音 独立完成系统的分析 设计和程序编写 并记录开发过程中的问题及解决办法 带原理图和硬件实物制作 主要技 术参数含 a 主控模块 以 C51 单片机为核心 b 显示模块 以传统的 LED 数字显示数码管 电路越精简越节省成本 为最好 c 键盘模块 以操作简单易用为优先 d 报警提示模块 以蜂鸣器代替即可 基于单片机系统的定时器电路还需要包含的功能模块有 1 基本的单片机最小系统 2 单片机的定时中断资源 3 单片机的电源选取 2 2 方案论证 方案论证 方案一 利用计算机的强大功能完成定时要求 利用计算机的操作系统 在操作系统中安装一个定时功能的应用程序 具有直观的操 作界面 同时可用音箱系统做为报警的提示音 另外还可以扩展计算机的并行端口或串行 端口来控制外部设备的定时运行 方案一的原理框图如下 应用程序 计算机串口控制信号 计算机应用程序界面 控制卡可定时启动报警 6 图图图 1 11 11 1 方案一原理框图方案一原理框图方案一原理框图 方案二 利用单片机的定时器完成定时要求 利用单片机的定时器 定时设定的时间 用 LED 数码管显示所设定的定时时间 设定好后 由 00 00 向所设定的时间进行正计时 时间长短由按键按键调节 正计时的时间与设定的 时间一致时便控制蜂鸣器所报警 同时可扩展输出两路正负信号 以便将来用于控制外部 设部 而串行端口用来对单片机在线编程 方案二的原理框图如下 图图图 1 21 21 2 方案二原理框图方案二原理框图方案二原理框图 3 3 方案选择 方案选择 方案一 优点是利用计算机的操作系统可安装应用程序的强大功能 在应用程序界面中可很好 的进行时间显示等控制输出信息 操作非常简便 时间精确度可与计算机的本地时间同步 高稳定性 高可靠性 基本无硬件原理 不需使用元器件 也无须制作硬件实物调试 缺点是使用计算机来操作 从应用角度来说一个小型的定时器装置 使用一台功能强 大的计算控制可谓是大材小用 杀鸡用上了牛刀 从应用程序角度来说开发人员必须对操 作系统有一定的了解 对计算机的应用程序的开发要相当熟悉 从性价比上来说一台计算 机也行花上千来元 可谓是下了血本 从实际角度来说这样的设计毫无控制的实用价值 方案二 优点是利用单片机的定时器进行定时 时间精确 稳定且可靠 并且还可以利用单片 机的进行时间的显示 按键的检测以及报警音效的提示等 其原理简单 元器件使用少 有实物可调试 出错率极低 此方案最为突出是的成本低 用单片机完成的定时器装置 操作简单易懂 可应用于生活中的厨房定时或冰箱保护装置中 报警器电路 键盘电路 单 片 机 数字显示电路 7 缺点是使用单片机需要进行编程 而对不熟悉编程语言的人来就要独立完成设计有一 定的困难 综上所述 对两个方案进行了比较 从实际生活应用以及成本上的考虑优先选用方案 二进行设计 第二章第二章第二章第二章 805180518051单片机的结构单片机的结构单片机的结构单片机的结构 1 80518051 单片机的特点单片机的特点 8051 单片机是在一块芯片中集成了 CPU RAM ROM 定时器 计数器和 多种功能的 I O 接口等一台计算机所需要的基本功能部件 2 80518051 单片机的片内资源单片机的片内资源 单片机内包含下列几个部件 一个 8 位 CPU 一个片内振荡器及时钟电路 4K 字节 ROM 程序存储器 128 字节 RAM 数据存储器 两个 16 位定时器 计数器 可寻址 64K 外部数据存储器和 64K 外部程序存储器空间的控制电路 32 条可编程的 I O 线 四个 6 位并行 I O 端口 一个可编程全双工串行口 具有五个中断源 两个优先级嵌套中断结构 8051 单片机框图如图 2 1 所示 各功能部件由内部总线联接在一起 图中 4K 4096 字节的 ROM 存储器部分用 EPROM 替换就成为 8751 图中去掉 ROM 部分就成为 8031 的结构图 8 图图 2 1 3 80518051 的引脚信号的引脚信号 8051 单片机都采用 40 引脚的双列直播封装方式 图 2 2 A 为引脚排 列图 b 为逻辑符号图 图图 2 2 40 条引脚说明如下 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 脚 当振荡器运行时 在此脚上出现两个机器周期的 高电平将使单片机复位 推荐在此引脚与 VSS 引脚之间连接一个约 8 2k 的下拉电阻 与 VCC 引脚之间连接一个约 10 F 的电容 以保证 可靠地复位 VCC 掉电期间 此引脚可接上备用电源 以保证内部 RAM 的数据不丢 失 当 VCC 主电源下掉到低于规定的电平 而 VPD 在其规定的电压 9 范围 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 输入 输出引脚 P0 0 P0 7 P1 0 P1 7 P2 0 P2 7 P3 0 P3 7 P0 0 P0 7 P0 是一个 8 位漏极开路型双向 I O 口 在访问外部存 储器时 它是分时传送的低字节地址和数据总线 PO 口能以吸收电流 的方式驱动八个 LSTTL 负载 P1 0 P1 7 P1 是一个带有内部提升电阻的 8 位准双向 I O 口 它 能驱动 吸收或输出电流 四个 LSTTL 负载 P2 0 P2 7 P2 是一个带有内部提升电阻的 8 位准双向 I O 口 在访 问外部存储器时 它输出高 8 位地址 P2 口可以驱动 吸收或输出电 流 四个 LSTTL 负载 P3 0 P3 7 P3 是一个带有内部提升电阻的 8 位准双向 I O 口 能驱 动 吸收或输出电流 四个 LSTTL 负载 P3 口还用于第二功能请参看 表 2 1 表表 2 2 1 1 P3 各口线的第二功能定义 口线引脚第二功能 P3 010 RXD 串行输入口 P3 111 TXD 串行输出口 10 P3 212 INT0 外部中断 0 P3 313 INT1 外部中断 1 P3 414 T0 定时器 0 外部输入 P3 515 T1 定时器 1 外部输入 P3 616 WR 外部数据存储器写脉冲 P3 717 RD 外部数据存储器读脉冲 4 复位电路 复位电路 8051 单片机的复位电路如图 2 3 所示 在 RESET 图中表示为 RST 输 入端出现高电平时实现复位和初始化 在振荡器运行的情况下 要实现复位操 作 必须使 RST 引脚至少保持两个机器周期 24 个振荡器周期 高电平 CPU 在第二个机器周期内执行内部复位操作 以后每一个机器周期重复一次 直至 RST 端电平变低 复位期间不产生 ALE 及 PSEN 信号 REST CPU C 5V R REST CPU 5V C R1 R2 加电自动复位 开关复位 图图 2 3 5 时钟电路时钟电路 8051 片内设有一个由反向放大器所构成的振荡电路 XTALl 和 XTAL2 分 别为振荡电路的输入端和输出端 时钟可以由内部方式产生或外部方式产生 XTAL1 XTAL2 内部方式时钟电路 外部震 荡器 XTAL1 XTAL2 外部方式时钟电路 5V OC门 a b 图图 2 4 内部方式时钟电路如图 2 4 a 所示 在 XTAL1 和 XTAL2 引脚上外接 定时元件 内部振荡电路就产生自激振荡 定时元件通常采用石英晶体和电容 组成的并联谐振回路 晶体可以在 1 2 MHZ 到 12MHZ 之间选择 电容值在 5 30 PF 之间选择 电容的大小可起频率微调作用 外部方式的时钟电路如图 11 2 4 b 所示 XTALl 接地 XTAL2 接外部振荡器 对外部振荡信号无特殊要 求 只要保证脉冲宽度 一般采用频率低于 12MHZ 的方波信号 第三章第三章第三章第三章 LEDLEDLED数码管接口技术数码管接口技术数码管接口技术数码管接口技术 1 LEDLED 数码管的结构与原理数码管的结构与原理 八段 LED 显示器的每一段均由一个或几个 LED 组成 依靠段的组合来显 示所需的数字或字符 段的标记一般采用字母 a b c d e f g h 来表示 见图 3 1 a 八段 LED 显示器有共阴极的和共阳极的两种 图 3 1 b c a b c d e f g a h a h a b 共共阴阴极极 C 共共阳阳极极 八八段段LED显显示示器器 图图 3 1 显示原理 八段 LED 显示器与单片机的接口比较简单 只要将一个 8 位并行口与显示 器的引脚对应相接即可 如图 3 2 由 8 位并行口输出不同的字节数据 显示出 不同的数字或字符 a h a h 共共阴阴极极 共共阳阳极极 D0 D7 CPU 八八段段LED显显示示器器与与单单片片机机 的的接接口口 图图 3 2 控制 LED 显示出不同的数字或字符的 8 位字节数据称为 段选码 共阴极 12 LED 与共阳极 LED 的段选码互为补码 常用字符的段选码 设 8 位并行口与 LED 数码管各段的连接是 表 3 1 a b c d e f g h D0 D1 D2 D3 D4 D5 D6 D7 表 3 1 8 为并行口与 LED 的连接 常用字符的段选码如下 表 3 2 显示字符 共阴极共阳极显示字符共阴极共阳极 0 3FH C0H a 77H 88H 1 06H F9H b 7CH 83H 2 5BH A4H c 39H C6H 3 4FH B0H d 5EH A1H 4 06H 99H e 79H 86H 5 6DH 92H f 71H 8EH 6 7DH 82H g 3EH C1H 707H F8H h 76H 89H 8 7FH 80H 8 FFH 00H 9 6FH 90H 全灭 00H FFH 表 3 2 常用字符段选码 2 多位多位 LEDLED 显示器的显示方式显示器的显示方式 将多个 LED 显示块组合在一起就构成了多位 LED 显示器 每个 LED 显示器 的段引脚称为段选线 公共端称为位选线 段选线控制显示的字符 位选线控 制该 LED 的亮和灭 按照显示器的工作方式不同 位选线和段选线的连接方法 也不同 LED 显示器有静态显示和动态显示两种方式 静态显示 所谓静态显示 就是当显示器显示某一个字符时 相应的发光二极管恒定 地导通或截止 例如 七段显示器的 a b c d e f 导通 g 截止 则显示 13 0 这种显示器方式 每一位都需要有一个 8 位输出口控制 所以占用硬件多 一 般用于显示器位数较小 很少 的场合 当位数较多时 用静态显示所需的 I O 口太多 一般采用动态显示方法 动态显示 所谓动态显示 就是将所有各位的段选线并联在一起 由一个 8 位并行口 控制 而各位的公共端 COM 分别由相应的 I O 口线控制 要使各位显示出不同 的字符 就得采用扫描的方法 一位一位地轮流点亮各位显示器 扫描 对于 每一位显示器来说 每隔一段时间点亮一次 显示器的点亮既跟点亮时的导通电流有关 也跟点亮时间和间隔时间的比例 有关 调整电流和时间的参数 可实现亮度较高较稳定的显示 若显示器的位数不大于 8 位 则控制显示器公共极电位只需一个 I O 口 称为位选口 制各位显示器所显示的字形也需一个 I O 口 称为段选口 图 3 3 是一种采用 8155 与 6 位共阴极 LED 显示器的接口电路 图图 3 3 3 LEDLED 显示器接口技术显示器接口技术 为了显示相应的字符 必须将该字符转换成相应的段选码 这种转换也称 为译码 译码可以采用硬件的方法 也可以采用软件的方法 采用硬件译码的 LED 显示器接口技术 在有些场合中 仅要求 LED 显示器能显示十六进制和十进制带小数点的 数 这时 可选用 Motorola 公司的 MC14495 CMOS BCD 7 段十六进制锁存 译码驱动器 如图 3 4 采用软件译码的 LED 显示器接口技术 在有些应用场合中 不仅要求 LED 显示器能显示十六进制数 还要求能显 示某些特殊的字符 如 CPU 这时就需要采用软件译码 由于单片机本身具有较强的逻辑控制能力 采用软件译码并不复杂 其译 14 码逻辑可以随意编程设定 不受硬件逻辑限制 同时还能简化硬件电路结构 因此 在单片机应用系统中使用非常广泛 图图 3 4 软件译码的基本方法 将所有要显示的字符的段选码列成一个表 字库 存放在存储器中 使用 时 按照所需显示的字符从表中查取相应的段选码送到显示口 15 第四章第四章第四章第四章 多用途定时器装置的硬件设计多用途定时器装置的硬件设计多用途定时器装置的硬件设计多用途定时器装置的硬件设计 1 硬件电路结构硬件电路结构 以下用一个完整的电路方框图来简述本定时器装置 2 电源电路电源电路 电源电路本想使用电池进行供电 而考虑到显示是以功耗比较大的 LED 数码管 为能 长时间持久使用因此选择了 USB 头做为电源的接口 这样只需要外接 USB 接口的电源即 可 如计算机的 USB 口或手机充电器等 工作电压当然是 V 而端口处使用电容器进行 电源滤波 16 3 蜂鸣器报警电路蜂鸣器报警电路 蜂鸣器选用有源蜂鸣器 这样只需要加电即可进行报警 而 STC89C51 单片机的 IO 端口驱动能力有限 蜂鸣器的内阻比较小 因此需要外加一个 PNP 型的三极管以为单片机 的 IO 端口扩大输出电流来控制蜂鸣器发出报警声音 4 系统结构原理整图系统结构原理整图 整体电路中 包含有 STC C 单片机最小系统 及复位电路 时钟电路 串行 在线编程端口 按键设定了三个按键 低电平有效 K 键是设置键 K 键是加数值 K 键是减数 17 值 L 指示灯 接在单片机 P 和 P 端口上 此两个端口输出的就是正负信号 当 P 输出为高电平 P 输出为低电平时指示灯就点亮了 反之则处于熄灭状态 C51 单片机 P0 口是开漏 所以作为输入输出端口使用时接口需要外接上拉电阻 电路 图中外接了一个 1K 的上拉电阻 本想使用共阴型数码管 这样数码管的八段为高电平时 每路 LED 的电流均匀流入 在共阴极端流出 而 1K 的上拉电阻便是每段 LED 的限流电 阻 这样的设计即可省去扩流电路的驱动三极管 在元件采购时购买到了共阳型的数码管 程序设计完后进行驱动时发现数码管的亮度 非常低 这样的显示效果肯定是不行的 而为了节省成本 并不对硬件进行大的修改 便 在共阳端外接了一个上拉排阻 这样共阳端口为低电平时数码管不显示 而为高电平时虽 然每一位的 IO 输出电流比较小 不足以驱动 段 LED 而外接的上拉电阻正好可以为 段 LED 提供足够的显示亮度的电流 硬件焊接 硬件的设计为了降低设计成本 因此初调并不未开设 PCB 板 而是采用万能电路板进 行手工焊接 元件布局如图 所示 焊接走线效果图如图 所示 图 元件布局图 18 图 焊接效果图 19 第五章第五章第五章第五章 多用途定时器装置的软件流程多用途定时器装置的软件流程多用途定时器装置的软件流程多用途定时器装置的软件流程 1 所需要完成的定时器装置功能所需要完成的定时器装置功能 能在数码管上显示时分 设置按键 可对定时时间进行设定 设定的时间到需要具有报警提示音 在完成定时功能的基础上可发挥扩展功能 任意 2 软件设计思路软件设计思路 用 STC89C51 单片机的 P0 口对数码管的段送显示数据 用 STC89C51 单片机的 P2 口对数码管的位进行动态扫描 用 STC89C51 单片机的 P2 0 驱动蜂鸣器报警 用 STC89C51 单片机的 P3 5 P3 6 P3 7 分别对定时器装置进行设置 对时进行 加 1 和减 1 分进行加 1 和减 1 操作 采用定时器 0 进行定时 累加计算 设置累加半秒标志 定时到半秒时在数码管的时钟个位的小数点进行亮灭操作 设置累加一分钟标志 进行短蜂鸣提示 为按键增加按键提示音效 定时时间到后让绿色 LED 点亮 否则不点亮 3 软件程序流程图软件程序流程图 左图为前台服务程序流程图 右边为后台服务程序 定时器 0 中断 的流程图 开始 初始化函数 调用显示函数同时比 较设定的时间 读取按键函数 设 定定时时间或查看 设定的时间 开始 定时器 0 10ms 按键 检测标志 短音提示 半秒小数 点闪烁标 志 时分秒积 加计数 20 4 多用途定时器装置的源程序如下多用途定时器装置的源程序如下 include define uint unsigned int define uchar unsigned char define true 1 define false 0 sbit Mode key P3 5 sbit INC key P3 6 sbit DEC key P3 7 sbit Beep P2 0 sbit COM0 P2 4 最右 sbit COM1 P2 1 sbit COM2 P2 2 sbit COM3 P2 3 最左 sbit LED P0 7 sbit LED A P2 5 定时时间到 正负极对称输出信号 可外接继电器等负载 sbit LED K P2 6 define SEG P0 uchar code seg dat 0 xC0 0 0 xF9 1 0 xA4 2 0 xB0 3 0 x99 4 0 x92 5 0 x82 6 0 xF8 7 0 x80 8 0 x90 9 0 x7F char hour min sec char mode 0 hour c 0 min c 3 初始上电设置报警时间是 3 分钟 bit flag false key ok false flag c true bit beep en music en dis f 0 21 函数名 延时函数 调 用 delayms uint t 参 数 无 返回值 无 结 果 占用 CPU 时间 备 注 void delayms uint t 晶振频率 12M uint i while t for i 0 i 3 mode 0 hour 0 按下设置键 计时从 0 开始 min 0 sec 0 break case 0 xA0 P36 if mode 1 if hour c 100 时 hour c 0 else if mode 2 if min c 60 分 min c 0 else 显示当前设定的时间是多少 dis f 1 break case 0 x60 P37 if mode 1 if hour c 0 时 hour c 99 else if mode 2 if min c 100 时 hour c 0 else if mode 2 if min c 60 分 min c 0 else if key val 0 x61 if mode 1 if hour c 0 时 hour c 99 else if mode 2 if min c 50 定时 5S 到 以下为时钟的正常走钟逻辑 count 0 flag flag 秒点闪烁 if flag 0 dis f 0 恢复正常显示 if flag if sec 60 sec 0 if min 60 min 0 if hour 100 hour 0 if temp min min 每分提示 beep en 1 temp min m

温馨提示

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

评论

0/150

提交评论