51单片机做数字电子钟
51单片机做数字电子钟悬赏分:10 - 解决时间:2009-7-5 17:42设计一个数字电子钟,要求可以进行时、分、秒显示,最大显示时间为23:59:59,并且可以通过按键进行时、分调整。
画出硬件连接电路图,说明各个控制信号的作用。
画出程序流程图,编写程序,硬件连接调试,直至正确。
编写课程设计报告。
3、给定条件在Dais-52PH+单片机实验箱中,有一片8155芯片用于扩展3×3键盘,还具有6位LED 数码显示器,可分别用于按键和显示控制。
在PC机上调试可使用MCS51仿真开发系统。
数字电子钟的工作过程为:从00:00:00(时:分:秒)开始计时,以24小时为一循环,最大计时时间为23:59:59。
当需要校正时间时,按下调整键,小时的十位闪烁,等待键入新值,若需调整则按下加1按键,数值以秒为单位自动加1,当十位调整好后,按下确认键确认,然后小时的个位闪烁,等待键入新值,按照十位的调整步骤调整时间,并按下确认键确认,当确认后,分钟的十位开始闪烁,等待键入新值,分钟的十位和个位调整过程与小时调整一样,只是当分的个位调整好后,按下确认键即启动计时。
数字电子钟是以1s为最小定时单位的,51单片机自身具有两个16位定时/计数器,当晶振频率为6MHz时,最大定时时间为0.13s。
而具有时、分和秒的数字电子钟只能以1s定时,所以要实现实现1s定时,必须采用软件计数和定时器定时相结合的方法。
每1s定时到,修改显示值,送6位LED显示。
本课题需用6个LED数码管显示时间值,并且需调整键、加1键、确认键等控制键。
在Dais-52PH+单片机实验箱中,6位LED数码显示器的字形口地址为0FFDCH,字位口地址为0FFDDH,字形表和字位表见附录一。
可通过8155可编程接口芯片驱动的3×3键盘实现按键控制(具体电路参考课题一数字秒表)。
8155的PC0~PC2为3×3键盘的行扫线,PB0~PB2为3×3键盘的列扫线,键盘工作过程为:单片机从8155的PB0~PB2送出全零,并从PC0~PC2读入数据,当PC0~PC2≠000时,表明有键按下,则逐行从PB0~PB2送出零,再从PC0~PC2口读入,最终确定按键位置和键值,此后,转入相应的按键处理程序,修改显示缓冲区内容。
提问者:wangalong211 - 一级最佳答案源程序如下: ORG 0000H ;程序开始入口LJMP STARTORG 0003H ;外中断0中断程序入口RETIORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 0013H ;外中断1中断程序入口RETIORG 001BH ;定时器T1中断程序入口LJMP INTT1ORG 0023H ;串行中断程序入口地址RETI;---------------主程序----------------------;START:MOV R0,#70H ;70给R0,清70-7FH显示内存MOV R7,#0FHCLEARDISP:MOV @R0,#00H ;0给R0中的数为地址的内存中存放(70H)INC R0DJNZ R7,CLEARDISPMOV 78H,#2 ;默认时间为12:00,闹钟5:00MOV 79H,#1MOV 74H,#2 ;防止上电时数码管显示00小时MOV 75H,#1MOV 66H,#1 ;中断退出时66H为1时,分、时计时单元数据移入显存标志MOV 68H,#1 ;上电默认闹钟开状态MOV 7DH,#6 ;闹钟时十位MOV 7CH,#3MOV 69H,#0MOV 7AH,#0AH ;放入"熄灭符"数据MOV TMOD,#11H ;设T0、T1为16位定时器MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CHSETB EA ;总中断开放SETB ET0 ;允许T0中断SETB TR0 ;T0定时器开始计时MOV R4,#14H ;1秒定时用初值(50MS×20)START1:LCALL DISPLAY ;显示子程序LCALL BEEP ;闹钟查询JNB P1.7,SETTIME ;P1.7口为0时转时间调整程序JMP START1 ;P1.7口为1时跳回START1;-----------------------时间闹钟调整系统--------------------------;NFLAG:MOV A,68H ;设置闹钟开关状态CJNE A,#1,BEE68MOV 68H,#0JMP E6BEE68:MOV 68H,#1E6:MOV 66H,#8 ;中断退出66H不为1时分、时计时单元数据移入显存标志MOV 72H,7BHMOV 73H,7CHMOV 74H,7DHMOV 75H,7EHLCALL DDLLCALL DDLMOV 72H,68HMOV 73H,69HMOV 74H,7AHMOV 75H,7AHLCALL DDLLCALL DDLMOV 66H,#1LJMP START1SETTIME:LCALL DDLJB P1.7,NFLAG ;键按下时间小于1秒,设置闹钟开关状态并查看闹钟时间,不关走时,确保准确,大于1秒调时MOV TL1,#0B0H ;T1闪烁定时初值MOV TH1,#3CHMOV R2,#06H ;进入调时状态,赋闪烁定时初值MOV 66H,#8 ;调闹钟时保持走时,关闭时钟显示数据SETB ET1 ;允许T1中断SETB TR1 ;开启定时器T1SET1:LCALL DISPLAY ;调用显示,防止键按下无显示JNB P1.7,SET1 ;P1.7口为0等待键释放MOV R5,#00H ;清设置类型闪烁标志SETN1:INC R5 ;闹钟分调整SET5:LCALL DISPLAYJB P1.7,SET5SEETN1:LCALL DDL ;有键按下大于1秒分时间连续加(0.5秒加1),小于1秒转调时状态JB P1.7,SET6 ;键释放查询,键释放自动转调时MOV R0,#7CHLCALL ADD1MOV A,R3CLR CCJNE A,#60H,HHN1HHN1:JC SEETN1LCALL CLR0JMP SEETN1SET6:INC R5 ;闹钟时调整SEET6:LCALL DISPLAYJB P1.7,SEET6SEETNH1:LCALL DDLJB P1.7,SETFMOV R0,#7EHLCALL ADD1MOV A,R3CLR CCJNE A,#24H,HOUU1HOUU1:JC SEETNH1LCALL CLR0JMP SEETNH1SETF:LCALL DISPLAYJB P1.7,SETFLCALL DDLJNB P1.7,SETOUT ;短按调时,长按退出CLR ET0CLR TR0MOV 70H,#00H ;设定后的时间从00秒开始走时 MOV 71H,#00HINC R5SET3:LCALL DISPLAYJB P1.7,SET3SETMM:LCALL DDLJB P1.7,SET4MOV R0,#77H LCALL ADD1MOV A,R3CLR CCJNE A,#60H,MMHMMH:JC SETMMLCALL CLR0AJMP SETMMSET4:INC R5SEET4:LCALL DISPLAYJB P1.7,SEET4SETHH:LCALL DDLJB P1.7,SETOUT1 MOV R0,#79HLCALL ADD1MOV A,R3CLR CCJNE A,#24H,HOUUHOUU:JC SETHHLCALL CLR0AJMP SETHHSETOUT1:SETB ET0SETB TR0 ;计时开始SETOUT:MOV R5,#00H ;清设置类型闪烁标志CLR TR1 ;关闭T1CLR ET1 ;关T1中断MOV 66H,#1SETOUT2:LCALL DISPLAYJNB P1.7,SETOUT2LJMP START1;--------------------------延时1秒钟-----------------------;DDL:MOV 18H,#36DDL0:MOV 17H,#239DDL1:LCALL DISPLAYDJNZ 17H,DDL1DJNZ 18H,DDL0RET;----------------------------T0中断程序------------------------; INTT0: PUSH ACC ;打包PUSH PSWCLR ET0CLR TR0MOV A,#0B7HADD A,TL0MOV TL0,AMOV A,#3CHADDC A,TH0MOV TH0,ASETB TR0DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值MOV R0,#71H ;指向秒计时单元(70-71H)ACALL ADD1 ;调用加1程序(加1秒操作)MOV A,R3 ;秒数据放入A(R3为2位十进制数组合)CLR C ;清进位标志CJNE A,#60H,ADDMMADDMM: JC OUTT01 ;小于60秒退出ACALL CLR0 ;等于或大于60秒清0MOV R0,#77H ;指向分计时单元(76H-77H)ACALL ADD1MOV A,R3CLR CCJNE A,#60H,ADDHHADDHH: JC OUTT0ACALL CLR0MOV R0,#79H ;指向小时计时单元(78H-79H)ACALL ADD1MOV A,R3CLR CCJNE A,#24H,HOURHOUR: JC OUTT0ACALL CLR0OUTT0: MOV A,66H ;查询标志CJNE A,#1,OUTT01MOV 72H,76H ;中断退出时将分、时计时单元数据移入对应显示单元MOV 73H,77HMOV 74H,78HMOV 75H,79HOUTT01:POP PSW ;出栈POP ACCSETB ET0 ;开放T0RETI ;中断返回;---------------------------加1程序--------------------------;ADD1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位 ADD A,#01H ;A加1操作DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RETCLR0: CLR CCLR A ;清累加器MOV @R0,A ;清当前地址单元DEC R0 ;指向前一地址MOV @R0,A ;前一地址单元清0RET ;子程序返回;-------------------------调时闪烁程序----------------------;INTT1: PUSH ACCPUSH PSWMOV TL1,#0B0HMOV TH1,#3CHDJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)MOV R2,#06H ;重装0.3秒定时用初值CPL 02H ;0.3秒定时到对闪烁标志取反JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"MOV A,R5CJNE A,#01H,NLJMP NNN1NL:CJNE A,#02H,NL1LJMP NNN1NL1:CJNE A,#03H,NL2LJMP NLLNL2:CJNE A,#04H,INTT1OUTLJMP NLLMOV 73H,77HMOV 74H,78HMOV 75H,79HAJMP INTT1OUTNNN1:MOV 72H,7BHMOV 73H,7CHMOV 74H,7DHMOV 75H,7EHINTT1OUT:POP PSW ;恢复现场 POP ACCRETI ;中断退出FLASH1:MOV A,R5CJNE A,#01H,MLLJMP MNN1ML:CJNE A,#02H,ML1LJMP MNN2ML1:CJNE A,#03H,MNLJMP MLLMN:CJNE A,#04H,INTT1OUTLJMP MHLMOV 73H,7AH ;显示单元(72-73H),将不显示分数据MOV 74H,78HMOV 75H,79HAJMP INTT1OUTMHL:MOV 72H,76HMOV 73H,77HMOV 74H,7AH ;显示单元(74-75H),小时数据将不显示MOV 75H,7AHAJMP INTT1OUTMNN1:MOV 72H,7AHMOV 73H,7AH ;显示单元(72-73H),将不显示闹钟分数据MOV 74H,7DHMOV 75H,7EHAJMP INTT1OUTMNN2:MOV 72H,7BHMOV 73H,7CHMOV 74H,7AHMOV 75H,7AH ;显示单元(74-75H),闹钟小时数据将不显示AJMP INTT1OUT;-------------------------显示-------------------------------; DISPLAY:MOV DPTR,#DISDATAMOV A,70HMOVC A,@A+DPTRMOV P3,ACLR P1.0NOPNOPNOPSETB P1.0MOV A,71HMOVC A,@A+DPTRMOV P3,ACLR P1.1NOPNOPNOPSETB P1.1MOV A,72HMOVC A,@A+DPTRCLR P1.2NOPNOPNOPSETB P1.2MOV A,73HMOVC A,@A+DPTR MOV P3,ACLR P1.3NOPNOPNOPSETB P1.3MOV A,74HMOVC A,@A+DPTR MOV P3,ACLR P1.4NOPNOPNOPMOV A,75HMOVC A,@A+DPTRMOV P3,ACLR P1.5NOPNOPNOPSETB P1.5RETBEEP:MOV A,68H ;查询标志CJNE A,#1,BEEREMOV A,78H ;查询闹钟时个位 CJNE A,7DH,BEEREMOV A,79H ;查询闹钟时十位 CJNE A,7EH,BEEREMOV A,76H ;查询闹钟分个位 CJNE A,7BH,BEEREMOV A,77H ;查询闹钟分十位 CJNE A,7CH,BEEREBB:CLR P1.6SETB P1.6LCALL DDLJNB P1.7,BEERRBEERE:RETBEERR:SETB P1.6MOV 68H,#0LCALL DISPLAYJNB P1.7,BEERRJMP BEEREDISDATA:DB 0C0H,0F9H,64H,70H,59H,52H,42H,0F8H,40H,50H,0FFH ;0123456789空白。
基于C51单片机的数字时钟课程设计(C语言,带闹钟).
单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。
所以设计一个简易数字电子钟很有必要。
本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。
该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。
具有时间显示、整点报时、校正等功能。
走时准确、显示直观、运行稳定等优点。
具有极高的推广应用价值。
关键词:电子钟 AT89C52 硬件设计软件设计目录一、数字电子钟设计任务、功能要求说明及方案介绍 (4)1.1 设计课题设计任务 (4)1.2 设计课题的功能要求说明 (4)1.3 设计课的设计总体方案介绍及工作原理说明 (4)二、设计课题的硬件系统的设计 (5)2.1硬件系统各模块功能简要介绍 (5)2.1.1 AT89C52简介 (5)2.1.2 按键电路 (6)三、设计课题的软件系统的设计 (6)3.1 使用单片机资源的情况 (6)3.2 软件系统个模块功能简要介绍 (7)3.3 软件系统程序流程框图 (7)3.4 软件系统程序清单 (7)四、设计课题的设计结论、仿真结果、误差分析 (9)4.1 设计结论及使用说明 (9)4.2 仿真结果 (10)结束语 (12)参考文献 (12)附录 (13)附录A:程序清单 (13)一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。
具有时间显示,并有时间设定,时间调整功能。
1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。
【精品完整版】基于51单片机的数字电子钟设计
日期:
巢湖学院本科毕业论文(设计)使用授权说明
本人完全了解巢湖学院有关收集、保留和使用毕业论文(设计)的规定,即:本科生在校期间进行毕业论文(设计)工作的知识产权单位属巢湖学院。学校根据需要,有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业论文(设计)被查阅和借阅;学校可以将毕业论文(设计)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业,并且本人电子文档和纸质论文的内容相一致。
保密的毕业论文(设计)在解密后遵守此规定。
本人签名:
日期:
导师签名:
日期:
基于51单片机的数字电子钟设计
摘要
随着时代的发展,生活节奏的加快,人们的时间观念愈来愈强,同时伴随着自动化、智能化及微电子技术的发展,人们用于计时的工具也在不断的更新,单片机等技术的出现使得数字电子钟有了新的发展方向。基于此本设计以单片机STC89C52为控制核心,采用美国DALLAS公司生产的实时时钟芯片DS12C887和液晶芯片LCD1602,该设计具有电路设计简单,结构合理,能够精确显示时间、星期、日期等优点,并且能够实时更新显示。本设计同时具有闹铃设置功能以及到时报警功能,按键操作简单方便。更重要的是时钟芯片DS12C887具有误差小,内部自带锂电池使得断电时时间不停,再次上电后时间仍然能够准确显示在液晶上的特点。
而且在许多监控系统及电子设备中,往往会进行一些与时间相关的控制与操作,同时需要记录下实时的时间信息并保存下来。例如,在某些数据采集时,对于一些重要的信息不仅要记录下其内容,还要记录下发生该事件时的准确时间;又比如,在建筑视频安防监控系统中,除了要显示实时画面外,还要准确记录下实时的时间信息,其中包括年、月、日、时、分、秒等。传统的计时时钟已不能满足上述要求,为了达到上述目的,就需要实时时钟的参与配合。基于STC89C52单片机为核心的电子钟就可以满足上述要求,为了避免偶然的掉电或晶振的误差造成时间的混乱以及完全用程序设计从而占用大量的系统资源而影响系统其他功能的运行,外加一块独立运行的实时时钟芯片DS12C887,同时配合相应的程序就可以实现上述目的。因此,研究数字电子钟以及扩大其作用,有着非常现实重要的意义。
(完整word版)C51单片机实现电子闹钟
课程名称:单片机原理与接口技术实践设计课题:基于MCS 51单片机实现电子闹钟功能的设计学院:电子与信息工程学院专业:通信工程小组成员:电子闹钟在科学技术高度发展的今天,千家万户都少不了它,所以很多家庭个人都需要有一个电子闹钟,为人们提供报时方便,但普通电子闹钟不够方便实用。
本文给出了一种基于MCS51单片机实现电子闹钟功能的设计方法,从而给人们带来更为方便的工作与生活。
一.电子闹钟简介我们设计的电子闹钟是以MCS 51单片机中的计时器作为时钟,用8位数码管显示当前时间,并且可以设置闹钟时间,并在设置的时间点发出闹铃。
简易闹钟具有以下功能:1.时钟能准确地走时,并可以通过数码管进行显示2.复位后可以进行当前时间的设置3.可以随意设置闹钟时间,闹钟会在设置时间响铃整个系统的任务要求:1)输入数字按键的功能。
保证数字的输入。
2)复位电路的功能。
所有时间回到初始化状态,用于启动设定时间参数(调时或设定闹钟时间);3)显示电路的功能。
当输入数字时显示24小时时间功能。
4)闹铃功能设置闹铃的时间后.能按设置好的时间准时闹铃。
二.系统方案的设计要求根据以上各模块并结合显示屏的功能及元器件材料的情况,决定采用AT89C51为内核显示设计方案。
先进行系统的整体规划确定整个系统的功能,然后按照每个功能的具体要求,进行各个模块的实物设计并逐个调试,待全部通过后,进行整个系统的联调,最终实现一个完整的系统。
整个系统的设计步骤如下:在单片机最小系统的基础上,完成按键电路和复位电路的设计。
完成显示电路、数字按键、单片机时钟电路。
Ⅰ硬件设计系统硬件的设计可以根据系统的各个功能,把整个系统划分成若干个模块,分别对这些模块来进行设计,然后在通过单片机程序来实现对各个硬件模块功能的调度。
本系统涉及到的硬件模块有:按键电路、数码管显示电路、单片机时钟电路、蜂鸣器电路。
各部分实现功能如下:按键电路:提供按键信号。
单片机时钟电路、复位电路:提供内部时钟。
基于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单片机的工作原理基于冯诺伊曼体系结构,即程序指令和数据存储在同一块存储器中,通过总线系统进行传输。
DIY基于51单片机的旋转LED数字电子钟
标签:DIY基于51单片机的旋转LED数字电子钟(红外线遥控调时)在网上看到不少老外做的各种旋转LED显示屏,非常COOL,我也动手用洞洞板试做了一个类似的显示屏,结果感觉还不错。
于是再接再励继续努力,将作品进一步改进,完善后制成如今这个样子。
由于刚学51单片机,加上制作电路板软件也是从零开始,的确花了我不少的时间和精力。
不过也就是在这艰难的独立制作中,真正学到了不少实在的东西。
本项目的关键是如何解决高速旋转的电路板如何供电,如何调时的问题。
我采用电机电刷的原理,将旋转轴钻空,通过一只插头将电源的从反面引到前面的电路板上,而这个旋转的插头又与固定在背板上的两个铜片接触的。
调时的问题有些困难,一是让电路板在旋转前与PC机相接,由电脑传送调时数据,这虽然可行但不方便。
还有就是用遥控方法,但此方案在调试方面有很大的困难。
显示方式上,我采用平衡式的两排LED,这除了在旋转时能较好的保持平衡外,主要能利用两边交替显示方式,比单排要快一倍。
本装置不仅是一个时钟,它还可以动态显示汉字及图案,这就看如何发挥了。
其具体制作过程如下:一。
旋转电机的制作从制作成本与方便考虑,选用旧电脑用的大软驱上的直流无刷电机,只是对局部进行改造。
就是这种古董软驱软驱上的直流无刷电机拆开后的电机仔细拆开直流电机,将带圆盘的铝轴从中开孔,让它刚好能插入一个插头。
将旋转轴加工成这样装配好以后按拆开时的顺序,反序将轴安装直流电机上。
电机装配完成后用两片铜片做的电刷电刷装好后的侧面图将电路板上较突出的元件改焊在反面,电机的电源接法。
从电路板标注的符号看,“+”为电源正,“G”为电源负,“C”与“M”端分别与电源正相连匀可使电机运转将一张旧唱片按电机座的位置开孔,而定位用的挡光板应根据电路板上感光组件的位置确定。
二。
电路板的制作本制作品用51单片机控制,具体电原理图如下:用Protel 99设计制作了电路板。
最后得到完成的作品。
遥控器用的是松下车载机的,只用了其中的六个键。
基于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次。
5. 为了保证计时准确、稳定,由晶体振荡器提供标准时间的基准信号。
二、设计要求:1. 画出总体设计框图,以说明数字钟由哪些相对独立的块组成,标出各个模块之间互相联系,时钟信号传输路径、方向和频率变化。
并以文字对原理作辅助说明。
2. 设计各个功能模块的电路图,加上原理说明。
3. 选择合适的元器件,在面包上接线验证、调试各个功能模块的电路,在接线验证时设计、选择合适的输入信号和输出方式,在充分电路正确性同时,输入信号和输出方式要便于电路的测试和故障排除。
基于51单片机的数字电子时钟设计
课程设计任务书摘要数字钟因其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。
单片机为基础上设计出来的数字时钟数字钟,在日常生活中最常见,应用也最广泛。
本次课程设计的时钟就是以STC89C52单片机为核心,配备LED显示模块、时钟模块、等功能模块的数字电子钟。
采用24小时制方式显示时间。
文章主要从硬件设计和软件编程两个大的方面。
硬件电路设计主要包括中央处理模块、时钟模块,显示模块等几部分。
时钟电路采用DS1302芯片,并选用LED显示器。
软件方面用keil C语言来实现。
软硬件配合,达到电子时钟精准的显示。
关键字:单片机,时钟模块,精准目录1绪论 (2)1.1设计概述 (2)1.2技术简述 (2)1.3本课题的背景 (3)1.4本课题的意义 (3)2系统设计 (4)2.1设计目的 (4)2.2设计功能及要求 (4)2.3设计思路 (4)2.4硬件方案 (4)2.4.1时钟芯片的选择 (5)2.4.2显示屏的选择 (5)2.4.3单片机的选择 (5)2.5软件方案 (5)2.6整体方案 (6)2.7元器件清单 (6)3硬件设计 (7)3.1单片机最小系统 (7)3.1.1时钟电路 (7)3.1.2复位电路 (8)3.2时钟电路 (8)3.3电源电路 (9)3.4系统整体电路 (9)3.5系统仿真 (10)3.6硬件制作 (10)4软件设计 (11)4.1程序设计步骤 (11)4.2系统主程序 (11)4.3时钟模块子程序 (12)4.4显示模块子程序 (12)4.5主程序 (13)5联机调试 (14)6总结 (15)7参考文献 (16)1绪论1.1设计概述在单片机技术日趋成熟的今天,其灵活的硬件电路和软件程序的设计,使单片机得到广泛的应用,从小的电子产品,到大的工业控制,单片机都起到了举足轻重的作用。
数字电子时钟是基于单片机和DS1302时钟芯片的一种计时工具。
基于51单片机的电子时钟设计
基于51单片机的电子时钟设计51单片机是一种广泛应用于嵌入式系统的微控制器,由于其性能稳定、易于编程和成本相对较低的特点,被广泛应用于各种电子设备中。
在现代社会,电子时钟已经成为人们日常生活中不可或缺的工具。
随着科技的不断发展,电子时钟在功能和外观上都得到了极大的提升,如今的电子时钟不仅可以显示时间,还能设置闹钟、定时、显示温湿度等功能。
本文通过对51单片机的应用和实践,设计了一款功能丰富的电子时钟,旨在探讨如何利用51单片机实现电子时钟的设计与制作过程。
首先,我们将介绍51单片机的基本原理和特点。
51单片机是一种8位微控制器,由Intel公司于1980年推出,至今已有数十年的历史。
它采用哈佛结构,具有较高的工作速度和稳定性,适合用于各种嵌入式系统。
51单片机的指令系统简单,易于学习和掌握,因此被广泛用于各种嵌入式应用中。
除此之外,51单片机的外围设备丰富,可以通过外部扩展模块实现各种功能,如串口通信、定时器、数模转换等,这也为我们设计电子时钟提供了便利。
其次,我们将详细介绍基于51单片机的电子时钟的设计和实现过程。
电子时钟主要由时钟模块、显示模块、闹钟模块等部分组成,通过合理的接线和程序设计实现各种功能。
首先,我们设计时钟模块,通过外部晶振产生时钟信号,并利用51单片机的定时器模块实现时间的精确计算和显示。
同时,我们还设计了显示模块,采用数码管或液晶屏显示时间和日期信息,通过数字或字符的组合,使信息直观清晰。
此外,闹钟模块也是电子时钟的重要功能之一,我们可以设置闹钟时间,并在设定时间触发闹钟功能,提醒用户。
通过合理的程序设计,我们可以实现电子时钟的各种功能,并提升用户体验。
最后,我们将讨论基于51单片机的电子时钟在实际生活中的应用前景和发展趋势。
随着智能家居的快速发展,电子时钟作为家庭必备的电子设备,其功能和外观需求也在不断提升。
未来,基于51单片机的电子时钟将会更加智能化,可以与手机、电视等智能设备联动,实现更多个性化的功能。
51单片机里电子时钟设计原理
51单片机里电子时钟设计原理单片机是一种集成电路芯片,具有微处理器的所有功能。
电子时钟是一种通过数字化方式显示时间的装置,通常由时钟芯片、计时电路、显示电路、报警电路等组成。
在51单片机中设计电子时钟,主要包括以下几个方面的原理。
1.时钟芯片选择:选择一款适合的时钟芯片非常重要。
时钟芯片提供了计时的稳定性和精度,并且具有时间数据的存储功能。
在51单片机设计中,常常使用DS3231、DS1302等高性能的时钟芯片。
2.计时电路设计:计时电路是电子时钟的核心部分,它通过计数器实现时间的累加。
在51单片机设计中,可以使用定时器和计数器来实现计时功能。
通过设定定时器的工作模式和计数值,可以实现从1ms到秒、分、时的计时。
3.显示电路设计:显示电路用于将计时电路的计时结果以数字形式显示出来。
通常使用数码管或液晶显示屏作为显示装置。
在51单片机设计中,通过控制数码管或液晶显示屏的引脚,将对应的数字段点亮,实现数字的显示。
4.按键输入设计:电子时钟通常具有设置时间、调整时间、报警等功能。
这些功能需要通过按键来实现。
在51单片机设计中,可以使用矩阵按键,通过行列扫描的方式检测按键的按下,并根据按键的不同触发不同的功能。
5.报警电路设计:电子时钟通常具有报警功能,可通过蜂鸣器或其他音频输出装置实现。
在51单片机设计中,通过控制IO口的高低电平输出,控制蜂鸣器的工作状态,从而实现报警功能。
6.软件设计:单片机的设计离不开软件的支持。
在51单片机设计中,通常使用C语言编程,通过编写程序来实现各个功能的控制。
根据需求,设计相应的算法和逻辑,实现时间的计算、显示、设置和报警等功能。
以上是51单片机中设计电子时钟的一些原理。
通过合理的硬件设计和软件编程,可以实现功能齐全、稳定可靠的电子时钟。
基于51单片机的简易电子钟设计
基于51单片机的简易电子钟设计一、设计目的现代社会对于时间的要求越来越精确,电子钟成为家庭和办公场所不可缺少的设备之一、本设计基于51单片机,旨在实现一个简易的电子钟,可以显示当前的时间,并且能够通过按键进行时间的调整和设置闹钟。
二、设计原理本设计主要涉及到51单片机的IO口、定时器、中断、LCD显示技术等方面知识。
1.时钟模块时钟模块采用定时器0的中断进行时间的累加和更新。
以1秒为一个时间单位,每当定时器0中断发生,就将时间加1,并判断是否需要更新小时、分钟和秒的显示。
同时,根据用户按键的操作,可以调整时间的设定。
2.显示模块显示模块采用16x2字符LCD显示屏,通过51单片机的IO口与LCD连接。
可以显示当前时间和设置的闹钟时间。
初次上电或者重置后,LCD显示时间为00:00:00,通过定时器中断和键盘操作,实现时间的更新和设定闹钟功能。
3.键盘模块键盘模块采用矩阵键盘连接到51单片机的IO口上,用于用户进行时间的调整和设置闹钟。
通过查询键盘的按键状态,根据按键的不同操作,实现时间的调整和闹钟设定功能。
4.中断模块中断模块采用定时器0的中断,用于1秒的定时更新时间。
同时可以添加外部中断用于响应用户按键操作。
三、主要功能和实现步骤1.系统初始化。
2.设置定时器,每1秒产生一次中断。
3.初始化LCD显示屏,显示初始时间00:00:00。
4.查询键盘状态,判断是否有按键按下。
5.如果按键被按下,根据不同按键的功能进行相应的操作:-功能键:设置、调整、确认。
-数字键:根据键入的数字进行时间的调整和闹钟设定。
6.根据定时器的中断,更新时间的显示。
7.判断当前时间是否与闹钟设定时间相同,如果相同,则触发闹钟,进行提示。
8.循环执行步骤4-7,实现连续的时间显示和按键操作。
四、系统总结和改进使用51单片机设计的简易电子钟可以显示当前时间,并且实现时间的调整和闹钟设定功能。
但是由于硬件资源有限,只能实现基本的功能,不能进行其他高级功能的扩展,例如闹铃的音乐播放、温度、湿度的显示等。
