电子时钟设计论文
毕业设计论文_单片机电子时钟的设计

毕业设计论文_单片机电子时钟的设计摘要:电子时钟作为一种常见的时间显示装置,在现代社会中应用广泛。
本文设计了一款基于单片机的电子时钟,使用DS1307实时时钟芯片来获取系统时间,并通过数码管进行显示。
设计过程中,通过对单片机的编程和电路的连接,实现了时间的显示与调节功能,具有较高的准确性和稳定性。
该设计方案简单、实用,可用于各种场合。
关键词:单片机;电子时钟;DS1307;数码管1.引言电子时钟是一种利用电子技术构造的显示时间的装置,具有时间准确、使用简单、显示清晰等特点,广泛应用于生活和工作中。
本文以单片机为核心,设计了一款实时准确的电子时钟,提高了时间的准确度和稳定性。
2.设计原理该设计的核心是通过单片机与DS1307实时时钟芯片的连接,使得单片机可以获取到准确的系统时间,并通过数码管进行显示。
DS1307芯片通过I2C总线与单片机连接,通过读取芯片中的时间寄存器,单片机可以获得当前的时间信息。
3.硬件设计本设计中使用了AT89S52单片机作为主控芯片,通过引脚与DS1307芯片相连。
单片机的P0口接到数码管的段选信号,P1口接到数码管的位选信号,通过控制这两个口的输出状态,可实现对数码管上显示的数字进行控制。
同时,为了使时钟可以正常运行,需外接一个晶振电路为单片机提供时钟信号。
4.软件设计通过对单片机的编程,实现了以下功能:(1)初始化DS1307芯片,设置初始时间;(2)每隔一秒读取一次DS1307芯片的时间寄存器,将时间信息保存到单片机的RAM中;(3)根据当前时间信息,在数码管上显示对应的小时和分钟。
5.调试与测试经过硬件的连接以及软件的编写,进行了调试与测试。
将初始时间设置为08:30,观察数码管上的显示是否正确,以及时间是否准确。
同时,通过手动调节DS1307芯片中的时间,检查单片机是否能正确获取时间,并进行显示。
6.总结与展望本文设计了一款基于单片机的电子时钟,通过单片机与DS1307芯片的连接和编程,实现了准确的时间显示功能。
数字钟毕业论文

数字钟毕业论文数字钟毕业论文一、引言在现代社会中,数字钟已经成为人们日常生活中不可或缺的一部分。
无论是手机、电脑还是家居装饰,数字钟都无处不在。
然而,数字钟的发展背后隐藏着许多有趣的技术和设计原理。
本篇论文将探讨数字钟的历史、工作原理以及未来发展方向。
二、历史回顾数字钟的历史可以追溯到20世纪70年代。
当时,电子技术的快速发展使得人们开始尝试用数字显示时间。
最早的数字钟采用了七段显示器,通过控制灯泡的亮灭来表示数字。
然而,这种显示方式存在一些问题,例如能耗较高、显示效果不够清晰等。
随着技术的不断进步,液晶显示器逐渐取代了七段显示器,成为数字钟的主流显示技术。
液晶显示器具有低能耗、高对比度和可定制性等优点,使得数字钟的显示效果得到了极大的提升。
三、工作原理数字钟的工作原理可以简单地分为三个部分:时钟芯片、显示器和控制电路。
时钟芯片是数字钟的核心部件,它负责计时和时间的精确控制。
时钟芯片通常由晶体振荡器和计数器组成。
晶体振荡器产生稳定的振荡信号,计数器将振荡信号转换为可读的时间格式。
显示器是数字钟的输出部分,它用来显示时间。
除了液晶显示器,数字钟还可以采用LED显示器等其他技术。
不同的显示器技术有不同的特点,例如LED显示器亮度高、反应速度快,而液晶显示器则更加省电。
控制电路负责接收用户的输入,并将其转化为对时钟芯片和显示器的控制信号。
用户可以通过控制电路来调整时间、设置闹钟等功能。
四、数字钟的应用领域数字钟在日常生活中有着广泛的应用。
首先,数字钟作为时间的显示工具,被广泛应用于办公室、学校、医院等场所。
其次,数字钟还可以作为家居装饰品,为室内空间增添一份现代感。
此外,数字钟还可以用于计时器、闹钟等功能,方便人们的生活。
除了日常应用,数字钟在科学研究、航空航天等领域也有着重要的作用。
例如,在航空航天领域,数字钟的精确计时能力对于飞行任务的安全和准确性至关重要。
五、数字钟的未来发展随着科技的不断进步,数字钟的未来发展前景广阔。
电子时钟论文

