基于单片机的多功能数字钟60秒LED旋转电子钟

合集下载

基于单片机的多功能数字钟的设计

基于单片机的多功能数字钟的设计

基于单片机的多功能数字钟的设计摘要:本设计论文介绍了用AT89C2051单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。

此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。

它的计时周期为12小时,显示满刻度为12时59分59秒99毫秒,另外应有校时功能。

电路由时钟脉冲发生器、时钟计数器、译码驱动电路和数字显示电路以及时间调整电路组成。

用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器。

根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个12进制(时)的计数器。

构成秒、分、时的计数,实现计时的功能。

显示器件选用LED七段数码管。

在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。

针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路。

关键词:单片机;AT89C2051;数字钟;计时Based on SCM multi-purpose digital clock designAbstract:The paper mainly presents the hardware and software design of the digital clock using AT89C2051. The source program using assemble Language is given. This digital clock is a time-device, which can display "hour", "minute", "second". Its time period is 12 hours and the full scale of the display is 12 hours, 59 minutes, 59 seconds and 99 milliseconds and it has the function of time adjustment. The circuit consists of the clock pulse generator, the clock counter, decoding drive circuit, digital display circuit and the time adjustment circuit. It generates time standard signal using crystal oscillator, here is the quartz crystal oscillator. Because 60 seconds is 1 minute, 60 minutes is 1 hour and 24 hours is 1 day, we uses two counters of 60 parts and a counter of 12 part separately to constitute the count of percentage of second, second, minute, and hour. So it can realize time function. Display component selects seven-segment numerical tube LED. Driven by decoding output circuit, it can display showing clear and intuitive figures. Due to walking error of digital clock, we design time calibration circuit in the system.Key words:Single-chip microcomputer; AT89C2051; Digital clock; Time目录第1章绪论 (5)1.1 前言 (5)1.2 设计的目的及意义 (5)第2章数字钟的功能实现与设计方案 (6)2.1 数字钟的功能及设计要求 (6)2.2数字钟的实现形式 (6)2.3 方案的确定 (7)2.3.1 微处理器 (7)2.3.2 显示电路 (7)2.3.3 按键电路 (8)第3章数字钟的硬件系统设计 (9)3.1数字时钟的硬件系统框架 (9)3.2 数字时钟的主机电路设计 (9)3.2.1系统控制芯片CPU(AT89C2051)的选择 (9)3.2.2系统时钟电路设计 (14)3.2.3 系统复位电路设计 (16)3.2.4 按键与按钮电路设计 (17)3.2.5闹铃声光指示电路设计 (17)3.2.6 数字钟的显示电路设计 (17)3.3校时电路设计 (21)3.3.1校时原理 (22)3.3.2 国家授时中心 (22)3.3.3窗口比较器 (23)3.3.4 校时电路电路图 (24)3.4 电源设计 (24)第4章程序设计 (28)4.1 主控模块设计 (28)4.2基本现实模块设计 (29)4.3 当前编辑位闪烁功能的实现 (30)4.4时间设定模块设计 (30)4.5脉冲发生器原理与走时处理 (31)4.6 闹铃功能的实现 (32)第5章系统的调试及结果 (34)5.1 系统调试环境 (34)5.2 软件调试 (34)5.3硬件调试 (34)5.4调试结果 (34)结论 (35)致谢 (36)参考文献 (37)附录1:完整的汇编语言源程序 (38)附录2:系统设计原理图 (61)附录3:系统设计PCB图 (63)附录4:实物照片 (64)西南科技大学本科生毕业论文第1章绪论1.1前言计算机尤其是以微细加工技术支持的微型计算机技术飞速发展,其应用渗透到了各行各业。

单片机课程设计---新颖60秒LED旋转电子钟.

单片机课程设计---新颖60秒LED旋转电子钟.

单片机课程设计1 新颖的60秒旋转电子钟余水宝数理与信息工程学院2006年5月课程设计任务书新颖的60秒旋转电子钟任务书一、任务设计一款基于AT89C2051单片机的电子钟。

二、设计要求1、基本要求⑴用4只LED数码管输出显示时和分。

⑵可通过按键设置闹钟功能,且停闹无须手工操作。

⑶可通过按键设置分校时。

⑷月计时误差小于45秒。

⑸写出详细的设计报告。

⑹给出全部电路和源程序。

2、发挥部分⑴用60只LED发光管旋转显示,模拟“秒针”的行走。

⑵模拟“秒针”行走的“嘀哒”声。

⑶增加室温检测和显示功能(可与时间交替显示)。

⑷增加停(掉)电保护功能。

⑸提高计时精度,使年计时误差小于30秒。

⑹增加日自动校准功能,使得该电子钟“永无误差”。

⑺增加红黄绿三色变色装饰。

⑻可通过按键设置一天两闹(比如早晨、中午各一次)。

1单片机课程设计-----新颖的60秒旋转电子钟新颖的60秒旋转电子钟目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。

要知道当前的时间,必须先开灯,故较为不便。

现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,与传统的以指针显示秒的方式不同,违背了人们传统的习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。

此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。

针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,有效克服了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。

另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。

1 系统主要功能电子钟的外观如图1所示。

周边60只发光管顺时旋转来显示秒,中间四只LED 数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。

基于单片机的多功能数字时钟设计

基于单片机的多功能数字时钟设计

技术平台采用碱性电解液电沉积活性锌粉,选取电解液浓度1.25g/cm3,电流密度150mA/cm2,电解槽温度只需控制在室温,锌粉洗涤后真空干燥,所制得的锌粉比表面积大于0.8m2/g,具有较高的电化学活性,能满足锌银电池生产需要,生产效率也达到批量生产要求。

参考文献:[1]侯新刚,王胜,王玉棉.超细活性锌粉的制备与表征[J].粉末冶金工业,2004,14(1):10-13.[2]李永祥,黄孟阳,任锐.电解法制备树枝状锌粉工艺研究[J].四川有色金属,2011,(3):45-50.[3]胡会利,李宁,程瑾宁,等.电解法制备超细锌粉的工艺研究[J].粉末冶金工业,2007,17(1):24-29.基于单片机的多功能数字时钟设计刘晓萌(安徽职业技术学院铁道学院/合肥铁路工程学校,安徽 合肥 230011)摘 要:常见的数字钟有时间、闹钟等功能。

本文基于单片机、温度传感器、液晶显示屏、时钟芯片等硬件设计了多功能数字时钟,软件部分采用C语言编程实现。

该多功能数字时钟包含万年历、节日、节气、温度信息显示等功能,并且在断电的情况下也能正常工作。

关键词:单片机;多功能数字时钟;C语言编程0 引言人类对于时间的需求从古到今始终存在。

古代有浑天仪、日晷,近代出现了机械时钟。

如今,传统的计时工具,甚至是电子钟都已经满足不了人们多元化的时间需求。

数字时钟具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的应用空间[1]。

使用数字时钟,用户可以获取精确到秒的时间信息,或是对时钟进行自定义的操作,为现代社会提供了极大的方便[2]。

然而,传统的数字时钟只包含时间显示、闹钟等功能,存在一定的局限性。

本文基于单片机、温度传感器、液晶显示屏、时钟芯片、键盘模块、闹铃模块和电力支持模块等硬件,设计了一款多功能的数字时钟。

