数字定时器设计
数字电子技术之定时器及其应用介绍

定时器广泛应用于各 种电子设备中,如电 子钟表、定时器、电 子设备等。
定时器的分类
1
按照工作原 理分类:机 械式、电子 式、数字式
4
按照控制方 式分类:手 动控制、自
动控制
2
按照功能分 类:单功能、
多功能
5
按照定时精 度分类:普 通精度、高
精度
3
按照应用领 域分类:工 业控制、家 用电器、汽
车电子
2
电子设备控制
工业控制:生产 线自动化、设备
监控等
医疗设备:医疗 仪器定时控制、 医疗设备监控等
家用电器:定时 开关、定时提醒
等
汽车电子:汽车 电子控制单元、 汽车导航系统等
工业自动化
1
工业生产:用于控制生产线上的设备, 提高生产效率
2
工业机器人:用于控制机器人的运动 和操作,实现自动化生产
3
定时器性能优化
提高定时精度:采 用高精度时钟源,
优化定时算法
提高灵活性:采用 可编程定时器,支 持多种定时模式和
参数设置
降低功耗:优化电 路设计,降低静态
功耗和动态功耗
提高集成度:采用 集成电路技术,减
小体积和成本
提高稳定性:优化 电路布局,减少干
扰和噪声
提高可靠性:采用 冗余设计和容错技 术,提高系统可靠
5
智能监控:实时监控家中情况,如漏水、漏气等
6
智能调节:根据个人习惯和需求,自动调节家中环境,如温度、湿度等
3
定时器设计原则
准确性:定时器的输出信号应与输入信号保 持同步,误差应控制在可接受范围内。
稳定性:定时器的输出信号应不受环境因素 的影响,如温度、湿度等。
智能定时器毕业设计

毕业设计(论文)课题名称:基于51单片机的智能定时控制器系统设计指导教师:系别:电子信息系专业:应用电子技术班级:10电子(2)班姓名:毕业设计(论文)任务书课题名称基于51单片机的智能定时控制器系统设计课题性质工程应用专业应用电子技术班级10电子(2)班学生姓名学号指导教师教研室主任系部主任发放日期一、课题条件:随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,各种各样的电子产品也正在日新月异地向着高精尖技术发展。
数字电子时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
二、毕业论文(设计)主要内容:1、时间显示:用4位数码管显示当前小时和分钟,秒功能用两LED灯代替(每秒闪烁一次)。
2、可手动设定时间。
3、开机流程:系统有红色和蓝色指示灯,上电10S内,每秒红色指示灯闪烁一次,并伴有蜂鸣声,作为开机/重启提醒,此时绿色指示灯灭。
10S后红色指示灯灭,若光线较强则绿色指示灯亮,若光线较弱则绿色指示灯亮度减半进入节能模式。
3、具有整点报时功能(四短一长),可自行设定报时时间段;三、计划进度:1. 资料的收集撰写开题报告6月20日至9月8日2. 方案设计9月9日至9月15日3. 电路的设计指标分析与确定;后期的电路优化元器件的选择与参数确定9月16日至11月2日4. 毕业设计论文的修改、完善11月3日至11月10日5. 毕业设计答辩11月15 日至11月20日四、主要参考文献:a) 康光华主编.电子技术基础.北京:高等教育出版社,1999.6b) b)何宏主编.单片机原理与接口技术.北京:国防工业出版社.2006.07c) c)杨西明,朱骐主编.单片机编程与应用入门.北京:机械工业出版社.2004.06d) d)先锋工作室编著.单片机程序设计实例.北京:清华大学出版社.2003.01指导教师(系)教研室主任年月日年月日摘要本次设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟,它由5V直流电源供电。
基于数字电路的定时器的设计