电子时钟论文随着人们对于时间需求越来越强烈,电子时钟作为一种全新的时间导航工具,逐渐成为人们生活中不可或缺的一部分。
本文将从电子时钟的起源、发展及其现状、未来发展趋势等方面进行论述。
一、电子时钟的起源与发展1.1 电子钟的起源电子时钟的雏形最早可以追溯到二十世纪初。
记载显示,美国的曼哈顿公司于1918年开发出了第一台电子钟,这个时候的电子钟体积庞大、功耗高昂,限制了其使用范围。
直到1930年代,随着真空管的普及与应用,电子计时技术得到了极大的进展,这个时候电子钟才开始真正地得以实现。
1.2 电子钟的发展随着时间的推移和科技水平的不断提升,电子钟经历了一个飞速发展的历程。
50年代,晶体管的出现使电子时钟更加省电、精准。
60年代初,石英晶体的发明使电子钟具备了更高的稳定性和精度,同时尺寸被进一步压缩,逐渐成为人们手腕上的佩戴品。
70年代,数字化电子时钟出现。
80年代,电子钟不仅可以双向收发信号,还可以設計桌面、卓位、壁掛式等产品系列,为人们的日常生活带来了更为便捷的应用。
二、电子时钟现状现代的电子时钟已经成为人们生活中必不可少的一部分,从家庭到办公室,从交通到通讯,无处不见。
当今电子时钟的技术和设计已经相当成熟。
电子时钟具有以下优点:2.1 精确度高电子时钟采用先进的数字化晶体技术,精度比传统机械时钟更高,误差更小,可以提供更准确的时间参考。
2.2 稳定性强电子时钟采用石英晶体稳定器,稳定性比较好,运作不容易受到周围环境和维护的影响。
2.3 造型新颖电子时钟的设计造型多样化,能够充分体现个性化、时尚化和功能化的要求,不同种类的电子时钟可以很好的搭配室内的设计风格,成为居家、办公和公共场合的理想装饰品。
2.4 使用相对方便使用电子时钟相对较方便,时间设置、报警、日历、温度显示等都可以直观化的表示在电子时钟的表盘上。
三、电子时钟未来发展趋势随着人们对于时间需求更为细化,以及现代社会对于技术的高度依赖,电子时钟将会发展出以下几个趋势:3.1 智能化电子时钟的未来趋势是实现智能化的使用模式。
电子时钟的设计与制作毕业论文

目录中文摘要、关键词 (3)1、绪论 (3)1.1课题研究的背景及意义 (3)1.2国内外研究 (4)1.3电子时钟概述 (5)1.4论文章节构成及安排 (5)2、电子时钟设计方案 (5)2.1两种设计方案的选择 (5)2.2系统电路 (6)3、硬件系统设计 (7)3.1核心控制电路 (7)3.2秒计时电路 (9)3.3显示电路 (11)4、软件系统设计 (12)4.1DS1302子程序 (12)4.2LCD5110子程序 (14)4.3主程序 (14)5、设计系统的调试 (15)5.1硬件调试 (15)5.2软件调试 (15)6、本设计系统小结 (16)6.1系统不足及功能拓展 (16)6.2学习心得与展望 (16)参考文献 (16)英文摘要、关键词 (16)电子时钟的设计与制作信息技术学院电子信息科学与技术专业指导教师 ***作者 ***摘要:从古代的沙漏计时,到现在的机械钟表、石英钟,计时技术得发展经过了一个漫长的完善过程,这充分显现出了时间不论对古人还是现在的我们的重要性。
现在,全球社会都进入了信息化时代,人们更加重了对时间计量精度的依赖,以至于钟表应用越来越广,功能越来越多。
普通的机械表对于当代人复杂繁琐的要求显然早已不太适应,电子时钟应运而生。
电子时钟不仅能满足基本时间要求,而且体积小,成本低廉,最大的亮点在于可以随时根据不同的客户要求进行改进、增加功能,所以电子钟越来越受到人们的青睐。
本课题即着眼于此,研究的主要目的是设计一个基于单片机的电子时钟系统。
由于单片机有价格实惠而且功能齐全的优点,在自动控制产品中广泛应用。
本设计以ATmega16芯片为核心,以实时时钟芯片DS1302为主要依托,通过LCD液晶屏完成其显示、计时功能,本设计实现了所需功能的硬件电路,并应用C语言进行软件编程。
关键词:电子时钟 DS1302 LCD液晶屏1、绪论1.1课题研究的背景及意义时间的宝贵是个亘古不变的真理,然而工作的忙碌性和繁杂性很容易让人忘记当前的时间或是工作中不能及时方便地知晓时间。
基于555定时器的数字电子钟的设计毕业设计(论文)