1 系统硬件组成数字时钟的硬件由七个模块组成,包括:STC89C52单片机主控芯片、DS1302时钟芯片、DS18B20温度芯片、LCD1602液晶显示模块、闹铃模块、键盘模块和电源。

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计1. 本文概述随着现代科技的发展,电子时钟已成为日常生活中不可或缺的一部分。

本文旨在介绍一种基于51单片机的多功能电子钟的设计与实现。

51单片机因其结构简单、成本低廉、易于编程等特点,在工业控制和教学实验中得到了广泛应用。

本文将重点阐述如何利用51单片机的这些特性来设计和实现一个具有基本时间显示、闹钟设定、温度显示等功能的电子钟。

本文的结构安排如下:将详细介绍51单片机的基本原理和特点,为后续的设计提供理论基础。

接着,将分析电子钟的功能需求,包括时间显示、闹钟设定、温度显示等,并基于这些需求进行系统设计。

将详细讨论电子钟的硬件设计,包括51单片机的选型、时钟电路、显示电路、温度传感器电路等。

软件设计部分将介绍如何通过编程实现电子钟的各项功能,包括时间管理、闹钟控制、温度读取等。

本文将通过实验验证所设计的电子钟的功能和性能,并对实验结果进行分析讨论。

通过本文的研究,旨在为电子钟的设计提供一种实用、经济、可靠的方法,同时也为51单片机的应用提供一个新的实践案例。

2. 51单片机概述51单片机,作为一种经典的微控制器,因其高性能、低功耗和易编程的特性而被广泛应用于工业控制、智能仪器和家用电器等领域。

它基于Intel 8051微处理器的架构,具备基本的算术逻辑单元(ALU)、程序计数器(PC)、累加器(ACC)和寄存器组等核心部件。

51单片机的核心是其8位CPU,能够处理8位数据和执行相应的指令集。

51单片机的内部结构主要包括中央处理单元(CPU)、存储器、定时器计数器、并行IO口、串行通信口等。

其存储器分为程序存储器(ROM)和数据存储器(RAM)。

程序存储器通常用于存放程序代码,而数据存储器则用于存放运行中的数据和临时变量。

51单片机还包含特殊功能寄存器(SFR),用于控制IO端口、定时器计数器和串行通信等。

51单片机的工作原理基于冯诺伊曼体系结构,即程序指令和数据存储在同一块存储器中,通过总线系统进行传输。

基于单片机的多功能数字钟

基于单片机的多功能数字钟

基于单片机的多功能数字钟摘要:现代社会人们工作生活的节奏越来越快,时间对于人们也越来越重要。

在人们日常生活以及各类社会活动中,都离不开时间,时间与人们的生活息息相关。

所以在很早时候人们就发明了各种各样的计时方法,直到演变成现在的钟。

而多功能数字钟就提供了一个便利,不仅能够准确显示时间,还有自动报时,闹钟设置,环境温度测量等等其他功能。

多功能数字钟与机械式时钟相比具有更高的准确性和直观性,是一种采用数字电路技术来实现时、分、秒计时的装置,因为没有机械装置,所以具有更长的使用寿命,因此得到了广泛的应用。

单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

单片机与多功能数字钟相结合,用于时间显示,温度测试等不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被检测数值的技术指标,从而能够大大提高产品的质量和数量。

因此,单片机在现代生活以及现代工业中应用的越来越广泛。

关键词:单片机,温度传感器,C语言Multifunction Digital Clock based on MCS Abstract:As modern society increasingly rapid pace of working life, time for people to have more and more important in people's daily life and various social activities, can not do without time, time and people's daily life. Multi-function digital clock on the provision of a convenient, not only can accurately display the time, there is alarm settings, temperature measurement, etc. Other features, compared with the mechanical clock is more accurate and intuitive, is used digital circuit technology, the minute and second timing device, because no mechanical device, and therefore have a longer life, it has been widely used.SCM is a set of CPU, RAM, ROM, I / O interfaces and interrupt system part in one of the devices, only external power supply and the crystal can be realized on digital information processing and control. SCM combined with multi-function digital clock, for the time display, temperature measurement is not only easy to control, simple configuration and flexibility of big advantages, but also greatly enhance the value of the technical indicators are detected, which can greatly enhance the quality of the product and quantity. Therefore, the MCU in modern life and more and more widely applied in industry.Key words:Single-chip microcomputer, Temperature Sensor,C language目录第一章引言 (1)1.1系统开发背景及现状 (1)1.2系统开发的目的 (1)本章小结 (1)第二章基础理论 (2)2.1单片机概述 (2)2.1.1 单片机的历史与发展概况 (2)2.1.2 单片机的发展趋势 (2)2.1.3 单片机的应用 (4)2.2MCS-51系列单片机简介 (5)2.3C语言的介绍..................................................................................................... 错误!未定义书签。

DIY基于51单片机的旋转LED数字电子钟

DIY基于51单片机的旋转LED数字电子钟

标签:DIY基于51单片机的旋转LED数字电子钟(红外线遥控调时)在网上看到不少老外做的各种旋转LED显示屏,非常COOL,我也动手用洞洞板试做了一个类似的显示屏,结果感觉还不错。

于是再接再励继续努力,将作品进一步改进,完善后制成如今这个样子。

由于刚学51单片机,加上制作电路板软件也是从零开始,的确花了我不少的时间和精力。

不过也就是在这艰难的独立制作中,真正学到了不少实在的东西。

本项目的关键是如何解决高速旋转的电路板如何供电,如何调时的问题。

我采用电机电刷的原理,将旋转轴钻空,通过一只插头将电源的从反面引到前面的电路板上,而这个旋转的插头又与固定在背板上的两个铜片接触的。

调时的问题有些困难,一是让电路板在旋转前与PC机相接,由电脑传送调时数据,这虽然可行但不方便。

还有就是用遥控方法,但此方案在调试方面有很大的困难。

显示方式上,我采用平衡式的两排LED,这除了在旋转时能较好的保持平衡外,主要能利用两边交替显示方式,比单排要快一倍。

本装置不仅是一个时钟,它还可以动态显示汉字及图案,这就看如何发挥了。

其具体制作过程如下:一。

旋转电机的制作从制作成本与方便考虑,选用旧电脑用的大软驱上的直流无刷电机,只是对局部进行改造。

就是这种古董软驱软驱上的直流无刷电机拆开后的电机仔细拆开直流电机,将带圆盘的铝轴从中开孔,让它刚好能插入一个插头。

将旋转轴加工成这样装配好以后按拆开时的顺序,反序将轴安装直流电机上。

电机装配完成后用两片铜片做的电刷电刷装好后的侧面图将电路板上较突出的元件改焊在反面,电机的电源接法。

从电路板标注的符号看,“+”为电源正,“G”为电源负,“C”与“M”端分别与电源正相连匀可使电机运转将一张旧唱片按电机座的位置开孔,而定位用的挡光板应根据电路板上感光组件的位置确定。

二。

电路板的制作本制作品用51单片机控制,具体电原理图如下:用Protel 99设计制作了电路板。

最后得到完成的作品。

遥控器用的是松下车载机的,只用了其中的六个键。

基于单片机的多功能数字钟的设计与实现

基于单片机的多功能数字钟的设计与实现

基于单片机的多功能数字钟的设计与实现摘要:本文介绍了一种基于单片机的多功能数字钟的设计与实现。

该数字钟具有时间显示、闹钟、倒计时、温度显示等多种功能,并且在设计中采用了数字电子管显示,使得时间显示更加清晰明了。