应用技术数字电子技术已经被广泛的应用到电子行业之中,随着集成电力技术快速发展,特别是规模比较大的集成器件,极大的增加了电子系统可靠性,让设备的体积大大的缩小了,多种智能化功能也得到大幅度提升。
在全世界范围内,正在上演着一场轰轰烈烈的信息化革命。
传统的定时器主要是机械定时器,一小部分的电子器械中也已经开始使用了时间继电器。
与机械定时器相比较,这种电子定时器具有非常小的体积,且重量比较轻,没有较高的造价,被频繁使用。
1 逻辑电路的基本概念■1.1 数字电路的基本特点在电子设备之中,一般的会将电路分成两类,一类是模拟电路,一类是数字电路,模拟电路主要是以模拟信号作为主要传输形式,也就是变化呈现出连续的物理量。
数字电路主要是以数字信号作为传输形式,也就是变化呈现出断续形式的物理量。
人们将可以传输、控制以及实现变换数字信号的电子电路叫做数字电路。
普遍情况下,数字电路在工作的时候呈现出两种表现状态,一种是高电位,又被叫作高电平,通常性用代码“1”作为其表示形式。
另一种是低电位,又被叫作低电平,通常性用代码“0”表示。
比如说在TTL数字电路中,其输出的电压没有超过0.2V,那么就是低电位。
当输出的电压已经超过了3V的时候,那么就是高电位。
在CMOS数字电路中,其主要的逻辑“1”或者是逻辑“0”的电位值是受到工作电压影响的。
■1.2 基本逻辑电路门电路的主要指的是在能起着开关作用的电子线路,负责控制脉冲通路上的脉冲。
这也是最基本的一种逻辑电路。
在门电路之中,可以出现一个或者是很多个不同的输入端,但是输出端,有且只有具备一个。
在门电路中的所有输出端所添加的脉冲信号,只能够在其满足于某个条件的时候,“门”才可以被打开,这时候才会有输出的脉冲信号。
2 基于数字电路的定时器的设计■2.1 基于数字电路的定时器系统设计方案数字电路定时器系统设计框架图如图1所示。
以总体的定时器系统基本任务和设计要求作为依据,可以将整个定时器系统详细的划分成五个性能单元,分别是主电路单元、按键电路单元、显示带路单元以及报警电路单元。
数字显示定时器

数字电子技术课程设计设计题目:数字显示定时器学院:专业:姓名:班级:学号:指导老师:目录一、设计目的………………………………………2二、设计内容 (2)三、数字显示定时器的组成和基本工作原理……2四、设计步骤与方法………………………………5五、调试方法………………………………………9六、问题分析………………………………………9七、选用元器件 (10)八、参考文献 (10)九、心得体会 (10)数字显示定时器一、设计目的1设计题目:数字显示定时器2设计要求:①分析数字显示定时器的工作原理,明确其中每个组件及元件的作用。
②通过查阅有关资料,了解组件的逻辑功能、使用条件及引脚图,并将图中74LS90组件的连接图标注引脚号,将各与非门编号并标注引脚号以便连线和排除故障。
3 目的要求①结合运用所学知识,进一步提高逻辑电路的识图能力。
②通过实验进一步了解并掌握完成数字电路系统实验的方法,培养调试技能和解决实际问题的能力。
③进一步了解中规模集成组件的性能与应用。
二、设计内容①搭接秒信号发生器,用示波器B点波形的幅度及周期。
②搭接并调试计数译码显示单元。
③搭接控制单元,启动脉冲形成单元,由实验台的单脉冲代替。
思考应该用正脉冲还是负脉冲?④搭接蜂鸣器及发光管报警电路,并调试其功能。
⑤搭接完整电路(连A,B,C,D,E各点)测试系统功能(注意:先测试组件功能,再连接单元电路;先调试好单元电路功能,再连接整体电路)。
三、数字显示定时器的组成和基本工作原理数字显示定时器是一个在能实现定好的时间时发出信号的同时,显示出计时的具体情况的一种计时器。
计时器在平时的应用是很广泛的。
我现在设计的就是数现定时器的一种,其基本组成的整体框图如图所示。
它的工作原理是:按微动开关,计时开始,两位十进制显示所计时间,到达给定时间(60s)时计时停止,蜂鸣器及发光二极管发出报警信号。
1.秒信号发生器在精度要求不高的情况下,可由555定时器组成的多谐震荡器提供频率为1Hz的矩形脉冲作为时钟脉冲。
数字定时器设计

