资源目录
压缩包内文档预览:(预览前20页/共22页)
编号:512496
类型:共享资源
大小:29.17KB
格式:RAR
上传时间:2015-11-11
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计
- 资源描述:
-
鄂东职业技术学院利用单片机制作电子时钟设计,毕业设计
- 内容简介:
-
鄂东职业技术学 院 毕业设计 (论 文 ) 题 目: 利用单片机制作 电子 时钟 系 别: 机电 工程 系 专业班级: 电子 05132 班 学生姓名: 李洲 学 号: 07 指导教师: 杨宝平 (中级) 2007 年 11 月 25 日 nts 诚 信 声 明 本人郑重声明: 本人所 呈交的毕业设计(论文) 单片机制作电子时钟 是在 杨宝平 教师的指导下,根据任务书的要求,独立撰写的。 本设计(论文)中所引用的其他个人或集体已发表的文字和研究成果,或为获得教育机构的学位或证书所使用过的材料,均已明确注明。 凡为本文的撰写所提供的各种形式的帮助,本人在致谢中已经明确表达了谢意。 本人完全意识到本声明的法律结果。 毕业论文(设计)作者签名: 200 年 月 日 nts 鄂东职业技术学院毕业设计(论文)任务 书 学生姓名 李洲 专业班级 电子 05132 学 号 07 课题名称 利用单片机制作 电子 时钟 指导教师及职称 杨宝平 中级 (以下内容指导教师可根据实际情况进行调整) 目的 1、 进一步熟悉定时 /计数器的编程使用方法,熟悉串口方式 0使用方法; 2、 熟悉串转并转换芯片 74164的接线方式及数码管的连线方法。 功能及原理 1、 功能描述 ( 1)采用四位七段数码管显示时间; ( 2)上电或复位后,能自动显示当前时间,首次上电复位显示为 0 时 0 分,以后每 次按 RESET复位键钧显示当前正确时间; ( 3)设置两个控制按键 H(时校正), M(分校正)。每按一次 H 键,时加 1,调整范围为 0-23 时, 0 即为 24 点;每按一次 M 键,分加 1,调整范围为 0-59; 0 即为60分。 2、硬件原理电路 nts 方案: 利用单片机( AT89S52)制作简易电子时钟,由四个七段数码管 LEDD8 分别显示小时十位 、小时个位、分钟十位、分钟十位。 5个 NPN管( 9013)分别控制四个数码管的亮灭和两个发光二极管的闪灭 .七个三极管用于段码驱动,三个按键用于时间调整。虚线框为显示部分。 1显示 XX : XX 时间 2时间可调:调整键( SET)按下次时分钟个位闪亮,此时按下加 1键( AD)该位数值加 1 加到 9 时再按下加 1 键则该位显示 0,若按下减 1 键( DC),则该位数值减 1,当减到 0 时再按下减 1 键则该位显示 9。调整键按下第二次时分钟时位闪nts亮,此时按加 1键和减 1键调整该位。调整键按下第三次时,小时个位闪亮,调整该位,调整键按下 第四次时,小时十位闪亮,则调整该位,当调整键按下第五次时,秒灯闪亮,时钟开始走时。 本设计主要分为硬件电路设计和软件实现两大部分。硬件电路设计采用模块设计:中央处理电路、时钟电路、温度测量电路、电压与电网频率测量电路、 V/F转换电路、音乐闹钟电路、遥控止闹电路、键盘电路和液晶显示电路、指示灯电路、通信电路以及电源电路几大部分;软件采用 C语言编程实现,设计采用按功能模块划分,包括:主程序、显示程序、电网频率测量程序、电压测量程序、温度测量程序、加 1程序、减 1程序 主要仪器设备 电子钟 、 网络线 2米 、 共阴八段数码管 6个、 CD4511集成块 6 块、 CD4060集成块 1块 、 74HC390 集成块 3块、 74HC51集成块 1块、 74HC00集成块 4块、 74HC30集成块 1块、 10M电阻 5个、 500电阻 14 个、 30p电容 2个、 32.768k 时钟晶体1个、蜂鸣器 1个、 5 进制计数器接线(输入用 4060的 2Hz,输出用数码管显示 10进制计数器接线、测试)、 6 进制计数器接线测试(在 10 进制基础上改)、 60 进制计数器接线、 24进制计数 器 参考资料 1 于海生微型计算机控制技术 M 清华大学出版社 1999-6 2 孙涵芳 MCS-51 系列单片机原理及应用 M 北京航空航天大学出版社 1996-4 3 黄正谨综合电子设计与实践 M 东南大学出版社 2002-3 4 杨欣等电子设计从零开始 M 清华大学出版社 2005-10 5 谢嘉奎电子线路 M 高等教育出版社 2003-2 预期结果 :经过精心的设计,我相信这次的方案会很好的进行,问题都会得以完善的解决 任务下达时间 2007 年 05 月 20 日 毕业设计(论文)开始 2007 年 06 月 01 日 nts与完成时间 至 2007 年 12 月 10 日 预计毕业答辩时间 2007 年 12 月 15 日 毕 业 设 计 进 度 安 排 周 次 工 作 内 容 检 查 方 式 第 1 周 至 第 2 周 上网查资料 辅导老师查看 第 2 周 至 第 3 周 图书馆收集资料 辅导老师查看 第 3 周 至 第 4 周 整理所收集的资料 辅导老师查看 第 4 周 至 第 5 周 完成毕业论文 辅导老师查看 专业教研室负责人意见 签名: 年 月 日 系审核意见 (系 公 章) 年 月 日 任务下达人签 字 年 月 日 任务接受人签 字 年 月 日 备 注 : 1、此表由各专业教研室统一规格后打印。 2、本任务书一式三份,由指导教师填写相关栏目,经系审核同意后,系、指导 教师和学生各执一份。 3、本任务书须与学生的毕业设计(论文)一并按要求装订存档。 鄂东职业技术学院教务 处 nts目 录 摘 要 1 电路原理分析 1 1 显示原理 1 2 键盘及读数原理 1 3 连击功能的实现 2 程序设计思想和相关指令介绍 2 1 数据与代码转换 2 2 计时功能的实现与中断服务程序 2 3 时间控制功能与比较指令 2 4 时钟误差的分析 参考文献 致谢 附录 nts 摘要 单片机制作 电子时钟 单片计算机即单片微型计算机。( Single-Chip Microcomputer ) ,是 集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能 产 品和工业自动化上。而 51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对 它的学习,应用,从而达到学习、设计、开发软、硬的能力。 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时 控制和数据处理,以及我们生活中广泛使用的各种智能 IC 卡、电子宠物等,这些都离不开单片机。单片计算机即单片微型计算机。( Single-Chip Microcomputer ) ,是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51 系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。单片机在这种情况下诞生 了。截止今日,单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。单片计算机即单片微型计算机。( Single-Chip Microcomputer ) ,是集 CPU ,RAM ,ROM ,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而 51 系列单片机是各单片机中最为典型和最有代表 性的一种。 nts 关键词:电子 时钟 单片机 1.电路原理分析 1. 1 显示原理 电原理图见附图 1。由 6个共阴极的数码管组成时、分、秒的显示。 P0口的 8 条数据线 P0.0 至 P0.7 分别与两个 CD4511 译码的 ABCD 口相接, P2 口的 P2.0 至 P2.2 分别通过电阻 R10 至 R13 与 VT1 至 VT3 的基极相连接。这样通过P0 口送出一个存储单元的高位、低位 BCD 显示代码,通过 P2 口送出扫描选通代码轮流点亮 LED1 至 LED6,就会将要显示的数据在数码管中显示出来。从 P0口 输出的代码是 BCD 码,从 P2 口输出的就是位选码。这是扫描显示原理。 1 2 键盘及读数原理 键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软件去 抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间 20ms. 1 3 连击功能的实现 按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应的功能会反复执行,好象连续执行,在这里 我们采用软件延时 250ms,当按键没释放则执行下一条对应程序。利用连击功能,能实现快速调时操作。 2 程序设计思想和相关指令介绍 本系统的主程序主要完成时间显示和定时输出判断功能。而年月日显示和各时间单元进 nts位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。 2 1 数据与代码转换。 由前述可知,从 P2口输出位选码,从 P0口输出段选码, LED就会显示出数字来。但 P0 口的输出的数据是要 BCD 码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,将要 显示的存储单元的数据直接送到 P0 口去驱动 LED数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过 BCD 码行转换后,将各个单元数据的段选代码送入 P0 口,给CD4511译码后去驱动数码管显示。 具体转换过程如下: 我们先将要显示的数据装入累加器 A 中,再将 A 中的数据转换成高低两位的 BCD码,再放回 A中,然后将 A中的值输出。如:有一个单元存储了 45 这样一位数,则需转换成四位的 BCD码:( 0100)( 0101)然后放入 A 中。 A 中 BCD 码,高位四位代表 !4!低四位代表 !5!同时送给两个 译码器中,译码后 ! 45! 字就在两个 LED 中显示出来。 2 2 计时功能的实现与中断服务程序 时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器 T0 打开后,进入计时,满 100毫秒后,重装定时。中断一次,满一秒后秒进位,满 60 秒后即为 1 分钟,分钟单元进位, 60 分到了后,时单元进位, 24 小时满后,天单元进位。这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送 LED 中显示出来,实现时钟计时功能。累加是用指令 INC 来实现的。 进入中断服务程序 以后,执行 PUSH PSW 和 PUSH A将程序状态寄存器 PSW的内容和累加器 A 中的数据保存起来,这便是所谓的 ! 保护现场 ! . 以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内 RAM 中的任一区间设定,而堆栈的数据存取与一般的 RAM存取又有区别,对它的操作,要遵循 ! 后进先出 ! 的原则。 nts 2 3 时钟误差分析 开启定时器 /计数器 0,使之开始计时,中断后进入中断程序。自停止计数到、计数又开始,中间执行了 7条指令,也就是延迟了 13 个单周期共用时间 26us,这样,每个中断的总时间应为为 100.026sm,而原来定时是 100ms,所以,也就是说每次中断定时多了 26um.这样,可改变计数重装值,使每次中断定时时间为 99.974sm,加上原来的 7 条指令所用的时间,正好 100sm.计数 10 次得 1s.这样就可得到较精确的计时秒数,然后根据进率,得到时、分的值。 2 4 时间控制功能与比较指令 系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间置入 RAM 某一单元,在计时主程序当中执行几条比较指令,如果 当前计时时间与执行设备的设定开启时间相等,就执行一条 CLR 指令,将对应的那路 P3 置为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行 SETB 对应的 P3 置低电位,二极管截止,。实现此控制功能用到的比较指令为 CJNE A,#direct, rel,其转移条件是累加器 A 中的值与立即数不等则转移。 nts 小 结 时代的列车行驶到 21 世纪,这是一个追求个人价值实现的时代,一个追求个人价值实现与团队绩效双赢的时代。在学校工作中,教师个人单打独斗的时代已经远去,团队合作,资 源整合的时代已经到来。每个教师都有各自独特的专业和才能,也必定有着不同的需求,不同的工作方式以及对事物不同的看法。为了提高学校教育工作整体水平,让教师发挥自己的专业技能,我们必须做到求同存异,找到与他们和谐有效地在一起工作的方法。 这两年来,我以此次撰写毕业论文为契机,努力研究班级任课教师团队,尝试以教师合作教育的模式,在同等劳动付出的基础上,减轻教师负担,提高工作绩效,丰富教师对教育工作的情感体验。我也可喜的看到,我校初三年级在今年的中考中取得了优异的成绩,坚守初三的教师们在隆重的毕业典礼上,与学生一起 留下了幸福的泪水。我想这届初三的成功,不仅来自于每位教师的勤奋工作,更来自于他们彼此间良好的团队合作。直到现在,那些任课教师仍在怀念那段合作的幸福时光,那段初三共同奋斗的时光。 论文虽然写完,但我还在不断反思,也留下了很多困惑。例如:在我的研究中,仅仅把学生学业成绩和班级常规管理成效,作为评价任课教师团队绩效的标准,是否合理?我对教师人格的判断评述是很主观和浅薄的,如何以科学便捷的方法对教师人格进行公正的测定?教师团队的异致性与绩效之间有何联系?我希望能不断学习研究,得出结论。 nts 参考文献 1 谢自美,电子线路设计、实验、测试 武汉:华中理工大学出版社, 2000 2 何书森、何华斌实用数字电路原理与设计速成福州:福建科学技术出版社, 2000.6 3 白驹衍, 单片计算机及应用北京:电子工业出版社, 1999.2 4 杨欣等电子设计从零开始 M 清华大学出版社 2005-10 5 黄正谨综合电子设计与实践 M 东南大学出版社 2002-3 6 孙涵芳 MCS-51 系列单片机原理及应用 M 北京航空航天大学出版社 1996-4 nts 致 谢 研究及学位论文是在我的导师 杨宝平 老师的亲切关怀和悉心指导下完成的。她严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,张老师都始终给予我细心的指导和不懈的支持。在此谨向张老师致以诚挚的谢意和崇高的敬意。 在此,我还要感谢在一起愉快的度过校园生活的各位同门,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。 从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意 !最后我还要感谢培养我长大含辛茹苦的父母,谢谢你们 ! nts 附录 说明书 系统由 AT89C51、 LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由 SB0、 SB1、 SB2、 SB3、SB4 完成。其中 SB0 为时间校对,定时器调整功能键,按 SB 0 进入调整状态。SB1为功能切换键。第一轮按动 SB1依次进入一路、二路、三路定时时间设置提示程序,按 SB3 进入各路定时调整状态。定时时间到, 二极管发亮。到了关断时间后灭掉。如果不进入继续按 SB1键,依次进入时间 ! 年 ! 位校对、 ! 月 ! 位校对、 ! 日 ! 位校对、 ! 时 ! 位校对、 ! 分 ! 位校对、 ! 秒 ! 位 校对状态。不管是进入那种状态,按动 SB2 皆可以使被调整位进行不进位增量加 1 变化。各预置量设置完成后,系统将所有的设置存入 RAM 中,按 SB1 退出调整状态。上电后,系统自动进入计时状态,起始于 ! 00! 时 ! 00! 分。 SB4 为年月日显示转换键,可使原来显示时分秒转换显示年月日 。 调整键( SET)按下次时分钟个位闪亮,此时按下 加 1 键( AD)该位数值加 1 加到 9 时再按下加 1键则该位显示 0,若按下减 1键( DC),则该位数值减 1,当减到 0 时再按下减 1键则该位显示 9。调整键按下第二次时分钟时位闪亮,此时按加 1键和减 1键调整该位。调整键按下第三次时,小时个位闪亮,调整该位,调整键按下第四次时,小时十位闪亮,则调整该位,当调整键按下第五次时,秒灯闪亮,时钟开始走时。 nts 时钟程序 ; ; AT89C2051 时钟程序 ; ; ; ;定时器 T0、 T1 溢出周期为 50ms, T0 为秒计数用, T1 为调整时闪烁用, ; P3.7 为调整按钮, P1 口为字符输入口,采用共阳显示管 ; ; ; 中断入口程序 ; ; ; ORG 0000H ; 程序执行开始地址 LJMP START ; 跳到标号 START 执行 ORG 0003H ;外中断 0 中断程序入口 RETI ;外中断 0 中断返回 ORG 000BH ;定时器 T0 中断程序入口 LJMP INTT0 ;跳至 INTT0 执行 ORG 0013H ;外中断 1 中断程序入口 RETI ;外中断 1 中断返回 ORG 001BH ;定时器 T1 中断程序入口 LGMP INTT1 ;跳至 INTT1 执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回 ; ; ; 主程序 ; ; ; START: MOV R0, #70H ; 清 70H 7AH共 11 个内存单元 MOV R7, #0BH CLEARDISP : MOV R0, #00H INC RO DINZ R7CLEARDISE nts 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 ET ;允许 T0 中断 SETB TR0 ;开启 T0 定时器 MOV R4, #14H ; 1s 定时用初值( 50ms 20) START1: LCALL DISPLAY ;调用显示子程序 INB P3.7, SETMM1 ; P3.7 口为 0 时 转对时间调整程序 SJMP START1 ; P3.7 口为 1 时跳回 START1 SETMM1: LJMP SETMM ;转到时间调整程序 SETMM ; ; ; 1s 计时程序 ; ; ; T0 中断服务程序 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 次中断到( 1s)重赋初值 MOV R0, #71H ;指向秒计时单元( 71H 72H) ACALL ADDL ;调用加 1 程序(加 1s 操作 MOV A, R3 ;秒数据放入 A( R3 为 2 位十进制数组合) CLR C ;清进位标志 CJNE A, #60H, ADDMM ntsADDMM: JC OUTT0 ;小于 60s 时中断退出 ACALL CLR0 ;大于或等于 60s 时对秒计时单元清 0 MOV R0, #77H ;指向分计时单元( 76H 77H) ACALL ADD1 ;分计时单元加 1min MOV A, R3 ;分数据放入 A CLR C ;清进位标志 CJNE A, #60H, ADDHH ADDHH: JC OUTT0 ;小于 60min 时中断退出 ACALL CLR0 ;大于或等于 60min 时分及时分计时单元清 0 MOV R0, #79H ;指向小时计时单元( 78H 79H) ACALL ADDL ;小时计时单元加入 1h MOV A, R3 ;时数据放 入 A CLR C ;清进位标志 CINE A, #24H, HOUR HOUR: JC OUTT0 ;小于 24h 中断退出 ACALL CLR0 ;大于或等于 24h 小时计时单元清 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.3s 定时末到退出中断( 50ms 中断 6 次) MOV R2#06H ;重装 0.3s 定时用初值 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 ntsRETI ;中断退出 FLASH1: JB 01H, FLASH2 ; 01H 位为 1 时,转小时熄灭控制 MOV 72H, 7AH ; 01H 位为 0 时,“熄灭符”数据放入分 MOV 73H, 7AH ;显示单元( 72H 73H),将不显示分数据 MOV 74H, 78H MOV 75H, 79H AJMP INNTT1OUT ;转中断退出 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 中数据高 4 位与低 4 位交换 ORL A, RO ;前一地址中数据放入 A 中低 4 位 ADD A, #01H ; A 加 1 操作 DA A ;十进制调整 MOV R3, A ;移入 R3 寄存器 ANL A, #0FH ;高 4 位变 0 MOV R0, A ;放回前一地址单元 MOV A, R3 ;取回 R3 中暂存数据 INC R0 ;指向当前地址单元 SWAP A ; A 中数据高 4 位与低 4 位交换 ANL A, #0FH ;高 4 位变 0 MOV R0, A ;数据放入当前地址单元中 RET ;子程序返回 ; ; ; 清 0 程序 ; ; ;对计时单元复 0 用 CLR0: CLR A ;清累加器 MOV R0, A ;清当前地址单元 DEC RO ;指向前一地址 MOV R0, A ;前一地址单元清 0 RET ;子程序返回 ; nts; ; ; 时钟调整程序 ; ; ;当调时按键按下时进入此程序 SETMM: CLR ET0 ;关定时器 T0 中断 CLR TR0 ;关闭定时器 T0 LCALL DL1S ;调用 1s 延时程序 JB P3.7, CLOSEDIS ;键按下时时间小于 1s,关闭现实(省电) 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.5s JNB P3.7, SETHH ;按下时间大于 0.5s 转调小时状态 MOV R0, #77H ;按下时间小于 0.5s加 1min 操作 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.7CLOSE ;是干扰,返回 CLOSE 等待 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.5s JNB P3.7, SETOUT ;按下时间大于 0.5s 退出时间调整 MOV R0, #79H ;按下时间小于 0.5s加 1h 操作 LCALL ADDL ;调加 1 子程序 MOV A, R3 CLR C CJNE A, #24H, HOUU ;计时单元数据与 24 比较 ntsHOUU: JC SET6 ;小于 24转 SET6 循环 LCLLL CLR0 ;大于或等于 24 时清 0 操作 AJMP SET6 ;跳转到 SET6 循环 SETOUT: JNB P3.7, SEROUT1 ;退出调时程序,等待键释放 LCALL DISPLAY ;延时消抖 JNB P3.7, SETOUT ;是抖动,返回 SETOUT 再等待 CLR 01H ;清调小时标志 CLR 00H ;清调分标志 CLR 02H ;清闪烁标志 CLR TR1 ;关 闭定时器 T1 CLR ET1 ;关定时器 T1 中断 SETB TR0 ;开启定时器 T0 SETB ET
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。