此外,本文还对数字钟的硬件和软件设计进行了详细的讲解,为读者提供了一定的参考和借鉴价值。

关键词:单片机;数字钟;时间显示;闹钟;倒计时;温度显示 1. 引言数字钟作为一种常见的计时设备,已经广泛应用于生活中的各个方面。

随着技术的不断发展,数字钟的功能也越来越多样化和智能化。

本文将介绍一种基于单片机的多功能数字钟的设计与实现,该数字钟具有时间显示、闹钟、倒计时、温度显示等多种功能,并且在设计中采用了数字电子管显示,使得时间显示更加清晰明了。

2. 硬件设计2.1 主控制器本文采用AT89C51单片机作为主控制器,其主频为11.0592MHz。

单片机具有丰富的外设资源,可以很方便地实现数字钟的各种功能。

2.2 显示模块数字钟采用4位共阳数码管进行时间、温度等信息的显示。

数码管选用型号为TM1637,具有低功耗、高亮度、长寿命等特点。

数码管的控制线接口分别为CLK、DIO。

2.3 温度传感器本文采用DS18B20数字温度传感器对环境温度进行测量。

DS18B20具有精度高、精度稳定、响应速度快等特点,可以满足数字钟的温度显示需求。

2.4 功能按键数字钟采用4个功能按键,分别为闹钟设置键、倒计时设置键、温度显示键、复位键。

3. 软件设计3.1 时间显示程序中通过时钟中断来实现时间的显示和更新。

时钟中断周期为1s,每次中断时,将当前时间显示在数码管上。