一、绪论1.1课题说明1.2方案设计目的1.3技术指标1.4方案设计及论证二、核心部件简介2.1 555时基电路2.2 74LS90异步加法计数器三、各部分电路组成部分及其设计原理3.1数字电子钟的构成框图3.2数字电子钟的模块及其工作原理3.2.1晶体振荡器电路3.2.2计数器电路3.3秒、分、时译码显示模块3.4校时电路四、说明各部分功能的实现4.1开始状态4.2时、分、秒分别校时4.3满60秒向分钟进位状态满60分向小时进位状态4.4 23:59:59向00:00:00进位状态五、整体电路图六、实验室调试6.1元件清单6.2调试过程6.3调试结果6.4调试心得体会一、绪论1.1 课题说明由于现代社会模拟电子技术基础和数字电子技术基础的高速发展,因而由这技术制造出来的越来越先进,数字钟体积小,安装使用方便,不仅可以作为家用电子钟,而且可以广泛用于车站、体育场馆等公共场所。
虽然数字钟的外形和功能不尽相同,但是用于制造数字钟的原理基本上都是一样的。
所谓数字钟,是指利用电子电路构成的计时器。
本次课程设计要求设计一个数字钟,基本要求为数字钟的时间周期为24小时,数字钟显示时、分、秒,数字钟的时间基准一秒对应现实生活中的时钟的一秒。
供扩展的方面涉及到整点报时、定时闹钟等。
1.2 方案设计目的用中小规模集成电路设计一台能显示时、分、秒的数字电子钟,要求如下:1.由晶体振荡电路产生1HZ的标准脉冲信号。
2.秒、分为00——59 六十进制计数器。
3.时为00——23 二十四进制计数器4.可手动校准。
只要将开关置于校准位置,即可对分别对分、时进行手动脉冲输入校准或连续脉冲校准调整。
5.用Multisim画出整个系统电路图,进行仿真与调试;6.实现整个数字电子钟电路各项任务的正常工作。
7. 撰写设计报告:写出设计过程,和调试结果,写上心得体会。
1.3 技术指标1. 显示时、分、秒的是24小时制。
3. 具有校时功能:可以对小时和分单独校时,对分校时的时候,停止分向小时进位。
论文_单片机电子时钟 毕业设计论文

单片机电子时钟的设计摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。
这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。
关键词:单片机 AT89S51 电子时钟数码管Design of the singlechip electronics clockAbstractSingle slice machine from published in 70's for 20 centuries, is compare with its very high function price, is value by people and pay attention to, apply very widely, develop very quickly. Single slice the machine physical volume is small,the weight is light,the anti- interference ability is strong,the environment haven't high request,the price is cheap,the credibility is high,vivid good,develop more easy. In order to having an above-mentioned advantage, at the our country, single slice the machine is broadly applied already to turn an equipment at industrial automation control,automatic examination,intelligence instrument appearance,home appliances,electric power electronics,the machine electricity integral whole etc. each aspect, but 51 machines is is a typical model most and have a representative most in each machine of a kind. This graduation design passes to its study and application, Take the AT89S51 chips as core, assist with the electric circuit of the necessity, design a simple electronics clock, it from the 4.5 V direct current power supply power supply, pass the figures tube can accurate manifestation time, adjust time。
基于单片机的简易电子时钟设计_毕业设计论文 精品