数字定时器设计摘要随着时代的进步,电子行业的发展,定时器的应用也越来越广泛。
但传统的定时器都是使用发条驱动式、电机传动式或电钟式等机械定时器。
数字定时器相对传统定时器来说,体积小、重量轻、造价低、精度高、寿命长、而且安全可靠、调整方便、适于频繁使用。
本文以AT89C51单片机为核心模块,使用AT89C51内部定时器计时,设计了数字定时器的键盘模块,显示模块,声光报警模块,辅助电源模块,继电器开关模块以及硬件复位模块。
系统阐述了数字定时器的工作原理,并给出了软件流程。
该数字定时器最大定时时间为30h,可精确到分。
关键词:定时器;单片机;AT89C51;Design Digital TimerAbstractWith the development of the electronics industry, timer becoming widely used. But the traditional timers are used to wind-driven, the motor drive or electro-mechanical timer Bell, etc. Digital timer relatively traditional timer, small size, light weight, low cost, high accuracy, long life, and secure, easy and suitable for frequent use.This paper use the AT89C51 internal timer as time control, designs a digital timer keyboard module, display module, sound and light alarm module, auxiliary power modules, relay switch modules and hardware reset module. The paper systemic explains digital timer works and software process. The digital timer maximum scheduled time for 30h, accurate to the minute.Keywords: Timer; Monolithic machine; AT89C51; Development is scanned.1绪论我们在日常生活中,经常碰到一些需要定时的事情,例如:印相或放大照片,需要定在零点几秒的时间,洗衣机洗涤衣物需要定在几分钟到几十分钟的时间,电风扇需要定在数十分钟的时间。
简易定时器数字课程设计

简易定时器数字课程设计一、课程目标知识目标:1. 让学生理解简易定时器的原理和功能,掌握数字电路基础知识。
2. 使学生掌握定时器电路的设计方法,能够运用所学知识搭建简单的定时器电路。
3. 帮助学生了解定时器在实际生活中的应用,拓宽知识视野。
技能目标:1. 培养学生动手操作能力,能够正确使用数字电路实验器材。
2. 提高学生的问题解决能力,能够运用所学知识分析并解决定时器电路故障。
3. 培养学生的团队协作能力,学会在小组合作中共同完成任务。
情感态度价值观目标:1. 激发学生对电子技术的兴趣,培养积极探索、勇于创新的科学精神。
2. 培养学生严谨、细致的学习态度,养成良好的实验习惯。
3. 增强学生的环保意识,认识到电子技术在实际应用中对环境保护的重要性。
本课程针对初中学段学生,结合学科特点和教学要求,注重理论与实践相结合,以培养学生的动手能力、问题解决能力和团队协作能力为核心。
课程目标具体、可衡量,旨在让学生在掌握数字电路基础知识的同时,能够将所学应用于实际生活,提高学生的综合素养。
二、教学内容本章节教学内容主要包括以下三个方面:1. 数字电路基础知识:- 介绍数字电路的基本概念、逻辑门电路及其功能。
- 讲解定时器电路的原理,以课本相关章节为基础,结合实际案例进行分析。
2. 定时器电路设计:- 引导学生了解定时器的种类和功能,掌握典型定时器集成电路的使用方法。
- 依据教材内容,制定详细的教学大纲,逐步讲解定时器电路的设计步骤和注意事项。
教学内容安排:- 第一课时:数字电路基础知识回顾与拓展- 第二课时:定时器电路原理及其应用- 第三课时:定时器电路设计方法与实验操作3. 实践操作与案例分析:- 安排学生进行数字电路实验,搭建简单的定时器电路,巩固所学知识。
- 结合实际案例,分析定时器电路在实际应用中的优缺点,提高学生的问题解决能力。
教学内容具有科学性和系统性,结合教材章节和教学要求,注重理论与实践相结合,旨在帮助学生掌握数字电路基础知识,提高定时器电路设计和分析能力。
数字逻辑课程设计定时器

