51单片机数码管时钟电路的设计_AT89C51
毕业设计-基于51单片机电子密码锁设计
基于51单片机电子锁设计
摘要
随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。
本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。
关键词:单片机;密码锁;单片机设计,电子锁。
Electronic Lock Design with 51 Serires Single Chip Controller
Abstract
Along with the exaltation of social science and the living level of people, how carry out the family to guard against theft, this problem also change particularly outstanding.Because of the simple construct of traditional machine lock,the affairs of theft is hackneyed.the electronics lock is safer because of its confidentiality, using the vivid good, the safe coefficient is high, being subjected to the large customer close.
基于51单片机的多功能电子钟设计
基于51单片机的多功能电子钟设计
1. 本文概述
随着现代科技的发展,电子时钟已成为日常生活中不可或缺的一部分。本文旨在介绍一种基于51单片机的多功能电子钟的设计与实现。51单片机因其结构简单、成本低廉、易于编程等特点,在工业控制和教学实验中得到了广泛应用。本文将重点阐述如何利用51单片机的这些特性来设计和实现一个具有基本时间显示、闹钟设定、温度显示等功能的电子钟。
本文的结构安排如下:将详细介绍51单片机的基本原理和特点,为后续的设计提供理论基础。接着,将分析电子钟的功能需求,包括时间显示、闹钟设定、温度显示等,并基于这些需求进行系统设计。将详细讨论电子钟的硬件设计,包括51单片机的选型、时钟电路、显示电路、温度传感器电路等。软件设计部分将介绍如何通过编程实现电子钟的各项功能,包括时间管理、闹钟控制、温度读取等。
本文将通过实验验证所设计的电子钟的功能和性能,并对实验结果进行分析讨论。通过本文的研究,旨在为电子钟的设计提供一种实用、经济、可靠的方法,同时也为51单片机的应用提供一个新的实践案例。
2. 51单片机概述
51单片机,作为一种经典的微控制器,因其高性能、低功耗和
易编程的特性而被广泛应用于工业控制、智能仪器和家用电器等领域。它基于Intel 8051微处理器的架构,具备基本的算术逻辑单元(ALU)、程序计数器(PC)、累加器(ACC)和寄存器组等核心部件。51单片机的核心是其8位CPU,能够处理8位数据和执行相应的指令集。
51单片机的内部结构主要包括中央处理单元(CPU)、存储器、定时器计数器、并行IO口、串行通信口等。其存储器分为程序存储
基于51单片机的电子时钟
1、电子闹钟的硬件系统框架:设计出电子闹钟的基本整体框架。
2、电子闹钟的电源设计:采用交直流供电电源。电子钟一般采用数码管等显
示介质,因而必须以交流供电为主,以直流电源为后备辅助电源。
3、电子闹钟的主机电路设计:主要有
1)系统时钟电路设计:对时间要求不是很高,只要能使系统可靠起振并稳定运行就行。
2)系统复位电路设计:本系统采用的是RC复位方式
3)按键与按钮电路设计:按键与按钮电路设计中关键要考虑的就是按键的去抖动问题。本系统采用软件去抖。考虑到对时和设定闹铃时间操
作的使用频率不高,为了精简系统和降低成本,本系统只设置两个按
键。
a)SET键,对应系统的不同工作状态,具有3个功能:在复位后的待
机状态下,用于启动设定时间参数(对时或定闹);在设定时间参数状
态而且不是设定最低位(即分个位)的状态下,用于结束当前位的设
定,当前设定位下移;在设定最低位(分个位)的状态下,用于结束
本次时间设定。
b)+1键,用于对当前设定位进行加1操作。
4)闹铃声光指示电路设计:本系统采用声音指示,关键元件是蜂鸣器。
4、电子闹钟的显示电路设计:设计一个由LED数码管组成的显示电路,显示
采用共阳极数码管,其目的是为了简化限流电路的设计和实现亮度可调的
要求。
一功能模、设计指标:
1. 显示时、分、秒。
2. 可以24小时制或12小时制。
3. 具有校时功能,可以对小时和分单独校时,对分校时的时候,停止分向小时进位。校时时钟源可以手动输入或借用电路中的时钟。
4. 具有正点报时功能,正点前10秒开始,蜂鸣器1秒响1秒停地响5次。
基于51单片机的电子时钟设计
基于51单片机的电子时钟设计
摘要:本文论述了基于51单片机的电子时钟设计,包括硬件设计与软件编程。其中,硬件设计包括基本指示灯、DS1302时钟芯片等的选择与连接,时钟电路、晶振电路的设计等。软件编程包括时钟显示的实现,时钟校准、闹钟等功能的实现等。本设计具有精度高、操作简便、易于实现等特点,可广泛应用于各种场合。
关键词:51单片机;电子时钟;硬件设计;软件编程
前言
随着人们生活水平的提高,电子时钟已经成为人们生活中必不可少的物品,目前市场上各种类型的电子时钟层出不穷。本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟,采用DS1302时钟芯片作为时钟驱动芯片,实现了时钟的准确显示、校准、闹钟等功能。
硬件设计
硬件设计主要包括控制器、时钟驱动、显示装置以及电源。本设计采用了AT89C51单片机作为控制器,一块DS1302时钟芯片作为时钟驱动,LED数字管作为显示装置。同时,本设计采用了USB供电方式,其电源电压为5V。
软件编程
软件编程主要包括时钟显示、时钟校准、闹钟功能的实现等。时钟显示采用了动态显示方式,实现了时间的精确定位。同时,本设计还具有时钟校准功能,在程序接通时,可自动对时钟进行校准,保证时钟的精确度。此外,本设计还具有设置闹钟的功能,用户可在指定时间响起闹钟。
结论本文以51单片机为基础,设计了一款高精度、易于操作的电子时钟。通过对硬件设计、软件编程的设计与实现,使得该产品能够准确显示时间,保证了时钟的稳定性,满足了时间的要求,目前已
得到广泛应用。
时钟电路的设计
一、概述
本次设计以AT89C51单片机芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟并且利用单片机自身的定时计数器,使LED 按照一定的时间间隔闪烁,闪烁时间间隔不小于1秒。在硬件方面,除了CPU 外,使用七段数码管来进行动态扫描。通过数码管能够比较准确显示时,分,LED 一闪一灭显示秒,设计方面采用C 语言编程,整个电子时钟能完成时间的显示,手动复位等功能。本系统是基于AT89C51单片机设计的一个具有显示的数字实时时钟的发光二极管,该系统同事具有硬件设计简单,工作稳定性高,价格低廉等优点。数字单片机的技术进步反应在内部结构,功率消耗,外部电压等级以及制造工艺上。
二、方案论证
利用单片机自身的定时计数器,使LED 发光二极管按照一定的时间间隔闪烁,闪烁时间间隔不小于1秒。 方案一:
采用AT89C51单片机来做LED 时间闪烁电路,其方案原理框图如下图1所示。
图1 打片机控制设计时钟电路的原理框图
方案二:
采用电子电路装置安装,其原理框图如下图2所示。
图2 电子电路控制设计时钟电路原理图
时钟电路
A T89C51 单片机 复位电路
按键控制电路
LED 显示电路
直流5V 电源电路
振荡电路
控制电路
计数器
译码器
LED 显示电路
本设计采用的是方案一,AT89C51单片机构成的数码管显示时钟,硬件设计简单,工作稳定性高,性价比高比较合适。
三、电路设计
1.程序流程图
程序总体结构示意流程图如下图3所示。程序从开始运行,设计要求为1秒的闪烁间隔,内容包括了开关中断子程序,以及总体流程。
Y
N
N
Y
图3 程序总体结构示意图
AT89C51系列单片机介绍
3.1 AT89C51系列单片机介绍
3.1.1 AT89C51系列基本组成及特性
AT89C51是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。而在众多的51系列单片机中,要算 ATMEL 公司的AT89C51更实用,也是一种高效微控制器,因为它不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器,用户可以用电的方式达到瞬间擦除、改写。而这种单片机对开发设备的要求很低,开发时间也大大缩短。
AT89C51基本功能描述如下:AT89C51是一种低损耗、高性能、CMOS八位微处理器,而且在其片种还有4k字节的在线可重复编程快擦快写程序存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积, 增加系统的可靠性,降低了系统成本。只要程序长度小于4k, 四个I/O口全部提供给用户。可用5V电压编程,而且写入时间仅10毫秒, 仅为8751/87C51 的擦除时间的百分之一,与8751/87C51的12V电压擦写相比, 不易损坏器件, 没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。AT89C51 芯片提供三级程序存储器锁定加密,提供了方便灵活而可靠的硬
加密手段, 能完全保证程序或系统不被仿制。另外,AT89C51 还具有MCS-51系列单片机的所有优点。128×8 位内部RAM, 32 位双向输入输出线, 两个十六位定时器/计时器, 5个中断源, 两级中断优先级, 一个全双工异步串行口及时钟发生器等。AT89C51有间歇、掉电两种工作模式。间歇模式是由软件来设置的, 当外围器件仍然处于工作状态时, CPU可根据工作情况适时地进入睡眠状态, 内部RAM和所有特殊的寄存器值将保持不变。这种状态可被任何一个中断所终止或通过硬件复位。掉电模式是VCC电压低于电源下限, 当振荡器停止振动时, CPU 停止执行指令。该芯片内RAM和特殊功能寄存器值保持不变, 一直到掉电模式被终止。只有VCC电压恢复到正常工作范围而且在振荡器稳定振荡后,通过硬件复位、掉电模式可被终止。
最新电子时钟基于AT89c51单片机设计电路图及程序
电子时钟基于AT89c51单片机的设计电子时钟原理图
开机显示仿真图: 当按下仿真键时电子时钟开机页面显示第一行显示JD12102Class--16,第二行显示动态TINE:12:00:04。
电子时钟调时间仿真图:当按下K1为1次时,光标直接跳到电子时钟的秒,可以按下K2进行调节。
当按下K1为2次时,光标直接跳到电子时钟的分,可以按下K2进行调节。
当按下K1为3次时,光标直接跳到电子时钟的时,可以按下K2进行调节。
当按下K1为4次时,光标直接跳完,电子时钟可以进行正常计时。
电子时钟闹钟调节仿真:当按下K3为1次时,直接跳到闹钟显示界面00:00:00,按下K2可以对闹钟的秒进行调节。
当按下K3为2次时,可以调到分,按下K2可以对闹钟的分进行调节。
当按下K3为3次时,可以调到时,按下K2可以对闹钟的时进行调节。
当按下K3为4次时,直接跳到计时界面,对闹钟进行到计时,时间到可以发出滴滴声。
#include
#define uchar unsigned char //预定义一下
#define uint unsigned int
uchar table[]="JD12102Class--21"; //显示内容
sbit lcden=P3^4; //寄存器EN片选引脚
sbit lcdrs=P3^5; //寄存器RS选择引脚
sbit beep=P3^6; //接蜂鸣器
extern void key1();
extern void key2();
extern void key3();
uchar num,hour=12,minite,second,ahour,aminite,asecond,a,F_k1,F_k2,F_k3; //定义变量void delay(uint z) //延时
基于AT89C51单片机的数字钟设计
( C o l l e g e o f P h y s i c s a n d E l e c t r o n i c E n g i n e e r i n g ,T a i z h o u U n i v e r s i t y ,T a i z h o u 3 1 8 0 0 0,C h i n a )
中 图分 类 号 :T P 3 6 8 . 1 文献 标 志码 :B d o i :1 0 . 3 9 6 9 / j . i s s n . 1 6 7 2— 4 5 5 0 . 2 0 1 3 . 0 2 . 0 1 6
De s i g n o f t h e Di g i t a l Cl o c k Ba s e d o n AT8 9 C5 1 S CM
用 ,有 着非 常 现实 的意 义 。
2 系统 硬 件 P r o t e l 9 9 S E电路 图
图2 是在 p r o t e l 9 9 s e 环境下完成 的。该电路主 要由单片机 p l口 8 位输 出,驱动 四连体数码管工 作 ,显示 相应 位 的时 间 。该 电路 具有 手动 清零 、校
应 用 ,使得 数 字钟 的精 度 ,远远 超过 老式 钟表 ,钟
表 的数 字化 给 人们 生产 生活 带来 了极 大 的方便 ,而 且 大 大地扩 展 了钟 表原 先 的报时 功能 ,诸 如定 时 自
at89c51最简单的应用电路及其程序编写
at89c51最简单的应用电路及其程序编写
文章标题:AT89C51最简单的应用电路及其程序编写
主题词:AT89C51、应用电路、程序编写
导语:
AT89C51是一款经典的单片机芯片,具有广泛的应用领域。本文将深入探讨AT89C51的最简单应用电路及其程序编写,旨在帮助读者全面、深入地理解这一主题。
一、AT89C51概述
AT89C51是一款8位微控制器,由恩智浦(NXP)公司生产。它采用MCS-51指令集架构,具有4KB的闪存和128字节的RAM,以及 32 个I/O 引脚,适用于各种嵌入式系统设计。作为一款经典产品,
AT89C51在工业控制、汽车电子、家用电器等领域都有着重要的应用。
二、AT89C51的最简单应用电路
针对AT89C51的最简单应用电路,我们选取了典型的晶振外部工作方式,以便展示AT89C51的基本工作原理。该电路包括AT89C51芯片、12MHz晶振、液晶显示模块、热敏电阻和数码管等元件。通过连接这些元件,我们可以实现一个简单的温度检测系统,并通过数码管显示
温度数值。
三、程序编写
在进行AT89C51程序编写时,我们需要首先了解MCS-51指令集的
基本结构和指令格式。根据我们设计的应用功能,编写相应的C语言
程序,并通过Keil C51等IDE软件进行编译和下载。在程序编写的过程中,我们需要充分考虑AT89C51的资源限制和时钟频率,以确保程序的稳定性和高效性。
四、个人观点和理解
作为一款经典的单片机芯片,AT89C51在嵌入式系统设计中具有重要的地位。通过设计简单的应用电路和进行程序编写,我们可以更好地
用单片机AT89C51设计一个2位的LED数码显示作为“秒表”—单片机课程设计
目录
一、设计题目和要求: (2)
二、设计目的: (2)
三、设计内容: (3)
四、课程设计心得体会 (25)
五、参考文献 (26)
六、课程设计指导教师评审标准及成绩评定 (27)
附件1:秒表原理图(实际接线图) (28)
附件2:仿真图1 (30)
附件3:仿真图2 (31)
一、设计题目和要求:
题目三:秒表
应用AT89C51的定时器设计一个2位的LED数码显示作为“秒表”:显示时间为00~99s,每秒自动加1,设计一个“开始”键,按下“开始”键秒表开始计时。设计一个“复位”键,按下“复位”键后,秒表从0开始计时。
任务安排:李座负责绘制电路原理图;梁宗林负责收集资料及电子版整理;付忠林负责程序和仿真。
二、设计目的:
1.进一步掌握AT89C51单片机的结构和工作原理;
2.掌握单片机的接口技术及外围芯片的工作原理及控制方法;
3.进一步掌握单片机程序编写及程序调试过程,掌握模块化程序设计方法;
4.掌握PROTEUS仿真软件的使用方法;
5.掌握LED数码管原理及使用方法。
6.掌握定时器、外部中断的设置和编程原理。
7.通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。
8.该课程设计通过单片机的定时器/计数器定时和计数原理,设计简单的计时器系统,拥有正确的计时、暂停、清零、复位功能,并同时可以用数码管显示。
三、设计内容:
了解8051芯片的的工作原理和工作方式,使用该芯片对LED数码管进行显示控制,实现用单片机的端口控制数码管,显示分、秒,并能用按钮实现秒表起动、停止、清零功能,精确到1秒。
基于单片机AT89C51控制的电子时钟_课题设计报告
课程设计报告论文题目单片机-电子钟
摘要
数字钟是一种用数字电路技术实现时、分、秒计时的装置,在现实生活中,各种数字钟已得到非常广泛的使用.数字钟的设计方法有许多种,例如可用中小规模集成电路组成数字钟,也可以利用好单片机来实现数字钟等。这些方法都各有特点,其中利用中小规模集成电路组建数字钟,原理简单,但由于集成电路集成度有限,对于需要实现较多功能的电路设计比较复杂,对于制作者焊接和布线有比较高的要求。用单片机实现的电子钟具有结构简单,并便于功能的扩展,但需要涉及到汇编以及C语言编写程序,对设计者有较高的要求。
1 引言
数字钟是采用数字电路实现对时、分、秒,数字显示的计时装置广泛用于个人家庭,车站,码头,办公室等公共场所,成为人民日常生活中不可少的必须品,由于数字集成电路的发展和石英振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生活带来极大的方便,而且大大地扩展了钟表原先的报时功能。比如定时自动报警,校时自动打铃,自动启闭路灯等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用有着非常现实的意义。
2.总体设计方案
2.1 系统设计方案
本次设计的题目是可以正常的显示时、分、秒。本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件,同时采用四位一体数码管动态显示“时”、“分”、“秒”的现代计时装置。它具有显示直观,校时功能等特点,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。
本次设计可分为两部分:硬件部分、软件部分。
基于51单片机的数字钟设计与制作
一.基于52单片机制作的数字钟
1.设计任务
⑴时间显示: 上电后,系统自动进入时钟显示,从00:00:00开始计时,此时可以设定当前时间.
⑵时间调整:按下k1,k2,k3键可以顺序设置秒、分、时,并在相应数码管上显示设置值,直至6位设置完毕。
2.系统基本方案选择和论证
本时钟的设计具体有两种方法。一是通过单纯的数字电路来实现;二是使用单片机来控制实现。本次设计选取了较为简单的单片机控制;而选择这一方法后还要进行各个芯片的选择。以下是我在这次设计中所用的方案。
2.1 芯片的选择
方案一:采用AT89C51芯片,其为高性能CMOS 8位单片机,该芯片内含有4k bytes的可反复擦写的只读程序存储器(PEROM)、128 bytes的随机存取数据存储器(RAM)、 32位可编程I/O口线、2个16位定时/计数器、6个中断源、可编程串行UART通道及低功耗空闲和掉电模式,但是由于AT89C51芯片可擦写的空间不够大,且中断源提供的较小,为防止运行过程中出现不必要的问题,我们不选用AT89C51。
方案二:采用AT89C52芯片,它除了具备AT89C51的所有功能与部件外,其最大的优势就是AT89C52提供了8K字节可擦写Flash闪速存储器空间、8个中断源、及256*8字节内部存储器(RAM),解决了我们对可反复擦写的Flash闪速存储器空间大小与中断源的不够问题的担心。
2.2显示模块选择方案和论证
方案一:采用LCD,电路比较简单,且在软件设计上也相对简单,具有低功耗功能。价格贵。
方案二:采用LED数码管显示,显示较为清楚。价格便宜。所以本方案采用LED数码管显示。
基于89C51单片机电子数字时钟的设计本科毕业论文
本科毕业论文
基于89C51单片机电子数字时钟的设计
目录
第一章第一章 电子时钟的总体设计电子时钟的总体设计 ....................................................................................................... ...................................................................................................... 44 1.1 设计目的设计目的
.......................................................................................................................... 4 1.1.1 课程设计课程设计 ............................................................................................................... 4 1.1.2 AT89C51芯片的串口功能芯片的串口功能
.................................................................................... 4 1.1.3用keil 软件进行编程与调试 .................................................................................. 4 1.2 设计任务设计任务 .......................................................................................................................... 4 1.3 设计思路设计思路
基于AT89C51控制的定时闹钟设计说明书
单位代码
学号 **********
分类号
密级
单片机应用技术课程设计
基于AT89C51单片机的定时闹钟设计
院(系)名称
专业名称
学生姓名
指导教师
2015 年月日
目录
1 概述 (1)
1.1 课程设计的目的和意义 (1)
1.2 设计要求 (1)
2 系统总体方案及硬件设计 (2)
2.1 系统设计原理 (2)
2.2 硬件设计 (2)
2.2.1 单片机AT89C51 (2)
2.2.2 显示器的选择 (4)
2.2.3 控制按键的选择 (5)
2.2.4 时钟电路 (6)
2.2.5 喇叭:SPEAKER (6)
3 系统软件设计 (8)
3.1 系统软件设计说明 (8)
3.2 程序流程图 (9)
3.2.1 程序主流程图 (9)
3.2.2 时间设定设计 (9)
3.3 程序调试 (10)
3.4 仿真步骤 (11)
3.5 仿真结果 (11)
4 课程设计体会 (14)
参考文献 (15)
附1源程序代码 (16)
附2系统原理图 (29)
1.概述
1.1课程设计的目的和意义
课程设计是在学完《单片机原理及接口技术》课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现,从而加深对单片机,软硬知识的理解,获得初步的应用经验,使对已学过的基础知识能有更深入的理解,学会独立思考、独立思考、独立工作,以及提高对所学应用基本理论分析和解决实际问题的能力。为走出校门从事单片机应用的相关工作打下基础.
1.2 设计要求
1)能显示:时时—分分—秒秒。
2)能够设定定时时间、修改定时时间。
3)定时时间到能发出报警声。
设计的部分分为软件及硬件,软件部分写出闹钟的工作方式以及它是如何工作的,而硬件部分是软件的载体,画出正确的电路图然后在软件的控制下能使设计的定时闹钟正常工作。
基于AT89C51单片机的数字电子时钟设计
/安徽工程大学机电学院
单片机课程设计
题目:数字电子时钟设计
指导老师:***
制作人员:范超
学号:************
班级:自动化2132
日期:7月13日-7月24日
总评成绩:
课程任务设计书
设计题目:数字电子时钟的设计
设计任务:
1.设计一款时,分,秒可调数字电子时钟可整点报时;
2.设计三个按键K1,K2和K3,用于调节时钟的时间;
3.用8个、七段LED数码管作为显示设备,开机显示00-00-00;
本设计采用AT89C51单片机为核心器件。具有电子钟显示,时间调整,整点报时等功能。此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。根据60秒为一分、60分为1小时的计数周期,构成秒、分、时的计数,实现计时的功能。而且能显示清晰、直观的数字符号。针对数字钟会产生误差的现象,就设计有校准时间的功能。
AT89C51单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为24时00分00秒,另外应有校时功能。电路由时钟脉冲发生器、时钟计数器、译码驱动电路和数字显示电路以及时间调整电路组成。用晶体振荡器产生时间标准信号,这里采用石英晶体振荡器。根据60秒为1分、60分为1小时、24小时为1天的计数周期,分别组成两个60进制(秒、分)、一个24进制(时)的计数器。显示器件选用LED八段数码管。在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路。
51电子时钟 说明书
摘要
现代生活的人们越来越重视起了时间观念,可以说是时间和金钱划上了等号。对于那些对时间把握非常严格和准确的人或事来说,时间的不准确会带来非常大的麻烦,所以以数码管为显示器的时钟比指针式的时钟表现出了很大的优势。本次设计主要对电子时钟进行设计,采用AT89C51单片机来保证电子时钟的工作,并用LED数码管时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
Abstract
Modern life of people more and more attention to the concept of time, can be said to be the time and money is a sign. For those who hold the person or thing is very strict in time and accurately, the time of inaccurate will bring great trouble, so as to control the display of digital clock than the clock pointer showed a big advantage. The design of the main design of the electronic clock, use AT89C51 microcontroller to ensure the electronic clock, and the LED digital tube, FENs and MIAOs, 24 SHIs timer mode, according to digital control theory to dynamic display to display, use the 12MHz crystal oscillation pulse, the timer count. In this design, the circuit has its time the function, but also can achieve the adjustment of time.
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广东石油化工学院
《51单片机原理与实践》课程设计报告
学院计算机与电子信息学院
专业
班级
学号
姓名
指导教师
课程成绩
完成日期 2010年12月27日
数码管时钟电路的设计
一、设计目的:
通过这次课程设计掌握单片机系统的基本设计步骤及设计思路,掌握汇编语言的用法及各种指令的含义,比较熟练的运用指令进行单片机系统的设计的,熟悉用KEIL软件进行汇编语言的汇编,以及把代码写入实验板中,观测代码结合实际的运行结果后进行调整,体会到编程的分析问题、确定算法、画程序流程图、编写程序、程序功能模块化的优点的各各步骤。
二、设计要求:
LED数码管时钟电路采用24h计时方式,时、分、秒用六位数码管显示。该电路采用AT89C2051单片机,使用3V电池供电,只使用一个按键开关即可进入调时、省电(不显示LED数码管)和正常显示三种状态。
三、设计实验内容:
1. 硬件的设计
其采用AT89C51单片机应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P2口输出位码数据,P1.1、P1.2接按钮开关。为了提供LED数码管的驱动电流,采用6MHz晶振。
2. 系统总体分析
系统主要包含四大模块:显示模块、时间计时模块、模式切换模块和模式设置模块。
显示模块:主要由主循环负责。内存中开辟了一段8字节的内存空间,
用作数据显示的字符缓冲区。主循环不断将缓冲区中的字符呈现至数码管。 ● 时间计时模块:电子钟的核心模块,记录了时间的时、分、秒信息。 ●
模式切换模块(MODE ):切换电子钟的设置模式,包括时设置、分设置、秒设置、闹铃开关设置、闹铃时设置和闹铃分设置。相关数据被设置时将闪烁显示。
●
模式设置模块(CONFIG ):通过判断设置模式(MODE ),执行相应的设置。如时、分、秒的增1以及闹铃开关的变换。
另外,主循环还负责扫描键盘,检测相应键是否被按下,若MODE 键被按下则在特定单元中登记该功能,并启动定时器1,然后返回继续执行显示功能。在定时器1中断时,被登记的功能正式执行。期间用时约10ms ,用以消除机械抖动。
主循环流程图大致如下:
图(一)主循环流程图
定时器1中断服务程序流程图如下:
开始
键被按下
登记相应功能
数码管显示
是
否
定时器1中断
MODE CONFIG
logf unc = ?
执行MODE 执行CONFIG
结束
图(二)定时器1中断服务程序流程图
3. 系统主要程序的设计
1)主程序
本设计中的主程序主要负责对键盘扫描及显示数据,还包括判断是否闹钟正在活动。若键盘中的P1.6(模式键)或P1.7(设置键)被按下,登记将被执行的功能,主循环不负责功能模块的执行。若闹钟正在活动,调用蜂鸣函数。其中bPalse标识了一秒的前半秒和后半秒,是为了控制显示数据的半秒闪烁。主函数还包含初始化操作,以下省略。
loop:
MOV B, #01111111B;位选通信号
MOV R0, #prebuf - 01H ;数据缓冲区
nextnu m:
ACALL keyscan ;扫描键盘
INC R0
MOV A, @R0
PUSH ACC
MOV A, B
RL A
MOV B, A
JB b Palse, show
OR L A, dmask
JNB bAlaIng, show
MOV led, #0FFH
ACALL beeponce 若闹铃活动,调用蜂鸣函数
DEC SP
show:
PUSH ACC
ACALL displayone 在特定数码管显示数据。
DEC SP
DEC SP
ACALL delay
CJNE R0, #prebufend, nextnu m
SJMP loop
keyscan:
JNB keym, keymode ;若切换键被按下,登记“切换”功能
JNB keyc, keyconf ;若设置键被按下,登记“设置”功能
RET
;=====================
;
;log fu nction 'mode'
;
;=====================
keymode:
MOV funclog, #01H ;key act
ACALL funcperform ;激活“功能执行模块”(见下文),
RET
;=====================
;
;log fu nction 'config'
;
;=====================
keyconf:
MOV funclog, #02H
ACALL funcperform ;激活“功能执行模块”(见下文)
RET
2)显示子程序
在特定数码管显示数据,通过堆栈传递参数。
第一个参数是待显示的字符,第二个参数是位选通信号。函数通过查字形码表将字形显示至数码管。
displayone:
PUSH ACC
PUSH PSW
MOV A, R0
PUSH ACC
PUSH B
MOV PSW, #00H
MOV A, SP
SUBB A, #07H
MOV R0, A
MOV A, @R0
INC R0
MOV B, @R0