论文题目基于单片机的简易电子时钟设计班级:xxxxxx专业:电子信息工程学生姓名:xxxx指导教师:xxxx日期:xxxx-xx-xx摘要数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。
在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。
单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
关键字:单片机,数字时钟。
AbstractDigital clock has become an indispensable necessities in People's Daily life, widely used in personal family and office and other public places, to people's life, study, work, entertainment, bring great convenience. Due to the development of the digital integrated circuit technology and adopts the advanced quartz technology, walking make digital clock has advantages of accurate, stable performance, easy to carry, it is also used in timing, automatic feed and automatic control and other fields. Although already on the market at present the ready-made digital clock chip for sale, cheap, use is convenient, but in view of the single chip microcomputer timer function also can complete the design of the digital clock circuit, therefore is necessary for the design of digital clock. Here we will have learned more fragmented knowledge of digital circuit of the organic link, the system used in practice, to develop our comprehensive analysis and circuit design, programming, debugging circuit ability.SCM has small volume and powerful function, high reliability, low price and a series of advantages, not only has become widely used in the field of industrial measurement and control intelligent control instruments, and has penetrated into every corner of the people work and life, effectively promote the industry's technological transformation and upgrading of products, the wide prospect of application.Keywords: Single chip microcomputer,Digital clock.目录第一章设计方案 (1)1.1 课程设计目的 (1)1.2 设计要求 (1)1.3 实现时钟计时的基本方法 (1)1.4 电子钟的时间显示 (1)1.5 电子钟的时间调整 (2)1.6 总体方案介绍 (2)1.6.1 计时方案 (2)1.6.2 控制方案 (2)第二章系统硬件电路设计 (3)2.1 单片机模块设计 (3)2.1.1 芯片分析 (3)2.1.2 晶振电路 (4)2.1.3 复位电路 (5)2.2 数码显示模块设计 (5)2.3 按键模块 (8)第三章系统软件设计 (9)3.1 软件设计分析 (9)3.2 系统软件设计流程图 (9)3.2.1 主程序流程图 (9)3.2.2 定时器流程图 (9)3.2.3 按键检测流程图 (10)3.2.4 时间显示流程图 (10)3.3 源程序清单 (11)第四章系统仿真与实验测试 (16)4.1 系统仿真 (16)4.2 实验测试 (16)小结 (17)致谢 (18)参考文献 (19)附录 (20)第一章设计方案1.1 课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。
电子时钟课程设计论文