根据仿真测试结果,对定时器的性能 进行分析和评估,包括定时精度、稳 定性、功耗等方面的指标。同时,针 对存在的问题和不足,提出改进和优 化建议。
05
定时器性能指标评价与 优化
定时器性能指标评价方法
时间精度
衡量定时器实际定时时间与设定时间之间的 偏差,通常以百分比或毫秒表示。
分辨率
定时器能够分辨的最小时间单位,决定了定 时控制的精细程度。
电路的分析和设计。
逻辑代数基础
运用布尔代数进行逻辑 运算和化简,为数字电 路设计和分析提供数学
工具。
组合逻辑电路
由逻辑门电路组成的无 记忆元件的电路,其输 出仅取决于当前的输入
。
时序逻辑电路
具有记忆功能的电路, 其输出不仅与当前输入 有关,还与过去的输入
有关。
定时器在数字系统中的应用
01
02
03
04
03
应用场景
多谐振荡器常用于产生方波、三角波、锯齿波等信号,以 及作为时钟信号源或用于频率调制等场合。
04
基于可编程逻辑器件的 定时器设计
可编程逻辑器件简介及选型
可编程逻辑器件概述
可编程逻辑器件(PLD)是一种通用型集成电路,其内部逻辑功能可以根据用 户需求进行编程配置。常见的可编程逻辑器件有FPGA(现场可编程门阵列) 和CPLD(复杂可编程逻辑器件)等。
应用场景
单稳态触发器常用于定时控制、 延时开关、脉冲展宽等场合。
基于555定时器的多谐振荡器设计
01 02
设计原理
在无稳态模式下,555定时器可以作为一个多谐振荡器使 用。通过调整外部电阻和电容的值,可以控制振荡器的频 率和占空比。输出端(OUT)会周期性地输出高电平和低 电平信号。
三位数字显示计时定时器设计