具体实现过程如下: ```cvoid Timer0() interrupt 1{TH0 = (65536 - 11059200/12/1000)/256;TL0 = (65536 - 11059200/12/1000)%256;if(++timeCount == 1000){timeCount = 0;Time_Get();Display_Time();}}3.2 闹钟数字钟具有闹钟功能,用户可以通过按下闹钟设置键来设置闹钟时间。

基于单片机的多功能数字钟的设计

基于单片机的多功能数字钟的设计

基于单片机的多功能数字钟的设计摘要:本设计论文介绍了用AT89C2051单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。

此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。

它的计时周期为12小时,显示满刻度为12时59分59秒99毫秒,另外应有校时功能。

电路由时钟脉冲发生器、时钟计数器、译码驱动电路和数字显示电路以及时间调整电路组成。

用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器。

根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个12进制(时)的计数器。

构成秒、分、时的计数,实现计时的功能。

显示器件选用LED七段数码管。

在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。

针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路。

关键词:单片机;AT89C2051;数字钟;计时Based on SCM multi-purpose digital clock designAbstract:The paper mainly presents the hardware and software design of the digital clock using AT89C2051. The source program using assemble Language is given. This digital clock is a time-device, which can display "hour", "minute", "second". Its time period is 12 hours and the full scale of the display is 12 hours, 59 minutes, 59 seconds and 99 milliseconds and it has the function of time adjustment. The circuit consists of the clock pulse generator, the clock counter, decoding drive circuit, digital display circuit and the time adjustment circuit. It generates time standard signal using crystal oscillator, here is the quartz crystal oscillator. Because 60 seconds is 1 minute, 60 minutes is 1 hour and 24 hours is 1 day, we uses two counters of 60 parts and a counter of 12 part separately to constitute the count of percentage of second, second, minute, and hour. So it can realize time function. Display component selects seven-segment numerical tube LED. Driven by decoding output circuit, it can display showing clear and intuitive figures. Due to walking error of digital clock, we design time calibration circuit in the system.Key words:Single-chip microcomputer; AT89C2051; Digital clock; Time目录第1章绪论 (1)1.1 前言 (1)1.2 设计的目的及意义 (1)第2章数字钟的功能实现与设计方案 (2)2.1 数字钟的功能及设计要求 (2)2.2数字钟的实现形式 (2)2.3 方案的确定 (3)2.3.1 微处理器 (3)2.3.2 显示电路 (3)2.3.3 按键电路 (4)第3章数字钟的硬件系统设计 (5)3.1数字时钟的硬件系统框架 (5)3.2 数字时钟的主机电路设计 (5)3.2.1系统控制芯片CPU(AT89C2051)的选择 (5)3.2.2系统时钟电路设计 (10)3.2.3 系统复位电路设计 (12)3.2.4 按键与按钮电路设计 (13)3.2.5闹铃声光指示电路设计 (13)3.2.6 数字钟的显示电路设计 (13)3.3校时电路设计 (17)3.3.1校时原理 (18)3.3.2 国家授时中心 (18)3.3.3窗口比较器 (19)3.3.4 校时电路电路图 (20)3.4 电源设计 (20)第4章程序设计 (24)4.1 主控模块设计 (24)4.2基本现实模块设计 (25)4.3 当前编辑位闪烁功能的实现 (26)4.4时间设定模块设计 (26)4.5脉冲发生器原理与走时处理 (27)4.6 闹铃功能的实现 (28)第5章系统的调试及结果 (30)5.1 系统调试环境 (30)5.2 软件调试 (30)5.3硬件调试 (30)5.4调试结果 (30)结论 (31)致谢 (32)参考文献 (33)附录1:完整的汇编语言源程序 (34)附录2:系统设计原理图 (57)附录3:系统设计PCB图 (59)附录4:实物照片 (60)西南科技大学本科生毕业论文第1章绪论1.1前言计算机尤其是以微细加工技术支持的微型计算机技术飞速发展,其应用渗透到了各行各业。

基于单片机的多功能数字钟的设计

基于单片机的多功能数字钟的设计

一、概述现代社会,时间被视为人们生活的重要组成部分。

而数字钟作为时间的一种展现形式,已经成为人们生活中不可或缺的一部分。

基于单片机的多功能数字钟设计,将为人们提供更加准确、便捷、多功能的时间展现方式,满足人们对时间的精准要求,同时也为人们的生活带来更多便利。

二、设计目标1. 实现精准的时间显示功能,包括时、分、秒的显示;2. 实现对日期的显示,包括年、月、日的显示;3. 实现多种报时功能,如定时报时、闹钟报时等;4. 实现多种显示效果,如渐变显示、闪烁显示等;5. 实现对时间的调整功能,包括校时、调整日期等;6. 实现对亮度的调节功能,适应不同环境下的使用需求。

三、设计思路1. 硬件设计1.1 硬件采用单片机作为核心控制器,通过外部晶振提供时钟信号;1.2 采用数码管作为显示设备,通过单片机控制数码管进行时间、日期的显示;1.3 通过按钮、旋钮等输入设备,实现时间调节、报时设置等操作;1.4 通过EEPROM等存储设备,实现时间、设置的存储和读取功能;1.5 通过光敏电阻等光敏传感器,实现对环境光强的检测,调节数码管显示亮度。

2. 软件设计2.1 设计合理的时钟系统,确保时间的准确显示;2.2 设计报时功能模块,实现定时报时、闹钟报时等功能;2.3 设计显示控制模块,实现数字、日期的显示效果控制;2.4 设计操作响应模块,实现对按钮、旋钮等输入设备的操作响应;2.5 设计存储管理模块,实现时间、设置数据的存储和读取功能;2.6 设计光敏控制模块,实现对数码管显示亮度的实时调节。

四、实现方法1. 硬件设计1.1 选择合适的单片机作为核心控制器,根据需要进行外围电路的设计;1.2 选择合适的数码管作为显示设备,设计驱动电路以及显示控制电路;1.3 选择合适的按钮、旋钮等输入设备,设计输入电路以及操作响应电路;1.4 选择合适的EEPROM芯片,设计存储管理电路实现数据的存储和读取;1.5 选择合适的光敏电阻或光敏二极管,设计光敏控制电路实现显示亮度的调节。

基于单片机的多功能数字钟的设计

基于单片机的多功能数字钟的设计

电子基础基于单片机的多功能数字钟的设计作者/尹克岩,开封大学电子电气工程学院摘要:多功能电子钟除了具有时钟的功能外还可以包含星期、日历,以及对环境温度的检测功能。

星期是一种时间依据,也是现在制定工 作日、休息日的依据。

日历是现在通用的历法与纪年。

温度是环境的基本参数,在各行各业中占有着很重要的位置。

本文以AT 89S 52为核 心控制器制作了一款多功能数字钟,该数字钟具有功耗低,实用性强等特点,具有较高是推广应用价值。

关键词:电子钟;单片机;农历;温度检测引言数字钟是一种利用数字电路来显示时分秒的计时装置, 与传统的机械钟相比,它具有走时准确、显示直观、无机械 传动装置等优点,因而得到广泛的应用。

随着人们生化环境 的不断改善和美化,在许多场合可以看到电子钟。

随着科技 的进步和发达,人们对数字钟的要求越来越多,能够显示 周边的气候和湿度,自带投影,可以让时间显示在天花板 上,在汽车中带有背景光等等,衍生的辅助功能越来越多。

多功能数字钟在外观、性能、用途上都出现了极大的变化, 大部分电子钟都已具备了闹钟、秒表、温湿度检测等功能。

本文将以单片机为基础的对于带曰历、温湿度检测电子钟进 行设计。

1•硬件设计■ 1.1系统框囫数字钟硬件有单片机、数码管显示、温度检测、按键 输入和蜂鸣器组成电气回路。

接通电源数字钟显示“〇〇-〇〇- 00”,按下按钮可以调节时间和闹钟,整点蜂鸣器报警, 按下相应按键可以显示日历和环境温度。

整体框图如图1 所示。

图1系统框图■ 1.2模块设计 1.2.1单片m s 统AT 89S 52是一种低功耗、高性能的微控制器,具有低功耗空闲和掉电模式以及三级加密程序存储器。

40个引脚,VCC 接5V 电源,G N D 接地,E A 接高电平,XTAL 接晶振电路,R ST 接复位电路,P 1和P 2 口接数码管显示,P 3 口接 5位控制按键以及蜂鸣器和温度检测器。

1.2.2晶摄电路在51单片机内部有一个高增益反向放大器,其输入输 出端引脚为XTAL 1和XTAL 2,只要在它们之间接晶体振荡 器和微调电容,就可构成一个稳定的自激振荡器。

多功能旋转电子钟课程设计

多功能旋转电子钟课程设计

目录1.工作原理 (2)1.1 功能说明 (2)1.2 工作原理 (2)1.2.1 60个发光二极管驱动原理 (3)1.2.2 时、分、年、月、日、星期显示部件驱动原理 (3)2.电路图 (4)3.程序流程图 (6)3.1 时钟LED显示函数程序流程图 (6)3.2 电子钟数显示日期函数程序流程图 (7)3.3 电子钟显示时间函数程序流程图 (10)3.4 电子钟显示星期函数程序流程图 (12)4.仿真图 (15)5.总结 (17)6.参考文献 (18)7.致谢 (19)8.附录一:器件清单 (20)9.附录二:源代码 (21)1.工作原理1.1功能说明1.本旋转LED电子钟采用STC89C52单片机作为控制芯片,DS1302时钟芯片为走时根据,确保了走时的精确度。

24小时制走时,60个发光二极管模拟石英钟的秒针走时,一秒亮一个,60秒走完一圈,走完一圈则分钟位数数码管加1,时时同步。

主数码管为4位时钟数码管,显示时、分,结合功能按键,可显示闹钟时间和实时温度(需加装18B20);3个2位数码管分别显示年、月、日;1个1位数码管显示星期。

2.整点报时功能,每天7—20点整点报时,报时时蜂鸣器响,同时秒灯高速旋转。

3.有一路闹钟功能,开机闹钟默认关闭。

S3位闹钟的开关键。

默认闹钟时间为6:35。

闹钟响时为30秒钟。

4.掉电继续走时,数码管不显示。

来电时间继续走时,不用调整。

5.S1键为调整按键。

开机显示时分00:08。

首次使用一定要启动时钟芯片走时,不然时钟一直为00:08,不走时。

按S1键一次,时位数码管闪烁,这时按S2数值加1,按S3数值就会减1。

再按一次S1键,分位数码管闪烁,同理按S2、S3键来进行调整分的时间。

调整完后数码管还在闪烁,同理在按S1(S2,S3),分别调整年、月、日、星期,调整完后再按S1一次(或等待5秒),进入走时状态。

6.S2键为时间、闹钟、温度(安装18B20)切换键。

60sled旋转电子钟实践报告

60sled旋转电子钟实践报告

60sled旋转电子钟实践报告下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!60sled旋转电子钟实践报告1. 引言随着现代科技的不断发展,电子钟作为一种时间显示设备,在生活中扮演着越来越重要的角色。

基于单片机的多功能数字钟

基于单片机的多功能数字钟

单片机汇编程序设计师培训毕业论文—多功能电子时钟万年历指导老师:负责人:专业:电子信息工程班级:徐州师范大学培训班设计者:基于单片机的多功能数字钟摘要:现代社会人们工作生活的节奏越来越快,时间对于人们也越来越重要。

在人们日常生活以及各类社会活动中,都离不开时间,时间与人们的生活息息相关。

所以在很早时候人们就发明了各种各样的计时方法,直到演变成现在的钟。

而多功能数字钟就提供了一个便利,不仅能够准确显示时间,还有自动报时,闹钟设置,环境温度测量等等其他功能。

多功能数字钟与机械式时钟相比具有更高的准确性和直观性,是一种采用数字电路技术来实现时、分、秒计时的装置,因为没有机械装置,所以具有更长的使用寿命,因此得到了广泛的应用。

单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。

单片机与多功能数字钟相结合,用于时间显示,温度测试等不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被检测数值的技术指标,从而能够大大提高产品的质量和数量。

因此,单片机在现代生活以及现代工业中应用的越来越广泛。

关键词:单片机,温度传感器,C语言Multifunction Digital Clock based on MCSAbstract:As modern society increasingly rapid pace of working life, time for people to have more and more important in people's daily life and various social activities, can not do without time, time and people's daily life. Multi-function digital clock on the provision of a convenient, not only can accurately display the time, there is alarm settings, temperature measurement, etc. Other features, compared with the mechanical clock is more accurate and intuitive, is used digital circuit technology, the minute and second timing device, because no mechanical device, and therefore have a longer life, it has been widely used.SCM is a set of CPU, RAM, ROM, I / O interfaces and interrupt system part in one of the devices, only external power supply and the crystal can be realized on digital information processing and control. SCM combined with multi-function digital clock, for the time display, temperature measurement is not only easy to control, simple configuration and flexibility of big advantages, but also greatly enhance the value of the technical indicators are detected, which can greatly enhance the quality of the product and quantity. Therefore, the MCU in modern life and more and more widely applied in industry.Key words:Single-chip microcomputer, Temperature Sensor,C language目录第一章引言 (1)1.1系统开发背景及现状 (1)1.2系统开发的目的 (1)本章小结 (2)第二章基础理论 (3)2.1MCS-51系列单片机简介 (3)本章小结 (3)第三章硬件设计 (4)3.1系统原理框图 (4)3.2主要元器件介绍 (5)3.2.1 单片机AT89S52介绍 (5)3.2.2 传感器D18B20介绍 (7)3.2.3 LCD1602液晶显示介绍 (7)3.3各模块设计 (9)3.4硬件平台 (12)3.4.1 Protel简介 (12)3.4.2 伟福仿真器简介 (12)本章小结 (13)第四章软件设计 (14)4.1系统流程图 (14)4.2各模块功能设计 (15)4.3延迟程序设计 (33)4.4温度芯片D18B20测温程序 (34)本章小结 (36)参考文献 (37)致谢 (38)第一章引言1.1 系统开发背景及现状当今世界,知识更新的速度越来越快。

基于单片机的多功能数字时钟的设计

基于单片机的多功能数字时钟的设计

摘要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

本次做的数字钟是以单片机为核心,它具有时,分,秒显示的功能,并且时,分,秒还可以调整。

此次设计电子数字钟是为了了解电子数字钟的原理,从而学会制作电子数字钟。

而且通过电子数字钟的制作进一步的了解各种在制作中用到的中小规模集成电路的作用及实用方法。

通过它可以进一步学习与掌握单片机原理与使用方法。

关键词单片机控制显示调时目录第一章基于单片机的多功能数字时钟的构成与工作原理第二章数字时钟的系统硬件、软件电路的设计1、振荡电路的设计(1)、振荡器(2)、分频器2、计数电路的设计3、校时电路的设计(1)、电路的电路图(2)、电路工作原理(3)、对电路中所用的主要元件及功能介绍4、译码与显示电路的设计第三章数字时钟扩展功能的设计1、定时控制电路的设计(1)、设计电路(2)、电路的工作原理第四章数字时钟的组装与调试基于单片机的多功能数字时钟的设计第一章基于单片机的多功能秒表的构成与工作原理目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。

下面是单片机的主要发展趋势。

单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。

从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。

这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。

单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。

基于protues的单片机课程设计60s倒计时及电子时钟

基于protues的单片机课程设计60s倒计时及电子时钟
Limited to, the designer's knowledge is limited, shortcomings and mistakes are inevitable, earnestly hope that the teachers and students be criticized and corrected.
3、设计的大体分析: 这两个设计题目要求的硬件电路都主要由 AT89C51 芯片、LED 数码管显示器、晶
振产生电路、复位电路组成。其中电子时钟的课程设计外加了 8155 芯片的扩展电路。还 有 AT89C51 芯片主要由软件完成驱动。最终通过 Keil 与 Proteus 软件联调完成模拟仿真功 能。
限于,设计者的学识有限,缺点错误在所难免,殷切希望老师,同学给予批评、指正。 【关键词】 单片机;AT89S51; LED 数码管显示器;keil C51;倒计时器;电子时钟
英文摘要
Permeate in the social realm along with the calculator in recent years, single slice the application of the machine just at constantly alignment thorough, arouse a traditional control an examination a day a new moon benefit renewal in the meantime.In solidly the hour the examination the single slice that controls with auto the machine the application the system, single slice machine usually Be a core parts to use, only single slice the machine aspect knowledge is not enough, return should according to concrete the hardware structure, and aim at concrete application the software of[with] the object characteristics combine to make perfect.

基于单片机的LED数码管数字电子钟

基于单片机的LED数码管数字电子钟

题目:基于单片机的LED数字电子钟学生姓名:胡振凤潘兴学学号:U201010897 U201010906专业:测控技术与仪器班级:1004班摘要数字电子钟是采用电子电路实现对年、月、日、时、分、秒数字显示的计时装置,由于数字集成电路的发展和石英晶体震荡器的广泛应用,使得数字电子钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,成为人们日常生活中不可缺少的必需品。

本次课程设计的是基于AT89C52单片机和实时时钟芯片DS1302在数码管上进行时钟显示,并能通过按键对其进行调时和校准,并且可以设置闹钟,且具有秒表功能。

通过按键可以切换时钟和秒表功能,同时可以对闹钟进行设置。

采用AT89C52单片机和DS1302实时时钟芯片,使用5V电源供电。

DS1302是一种高性能、低功耗、带RAM 的实时时钟芯片,它能够对时,分,秒进行精确计时,它与单片机的接口使用同步串行通信,仅用3条线与之相连接,就可以实现MCS-51单片机对其进行读写操作,把读出的时间数据送到数码管上显示。

程序运行时,数码管将从当前时间开始显示,通过调节按键可以分别对小时和分钟进行调整,调整后,时钟以新的时间为起点继续刷新显示。

这种实现方法的优点是电路简单,性能可靠,实时性好,时间和日期精度高,操作简单,编程容易。

目录目录--------------------------------------------------------------------- 2 -一前言-----------------------------------------------------------------21.1课题研究的现实性意义---------------------------------------------21.2国内外研究现状---------------------------------------------------21.3课题基本概况-----------------------------------------------------3 二总体方案设计---------------------------------------------------------42.1方案原理---------------------------------------------------------42.2 硬件选择--------------------------------------------------------42.2.1 DS1302简介------------------------------------------------42.2.2单片机-----------------------------------------------------52.2.3显示方案---------------------------------------------------6 三硬件设计-------------------------------------------------------------83.1显示模块---------------------------------------------------------93.2独立按键模块-----------------------------------------------------93.3实时时钟芯片DS1302----------------------------------------------10 四软件设计------------------------------------------------------------114.1 程序流程图-----------------------------------------------------114.2 按键子程序-----------------------------------------------------124.3 功能键按键程序流程图-------------------------------------------124.4 时间调整程序---------------------------------------------------13 五总结----------------------------------------------------------------14 六硬件原理图----------------------------------------------------------15第1章前言1.1课题研究的现实性意义20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第1节引言1.1 电子钟概述目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。

要知道当前的时间,必须先开灯,故较为不便。

现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,违背了人们指针式的传统习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。

此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。

针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,解决了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。

另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。

1.2 设计任务本次设计通过对一个实现定时、双时钟显示、闹钟、温度等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。

系统由AT89C2051、LED数码管、按键、三极管、两片CD4017BE、CD4069BE、DS18B20、电阻等组成。

能实现时钟时、分、秒的显示。

也具有温度显示、时间设置、闹铃开和关设置、制式切换。

文章后附有电路图、程序清单。

1.3 系统主要功能电子钟的外观如图1所示。

周边60只发光管顺时旋转来显示秒,中间四只LED 数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。

其主要功能有:①整点报时;②四只LED数码管显示当前时分;③每隔一秒钟周边的60只LED发光管旋转一格;④当发生停电事件时,由后备电池供电,系统进入低功耗状态,所有显示部件停止显示,这样即延长了电池的寿命,同时又保证CPU继续计数,不至于因停电而时钟停止运行。

⑤当恢复供电后,系统自动恢复工作状态,不影响计时。

图一第2节电子钟硬件设计2.1系统的硬件构成及功能电子钟的原理框图如图2所示。

它由以下几个部件组成:单片机89C2051、电源、时分显示部件、60秒旋转译码驱动电路。

时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。

时分显示模块、60秒旋转译码驱动电路以及显示驱动都通过89C2051的I/O口控制。

电源:电源部分有二部分组成。

一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常计时。

正常情况下电池是不提供电能的,以保证电池的寿命。

具体电路参见“新颖的60秒旋转电子钟参考电路原理图”。

2.2AT89C2051单片机及其引脚说明AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。

内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。

由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。

AT89C2051是一个有20个引脚的芯片,引脚配置如图3所示。

与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。

AT89C2051芯片的20个引脚功能为:VCC 电源电压;GND 接地;RST 复位输入。

当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”;XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入;XTAL2 来自反向振荡放大器的输出。

P1口 8位双向I/O口。

引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。

P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA的灌电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。

在闪速编程与编程校验期间,P1口也可接收编码数据。

P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。

P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。

P3口的输出缓冲器能接收20mA 的灌电流;P3口写入“1”后,内部上拉,可用作输入。

P3口也可用作特殊功能口,其功能见表1。

P3口同时也可为闪速存储器编程和编程校验接收控制信号。

2.360秒旋转译码驱动原理按常规传统设计,需60进制译码驱动电路才能实现60秒旋转译码驱动,若用六片十进制计数译码器构成六十进制计数译码电路,则电路连线多(需要120根连线),硬件电路庞大,开销大。

为此,我们巧妙地采用了两片CD4017进行六十进制计数译码,实现60秒旋转译码驱动。

既减少了电路的复杂程度又可降低了成本。

图4图3.4 AT89C2051引脚配置图4 CD4017引脚图图5 CD4017时序图为CD4017功能引脚图,图5为其时序图。

CD4017集成电路是十进制计数/时序译码器,共有10个译码输出Q0~Q9;每个译码输出通常处于低电平,且在时钟脉冲由低到高的上升沿输出高电平;每个高电平输出维持1个时钟周期;每输入10个时钟脉冲,输出一个进位脉冲,因此进位输出信号可作为下一级计数器的时钟信号。

在清零输入端(R )加高电平或正脉冲时,只有输出端Q0为高电平,其余各输出端均为低电平“0”。

为实现对发光二极管的驱动,将每一个译码输出端口接一只发光二极管,并将二极管串联限流电阻后接地。

当译码端口Q0~Q9中任一端口为高电平,则对应的发光二极管点亮,如图6所示。

仔细考查CD4017的功能,可发现其10个输出的高电平是相互排斥的,即任一时刻只有一只发光二极管点亮,因此可将图6电路进一步简化为如图7所示,从而简化电路设计。

在本电子钟设计中,每秒点亮一个发光二极管,循环点亮一周共需60个发光二极管,若用上述的6片CD4017实现驱动,显然电路复杂。

为此我们选用两片CD4017和一片6反相器,采用“纵横双译码”技术,巧妙地实现60秒旋转译码驱动,其中一片接成10进制,一片接成6进制,实现6×10=60的功能,具体连接方法如图8图6 CD4017控制LED 原理图 图7 优化后控制LED 原理图所示。

将周期为1秒的输入脉冲作为其中一片CD4017的时钟脉冲,而此片的级联进位输出端(QC )作为另一片的时钟输入,并将Q6与复位端相连。

在两片译码输出端交叉点上接入发光二极管,构成6×10矩阵。

根据CD4017时序特点,在初始状态,作为高位(纵)的CD4017译码器输出端口Q0处于高平,经反相器反相后为低电平。

当作为低位(横)的CD4017译码器输出端口Q0~Q9依次输出高电平后,则对应的二极管LD1~LD10依次点亮;此后由于QC 端的进位,高位CD4017译码输出端口Q1输出高电平,反相后输出低电平,当低位的CD4017译码输出端口Q0~Q9依次输出高电平后,二极管LD11~LD20依次点亮。

如此往复,直至高位Q6向复位端输入高电平,CD4017复位,60秒循环点亮重新开始。

2.4 时分显示部件由于系统要显示的内容较简单,显示量不多,所以选用数码管既方便又经济。

LED 有共阴极和共阳极两种。

如图8所示。

二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V 的电压。

一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a ~g ,另一个小数点为dp 发光二极管。

当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。

为了保护各段LED 不被损坏,需外加限流电阻LED 显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动。

本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性。

所谓软件译码,即由单片机软件完成从数字到显示码的转换。

从LED 数码管结构原理可知,为了显示字符,要为LED 显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED 数码管的显示段码为1个字节。

这种连接方式由于多位字段线连在一起,因此,要想图8 发光二极管“纵横双译码”循环点亮LED 原理图显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。

在这一瞬时,只有这一位在显示,其他几位则暗。

在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开关”状态。

系统的时分显示部件由4只7段共阳LED数码管构成,前两只用于时的显示,后两只用于分的显示。

值得一提的是,在设计中需要实现时与分之间的两个闪烁点,为此,将第三只LED数码管倒置摆放,这样就很巧妙地形成了两个很自然的闪烁点。

与此同时,为了能使两点显示能够形象的表示时钟“秒”的变化,设计时,将两个点由P1.7单独控制,每隔一秒使P1.7发送一个正脉冲,从而实现了两个点的闪烁显示,闪烁周期为一秒第三节实验核心代码DP BIT 24H.3 ;定义半秒闪烁位单元SECOND EQU 31H ; 定义计数单元MBUF EQU 32H ; 定义分计数单元HBUF EQU 33H ; 定义时计数单元MBUF0 EQU 34H ; 定义分个位计数存储单元MBUF1 EQU 35H ; 定义分十位计数存储单元HBUF0 EQU 36H ; 定义时个位计数存储单元HBUF1 EQU 37H ; 定义时十位计数存储单元DMBF0 EQU 40H ; 定义分个位显示缓冲单元DMBF1 EQU 41H ; 定义分十位显示缓冲单元DHBF0 EQU 42H ; 定义时个位显示缓冲单元DHBF1 EQU 43H ; 定义时十位显示缓冲单元AMBF10 EQU 44H ; 定义定闹1分个位缓冲单元AMBF11 EQU 45H ; 定义定闹1分十位缓冲单元AHBF10 EQU 46H ; 定义定闹1时个位缓冲单元AHBF11 EQU 47H ; 定义定闹1时十位缓冲单元AMBF1 EQU 48H ; 定义定闹1分计数单元AHBF1 EQU 49H ; 定义定闹1时计数单元AMBF20 EQU 4AH ; 定义定闹2分个位缓冲单元AMBF21 EQU 4BH ; 定义定闹2分十位缓冲单元AHBF20 EQU 4CH ; 定义定闹2时个位缓冲单元AHBF21 EQU 4DH ; 定义定闹2时十位缓冲单元AMBF2 EQU 4EH ; 定义定闹2分计数单元AHBF2 EQU 4FH ; 定义定闹2时计数单元AA EQU 50HLED BIT P1.7 ; LED脉冲ORG 0000HLJMP MAINORG 000BHMOV TL0, #0DCH ; 125毫秒定时器初值低8位MOV TH0, #0BH ; 125毫秒定时器初值高8位PUSH ACC ; 系统主定时,每125毫秒中断1次PUSH PSWDEC R4 ; 软件计数器减1INT01: DJNZ R2, INT02 ; 1秒计数MOV R2, #08HCPL DP ; 小数点半秒闪烁ACALL BEEP ; 1秒到, 发“笛嗒”声和LED旋转脉冲DJNZ SECOND, OUTT0MOV SECOND, #10H ; 1分到ACALL ADD1 ; 分十进制加1子程序INT02: MOV A, R2CJNE A, #08H, OUTT0 ; 判断是否半秒CPL DP ; 是半秒,秒闪动一次OUTT0: POP PSWPOP ACCRETIMAIN: MOV SP, #6FHMOV R2, #08H ; 定时器1秒中断次数MOV R4, #08H ; 快校时定时计数,8X125ms后快校时MOV SECOND, #3CH ; 秒计数单元MOV MBUF0, #0 ; 分个位计数存储单元0 初值MOV MBUF1, #0 ; 分十位计数存储单元1 初值MOV HBUF0, #4 ; 时个位计数存储单元0 初值MOV HBUF1, #1 ; 时十位计数存储单元1 初值MOV MBUF, #00H ; 分计数存储单元初值MOV HBUF, #14H ; 时计数存储单元初值MOV AMBF10, #1 ; 定闹1分个位计数存储单元0 初值MOV AMBF11, #0 ; 定闹1分十位计数存储单元1 初值MOV AHBF10, #4 ; 定闹1时个位计数存储单元0 初值MOV AHBF11, #1 ; 定闹1时十位计数存储单元1 初值MOV AMBF1, #01H ; 定闹1分计数存储单元初值MOV AHBF1, #14H ; 定闹1时计数存储单元初值MOV AMBF20, #3 ; 定闹2分个位计数存储单元0 初值MOV AMBF21, #5 ; 定闹2分十位计数存储单元1 初值MOV AHBF20, #0 ; 定闹2时个位计数存储单元0 初值MOV AHBF21, #2 ; 定闹2时十位计数存储单元1 初值MOV AMBF2, #53H ; 定闹2分计数存储单元初值MOV AHBF2, #20H ; 定闹2时计数存储单元初值MOV IE, #10000010B ; 允许定时器0中断MOV TMOD, #00100001B ; T0方式1MOV TL0, #0DCH ; 125毫秒定时器初值低8位MOV TH0, #0BH ; 125毫秒定时器初值高8位MOV IP, #00000010B ; 定时器0高优先级SETB TR0 ; 启动T0计时LOOP: MOV R4, #08 ; 喂狗MOV A, HBUF ; 取时整点SUBB A, #7JC LOOP1 ; 判断是否早7时前MOV A, HBUF ; 早7时前----晚22时后为夜间SUBB A, #22HJNC LOOP1 ; 判断是否晚22时后ACALL DISPAJMP ALARM1LOOP1: ACALL NDISP ; 是夜间,调用夜间显示子程序ALARM1: MOV A, AHBF1 ; 判定闹1CJNE A, HBUF, ALARM2 ; 判定闹1的小时是否与系统时间相等?MOV A, AMBF1CJNE A, MBUF, ALARM2 ; 判定闹1的分是否与系统时间相等?MOV C, DPMOV P3.3, C ; 蜂鸣器响半秒,停半秒MOV A, SECOND ; 定闹1分钟JNZ LOOPALARM2: MOV A, AHBF2CJNE A, HBUF, LOOP2 ; 判定闹2的时是否与系统时间相等?MOV A, AMBF2CJNE A, MBUF, LOOP2 ; 判定闹2的分是否与系统时间相等?MOV C, DPMOV C, DPMOV P3.3, C ; 蜂鸣器响半秒,停半秒MOV A, SECOND ; 定闹1分钟JNZ LOOPLOOP2: JB P3.2, LOOP7 ; 判断校时键是否按下? LOOP3: ACALL DISP ; 用于长时间按键时的显示MOV A, R4 ; 有校时键按下CJNE A, #00H, LOOP6 ; 校时键按下有1秒吗?LOOP4: ACALL ADD1 ; 校时键按下有1秒,则快调MOV R1, #40LOOP5: ACALL DISPDJNZ R1, LOOP5JNB P3.2, LOOP4 ; 校时键未放开,继续快调AJMP LOOP7 ;LOOP6: JNB P3.2, LOOP3 ; 校时键按下不到1秒,返回再判ACALL ADD1 ; 单次慢调MOV TL0, #0DCH ; 校时结束,秒初值置0MOV TH0, #0BHMOV SECOND, #00LOOP7: JB P3.3, LOOPALAM11: ACALL ADSP1 ; 用于设置定闹1时,长时间按键的显示MOV A, R4 ; 有定闹1键按下CJNE A, #00H, ALAM16 ; 定闹1键按下有1秒吗?ALAM12: ACALL AAD1 ; 定闹1键按下有1秒,则快调MOV R1, #50ALAM13: ACALL ADSP1DJNZ R1, ALAM13JNB P3.3, ALAM12MOV R1, #10 ; 定闹1快调结束,闪烁显示定闹时间8秒ALAM14: MOV R3, #40ALAM15: ACALL ADSP1DJNZ R3, ALAM15ACALL D400MSDJNZ R1, ALAM14AJMP AGAINALAM16: NOPJNB P3.3, ALAM11 ; 定闹1键按下不到1秒,返回再判ALAM17: ACALL AAD1 ; 定闹1单次慢调MOV R1, #10 ; 定闹1慢调结束,闪烁显示定闹时间12秒ALAM18: MOV R3, #40ALAM19: ACALL ADSP1DJNZ R3, ALAM19ACALL D400MSDJNZ R1, ALAM18AGAIN: JB P3.3, RETUN ; 返回主程序MOV R4, #08ALAM21: ACALL ADSP2 ; 用于设置定闹2时,长时间按键的显示MOV A, R4 ; 有定闹2键按下CJNE A, #00H, ALAM26 ; 定闹2键按下有1秒吗?ALAM22: ACALL AAD2 ; 定闹2键按下有1秒,则快调MOV R1, #50ALAM23: ACALL ADSP2DJNZ R1, ALAM23JNB P3.3, ALAM22MOV R1, #10 ; 定闹2快调结束,闪烁显示定闹时间9秒ALAM24: MOV R3, #40ALAM25: DJNZ R3, ALAM25ACALL D400MSDJNZ R1, ALAM24AJMP LOOPALAM26: JNB P3.3, ALAM21 ; 定闹2键按下不到1秒,返回再判ALAM27: ACALL AAD2 ; 定闹2单次慢调MOV R1, #10 ; 定闹2慢调结束,显示定闹时间9秒ALAM28: MOV R3, #40ALAM29: ACALL ADSP2DJNZ R3, ALAM29ACALL D400MSDJNZ R1, ALAM28RETUN: AJMP LOOP ; 返回主程序ADD1: MOV A, MBUF ; 分加1子程序,ADD A, #01 ; 分十进制加1DA AMOV MBUF, AANL A, #0FHMOV MBUF0, AMOV A, MBUFSWAP AANL A, #0FHMOV MBUF1, AMOV A, MBUFCJNE A, #60H, ADDOUTMOV MBUF0, #0MOV MBUF1, #0MOV MBUF, #0MOV A, HBUFADD A, #01 ; 时十进制加1DA AMOV HBUF, AANL A, #0FHMOV HBUF0, AMOV A, HBUFSWAP AANL A, #0FHMOV HBUF1, AMOV A, HBUFCJNE A, #24H, ADDOUTMOV HBUF0, #0MOV HBUF1, #0MOV HBUF, #0ADDOUT:MOV A,MBUF0CJNE A,#01H,T1MOV AA,MBUF1MOV MBUF1,#11T1: CJNE A,#02H,T2MOV MBUF1,AAMOV MBUF0,#11T2: RETAAD1: MOV A, AMBF1 ; 定闹1,分加1子程序,ADD A, #01DA AMOV AMBF1, AANL A, #0FHMOV A, AMBF1SWAP AANL A, #0FHMOV AMBF11, AMOV A, AMBF1CJNE A, #60H, AAD1OTMOV AMBF10, #0MOV AMBF11, #0MOV AMBF1, #0MOV A, AHBF1ADD A, #01DA AMOV AHBF1, AANL A, #0FHMOV AHBF10, AMOV A, AHBF1SWAP AANL A, #0FHMOV AHBF11, AMOV A , AHBF1CJNE A, #24H, AAD1OTMOV AHBF10, #0MOV AHBF11, #0MOV AHBF1, #0AAD1OT: RETAAD2: MOV A, AMBF2 ; 定闹2分加1子程序,ADD A, #01DA AMOV AMBF2, AANL A, #0FHMOV AMBF20, AMOV A, AMBF2SWAP AANL A, #0FHMOV AMBF21, AMOV A, AMBF2CJNE A, 60H, AAD2OTMOV AMBF20, #0MOV AMBF21, #0MOV AMBF2, #0MOV A, AHBF2ADD A, #01DA AMOV AHBF2, AANL A, #0FHMOV AHBF20, AMOV A, AHBF2SWAP AANL A, #0FHMOV AHBF21, AMOV A, AHBF2CJNE A, #24H, AAD2OTMOV AHBF20, #0MOV AHBF2, #0AAD2OT: RETDSPM0: MOVC A, @A+DPTR ; 白天分个位显示子程序SETB ACC.7MOV P1, ACLR P3.5ACALL DY1MSSETB P3.5ACALL DY1MSRETDSPM1: MOVC A, @A+DPTR ; 白天分十位显示子程序MOV C, DPMOV ACC.7, CMOV P1, ACLR P3.4ACALL DY1MSSETB P3.4ACALL DY1MSRETDSPH0: MOVC A, @A+DPTR ; 白天时个位显示子程序MOV C, DPMOV ACC.7, CMOV P1, ACLR P3.1ACALL DY1MSSETB P3.1ACALL DY1MSRETDSPH1: MOVC A, @A+DPTR ; 白天时十位显示子程序SETB ACC.7MOV P1, ACLR P3.0ACALL DY1MSSETB P3.0ACALL DY1MSRETDISP: MOV DPTR , #TAB1 ; 显示子程序,指向个位顺置管段码表首地址MOV A, MBUF0 ; 取分个位ACALL DSPM0 ; 调用分个位显示子程序MOV DPTR, #TAB2MOV A, MBUF1 ; 取分十位ACALL DSPM1 ; 调用分十位显示子程序MOV DPTR, #TAB1MOV A, HBUF0 ; 取时个位ACALL DSPH0 ; 调用时个位显示子程序MOV DPTR, #TAB1MOV A, HBUF1 ; 取时十位ANL A, #0FFHJNZ DISP1MOV A, #0AHDISP1: ACALL DSPH1 ; 调用时十位显示子程序RETNDPM0: MOVC A, @A+DPTR ; 夜间分个位显示子程序SETB ACC.7MOV P1, ACLR P3.5ACALL DY1MSSETB P3.5ACALL DY2MSRETNDPM1: MOVC A, @A+DPTR ; 夜间分十位显示子程序MOV C, DPMOV ACC.7,CMOV P1, ACLR P3.4ACALL DY1MSSETB P3.4ACALL DY2MSRETNDPH0: MOVC A, @A+DPTR ; 夜间时个位显示子程序MOV C, DPMOV ACC.7,CMOV P1, ACLR P3.1ACALL DY1MSSETB P3.1ACALL DY2MSRETNDPH1: MOVC A, @A+DPTR ; 夜间时十位显示子程序SETB ACC.7MOV P1, ACLR P3.0ACALL DY1MSSETB P3.0ACALL DY2MSRETNDISP: NOPMOV DPTR, # TAB1 ; 显示子程序,指向个位顺置管段码表首地址MOV A, MBUF0 ; 取分个位ACALL NDPM0 ; 调用分个位显示子程序MOV DPTR, #TAB2MOV A, MBUF1 ; 取分十位ACALL NDPM1 ; 调用分十位显示子程序MOV DPTR, #TAB1MOV A, HBUF0 ; 取时个位ACALL NDPH0 ; 调用时个位显示子程序MOV DPTR , # TAB1MOV A, HBUF1 ; 取时十位ANL A, #0FFHJNZ NDISP1MOV A, #0AHNDISP1: ACALL NDPH1 ; 调用时十位显示子程序RETADSP1: NOPMOV DPTR, #TAB1 ; 定闹1显示子程序,指向个位顺置管段码表首地址MOV A, AMBF10 ; 取定闹1分个位ACALL DSPM0 ; 调用分个位显示子程序MOV DPTR, #TAB2MOV A, AMBF11 ; 取定闹1分十位ACALL DSPM1 ; 调用分十位显示子程序MOV DPTR, #TAB1MOV A, AHBF10 ; 取定闹1时个位ACALL DSPH0 ; 调用时个位显示子程序MOV DPTR, #TAB1MOV A, AHBF11 ; 取定闹1时十位ANL A, #0FFHJNZ ADSP11MOV A, #0AHADSP11: ACALL DSPH1 ; 调用时十位显示子程序RETADSP2: MOV DPTR, #TAB1 ; 定闹2显示子程序,指向个位顺置管段码表首地址MOV A, AMBF20 ; 取定闹2分个位ACALL DSPM0 ; 调用分个位显示子程序MOV DPTR, #TAB2MOV A, AMBF21 ; 取定闹2分十位ACALL DSPM1 ; 调用分十位显示子程序MOV DPTR, #TAB1MOV A, AHBF20 ; 取定闹2时个位ACALL DSPH0 ; 调用时个位显示子程序MOV DPTR, #TAB1MOV A, AHBF21 ; 取定闹2时十位ANL A, #0FFHJNZ ADSP21MOV A, #0AHADSP21: CLR ACC.7ACALL DSPH1 ; 调用时十位显示子程序RETDY1MS: MOV R6, #250 ; 延时1ms子程序DY1M1: DJNZ R6, DY1M1RETDY2MS: MOV R6, #250 ; 延时2ms子程序DY2M1: NOPNOPDJNZ R6, DY2M1RETD100MS: MOV R7, #100 ; 延时100ms子程序D100M1: MOV R6, #250D100M2: DJNZ R6, D100M2DJNZ R7, D100M1RETD400MS: MOV R7, #200 ; 延时400ms子程序D400M1: MOV R6, #250D400M2: NOPNOPDJNZ R6, D400M2DJNZ R7, D400M1RETBEEP: CLR P3.3CPL LED ; LED旋转脉冲CPL LEDMOV R6, #10BEEP1: DJNZ R6, BEEP1SETB P3.3RETINTT1: NOPRETITAB1: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ; 段码DB 92H, 82H, 0F8H, 80H, 90H, 0FFH,08HTAB2: DB 0C0H, 0F9H, 0A4H, 86H, 8BH ; 倒置段码DB 92H, 42H, 0F8H, 40H, 50H, 0FFH,01HEND第四节实验总结体会来到师大的第一次短学期,忙忙碌碌的三天,总的来说在余老师的指导下基本完成了实验的基本要求,但是离精通还差得很远,在以后的学习中还要继续努力。

相关文档
最新文档