电子时钟课程设计论文一、课程目标知识目标:1. 学生理解电子时钟的基本工作原理,掌握电子时钟的组成及各部分功能。
2. 学生学会读取和设置电子时钟的时间,了解电子时钟的时间计算方法。
3. 学生掌握电子时钟的调整和设置方法,了解电子时钟的常见故障及其解决方法。
技能目标:1. 学生能够运用所学知识,独立完成电子时钟的组装和调试。
2. 学生能够通过观察、分析,解决电子时钟使用过程中遇到的问题。
3. 学生能够运用电子时钟相关知识,设计并制作简单的电子时钟。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学生探索科学技术的热情。
2. 培养学生合作学习的意识,提高学生的团队协作能力。
3. 培养学生珍惜时间、合理安排时间的观念,引导学生树立正确的时间价值观。
课程性质:本课程为电子技术实践课程,旨在通过电子时钟的制作与调试,帮助学生掌握电子技术基础知识,提高学生的动手实践能力。
学生特点:五年级学生具备一定的逻辑思维能力和动手能力,对新鲜事物充满好奇,喜欢探索和实践。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,培养学生解决问题的能力和创新意识。
通过课程目标的具体分解,使学生在学习过程中达到预期的学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 电子时钟基础知识- 电子时钟的组成与工作原理- 电子时钟的显示器件(如LED、LCD等)- 电子时钟的时间计算方法2. 电子时钟的组装与调试- 元器件的认识与选用- 电路图的识读与连接- 电子时钟的组装过程- 电子时钟的调试与故障排除3. 电子时钟的使用与维护- 电子时钟的设置与调整方法- 常见故障现象及解决方法- 电子时钟的保养与维护教学大纲:第一课时:电子时钟基础知识- 介绍电子时钟的组成、工作原理- 讲解电子时钟的显示器件及特点第二课时:电子时钟的组装与调试- 认识元器件,学会选用- 识读电路图,进行电路连接- 组装电子时钟,进行初步调试第三课时:电子时钟的使用与维护- 学习电子时钟的设置与调整方法- 掌握常见故障的解决方法- 了解电子时钟的保养与维护方法教学内容依据课程目标,结合教材章节进行组织,保证科学性和系统性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一摘要单片计算机即单片微型计算机。
(Single-Chip Microcomputer ),是集CPU ,RAM ,ROM , 定时,计数和多种接口于一体的微控制器。
他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。
而51 单片机是各单片机中最为典型和最有代表性的一种。
这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
二说明系统由AT89C51、LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。
系统的功能选择由SB0、SB1、SB2、SB3、SB4 完成。
其中SB0为时间校对,定时器调整功能键,按SB 0 进入调整状态。
SB1 为功能切换键。
第一轮按动SB1 依次进入一路、二路、三路定时时间设臵提示程序,按SB3 进入各路定时调整状态。
定时时间到,二极管发亮。
到了关断时间后灭掉。
如果不进入继续按SB1 键,依次进入时间¡年¡位校对、¡月¡位校对、¡日¡位校对、¡时¡位校对、¡分¡位校对、¡秒¡位校对状态。
不管是进入那种状态,按动SB2 皆可以使被调整位进行不进位增量加1 变化。
各预臵量设臵完成后,系统将所有的设臵存入RAM 中,按SB1 退出调整状态。
上电后,系统自动进入计时状态,起始于¡ 00¡时¡ 00¡分。
SB4 为年月日显示转换键,可使原来显示时分秒转换显示年月日。
三、电路原理分析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 口输出的就是位选码。
这是扫描显示原理。
2 键盘及读数原理键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。
可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms.3 连击功能的实现按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应的功能会反复执行,好象连续执行,在这里我们采用软件延时250ms,当按键没释放则执行下一条对应程序。
利用连击功能,能实现快速调时操作。
四、程序设计思想和相关指令介绍本系统的主程序主要完成时间显示和定时输出判断功能。
而年月日显示和各时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。
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.计时功能的实现与中断服务程序时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。
计数器T0 打开后,进入计时,满100 毫秒后,重装定时。
中断一次,满一秒后秒进位,满60 秒后即为1 分钟,分钟单元进位,60 分到了后,时单元进位,24 小时满后,天单元进位。
这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送LED 中显示出来,实现时钟计时功能。
累加是用指令INC 来实现的。
进入中断服务程序以后,执行PUSH PSW 和PUSH A 将程序状态寄存器PSW 的内容和累加器A 中的数据保存起来,这便是所谓的¡保护现场¡ . 以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。
在软件的控制之下,堆栈可在片内RAM 中的任一区间设定,而堆栈的数据存取与一般的RAM 存取又有区别,对它的操作,要遵循¡后进先出¡的原则。
3 时间控制功能与比较指令系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间臵入RAM 某一单元,在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条CLR 指令,将对应的那路P3 臵为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB对应的P3 臵低电位,二极管截止,。
实现此控制功能用到的比较指令为CJNE A,#direct,rel,其转移条件是累加器A 中的值与立即数不等则转移。
参考文献1、谢自美,《电子线路设计、实验、测试》武汉:华中理工大学出版社,20002、何书森、何华斌《实用数字电路原理与设计速成》福州:福建科学技术出版社,2000.63、白驹衍,《单片计算机及应用》北京:电子工业出版社,1999.2五:程序SEC EQU 32H ;秒即时时间\伪指令MIN EQU 31H ;分HOUR EQU 30H ;时DAY EQU 35H ;日MON EQU 34H ;月YEAR EQU 33H ;年MIN_1 EQU 41H ;分定时器1 路、开存储单元HOUR_1 EQU 42H ;时DAY_1 EQU 43H ;MON_1 EQU 44H ;YEAR_1 EQU 45H ;MIN_11 EQU 40H ;分定时器1 路、关存储单元HOUR_11 EQU 46H ;时DAY_11 EQU 47H ;日MON_11 EQU 48H ;月YEAR_11 EQU 49H ;年;***********************ORG 0000Hljmp MAINORG 0003H ;中断转换显示年月日、INT0(SB4 键)LJMP SHOWORG 000BH ;计数中断T0、方式1LJMP TIMEORG 0013HLJMP CHANGE; 调整时间、定时、INT1(SB0 键);------主程序ORG 0030HMAIN:;--------初始化付值MOV YEAR , #02MOV MON , #05MOV DAY , #01MOV HOUR , #00MOV MIN , #00MOV SEC , #00CLR 40H ;定时单元1 路清零CLR 41HCLR 42HCLR 43HCLR 44HCLR 45HCLR 46H CLR 47HCLR 48HCLR 49H;-------开中断MOV TMOD , #01H ;计数、模式1、T0MOV TL0, #0B0H ;100SM 计数定时MOV TH0, #3CH ;clr p3.0MOV 20H, #0AH ;10 次*100SMSETB PT0 ;T0 为最高级SETB TR0 ;允许计数SETB ET0 ;允许T0 中断SETB EX0 ;允许INT0 中断SETB EX1 ;允许INT1 中断SETB EA ;开总中断;------显示、定时器启动判断LOOP:MOV R1, #30H; 存储单元MOV R4, #01H; 位选通MOV R3, #03H; 三组显示NEXT:MOV A , @R1 ;MOV B , #10 ;将存储单元转换成两高低两组的BCD 码DIV ABSWAP AORL A, BMOV P0, A;输出MOV P2, R4INC R1 ;下一单元MOV A, R4 ;RL A ;位移MOV R4, ALCALL DE5SM ;延时0.5SMDJNZ R3, NEXT ;全扫描显示一偏;------判断定时输出(只编写了一路)CJNE R7, #88H,LOOP ;是8 则开,否则、定时已关、转;---------开MOV A, YEARCJNE A, YEAR_1, LOOP_1;年比较,不等转关MOV A, MONCJNE A, MON_1, LOOP_1MOV A, DAYCJNE A , DAY_1,LOOP_1MOV A, HOURCJNE A, HOUR_1,LOOP_1 MOV A, MINCJNE A, MIN_1, LOOP_1CPL P3.0;---------关LOOP_1:MOV A, YEARCJNE A, YEAR_11, LOOP;年比较MOV A, MONCJNE A, MON_11, LOOPMOV A, DAYCJNE A , DAY_11,LOOPMOV A, HOURCJNE A, HOUR_11,LOOPMOV A, MINCJNE A, MIN_11, LOOPCPL P3.0LJMP LOOP;-----年月日显示中断子程序SHOW:PUSH PSWpush ACCPUSH BPUSH 01HPUSH 02HPUSH 03HPUSH 04HMOV R2, #0FFH ;中断扫描次数TURN: MOV R1 , #33HMOV R4 , #01HMOV R3 , #03HNEXT_1:MOV A, @R1MOV B , #10DIV ABSWAP AORL A, BMOV P0, AMOV P2, R4INC R1RL AMOV R4 ,A LCALL DE5SMDJNZ R3, NEXT_1DJNZ R2, TURN ;反复显示一定时间后返回POP 04HPOP 03HPOP 02HPOP 01HPOP BPOP ACCPOP PSWRETI;-----计数中断服务子程序TIME:PUSH PSWPUSH ACCPUSH BPUSH 06HMOV TH0 , #3CH;重装计数MOV TL0 , #0BH;DJNZ 20H, OUT ;转到中断跳出pop 程序MOV 20H, #0AH ; 重装:100*10=1000;-----进位程序INC SECMOV R6, SEC ;CJNE R6, #60, OUT;比较MOV SEC , #00 ;INC MINMOV R6, MINCJNE R6, #60, OUTMOV MIN , #00INC HOURMOV R6 , HOURCJNE R6 , #25 , OUTMOV HOUR ,#00INC DAYMOV R5, MONCJNE R5, #1, MON_22;是否1 月、不是转2 月MOV R5, DAYCJNE R5, #32, OUT ; 本月是否益出INC MONMOV DAY,#1LJMP OUTOUT:POP 06HPOP BPOP ACCPOP PSWRETIMON_22:MOV R5, MONCJNE R5 , #2 , MON_33;是否2 月、不是转3 月MOV A, YEAR ;判断是否瑞年MOV B, #4DIV ABMOV A , BJNZ OUT_1;不是则转(A 不为零则转)MOV R5 ,DAYCJNE R5,#30, OUT;如是瑞年、判断是否到29 天INC MONMOV DAY ,#1LJMP OUTOUT_1:MOV R5, DAYCJNE R5, #29, OUT ;平年二月判断INC MONMOV DAY , #1LJMP OUTMON_33:MOV R5, MONCJNE R5, #3 , MON_44MOV R5, DAYCJNE R5 , #32, OUTINC MONMOV DAY , #1LJMP OUTMON_44:MOV R5, MONCJNE R5,#4, MON_55MOV R5, DAYCJNE R5 ,#31,OUTINC MONMOV DAY , #1LJMP OUTMON_55:MOV R5,MONCJNE R5,#5, MON_66MOV R5,DAYCJNE R5,#32,OUT INC MONMOV DAY,#1LJMP OUTMON_66:MOV R5, MONCJNE R5,#6, MON_77 MOV R5, DAYCJNE R5 ,#31,OUT INC MONMOV DAY , #1LJMP OUTMON_77:MOV R5, MONCJNE R5,#7, MON_88 MOV R5, DAYCJNE R5,#32,L1INC MONMOV DAY , #1L1: LJMP OUTMON_88:MOV R5, MONCJNE R5,#8, MON_99 MOV R5, DAYCJNE R5 ,#32,L2INC MONMOV DAY , #1L2: LJMP OUTMON_99:MOV R5, MONCJNE R5,#9, MON_00 MOV R5,DAYCJNE R5 ,#31,L3INC MONMOV DAY , #1L3: LJMP OUTMON_00:MOV R5, MONCJNE R5,#10, MON_AA MOV R5, DAYCJNE R5 ,#32,L4INC MONMOV DAY , #1L4: LJMP OUTMON_AA:MOV R5, MONCJNE R5,#11, MON_BBMOV R5,DAYCJNE R5,#31,L5INC MONMOV DAY , #1L5: LJMP OUTMON_BB:MOV R5, DAYCJNE R5 ,#32,L6INC YEARMOV MON, #1MOV DAY , #1L6:LJMP OUT;-------按SB2\定时器年单元加1 子程序SB3_2: LJMP SHOW_2 ;二路没编返回SB3_3: LJMP SHOW_3 ;三路没编返回SB3_1:MOV A , YEAR_1 ; 调时年单元MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #01HLCALL READLCALL DE250SMCJNE A, 01H, SB3_1CJNE A, #0FBH, KEY2_7 ;按SB2 转年调整LJMP MON_111 ;按SB1 往下调月单元KEY2_7:CJNE A, #0FDH, SB3_1INC YEAR_1 ; 1 路年单元加1MOV R5,YEAR_1CJNE R5,#09,SB3_1 ;益出MOV YEAR_1, #00HAJMP SB3_1 ;;-------月单元加1 子程序MON_111:MOV A , MON_1 ; 调时月单元显示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, A MOV P2, #02HLCALL READLCALL DE250SMCJNE A, 01H, MON_111CJNE A, #0FBH, KEY2_8 ;按SB2 转月调整LJMP DAY_111KEY2_8:CJNE A,#0FDH,MON_111INC MON_1 ;1 路月单元加1MOV R5,MON_1CJNE R5,#13,MON_111;益出MOV MON_1, #01HAJMP MON_111 ; 转到月显;_------日单元加1 子程序DAY_111:MOV A , DAY_1 ; 调时日单元显示提示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #04HLCALL READLCALL DE250SMCJNE A, 01H,DAY_111CJNE A, #0FBH, KEY2_9 ;按SB2 转日调整LJMP HOUR_111KEY2_9: CJNE A,#0FDH,DAY_111INC DAY_1 ;1 组日单元加1MOV R5, DAY_1CJNE R5,#32,DAY_111;益出MOV DAY_1, #01HAJMP DAY_111 ; 转到日显;-------按SB2 时单元加1 子程序HOUR_111:MOV A , HOUR_1 ; 调时时单元显示提示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #01HLCALL READLCALL DE250SMCJNE A, 01H,HOUR_111CJNE A, #0FBH, KEY2_10 ; 按SB2 转时调整LJMP MIN_111KEY2_10:CJNE A,#0FDH,HOUR_111INC HOUR_1MOV R5,HOUR_1CJNE R5,#24,HOUR_111;益出MOV HOUR_1, #00HAJMP HOUR_111 ; 转到时显;-------分单元加1 子程序MIN_111:MOV A , MIN_1 ; 调时分单元、并显示提示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #02HLCALL READLCALL DE250SMCJNE A, 01H,MIN_111CJNE A, #0FBH, KEY2_11 ;按SB2 转分调整AJMP OFF_CH ;按SB3 往下调定时:关单元KEY2_11: CJNE A, #0FDH, MIN_111INC MIN_1 ;1 路分单元加1MOV R5, MIN_1CJNE R5,#60,MIN_111;益处MOV MIN_1, #00HAJMP MIN_111 ; 转到分显年单元调整OFF_CH: MOV A , YEAR_11 ; 调时年单元MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #01HLCALL READLCALL DE250SMCJNE A, 01H, OFF_CHCJNE A, #0FBH, KEY2_F7 ;按SB2 转年调整LJMP MON_OFF ;按SB1 往下调月单元KEY2_F7:CJNE A, #0FDH, OFF_CHINC YEAR_11 ; 1 路年单元加1 MOV R5,YEAR_11CJNE R5,#09,OFF_CH ;益出MOV YEAR_11, #00HAJMP OFF_CH ;;-------月单元加1 子程序MON_OFF:MOV A , MON_11 ; 调时月单元显示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #02HLCALL READLCALL DE250SMCJNE A, 01H, MON_OFFCJNE A, #0FBH, KEY2_F8 ;按SB2 转月调整LJMP DAY_OFFKEY2_F8:CJNE A,#0FDH,MON_OFFINC MON_11 ;1 路月单元加1MOV R5,MON_11CJNE R5,#13,MON_OFF;益出MOV MON_11, #01HAJMP MON_OFF ; 转到月显;_------日单元加1 子程序DAY_OFF:MOV A , DAY_11 ; 调时日单元显示提示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #04HLCALL READLCALL DE250SMCJNE A, 01H,DAY_OFFCJNE A, #0FBH, KEY2_F9 ;按SB2 转日调整LJMP HOUR_OFFKEY2_F9: CJNE A,#0FDH,DAY_OFFINC DAY_11 ;1 组日单元加1MOV R5, DAY_11CJNE R5,#32,DAY_OFF;益出MOV DAY_11, #01HAJMP DAY_OFF ; 转到日显;-------按SB2 时单元加1 子程序HOUR_OFF:MOV A , HOUR_11 ; 调时时单元显示提示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #01HLCALL READLCALL DE250SMCJNE A, 01H,HOUR_OFFCJNE A, #0FBH, KEY2_F10 ; 按SB2 转时调整LJMP MIN_OFFKEY2_F10:CJNE A,#0FDH,HOUR_OFFINC HOUR_11MOV R5,HOUR_11CJNE R5,#24,HOUR_OFF;益出MOV HOUR_11, #00HAJMP HOUR_OFF ; 转到时显;-------分单元加1 子程序MIN_OFF:MOV A , MIN_11 ; 调时分单元、并显示提示MOV B ,#10DIV ABSWAP AORL A,BMOV P0, AMOV P2, #02HLCALL READLCALL DE250SMCJNE A, 01H,MIN_OFFCJNE A, #0FBH, KEY2_F11 ;按SB2 转分调整LJMP ON_1 ;按SB3 往下调定时:开与关KEY2_F11: CJNE A, #0FDH, MIN_OFFINC MIN_11 ;1 路分单元加1MOV R5, MIN_11CJNE R5,#60,MIN_OFF;益处MOV MIN_11, #00HLJMP MIN_OFF ; 转到分显;-------开、关定时ON_1:CJNE A, #0FBH, MIN_OFFK1: MOV A, #88H MOV R7, AMOV P0, AMOV P2, #0FFH;三组都显示开LCALL READLCALL DE250SMCJNE A, 01H, ON_1;去抖后比较CJNE A, #0FBH,KEY2_12 ;按SB2 转关LJMP OUT_A ;按SB3 调出、处于开状态KEY2_12: CJNE A, #0FDH, K1k2: MOV A, #00H; 显示0 关MOV R7, AMOV P0, AMOV P2, #0FFH;LCALL READLCALL DE250SMCJNE A, 01H, K2;去抖后比较CJNE A, #0FBH,KEY2_13 ;按SB2 转开LJMP OUT_A ;SB3 调出、处关状态KEY2_13:CJNE A, #0FDH, K2 ; 比较按了没LJMP K1 ; 按了SB2、转开OUT_A:POP 00HPOP BPOP ACCPOP PSWRETI;_------读取按键程序READ:MOV A , P1;读取按键MOV R1, ALCALL DE10MSMOV A, P1RET;_----延时程序DE5SM:PUSH 01HMOV R1, #0FFHDJNZ R1,$POP 01HRETDE10MS: PUSH 04HPUSH 05HMOV R4, #0AHDl1: MOV R5, #0FFHdl2: DJNZ R5,$ DJNZ R4,dl1POP 05HPOP 04HRETDE250SM:PUSH 02H PUSH 00HMOV R0, #0FFH DEL:MOV R2, #0FFH DJNZ R2,$DJNZ R0, DELPOP 00HPOP 02HRET;_---调整时间进位程序MIN_AD:INC MINMOV R6, MINCJNE R6, #60, OU1 MOV MIN , #00OU1: RETHOUR_AD:INC HOUR MOV R6 , HOURCJNE R6 , #25 , OU2MOV HOUR ,#00OU2: RETDAY_AD:INC DAYMOV R6, DAYCJNE R6 , #32, OU3 ; 是否益出MOV DAY ,#01HOU3: RETMON_AD:INC MONMOV R6, MONCJNE R6, #13, OU4 ; 是否益出MOV MON ,#01HOU4: RETYEAR_AD:INC YEARMOV R6, YEARCJNE R6, #09, OU5;是否益出MOV YEAR ,#00HOU5: RETEND六:附录实验设计电路图1流程图1:实验主程序流程图流程图2:定时中断程序流程图流程图3:调时功能流程图七:实验心得学了两周的课程设计,有很多的心得体会,有关于单片机方面的,更多的是关于人与人之间关系方面的。