单片机课程设计论文_电子时钟设计.doc_第1页
单片机课程设计论文_电子时钟设计.doc_第2页
单片机课程设计论文_电子时钟设计.doc_第3页
单片机课程设计论文_电子时钟设计.doc_第4页
单片机课程设计论文_电子时钟设计.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

课程设计 论文 题 目 名 称 基于 89C51 电子时钟的设计 课 程 名 称 单片机原理及在电气与测控学科中的应用 学 生 姓 名 蔡贝贝 学 号 0841229081 系 专 业 电气工程系 08 级电气测控类 指 导 教 师 石赛美 2010 年 7 月 1 日 1 邵阳学院课程设计 论文 任务书 年级专业08 级电气测控类学生姓名蔡贝贝学 号0841229081 题目名称基于 89C51 的电子时钟的设计设计时间 2010 年 5 月 31 日 6 月 30 日 课程名称 单片机原理及 在电气与测控学 科中的应用 课程编号121200105设计地点 数字控制与 PLC 实 验室 一 课程设计 论文 目的 单片机课程设计 要求学生更多的完成软硬结合的动手实践方案 解决目前学生课程设 计过程中普遍存在的缺乏动手能力的现象 其目的和任务是训练学生综合运用已学课程 电 子技术基础 单片机原理及应用 的基本知识 独立进行单片机应用技术和开发工作 掌握单片机程序设计 调试和应用电路设计 分析及调试检测 二 已知技术参数和条件 1 8031 集成定时器 2 89C51 系列单片机 3 KEIL 软件 4 THKSCM 1 型单片机实验系统 三 任务和要求 设计一个电子时钟 能实现时 分 秒的显示和调节 1 要求设计出电气原理图 2 要求设计出程序流程图 3 要求设计出程序 并写出程序源代码 4 撰写设计说明书一份 格式要求符合学院的统一规定 结构要合符逻辑 表达要得 体 2 注 1 此表由指导教师填写 经系 教研室审批 指导教师 学生签字后生效 2 此表 1 式 3 份 学生 指导教师 教研室各 1 份 四 参考资料和现有基础条件 包括实验室 主要仪器设备等 1 何立民 单片机应用系统设计 M 北京航空航天大学出版社 1993 2 THKSCM 1 型单片机实验系统实验指导书 KEIL 软件 WAVE 软件 3 数字控制与 PLC 实验室 THKSCM 1 型单片机实验系统 五 进度安排 2010 年 5 月 31 日 6 月 7 日 收集和课程设计有关的资料 熟悉课题任务何要求 2010 年 6 月 8 日 10 日 总体方案设计 2010 年 6 月 11 日 14 日 硬件电路设计 2010 年 6 月 15 日 20 日 软件设计 2010 年 6 月 21 日 22 日 系统调试改进 2010 年 6 月 23 日 28 日 整理书写设计说明书 2010 年 6 月 29 日 30 日 答辩 六 教研室审批意见 教研室主任 签字 年 月 日 七 主管教学主任意见 主管主任 签字 年 月 日 3 八 备注 指导教师 签字 学生 签字 课程设计 论文 评阅表 学生姓名 蔡贝贝 学 号 0841229081 系 别 电气工程系 专业班级 08 级电气测控类 题目名称 基于 89C51 电子时钟的设计 课程名称 单片机原理及在电气与测控学科中的应用 一 学生自我总结 通过该课程设计 我全面系统的理解了编译原理程序构造的一般原理和基本实现方法 把死 板的课本知识变得生动有趣 激发了学习的积极性 同时 使学过的计算机编译原理知识强化 能够把课堂上学的知识通过自己设计的程序表示出来 加深了对文件系统的内部功能及内部实现 的理解 达到了培养实践动手能力和程序开发能力的目的 学生签名 年 月 日 二 指导教师评定 评分项目平时成绩论文答辩综合成绩 权 重304030 单项成绩 4 指导教师评语 指导教师 签名 年 月 日 注 1 本表是学生课程设计 论文 成绩评定的依据 装订在设计说明书 或论文 的 任务书 页后面 2 表中的 评分项目 及 权重 根据各系的考核细则和评分标准确定 摘摘 要要 单片机是指一个集成在一块芯片上的完整计算机系统 尽管他的大部分功能集 成在一块小芯片上 但是它具有一个完整计算机所需要的大部分部件 CPU 内存 内部和外部总线系统 目前大部分还会具有外存 同时集成诸如通讯接口 定时器 实时时钟等外围设备 而现在最强大的单片机系统甚至可以将声音 图像 网络 复杂的输入输出系统集成在一块芯片上 单片机也被称为微控制器 Microcontroler 是因为它最早被用在工业控制 领域 单片机由芯片内仅有 CPU 的专用处理器发展而来 最早的设计理念是通过 将大量外围设备和 CPU 集成在一个芯片中 使计算机系统更小 更容易集成进复 杂的而对提及要求严格的控制设备当中 本设计主要设计了一个基于89C51单片机的电子时钟 并在数码管上显示相 应的时间 并通过一个控制键用来实现时间的调节和是否进入省电模式的转换 应 用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真 该方法仿真效 果真实 准确 节省了硬件资源 关键字 单片机 电子时钟 键盘控制 5 目目 录录 I 单片机的相关知识 6 1 1 单片机简介 1 2 单片机的特点 1 3 89C51 单片机介绍 8 II 电子时钟的相关知识 6 2 1 电子时钟简介 6 2 2 电子时钟的原理 6 2 3 电子时钟的基本特点 6 III 控制系统的硬件设计 10 3 1 单片机型号的选择 10 3 2 数码管显示工作原理 10 3 3 键盘电路设计 11 3 4 整个电路原理图 12 IV 控制系统的软件设计 12 4 1 程序设计 12 4 2 程序流程图 15 4 3 仿真图 18 6 4 4 仿真结果分析 19 V 结束语 19 VI 附录 21 参考文献 29 I 单片机的相关知识单片机的相关知识 1 1 单片机简介 单片机是一种集成在电路芯片 是采用超大规模集成电路技术把具有数据处理 能力的中央处理器 CPU 随机存储器 RAM 只读存储器 ROM 多种 I O 口和中断系 统 定时器 计时器等功能 可能还包括显示驱动电路 脉宽调制电路 模拟多路转 换器 A D 转换器等电路 集成到一块硅片上构成的一个小而完善的计算机系统 1 2 单片机的特点 一 采用面向控制的指令系统 为满足控制需要 单片机有更强的逻辑控制能 力 特别是单片机具有很强的位处理能力 二 单片机的存储器ROM和RAM时严格区分的 ROM称为程序存储器 只存放程序 固定常数 及数据表格 RAM则为数据存储器 用作工作区及存 放用户数 三 单片机的I O口通常时多功能的 由于单片机芯片上引脚数目有限 为了 解决实际引脚数和需要的信号线的矛盾 采用了引脚功能复用的方法 引脚处于何 种功能 可由指令来设置或由机器状态来区分 1 3 89C51 单片机介绍 VCC 接电源 GND 接地 7 P0口 P0口为一个8位漏级开路双向I O口 每脚可吸收8TTL门电流 当P1口的管脚第一次写1时 被定义为高阻输入 P0能够用于外部程 序数据存 储器 它可以被定义为数据 地址的第八位 在FIASH编程时 P0 口作为原码输 入口 当FIASH进行校验时 P0输出原码 此时P0外部必须被拉高 P1口 P1口是一个内部提供上拉电阻的8位双向I O口 P1口缓冲器能接 收输出4TTL门电流 P1口管脚写入1后 被内部上拉为高 可用作 输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在FLASH编 程和校验时 P1口作为第八位地址接收 P2口 P2口为一个内部上拉电阻的8位双向I O口 P2口缓冲器可接收 输出4个 TTL 门电流 当P2口被写 1 时 其管脚被内部上拉电阻 拉高 且作为 输入 并因此作为输入时 P2口的管脚被外部拉低 将输出电流 这是由于内部上 拉的缘故 P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时 P2口输出地址的高八位 在给出地址 1 时 它利用内部上拉优势 当对外部八位 地址数据存储器进行读写时 P2口输出其特殊功能寄存器 的内容 P2口在 FLASH编程和校验时接收高八位地址信号和控制信号 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U4 AT89C51 图 1 1 89C51 单片机 P3口 P3口管脚是8个带内部上拉电阻的双向I O口 可接收输出4个 TTL门电流 当P3口写入 1 后 它们被内部上拉为高电平 并用作输入 作为 8 输入 由于外部下拉为低电平 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 外部数据存储器读选通 RST 复位输入 当振荡器复位器件时 要保持RST脚两个机器周期的高电 平时间 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址 的地位字节 在FLASH编程期间 此引脚用于输入编程脉冲 在平时 ALE 端 以不变的频率周期输出正脉冲信号 此频率为振荡器频率的1 6 因此它可用作对 外部输出的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存储器时 将跳过一个ALE脉冲 如想禁止ALE的输出可在SFR8EH地址上置0 此时 ALE只有在执行MOVX MOVC指令是ALE才起作用 另外 该引脚被略微 拉高 如果微处理器在外部执行状态ALE禁止 置位无效 PSEN 外部程序存储器的选通信号 在由外部程序存储器取指期间 每个机 器周期两次 PSEN有效 但在访问外部数据存储器时 这两次有效的 PSEN信号 将不出现 EA VPP 当 EA保持低电平时 则在此期间外部程序存储 0000H FFFFH 不管是否有内部程序存储器 注意加密方式1时 EA将内部锁定为 RESET 当 EA端保持高电平时 此间内部程序存储器 在FLASH编程期间 此引脚也用于施加12V编程电源 VPP 9 II 电子时钟的相关知识电子时钟的相关知识 2 1 电子时钟简介 电子时钟是一种利用数字电路来显示秒 分 时的计时装置 与传统的机械钟 相比 它具有走时准确 显示直观 无机械传动装置等优点 因而得到广泛应用 随着人们生活环境的不断改善和美化 在许多场合可以看到数字电子钟 在城市的 主要营业场所 车站 码头等公共场所使用 LCD 数字电子钟已经成为一种时尚 2 2 电子时钟的原理 该电子时钟由89C51 BUTTON 六段数码管等构成 采用晶振电路作为驱 动电路 由延时程序和循环程序产生的一秒定时 达到时分秒的计时 六十秒为一 分钟 六十分钟为一小时 满二十四小时为一天 而电路中唯一的一个控制键却拥 有多种不同的功能 按下又松开 可以实现屏蔽数码管显示的功能 达到省电的目 的 直接按下不松开 则可以通过按键实现分钟的累加 每按一次分钟加一 而连 续两次按下按键不放松 则可实现小时的调节 同样每按一次小时加一 2 3 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器 由于电子钟 石英钟 石英表都采用了石英技术 因此走时精度高 稳定性好 使用方便 不需要经常调 试 数字式电子钟用集成电路计时时 译码代替机械式传动 用LED显示器代替 指针显示进而显示时间 减小了计时误差 这种表具有时 分 秒显示时间的功能 还可以进行时和分的校对 片选的灵活性好 10 III 控制系统的硬件设计控制系统的硬件设计 3 1 单片机型号的选择 通过对多种单片机性能的分析 最终认为89C51是最理想的电子时钟开发芯 片 89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压 高性能 CMOS8位微处理器 器件采用ATMEL高密度非易失存储器制造技术制造 与 工业标准的MCS 51指令集和输出管脚相兼容 由于将多功能8位CPU和闪烁存 储器组合在单个芯片中 ATMEL的89C51是一种高效微控制器 而且它与 MCS 51兼容 且具有4K字节可编程闪烁存储器和1000写 擦循环 数据保留时 间为10年等特点 是最好的选择 3 2 数码管显示工作原理 数码管是一种把多个LED显示段集成在一起的显示设备 有两种类型 一种 是共阳型 一种是共阴型 共阳型就是把多个LED显示段的阳极接在一起 又称 为公共端 共阴型就是把多个LED显示段的阴极接在一起 即为公共商 阳极即 为二极管的正极 又称为正极 阴极即为二极管的负极 又称为负极 通常的数码 管又分为8段 即8个LED显示段 这是为工程应用方便如设计的 分别为 A B C D E F G DP 其中DP 是小数点位段 而多位数码管 除某一 位的公共端会连接在一起 不同位的数码管的相同端也会连接在一起 即 所有的 A段都会连在一起 其它的段也是如此 这是实际最常用的用法 数码管显示方法 可分为静态显示和动态显示两种 静态显示就是数码管的8段输入及其公共端电平 一直有效 动态显示的原理是 各个数码管的相同段连接在一起 共同占用8 位段 引管线 每位数码管的阳极连在一起组成公共端 利用人眼的视觉暂留性 依次给 出各个数码管公共端加有效信号 在此同时给出该数码管加有效的数据信号 当全 段扫描速度大于视觉暂留速度时 显示就会清晰显示出来 11 3 3 键盘电路设计 该设计只用了一个键盘 但实现的功能却是比较完善 减少了硬件资源的损耗 该键盘可以实现小时和分钟的调节以及控制是否进入省电模式 当按键按下又松开 可以实现屏蔽数码管显示的功能 达到省电的目的 直接按下不松开 则可以通过 按键实现分钟的累加 每按一次分钟加一 而连续两次按下按键不放松 则可实现 小时的调节 同样每按一次小时加一 达到时间调节的目的 3 4 整个电路原理图 图 3 1 系统电路原理图 12 13 IV 控制系统的软件设计控制系统的软件设计 4 1 程序流程图 系统的流程图如图 4 1 和图 4 2 所示 图 4 1 主程序流程图 14 图 4 2 中断处理流程图 4 2 程序设计 本系统的软件系统主要可分为主程序 定时计数中断程序 时间调整程序 延 时程序四大模块 在程序设计过程中 加强了部分软件抗干扰措施 下面仅对定时 计数中断程序作简要介绍 完整程序见附录附录 15 定时计数中断程序 MOV TMOD 00H 写控制字 MOV TH0 0F0H 写定时常数 MOV TL0 0CH SETB TR0 启动 T0 SETB ET0 允许 T0 中断 SETB EA 开放 CPU 中断 AJMP 4 3 仿真结果 图 4 3 开始运行程序仿真图 16 图 4 4 运行一段时间后仿真图 4 4 仿真结果分析 电路图的设计过于单调 用的器件太少 实现调节时间的按钮太少 不能很好 的实现时间的调节 在测试过程中 六位数码显示管只显示五位数字 有一位数字 不亮 通过多次的修改程序并在PROTEUS软件环境中进行仿真 最终解决了这 个问题 同时也透露出本人在单片机电路设计和程序设计方面的不足 不过最后的 仿真效果非常好 实现了预期的效果 能过通过多功能控制键调节时间和是否进入 省电模式 是一个比较令人满意的设计 17 V 结束语结束语 该课程设计的顺利完成 着实让我受益不浅 一 对实验原理有更深的理解 通过编译原理课程设计 掌握了什么是编译程序 编译程序工作的基本过程及 其各阶段的基本任务 熟悉了编译程序总流程框图 了解了编译程序的生成过程 构造工具及其相关的技术对课本上的知识有了更深的理解 课本上的知识师机械的 表面的 通过把该算法的内容 算法的执行顺序在计算机上实现 把原来以为很深 奥的书本知识变的更为简单 对实验原理有更深的理解 二 激发了学习的积极性 通过该课程设计 全面系统的理解了编译原理程序构造的一般原理和基本实现 方法 把死板的课本知识变得生动有趣 激发了学习的积极性 把学过的计算机编 译原理的知识强化 能够把课堂上学的知识通过自己设计的程序表示出来 加深了 对理论知识的理解 以前对与计算机操作系统的认识是模糊的 概念上的 现在通 过自己动手做实验 从实践上认识了操作系统是如何处理命令的 如何协调计算机 内部各个部件运行 对计算机编译原理的认识更加深刻 课程设计中程序比较复杂 在调试时应该仔细 在程序调试时 注意指针 将不必要的命令去除 18 VI 附录附录 ORG 0000H 程序执行开始地址 LJMP START 跳到标号 START 执行 ORG 0003H 外中断 0 中断程序入口 RETI 外中断 0 中断返回 ORG 000BH 定时器 T0 中断程序入口 LJMP INTT0 跳至 INTTO 执行 ORG 0013H 外中断 1 中断程序入口 RETI 外中断 1 中断返回 ORG 001BH 定时器 T1 中断程序入口 LJMP INTT1 跳至 INTT1 执行 ORG 0023H 串行中断程序入口地址 RETI 串行中断程序返回 START MOV R0 70H 清 70H 7AH 共 11 个内存单元 MOV R7 0BH CLEARDISP MOV R0 00H INC R0 DJNZ R7 CLEARDISP MOV 20H 00H 清 20H 标志用 MOV 7AH 0AH 放入 熄灭符 数据 MOV TMOD 11H 设 T0 T1 为 16 位定时器 MOV TL0 0B0H 50MS 定时初值 T0 计时用 MOV TH0 3CH 50MS 定时初值 MOV TL1 0B0H 50MS 定时初值 T1 闪烁定时用 MOV TH1 3CH 50MS 定时初值 SETB EA 总中断开放 SETB ET0 允许 T0 中断 SETB TR0 开启 T0 定时器 MOV R4 14H 1 秒定时用初值 50MS 20 START1 LCALL DISPLAY 调用显示子程序 JNB P3 7 SETMM1 P3 7 口为 0 时转时间调整程序 19 SJMP START1 P3 7 口为 1 时跳回 START1 SETMM1 LJMP SETMM 转到时间调整程序 SETMM INTT0 PUSH ACC 累加器入栈保护 PUSH PSW 状态字入栈保护 CLR ET0 关 T0 中断允许 CLR TR0 关闭定时器 T0 MOV A 0B7H 中断响应时间同步修正 ADD A TL0 低 8 位初值修正 MOV TL0 A 重装初值 低 8 位修正值 MOV A 3CH 高 8 位初值修正 ADDC A TH0 MOV TH0 A 重装初值 高 8 位修正值 SETB TR0 开启定时器 T0 DJNZ R4 OUTT0 20 次中断未到中断退出 ADDSS MOV R4 14H 20 次中断到 1 秒 重赋初值 MOV R0 71H 指向秒计时单元 71H 72H ACALL ADD1 调用加 1 程序 加 1 秒操作 MOV A R3 秒数据放入 A R3 为 2 位十进制数组合 CLR C 清进位标志 CJNE A 60H ADDMM ADDMM JC OUTT0 小于 60 秒时中断退出 ACALL CLR0 大于或等于 60 秒时对秒计时单元清 0 MOV R0 77H 指向分计时单元 76H 77H ACALL ADD1 分计时单元加 1 分钟 MOV A R3 分数据放入 A CLR C 清进位标志 CJNE A 60H ADDHH ADDHH JC OUTT0 小于 60 分时中断退出 ACALL CLR0 大于或等于 60 分时分计时单元清 0 MOV R0 79H 指向小时计时单元 78H 79H 20 ACALL ADD1 小时计时单元加 1 小时 MOV A R3 时数据放入 A CLR C 清进位标志 CJNE A 24H HOUR HOUR JC OUTT0 小于 24 小时中断退出 ACALL CLR0 大于或等于 24 小时小时计时单元清 0 OUTT0 MOV 72H 76H 中断退出时将分 时计时单元数据移 MOV 73H 77H 入对应显示单元 MOV 74H 78H MOV 75H 79H POP PSW 恢复状态字 出栈 POP ACC 恢复累加器 SETB ET0 开放 T0 中断 RETI 中断返回 闪动调时程序 T1 中断服务程序 用作时间调整时调整单元闪烁指示 INTT1 PUSH ACC 中断现场保护 PUSH PSW MOV TL1 0B0H 装定时器 T1 定时初值 MOV TH1 3CH DJNZ R2 INTT1OUT 0 3 秒未到退出中断 50MS 中断 6 次 MOV R2 06H 重装 0 3 秒定时用初值 CPL 02H 0 3 秒定时到对闪烁标志取反 JB 02H FLASH1 02H 位为 1 时显示单元 熄灭 MOV 72H 76H 02H 位为 0 时正常显示 MOV 73H 77H MOV 74H 78H MOV 75H 79H INTT1OUT POP PSW 恢复现场 POP ACC RETI 中断退出 21 FLASH1 JB 01H FLASH2 01H 位为 1 时 转小时熄灭控制 MOV 72H 7AH 01H 位为 0 时 熄灭符 数据放入分 MOV 73H 7AH 显示单元 72H 73H 将不显示分数据 MOV 74H 78H MOV 75H 79H AJMP INTT1OUT 转中断退出 FLASH2 MOV 72H 76H 01H 位为 1 时 熄灭符 数据放入小时 MOV 73H 77H 显示单元 74H 75H 小时数据将不显示 MOV 74H 7AH MOV 75H 7AH AJMP INTT1OUT 转中断退出 加 1 子 程 序 ADD1 MOV A R0 取当前计时单元数据到 A DEC R0 指向前一地址 SWAP A A 中数据高四位与低四位交换 ORL A R0 前一地址中数据放入 A 中低四位 ADD A 01H A 加 1 操作 DA A 十进制调整 MOV R3 A 移入 R3 寄存器 ANL A 0FH 高四位变 0 MOV R0 A 放回前一地址单元 MOV A R3 取回 R3 中暂存数据 INC R0 指向当前地址单元 SWAP A A 中数据高四位与低四位交换 ANL A 0FH 高四位变 0 MOV R0 A 数据放入当削地址单元中 RET 子程序返回 清零程序 对计时单元复零用 CLR0 CLR A 清累加器 MOV R0 A 清当前地址单元 22 DEC R0 指向前一地址 MOV R0 A 前一地址单元清 0 RET 子程序返回 时钟调整程序 当调时按键按下时进入此程序 SETMM CLR ET0 关定时器 T0 中断 CLR TR0 关闭定时器 T0 LCALL DL1S 调用 1 秒延时程序 JB P3 7 CLOSEDIS 键按下时间小于 1 秒 关闭显示 省电 MOV R2 06H 进入调时状态 赋闪烁定时初值 SETB ET1 允许 T1 中断 SETB TR1 开启定时器 T1 SET2 JNB P3 7 SET1 P3 7 口为 0 键未释放 等待 SETB 00H 键释放 分调整闪烁标志置 1 SET4 JB P3 7 SET3 等待键按下 LCALL DL05S 有键按下 延时 0 5 秒 JNB P3 7 SETHH 按下时间大于 0 5 秒转调小时状态 MOV R0 77H 按下时间小于 0 5 秒加 1 分钟操作 LCALL ADD1 调用加 1 子程序 MOV A R3 取调整单元数据 CLR C 清进位标志 CJNE A 60H HHH 调整单元数据与 60 比较 HHH JC SET4 调整单元数据小于 60 转 SET4 循环 LCALL CLR0 调整单元数据大于或等于 60 时清 0 CLR C 清进位标志 AJMP SET4 跳转到 SET4 循环 CLOSEDIS SETB ET0 省电 LED 不显示 状态 开 T0 中断 SETB TR0 开启 T0 定时器 开时钟 CLOSE JB P3 7 CLOSE 无按键按下 等待 LCALL DISPLAY 有键按下 调显示子程序延时削抖 JB P3 7 CLOSE 是干扰返回 CLOSE 等待 23 WAITH JNB P3 7 WAITH 等待键释放 LJMP START1 返回主程序 LED 数据显示亮 SETHH CLR 00H 分闪烁标志清除 进入调小时状态 SETHH1 JNB P3 7 SET5 等待键释放 SETB 01H 小时调整标志置 1 SET6 JB P3 7 SET7 等待按键按下 LCALL DL05S 有键按下延时 0 5 秒 JNB P3 7 SETOUT 按下时间大于 0 5 秒退出时间调整 MOV R0 79H 按下时间小于 0 5 秒加 1 小时操作 LCALL ADD1 调加 1 子程序 MOV A R3 CLR C CJNE A 24H HOUU 计时单元数据与 24 比较 HOUU JC SET6 小于 24 转 SET6 循环 LCALL CLR0 大于或等于 24 时清 0 操作 AJMP SET6 跳转到 SET6 循环 SETOUT JNB P3 7 SETOUT1 调时退出程序 等待键释放 LCALL DISPLAY 延时削抖 JNB P3 7 SETOUT 是抖动 返回 SETOUT 再等待 CLR 01H 清调小时标志 CLR 00H 清调分标志 CLR 02H 清闪烁标志 CLR TR1 关闭定时器 T1 CLR ET1 关定时器 T1 中断 SETB TR0 开启定时器

温馨提示

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

评论

0/150

提交评论