课程设计报告课程设计名称:三位数字显示计时定时器设计专业班级: 0212112****:**学号: ********* 同组人员:****:***课程设计时间: 2周目录1 设计任务、要求以及文献综述 (1)2 原理叙述和设计方案 (1)2.1 设计方案选择和论证 (1)2.2 电路的功能框图及其说明 (1)2.3 功能块及单元电路的设计、计算与说明 (2)2.4 总体电路原理图 (4)3 电路的仿真与调试 (4)3.1 电路仿真 (4)3.2 调试中出现的问题及解决方法 (5)4 制作与调试 (6)4.1元件清单、实物照片 (6)4.2制作与调试过程中遇到的问题及解决办法 (7)5心得体会 (8)6 参考文献 (8)附录 (8)三位数字显示计时定时器设计1 设计任务、要求以及文献综述3位数字显示计时定时器是一个典型的利用数字系统的例子。
所谓数字系统,是指由若干数字电路及逻辑部件组成并且能够进行采集、加工、处理及传送数字信号的设备。
一个完整的数字系统通常由输入电路、输出电路、控制电路、若干个子系统和时基电路等部分组成。
设计要求如下:1、计时功能。
能任意启停,保持计时结果;2、开机自动复位;3、最大计时显示为9分59秒;4、定时报警。
2 原理叙述和设计方案2.1 设计方案选择和论证方案一:设计的3位数字显示计时定时器则分别有4个子系统组成:秒脉冲时间标准产生电路、计数器、译码器和显示器、开机自动清零电路、计时启停控制电路方案二:实现一个三位数字显示的秒表系统,单片机,lcd1602显示屏,矩阵键盘等组成部分。
秒计数电路满60向分计数电路进位(显示00~59s),分计数电路满足10(显示0~9)后停止并且灯亮,等待重新复位计时。
论证:方案二比方案一好。
理由一:方案二显示的最终结果比较直观。
理由二:方案二可更改性好,方便日后的改进。
2.2 电路的功能框图及其说明根据原理正确、易于实现、且实验室有条件实现的原则确定设计方案,画出总体设计功能框图,如图2.1所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计任务设计一个数字定时器设计要求1,定时1-99分钟,开机上电并且默认10分钟。
2,显示时间自选,不一定使用数码管。
3,定时时间可调,调试方式为两种,一是步进,二是直接输入。
4,有负载,220V/A,要求开机上电的时候,负载关闭。
5,有相关的提示信息,一旦时间设定之后,会给出时间设定的提示信息。
6,定时时间到,关闭电晕啊,切断负载电源,关闭电源。
7,系统工作电源V in=+12V设计基本理论本设计将采用89C51单片机,89C51单片机是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
单片机自带5个中断,两个16位定时器32个I/O口,可擦除只读存储器可以反复擦除多次,功能相当强大。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。
89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主体模块设计数字定时器系统的基本组成如下图所示数字定时系统电路的原理框图根据设计任务与要求,可初步将系统分为五大功能模块:主电路、按键电路、显示电路、继电器电路。
进一步细说,主电路选用AT89C51作为中央处理器,系统采用12MHZ的晶振;按键控制电路由两个个按键(启动键(start)、时间设定键(set))组成,采用三个独立开关,按键按下产生一个脉冲信号;显示电路由二位8段共阴极数码管和一个9位100欧姆上拉排阻组成,位选,个位和十位由P0输出,段选由P1输出;继电器电路由一个继电器和一个用电器(灯泡)组成,通过电路与P3.0相连。
当P3.0输出高电平时,继电器不吸合,灯亮。
各部件具体设计1单片机最小系统的设计模块硬件连接说明:本系统以AT89C51单片机为核心。
单片机采用内部振荡的方式。
通过200欧姆电阻与一个6位8段LED数码显示管相连。
从P0口输出LED数码管的字形码,从P2口输出LED数码管的位选码,高电平有效。
4个功能按键和P1口相连,中间通过10K的电阻与+5V电源相连,按键另一端接地,P1口低电平时表示按键被按下。
报警电路则与P3.0口相连,当P3.0口输出高电平时,蜂鸣器响。
2晶振电路设计由于单片机内部振荡方式电路简单,时钟信号比较稳定,是独立的单片机应用系统的首选,故本设计采用内部振荡方式,采用12MHZ的晶振。
数字定时系统电路的晶振电路图如下图所示。
3定时中断本设计电路采用定时器T0产生定时中断,由于本设计需要0.1s的基本时间,故选择其工作在定时方式1下。
这时定时器T0是一个16位的计时器,由它产生50ms的基本定时中断,两次中断后将得到0.1s的时间。
4键盘电路键盘电路有独立式键盘和矩阵式两种。
独立式键盘占用I/O口线较多,适用于按键较少的情况。
矩阵式键盘占用的I/O口相对较少,适用于按键很多的情况。
共设置4个按键,每个按键分别完成复位、开始/暂停、设置、调整的功能。
其电路连接图如下图所示。
5 报警电路报警电路将采用p3.0口驱动,当数码管显示00.00.0时p3.0口输出高电平,驱动蜂鸣器达到报警的目的,只有当复位键按下后,蜂鸣器才会停止报警。
其电路连接图如下图所示6显示电路对于显示电路,本设计采用6位8段共阴极LED数码管显示。
上电显示最大倒计时时间99.00.00-。
其中“-”位为系统状态标志位,当显示“-”时,表示系统处于等待状态,按下开始键后将开始计数,开始计数后此数码管将关闭显示,以达到省电的目的,当显示“E”时,表示系统正处于调时状态,此时只用两个调时键有用,按下开始键或复位键将没有用。
其显示电路图如下图所示。
系统的调试与结果测试电后LED数码管显示最大倒计时值99.00.0-,程序处于等待状态此时,主程序不断调用显示子程序以及扫描键盘按键情况,当检测到有键按下后,转到相应的程序执行。
1.开始/暂停键按下后程序开始减1计数直到0,同时状态显示管熄灭,计数值到0后报警器响。
若中途遇到开始/暂停键按下则,暂停倒计时。
2.若中途遇到复位键按下则将倒计时器的倒计时值设置为最大值,并处于等待状态。
3.复位键按下后,程序复位,系统处于等待状态,状态显示管显示“-”。
4.当设置键被按下后,程序进入调时设置状态,同时状态显示管显示“E”。
设置状态的初始值位00.00.0E,按下+1调整键,可以将当前的计数单位值加1,再次按下设置键后,即进入了下个计数单位的调时状态,当按下5次设置键后将退出调时状态,若分钟十位被设置为6并再次按下设置键后程序直接退出调时状态。
设置状态时开始/暂停键和复位键无效,等退出调时状态后,设置状态时开始/暂停键和复位键恢复功能结果分析本设计是一个采用了由内部振荡的时钟方式、程控扫描方式的独立式键盘、动态显示LED数码管和蜂鸣器式报警器组成的系统。
因此该系统使用的电子器件少、外围电路简单,定时精准,使用的I/O少,系统消耗的功耗小,剩余的I/O口多便于扩展其他功能。
但是另一方面,本系统由于使用了程控式的键盘和动态显示的LED数码管,所以对CPU的使用率相对较高。
开始在主程序的循环中没有添加调用显示子程序的语句,导致在没有按键按下的情况下LED数码管没有显示。
当在主程序循环检测按键的过程中添加了调用显示子程序的语句后就解决了这一问题。
由于键盘需要消抖延时和等待按键释放,所以相似的情况又出现了——按下按键后有一段时间LED数码管断续显示或者按下按键后不释放按键时LED数码管没有显示。
仔细分析后发现,问题出现的原因还是一样的,由于本设计的LED数码管采用了动态显示,故需要不断调用显示子程序,否则会导致LED数码管没有显示。
所以最终做了以下改进:1.按键的消抖延时选择调用两次显示子程序(每次显示子程序大约用时5ms,两次即为10ms左右)来取代原来的10ms软件延时。
2.在等待按键释放时,使用循环调用显示子程序来替代原来的循环等待。
经过上述两点的改进后,LED数码管无显示或者断续显示的问题就得到了彻底的解决。
心得体会初次看到本次的课程设计的题目时,感觉设计的难度不大,但是由于是第一次运用单片机设计,在设计过程中又遇到了种种困难,又感觉到要完成此次设计还需要花费很大的时间和精力。
但是经过不断的努力,运用科学的分析方法,最终完成了本次计算机课程设计。
经过三个星期的课设,过程曲折可谓一语难尽。
在此期间我也失落过,也曾一度热情高涨。
从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。
生活也是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
通过这次课设,我才真正领略到“艰苦奋斗”这一词的真正含义,只有亲自动手才能体会其中的内涵。
我想说,设计确实有些辛苦,但苦中也有乐。
每当遇到困难的时候,老师和同学给了我很大的帮助,让我学到了很多东西。
在此,我对帮助过我的同学及老师深表感谢。
我感觉通过课设我和同学们之间的距离更加近了;我想说,设计确实很累,但当我们的设计出现成果时,心中也不免产生喜悦,正所谓“三百六十行,行行出状元”我认为无论干什么,只要人生活的有意义就可以。
另外,课堂上也有部分知识不太清楚,于是我又不得不边学边用,时刻巩固所学知识,通过课设把以前不了解的东西能够学习一下,更深的体会其中的含义,使我收获颇多。
整个设计我基本上还满意,由于水平有限,难免会有错误,所以还请老师批评指正。
附录:所使用的VB程序ORG 0000HAJMP MAINORG 000BH ;T0中断程序入口地址AJMP T0ZDORG 00100HMAIN:CLR TR0 ;主程序开始CLR P3.0 ;关闭蜂鸣器SETB 20H.1 ;使显示管状态标志位有效CLR 20H.0 ;开始/暂停标志位,使程序处于等待开始MOV 40H,#00H ;0.1S位查表码MOV 41H,#00H ;秒钟个位位查表码MOV 42H,#00H ;秒钟十位位查表码MOV 43H,#00H ;分钟个位位查表码MOV 44H,#06H ;分钟十位位查表码MOV 45H,#00H ;状态显示管查表码MOV 46H,#02H ;定时器定时次数SETB EA ;开总中断SETB ET0 ;开定时器T0中断MOV TMOD,#01H ;定时器工作方式MOV TL0,#0B0H ;定时初值,采用50MS时MOV TH0,#3CHJPJC:LCALL XSCX ;显示倒计时初值60.00.0(XSCX),进入键盘检测程MOV P1,#0FFH ;判断复位键是否按下JB P1.0,JC12LCALL XDYS ;调用消抖延时程序(XDYS)JB P1.0,JC12PP10:JNBP1.0,DP10 ;等待按键按下AJMP MAIN ;复位键按下后转到主程序(MAIN)重新开始JC12:MOV P1,#0FFH ;判断设置键是否按下JB P1.2,JC11LCALL XDYSJB P1.2,JC11PP12:JNB P1.2,DP12 ;调整设置键按下后转到调时子程(TSCX)ACALL TSCXJC11:MOV P1,#0FFH ;判断开始/暂停键是否按下JB P1.1,JPJCLCALL XDYSJB P1.1,JPJCPP11:JNB P1.1,DP11CPL 20H.0 ;将标志位取反JB 20H.0,KSJS ;开始/暂停标志为1则开始计(KSJS)CLR TR0SETB 20H.1AJMP JPJC ;继续检测键盘按键情况(JPJC)DP10:LCALL XSCX ;等待按键按下时,调用显示程序,防止显示管没显示AJMP PP10 DP11:LCALL XSCXAJMP PP11 DP12:LCALL XSCXAJMP PP12 KSJS:CLR 20H.1 ;清除状态显示管SETB P2.5 JB P3.0,JPJC ;若蜂鸣器响,则不启动计时器SETB TR0 ;启动计时器TO (KSJS)AJMP JPJC ; 显示子程序XSCX:MOV DPTR,#TAB ;显示子程序(XSCX)MOV A,40H MOVC A,@A+DPTRMOV P2, #0FFH ;关闭显示.MOV P0, A ;输出0.1S位的显示段码.CLR P2.0 ;P2.0=0ACALL XSYSMOV DPTR,#TAB1 ;MOV A,41HMOVC A,@A+DPTRMOV P2, #0FFH ;关闭显示.MOV P0, A ;输出秒钟个位的显示码.CLR P2.1 ;P2.1=0ACALL XSYSMOV DPTR,#TABMOV A,42HMOVC A,@A+DPTRMOV P2, #0FFH ;关闭显示.MOV P0, A ;输出秒钟十位位的显示段码. CLR P2.2 ;P2.2=0ACALL XSYSMOV DPTR,#TAB1MOV A,43HMOVC A,@A+DPTRMOV P2, #0FFH ;关闭显示.MOV P0, A ;输出分钟个位的显示段码. CLR P2.3 ;P2.3=0ACALL XSYSMOV DPTR,#TABMOV A,44HMOVC A,@A+DPTRMOV P2, #0FFH ;关闭显示.MOV P0, A ;输出分钟十位的显示段码. CLR P2.4 ;P2.4=0ACALL XSYSJNB 20H.1,ZBTC ;20H.1为1则显示计时器状态MOV DPTR,#TAB2MOV A,45HMOVC A,@A+DPTRMOV P2, #0FFH ;关闭显示.MOV P0, A ;输出段码.CLR P2.5 ;P2.5=0ACALL XSYSZBTC:RETTSCX:CLR TR0 ;调时子程序(TSCX)CLR 20H.0 ;使时间调整时处于暂停状态MOV 40H,#00HMOV 41H,#00HMOV 42H,#00HMOV 43H,#00HMOV 44H,#00H SETB 20H.1 ;使状态显示管的位选码有效MOV 45H,#01H ;将状态显示码更改为E(调时状态)MOV R0,#44HJCTZ:ACALL XSCX ;先调用显示程序,扫描时间调整键MOV P1,#0FFHJB P1.3,NEXT ;+1键盘没有按下ACALL XDYS ;键盘按下,消抖延时JB P1.3,NEXTDEN0:JNB P1.3,DEN1 ;等待按键释放AJMP JYCX ;+1键按下后,跳转到+1程序NEXT:MOV P1,#0FFHJB P1.2,JCTZACALL XDYS ;键盘按下,消抖延时JB P1.2,JCTZDEN2:JNB P1.2,DEN3 ;等待按键释放MOV A,44HCJNE A,#06H,DEC4 ;设置键再次按下,将调整指针指向下一位AJMP TCTS DEC4:DEC R0CJNE R0,#3FH,JCTZ ;若R0为3FH则退出调时程序AJMP TCTS ;若@R0不为#06H,但R0为#3FH,则跳出调时程序JYCX:CJNE R0,#44H,XIA1 ;加1调时部分CJNE @R0,#06H,INCR ;调整分钟十位AJMP SET0 XIA1:CJNE R0,#43H,XIA2AJMP TZ09 ;调整分钟个位XIA2:CJNE R0,#42H,XIA3CJNE @R0,#05H,INCR ;调整秒钟十位AJMP SET0 XIA3:CJNE R0,#41H,XIA4AJMP TZ09 ;调整秒钟个位XIA4:CJNE R0,#40H,TCTSTZ09:CJNE @R0,#09H,INCR ;调整0.1秒位SET0:MOV @R0,#00HAJMP JCTZ INCR:INC @R0AJMP JCTZ DEN1:ACALL XSCXAJMP DEN0 DEN3:ACALL XSCXAJMP DEN2TCTS:MOV TH0,#3CH ;退出调时程序MOV TL0,#0B0HMOV 45H,#00H ;将状态显示码更改为D(等待状态)RET ; T0中断子程序T0ZD:CLR EA ;T0中断子程序,关中断(T0ZD)CLR ET0CLR TR0DJNZ 46H,TCZDMOV 46H,#02H ;当定时两次后重新给计时次数赋值为2MOV R0,#40H ;减1计数,R0为40HCJNE @R0,#01H,R040INC R0 ;R0为41HCJNE @R0,#00H,DEC1 INC R0 ;R0为42HCJNE @R0,#00H,DEC1 INC R0 ;R0为43HCJNE @R0,#00H,DEC1 INC R0 ;R0为44HCJNE @R0,#00H,DEC1AJMP JYFH R040:CJNE @R0,#00H,DEC1 ;R0为40H INC R0 ;R0为41HCJNE @R0,#00H,R041INC R0 ;R0为42HCJNE @R0,#00H,R042INC R0 ;R0为43HCJNE @R0,#00H,R043INC R0 ;R0为44HCJNE @R0,#00H,R044AJMP ZJFH R041:MOV 40H,#09HDEC 41HAJMP TCZD R042:MOV 40H,#09HMOV 41H,#09HDEC 42H AJMP TCZD R043:MOV 40H,#09HMOV 41H,#09HMOV 42H,#05H DEC 43HAJMP TCZDR044:MOV 40H,#09HMOV 41H,#09HMOV 42H,#05HMOV 43H,#09HDEC 44HAJMP TCZDDEC1:DEC 40HTCZD:MOV TH0,#3CH ;退出中断子程序MOV TL0,#0B0HSETB EASETB ET0SETB TR0AJMP ZZFH JYFH:DEC 40HZJFH:SETB P3.0 ;启动蜂鸣器 ZZFH:RETI XDYS:ACALL XSCX ;消抖延时程序,延时10ms(2*5ms)ACALL XSCX ;采用调用显示子程序延时以改善LED显示效果RET XSYS:MOV 55H,#20 ;显示延时程序,延时1ms DEL2:MOV 56H,#25 DEL1:DJNZ 56H,DEL1DJNZ 55H,DEL2RETTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH TAB1:DB0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH TAB2:DB 040H,79H ;D等待状态,E调时状态END。