基于51单片机的24小时定时控制系统
基于51单片机的24小时定时控制系统
姓名:余明永学号:E01214308 专业:网络工程完成时间:2014/12/31基于51单片机的24小时定时控制系统E01214308 余明永安徽大学计算机科学与技术学院,安徽合肥230061摘要:定时开关控制器在工业方面的自动控制,办公场所的电器控制等有着极为广泛的用途;本文利用89C51单片机的定时器计数器时钟电路设计一套24小时范围内的定时控制系统;可方便的实现对家庭电器和工业方面的自动控制;该定时开关控制器具有简单易制、价格低廉、控制时间可精确到秒等优点,还可以实时显示时间,具有较高的应用价值。
关键字:单片机时钟定时控制开关Timing Control System of 24h Designing Based on 51MCUE01214308 YU Ming-yongDepartment of Computer Science and Technology, Anhui University, Hefei 230601, China Abstract: Automatic control timing controller has a very wide range of uses in the industry and office applicant control. In this paper, we designed the timing control system including a set of 24 hours within the scope of using the timer counter clock circuit based on mcs-51; It can realize the automatic control of household appliances and industrial aspects very conveniently; the timing switch controller has the very simple and easy preparation, and it is also very cheap, It can control the time very accurately to seconds. Also show the time on time. This application is of great value.Keywords: MCU; Clock; Timing; Control; Switch0引言电子定时器在家用电器中经常用于延时自动关机、定时。
基于51单片机实现的门禁控制系统设计
题目门禁控制系统设计【摘要】本设计是利用T7122M-I工业级ID读卡模块实现的门禁控制器,具有存储一张管理卡和多张用户卡的功能,同时管理人员还可以通过按键更改管理卡,增加、删除用户卡等操作,门禁刷卡控制刷卡距离约为5—12CM。
关键词:门禁系统、T7122M-I工业级读卡模块。
目录摘要 (2)第1章门禁系统的概述 (4)1.1 门禁系统概念 (4)1.2 门禁系统的特点 (4)第2章门禁系统的设计要求 (4)2.1 设计要求 (4)第3章门禁系统的方案论证 (4)3.1门禁系统的总体方案 (4)3.2门禁系统的各个方案论证 (5)3.2.1.单片机控制芯片模块 (5)3.2.1.键盘控制块 (5)第4章门禁系统的硬件部分 (6)4.1主控芯片部分 (6)4.2键盘控制部分 (7)4.3蜂鸣器控制部分 (8)4.4T7122M-I工业读卡模块 (8)第5章门禁系统的软件部分 (9)第6章门禁系统的软、硬件调试 (12)6.1硬件调试 (12)6.2软件调试 (12)6.3软、硬件设计注意事项 (12)结论 (13)致谢 (13)参考文献 (14)附录1:系统程序。
(15)第1章门禁系统的概述1.1 门禁系统概念出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。
使用者用一张卡可以打开多把门锁, 对门锁的开启也可以有一定的时间限制。
如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。
出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、监视及管理。
1.2 门禁系统的特点系统将ID卡技术、计算机控制技术与电子门锁有机结合,用ID卡替代钥匙,配合计算机实现智能化门禁控制和管理,有效的解决了传统门锁的使用繁琐和无法信息记录等不足,利用数据控制器采集的数据实现数字化管理可为内部人力资源的有效管理等带来意想不到的效果。
电子钥匙:授权后的ID卡即可当作电子钥匙,将此电子钥匙感应器前一晃, 控制器对该卡进行身份验证,验证合法后即控制电子门锁自动打开。
基于51单片机的智能家居控制系统设计
基于51单⽚机的智能家居控制系统设计摘要智能家居是时代发展的产物,是住户想享受快速⽹上冲浪、便捷实时的通讯、安全防范、丰富娱乐⽣活、便捷的⽣活家居管理,优质物业管理等智能化住宅所特有的⽣活⽅式,使忙碌⼀天的⼈们真正体会到智慧家带来的⽣活乐趣。
本设计以STC89C52RC单⽚机为核⼼设计数字时钟和智能窗帘:通过光敏电阻检测光线强弱,当光线强度达到⼀定的程度时,通过单⽚机控制电机将窗帘拉上,否则打开窗帘。
另外⽤点阵显⽰时间和当前室内温度,由于下午⼗点后基本属于睡眠时间,故忽略光线强度,拉上窗帘并⾃动切换到⼿动模式,以节约电能,待第⼆天起床再将其切换⾄⾃动模式。
由于⼀般电机⽆法⾃主精确定位,需要辅助器件构成⼀个闭环系统才能精确的控制窗帘的张合程度,故本设计采⽤步进电机控制,通过齿轮变速,精确控制窗帘的张合程度,避免窗帘由于过度的张合造成损害,同时由于减少了辅助器件,节省了能源。
同时,本设计还选⽤DS12C887时钟芯⽚,该芯⽚内部⾃带锂电池,即使在断电的情况下仍然能继续⼯作。
该芯⽚有内置晶振,能够提供准确的时间,正常⼯作状态下⼯作⼀个⽉误差为+ 1分钟。
芯⽚内部带有闹钟功能,带有世纪寄存器,能够解决世纪问题,还有闰年补偿能多项功能。
⽐只利⽤晶振驱动的电⼦时钟功能更强⼤,时间更准确。
关键词:单⽚机;智能窗帘;时钟芯⽚AbstractIntelligent furniture is outcome of the developing time. It is a special lifestyle with which residents can enjoy fast online surfing, convenient communication, safety guard and which can enrich residents’ entertainment, make their furnishing management more convenient and which can optimize their property management. It can provide people who have been busy for a whole day with entertainment that intelligent ones bring to them. These are designs called digital clock and intelligent curtain that center on STC89C52RC MCU. It detects whether the light is hard or not through photosensitive electric resistance. When light is hard to some level, the curtain is closed under the control of the MCU on the generator, and is opened on the contrary. In addition, it shows time and the present indoor’s temperature with dot matrix. Light can be neglected after 10 o’clock pm when most people have fallen asleep. At this time, the curtain is closed and get to be under manual mode, so as to cut down electricity consumption, it was not turned to automatic mode until residents’ getting up in the morning. Commonly seen generators are not able to fix precisely, they can form a closed loop system to realize precise control on curtains only with the help of some assistant devices. Thus, this design precisely controls curtains under the control of steering engines and with gears to alter the speed. By that, curtains are protected from damages by over-operation. At the same time, less assistant devices are used and energy consumption is cut down. Meanwhile, the design selectsDS12C887 chips which contain lithium cells themselves and which can continue operating even when it is out of electricity. Such chips contain some internally installed crystal that can provide precise time with only one minute’s error within one month when operating normally. Such chips also have alarm function and century register. Thus, they can solve century problem. This design is much stronger and preciser than any electric clocks using only crystal to operate.Keywords: MCU; intelligent curtain; clock chip设计说明基于单⽚机的智能家居控制系统设计是在指导⽼师给出的任务书并在其指导下完成的。
作息时间控制器(基于51单片机和DS1302的时钟).
课程设计(论文)题目:作息时间控制器院(系):电子工程与自动化学院专业:测控技术与仪器学生姓名:吉哲学号: 0900820413指导教师:徐翠锋职称:讲师2012年12月27日摘要本次作息时间控制器设计是采用AT89S52单片机作为系统的核心元件,在其最小系统基础上与DS1302时钟芯片配合,四个独立按键控制,六位七段数码管显示,无源蜂鸣器发声。
单片机最小系统作为核心处理和控制单元;时钟芯片用来实现实时时间的精准输出和闹钟信息的存储,并可用纽扣电池供电以保持时间的连续运行;独立按键用于进行时间及闹钟的设定;数码管用于显示时间及闹钟信息;蜂鸣器用于在达到设定的时间后进行及时提醒。
关键词:时间控制;AT89S52;单片机;DS1302;时钟芯片;闹铃;定时报警AbstractThis work and rest time controller design is to use AT89S52 SCM as the core of the system components, in its minimum system with DS1302 clock chip based on coordination, four independent key control, six seven period of digital tube display, passive buzzer sound. Single chip microcomputer minimum system as the core processing and control unit; Clock chip to realize real-time time accurate output and alarm information storage, and use button batteries to keep continuous operation time, Independent key for time and alarm clock Settings; Digital tube is used to display the time and alarm information; Buzzer to reach a set time for timely remind.Key words:Time control; AT89S52 devices; SCM; DS1302; Clock chip; Alarm; Timing alarm目录引言 (1)1 课程设计任务及要求 (1)2 硬件设计 (1)2.1 总体设计思路及系统框图 (1)2.2 中央处理控制器 (2)2.3 晶振电路 (3)2.4 时钟信号产生电路 (3)2.5 显示电路 (4)2.6 控制电路 (6)2.7 闹铃电路 (8)2.8 电源及下载电路 (8)3 程序设计 (9)3.1 主程序流程图 (9)3.2 按键扫描程序流程图 (9)3.3 响铃扫描程序 (10)4 制板、组装与调试 (11)4.1 PCB制作 (11)4.2 制作PCB板流程 (11)4.3 调试 (11)5 方案总结 (11)心得体会 (12)谢辞 (13)参考文献 (14)附录 (15)引言时间是人类生活必不可少的重要元素,从古至今它都扮演着一个非常重要的角色。
基于C51单片机的数字时钟课程设计(C语言带闹钟)
单片机技术课程设计数字电子钟学院:班级:姓名:学号:教师:摘要电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。
所以设计一个简易数字电子钟很有必要。
本电子钟采用AT89C52单片机为核心,使用12MHz 晶振与单片机AT89C52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。
该电子钟设有四个按键KEY1、KEY2、KEY3、KEY4和KEY5键,进行相应的操作就可实现校时、定时、复位功能。
具有时间显示、整点报时、校正等功能。
走时准确、显示直观、运行稳定等优点。
具有极高的推广应用价值。
关键词:电子钟 AT89C52 硬件设计软件设计目录NO TABLE OF CONTENTS ENTRIES FOUND.一、数字电子钟设计任务、功能要求说明及方案介绍1.1 设计课题设计任务设计一个具有特定功能的电子钟。
具有时间显示,并有时间设定,时间调整功能。
1.2 设计课题的功能要求说明设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“d.1004-22”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从12时59分0秒开始运行,进入时钟运行状态;按电子钟S5键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按S5键再次进入时钟运行状态。
1.3 设计课的设计总体方案介绍及工作原理说明本电子钟主要由单片机、键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1所示:图1-1总体设计方案图本电子钟的所有的软件、参数均存放在AT89C52的Flash ROM和内部RAM 中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。
键盘采用动态扫描方式。
利用单片机定时器及计数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。
基于51单片机的智能定时控制器系统设计
一、课题条件:随着电子工业的发展,数字电子技术已经深入到了人们生活的各个层面,各种各样的电子产品也正在日新月异地向着高精尖技术发展。
数字电子时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。
二、毕业论文(设计)主要内容: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直流电源供电。
在硬件方面,除了CPU外,使用四个七段LED数码管来进行显示,LED采用的是动态扫描显示。
通过LED能够比较准确显示时、分。
三个简单的按键实现对时间的调整。
软件方面采用汇编语言编程。
整个电子钟系统能完成时间的显示,调时,定时闹钟,报警等功能。
基于STC89C51单片机作息时间控制钟控制系统
目录目录 (1)1、摘要 (2)重庆科技学院 (3)课程设计任务书(专题实验) (3)2、方案设计 (5)2.1 整体方案设计 (5)2.2 硬件方案设计 (5)2.3 硬件方案原理图 (5)3、硬件电路设计与分析 (7)3.1 CPU时钟电路 (7)3.2 复位电路 (7)3.3 数码管显示电路 (8)3.4 按键接口电路 (9)3.5 LED指示电路 (9)3.6 蜂鸣器接口电路 (10)3.7 RS-232接口电路 (11)3.8 电源电路 (12)4、软件设计 (13)4.1 总体软件程序设计 (13)4.2 主程序设计 (14)4.3 数码管显示程序设计 (14)4.4 时钟程序设计 (15)4.5 闹铃程序设计 (17)4. 6 模式程序设计 (18)5 调试与测试 (21)5.1 调试方法 (21)5.2测试结果 (21)6、技术总结 (22)6.1硬件方面 (22)6.2方案设计方面 (22)6.3编写延时程序方面 (22)6.4电路图方面 (22)6.5闹钟设计方面 (23)7、参考文献 (24)附录源程序 (25)1、摘要随着计算机技术的和控制系统的广泛应用,以及设备向小型化、智能化发展,单片机作为高新技术之一,以其体积小、功能强、价格低、使用灵活等优势,显示出了很强的生命力。
进入21世纪以来,开发推出单片机的公司很多,各种高性能单片机芯片市场异常活跃,新技术的不断采用,更加使单片机的种类、性能以及应用领域不断扩大和提高。
因其功耗低、超高型、低成本、功能完整,在国内越来越受到用户的重视和广泛使用。
本设计是一个具有报时功能的作息时间控制钟,它以AT89C51单片机为cpu,由蜂鸣器、LED灯、按键、4位数码管组成。
4们数码管上可以显示五种模式,分别是北京时间显示模式、修改北京时间小时模式、修改北京时间分钟模式、修改闹钟小时模式、修改闹钟分钟模式。
前三种模式显示的是北京时间,后两种模式显示的是闹钟时间。
51单片机的24c02电子时钟程序和电路图
fen++;
if(fen==60)fen=0;
write_sfm(shi,fen,miao);
write_cmd(0xc0+7);
write_add(2,fen);
}
if(s1num==3)
{
shi++;
if(shi==60)shi=0;
write_sfm(shi,fen,miao);
write_cmd(0xc0+4);
}
void keyscan()
{
if(s1==0)//如果功能按键1按下
{
delayms(5);//去抖动
if(s1==0)
{
while(!s1);//等待松手
s1num++;//主要还是记下次数
di();//蜂鸣器响
if(s1num==1)//按一下秒钟
{
TR0=0;
write_cmd(0xc0+10);//指针显示闪烁
sbit lcdrs=P2^4;//液晶的控制角
sbit lcdrw=P2^5;
sbit lcden=P2^6;
sbit s1=P3^0;//三个调时钟的按键
sbit s2=P3^1;
sbit s3=P3^2;
sbit beep=P2^3;//蜂鸣器
uchar count,s1num;
char miao,shi,fen;
delayms(1);
}
void write_sfm(uchar s,uchar f,uchar m)//数据在液晶显示
{
uchar ss,sg,fs,fg,ms,mg;
ss=s/10;sg=s%10;
基于51单片机电子时钟课程设计
《单片机原理及接口》课程设计报告题目:时钟系统设计姓名:专业:电信班级: 1 学号: *****指导教师:信息工程学院二0一六年一月时钟系统设计摘要:本系统是基于AT89C51单片机的具有准点报时、调时、以及可设闹钟功能的简单数字时钟系统的设计。
以AT89C51为核心控制器,系统分为时钟模块、显示模块、按键模块及闹钟模块。
系统以单片机内部定时器作为时钟模块的主要控制模块,通过频率计数实现计时功能,采用了8位数码管来显示时间,采用独立按键做为时间调时以及闹钟设置按键,采用蜂鸣器作为报时闹钟系统。
通过Keil软件C语言程序的编写、编译、调试以及硬件单片机的连接,实现了时间显示(24小时制)、闹钟设置、时间调试以及准点报时,可复位的功能,并运行了该电路的程序,得出了符合实验设计要求的结果。
关键字:数字时钟;AT89C51;数码管;C语言;闹钟;调时1 系统设计内容1.1 前言随着近年来科技的进步,单片机在近十年也取得了飞速的发展。
目前,单片机已经渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
现在虽然单片机的品种繁多,各具特色,但仍以MCS-51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司的产品和中国台湾的WinBond系列单片机。
以8031为核心的单片机占据了半壁江山,在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。
基于51单片机设计的多功能数字时钟毕业设计
基于51单片机多功能数字时钟1系统设计1.1设计要求设计制作一个24小时制多功能数字钟。
1.1.1主要性能指标1、数字显示年、月、周、日、时、分、秒。
1.1.2创意部分要求准确的进行年、月、周、日、时、分、秒的转换,切换两种显示模式。
1.2总体设计方案1.2.1概述及设计思路该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天)。
1.2.2方案论证(1)时钟模块【方案一】采用单片机内置定时/计数器。
它的处理过程主要是先设定单片机内部定时/计数器的工作方式,对机器周期计数确定基准时间,然后用另外一个定时器软件计数的方法对基准时间形成秒,秒计60次形成分,分计60次形成小时。
依此类推,获取日期也是采用相同的方法。
该方案在具体实现过程中,计时存在较大的误差。
如果晶振受到其他外界信号干扰,或者基准时间计算不准确,都会导致时间显示错误。
【方案二】采用555多谐振荡器。
由555定时器组成一个多谐振荡器,产生周期为100HZ的脉冲,然后经过两个74LS160组成的分频器得到1HZ的秒脉冲。
多谐振荡器的稳定度及频率的准确度决定了数字钟计时的准确程度,通常选用成品晶振构成振荡器电路。
计时精度取决于振荡器的频率,振荡器频率越高计时精度越高。
【方案三】采用DS1302时钟芯片。
DS1302是一种高性能、超低功耗的实时时钟芯片,附加31字节静态RAM,可以通过串行接口与单片机进行通信。
实时时钟提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。
芯片内部集成备用电源,当外围电路电路有电源供应的时候,备用电源充电储能。
当外围电路掉电时,DS1302芯片工作在休眠状态,以备用电源供电。
当外围电路再次供电,即可唤醒休眠进入正常工作状态,显示时间无任何异常。
基于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单片机的可调时24小时时钟共阳极数码管程序
基于51单片机的可调时24小时时钟共阳极数码管程序#include<reg52.h>#define uchar unsigned char #define uint unsigned intsbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;sbit key5=P1^4;sbit key6=P1^5;char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar miao ,fen ,shi,num;/******简单延时去抖********/void delay(uchar x){uchar i,j;for(i=0;i<200;i++)for(j=0;j<x;j++);}/*******视觉停留*************/void delay2(){uchar k=100;while(k){k--;}}/************调表程序用P1口key1,2 3,4 5,6分别控制秒,分,时的调整,奇数项加一,偶数项减一 ******************/void tiaoshi(){if(key1==0){delay(6000);if(key1==0){TR0=0;if(miao!=59)miao++;elsemiao=0;delay(6000);if(key1==1)TR0=1;}}if(key2==0) {delay(6000); if(key2==0) {TR0=0;if(miao!=0) miao--;elsemiao=59; delay(6000); if(key2==1) TR0=1;}}if(key3==0) {delay(600); if(key3==0) {if(fen!=59) fen++;elsefen=0;}}if(key4==0) {delay(600); if(key4==0) {if(fen!=0) fen--;elsefen=59;}}if(key5==0) {delay(600); if(key5==0) {if(shi!=23) shi++;elseshi=0;}}if(key6==0){delay(600);if(key6==0){if(shi!=0)shi--;elseshi=23;}}}void display() { while(1){P3=0xfe;P2=table[shi/10]; delay2();P3=0xfd;P2=table[shi%10]; delay2();P3=0xf7;P2=table[fen/10]; delay2();P3=0xef;P2=table[fen%10];delay2();P3=0xbf;P2=table[miao/10]; delay2();P3=0x7f;P2=table[miao%10]; delay2();P3=0xdb;P2=0X40;delay2();tiaoshi();}}void main(){EA=1;ET0=1;TMOD=0x01;TH0=(65526-50000)/256; TL0= (65526-50000)%256; TR0=1;delay(10000);delay(10000);while(1){display();}}void time0() interrupt 1 {TH0=(65526-50000)/256; TL0=(65526-50000)%256; num++;if(num==20){num=0;if(miao==59){miao=0;if(fen==59){fen=0;if(shi==23)shi=0;elseshi++;}else fen++; }else miao++; }}。
课程设计基于51单片机电子时钟设计
摘要 (2)Abstract (2)第一章前言 (3)第二章关于电子时钟 (4)2.1电子时钟简介 (4)2.2 电子时钟的基本特点 (4)2.3 电子时钟的原理 (4)该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。
而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。
(4)第三章关于单片机 (4)3.1 单片机简介 (4)3.2 单片机的发展史 (5)3.3单片机的特点 (6)第四章方案论证与比较 (7)2.1数字时钟方案 (7)2.2 数码管显示方案 (7)第五章系统设计 (8)5.1 总体设计 (8)计时方案 (8)控制方案 (8)5.具体设计分析 (8)5.2 模块设计 (9)5.2.1芯片分析 (9)5.2.1.1 AT89S51芯片 (9)5.2.1.2 74LS47芯片说明 (11)5.2.1.3 74LS138芯片说明 (13)5.2.2 晶振电路 (14)5.2.3复位电路 (15)5.2.4数码显示模块设计 (16)5.2.5 5.2.5按键模块 (17)5.2.5整个电路原理图 (18)第六章控制系统的软件设计 (18)源程序代码 (20)第七章系统仿真与实验测试 (26)7.1 系统仿真 (26)7.2 Proteus软件应用 (26)7.3 实验测试 (28)心得体会 (29)单片机电子时钟的设计摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
基于单片机的智能定时器毕业设计
毕业设计(论文)基于51单片机的智能定时控制器系统设计毕业设计(论文)任务书课题名称基于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直流电源供电。
设计论文基于51单片机的定时控制系统设计
目录摘要 (1)第1章方案设计 (2)第2章硬件设计 (3)2.1 单片机最小系统 (3)2.2 DS1302时钟电路 (4)2.3 按键电路 (4)2.4 中断触发电路 (5)2.5 LCD1602液晶显示电路 (5)2.6 继电器控制电路 (5)2.7 报警电路 (6)2.8 整机工作原理 (6)第3章软件设计 (7)第4章系统仿真测试 (8)4.1 仿真测试方法 (8)4.2 仿真测试结果 (8)总结 (9)致谢 (10)参考文献 (11)附录1 主要程序代码 (12)附录2 整机原理图 (29)摘要在这个智能社会,对以往的很多设备都进行了智能化改进,比如降温系统等都从手动改进到了自动控制。
在这里我们将常见的做饭工具电饭煲也进行了智能化控制,这里主要运用51单片机对原有非智能化电饭煲进行智能化控制,该系统具有定时功能,并且当时间到达定时时间时会自动报警,并且在报警一分钟后如果没有人操作电饭煲,会通过继电器将电饭煲的电源切断让并点亮绿灯提示它的工作完成。
关键词AT89C51;DS1302;继电器第1章方案设计采用51单片机可以实现一些功能不多的控制环境,即节约经济又达到了我们所需的职能化控制。
本课题主要从以下三个方面入手:一是实现时间显示功能,可以查看日期时间星期;二是实现定时功能,当时间到达设定值时可以报警提示,并通过继电器控制电饭煲的电源,并通过指示灯提示任务的完成;三是考虑时间的准确性,在这里主要使用DS1302芯片进行时间计时。
设计的总体方案如图1-1所示,由单片机最小系统、LCD1602液晶显示、继电器、DS1302时钟电路、报警电路、按键电路及5V直流供电电路组成。
为了实现智能控制和简化设计,选用了AT89C52、DS1302等集成芯片。
图1-1 基于51单片机的定时控制系统框图第2章硬件设计2.1 单片机最小系统1.振荡电路AT89C51是内部具有振荡电路的单片机,只需在18脚和19脚之间接上石英晶体,给单片机加工作所需直流电源,振荡器就开始振荡起来。
51单片机定时器设置
51单片机定时器设置51单片机,也被称为8051微控制器,是一种广泛应用的嵌入式系统。
它具有4个16位的定时器/计数器,可以用于实现定时、计数、脉冲生成等功能。
通过设置相应的控制位和计数初值,可以控制定时器的启动、停止和溢出等行为,从而实现精确的定时控制。
确定应用需求:首先需要明确应用的需求,包括需要定时的时间、计数的数量等。
根据需求选择合适的定时器型号和操作模式。
设置计数初值:根据需要的定时时间,计算出对应的计数初值。
计数初值需要根据定时器的位数和时钟频率进行计算。
设置控制位:控制位包括定时器控制寄存器(TCON)和中断控制寄存器(IE)。
通过设置控制位,可以控制定时器的启动、停止、溢出等行为,以及是否开启中断等功能。
编写程序代码:根据需求和应用场景,编写相应的程序代码。
程序代码需要包括初始化代码和主循环代码。
调试和测试:在完成设置和编程后,需要进行调试和测试。
可以通过观察定时器的状态和输出结果,检查定时器是否按照预期工作。
计数初值的计算要准确,否则会影响定时的精度。
控制位的设置要正确,否则会导致定时器无法正常工作。
需要考虑定时器的溢出情况,以及如何处理溢出中断。
需要考虑定时器的抗干扰能力,以及如何避免干扰对定时精度的影响。
需要根据具体应用场景进行优化,例如调整计数初值或控制位等,以达到更好的性能和精度。
51单片机的定时器是一个非常实用的功能模块,可以用于实现各种定时控制和计数操作。
在进行定时器设置时,需要注意计数初值的计算、控制位的设置、溢出处理以及抗干扰等问题。
同时需要根据具体应用场景进行优化,以达到更好的性能和精度。
在实际应用中,使用51单片机的定时器可以很方便地实现各种定时控制和计数操作,为嵌入式系统的开发提供了便利。
在嵌入式系统和微控制器领域,51单片机因其功能强大、使用广泛而备受。
其中,定时器中断功能是51单片机的重要特性之一,它为系统提供了高精度的定时和计数能力。
本文将详细介绍51单片机定时器中断的工作原理、配置和使用方法。
51单片机24小时可调定时闹钟
51单片机24小时可调定时闹钟#include<reg51.h> unsigned charseg[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned char con[6]={0x1,0x2,0x4,0x8,0x10,0x20};unsigned char mm=0; unsigned char ss=0; unsigned char hh=0; unsigned char count=100; unsigned char T=01,m; sbit S1=P3^3;sbit S2=P3^4;sbit S3=P3^5;sbit S4=P3^6;sbit bell=P3^0;sbit S5=P3^7;main(){TMOD=1;TH0=-10000>>8;TL0=-10000; //10毫秒间隔EA=1;ET0=1;TR0=1;while(1);}void isr_time0() interrupt 1 //24小时{unsigned int i=0,j;unsigned char time[6];TH0=-10000>>8;TL0=-10000;count--;if(count==0){count=100;ss++;if(ss==60){ss=0;mm++;if(mm==60){mm=0;hh++;if(hh==24)hh=0;}}if(S5==0) //定时T点{T++;}if(hh==T) //定时T点闹铃{ unsigned int a,b,y;if(mm>=01){m=0;} //分大于或等于01就把m清零,若不成立向下执行if(mm==00){if(m<10) //闹10次{do{ //循环-变频m++;ss++;for(a=0;a<1250;a++){bell=!bell;for(b=0;b<24;b++);} //取反for(y=0;y<1250;y++){bell=!bell;for(b=0;b<25;b++);}for(a=0;a<1250;a++){bell=!bell;for(b=0;b<26;b++);}for(a=0;a<1250;a++){bell=!bell;for(b=0;b<27;b++);}}while(m<10); //闹10次结束}}}if(S1==0){hh++; //时钟加if(hh==23){hh=0;}}if(S2==0){mm++; //分钟加if(mm==60){ mm=0;}}if(S3==0){hh--; //时钟减if(hh==0){hh=23;}}if(S4==0){mm--; //分钟减if(mm==0){ mm=60;}}}time[3]=hh/10;time[2]=hh%10; //显示位time[1]=mm/10;time[0]=mm%10; for(i=0;i<6;i++) {P2=con[i];if(i==1||i==2) //小数点P1=seg[time[i]]&0x7f;else P1=seg[time[i]];for(j=100;j>0;j--); }}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名:余明永学号:E01214308 专业:网络工程完成时间:2014/12/31基于51单片机的24小时定时控制系统E01214308 余明永安徽大学计算机科学与技术学院,安徽合肥230061摘要:定时开关控制器在工业方面的自动控制,办公场所的电器控制等有着极为广泛的用途;本文利用89C51单片机的定时器计数器时钟电路设计一套24小时范围内的定时控制系统;可方便的实现对家庭电器和工业方面的自动控制;该定时开关控制器具有简单易制、价格低廉、控制时间可精确到秒等优点,还可以实时显示时间,具有较高的应用价值。
关键字:单片机时钟定时控制开关Timing Control System of 24h Designing Based on 51MCUE01214308 YU Ming-yongDepartment of Computer Science and Technology, Anhui University, Hefei 230601, China Abstract: Automatic control timing controller has a very wide range of uses in the industry and office applicant control. In this paper, we designed the timing control system including a set of 24 hours within the scope of using the timer counter clock circuit based on mcs-51; It can realize the automatic control of household appliances and industrial aspects very conveniently; the timing switch controller has the very simple and easy preparation, and it is also very cheap, It can control the time very accurately to seconds. Also show the time on time. This application is of great value.Keywords: MCU; Clock; Timing; Control; Switch0引言电子定时器在家用电器中经常用于延时自动关机、定时。
延时自动关机可用于:收音机、电视机、录音机、催眠器、门灯、路灯、汽车头灯、转弯灯以及其他电器的延时断电及延时自停电源等。
定时可用于:照相定时曝光、定时闪光、定时放大、定时调速、定时烘箱、冰箱门开定时报警、水位定时报警、延时催眠器、延时电铃、延时电子锁、触摸定时开关等。
例如:空调中的定时器,在工作一段时间之后便能自动切断电源停止工作。
夏季夜间使用,入睡前先顶好时间,等睡熟后到了预定时间,空调自动关机。
方便节能。
定时器除了应用于家用电器外,还广泛地用于工业农业生产和服务设施,甚至军事等。
单片机的定时器是单片机里最“活跃”的部件之一,很多程序、应用系统都离不开定时器。
由于定时器的应用与单片机的其他硬件相关,存在着一定的复杂性。
而定时器也是单片机应用中解决某类复杂问题的最为有效的方法,应用非常广泛。
本文设计了基于单片机系统的一个简单的定时开关控制系统。
可以灵活的承载多方面有定时控制需求的设备的控制。
1整体方案设计整个系统由51单片机,时钟电路,复位电路,独立按键,显示电路,报警器以及继电器等部分组成[1](结构图如图一)。
定时开关控制系统设计主要以STC89C51单片机为核心[2],通过DS1302进行精准的时间控制[3],独立按键控制设置实时时间以及定时开、关时间,由8个8段LED数码管显示实时的系统时间,并实现交互的设置开关定时时间。
报警器用蜂鸣器当到定时时间时蜂鸣器发出十秒左右报警声以提示用户。
继电器、受控电器插座及受控电器组成一个执行机构,当定时时间到时,单片机向继电器输出一个高电平使继电器工作,继电器常开触点闭合接通受控电器插座,使受控电器通电加以工作,从而完成定时开关电器的功能。
[4]图一定时开关系统构成图2硬件系统设计硬件系统设计采用所学习单片机开发板的设计电路做些简要的修改,并添加继电器电路,电路原理图见图二。
独立按键与单片机K1,K2,K3,K4分别与51单片机的P3^0,P3^1,P3^2,P3^3口相接。
K3采用中断方式按下切换实时时间的设置状态和运行状态;K4切换选择显示实时时间,定时开时间点,定时关时间点,在定时时间点图二定时开关系统硬件结构图可进行设置改变定时时间;K1在设置状态下起作用,进行选择设置时分秒;K2在设置状态下起作用对设置项的值进行加一。
显示时间的八个LED八段数码管通过一个74138译码器进行选择,数码管输入口通过74573与单片机P0口相连;138译码器的输入口为P2^2,P2^3,P2^4。
本系统采用了两个LED灯区分设置选项,两灯都不亮数码管显示为实时时间,两灯亮一灯为开关关闭定时时间,两灯全亮为开关开启定时时间,占用P2^0,P2^1两个接口。
蜂鸣器报警装置接单片机P1^5口,通过P1^5口的高低电平不断变化产生交流信号使蜂鸣器发声。
继电器与单片机的P1^0口相接,输出1时继电器使电源接通控制电器正常工作,输出0时继电器使电源断开控制电器停止工作。
3软件系统设计定时开关控制软件实现较为简单,主程序主要是在单片机的控制下,对键盘的输入信息进行存储分析,驱动LED数码管显示出相关信息,并通过对比分析定时时间与时钟,控制继电器的通、断,从而达到控制电器通断电。
在这个过程中,单片机首先进行初始化,显示值初始化、继电器断开、以及单片机振荡频率的校准等。
单片机每执行一次循环对定时时间和时钟进行一次比较。
[5]为了实现时钟走时与所在地时间一致和满足要求,设定了时钟设置和定时设置的功能。
时钟设置和定时设置都在主函数里的while循环中实现,对于设置的按键采用扫面检测的方法,而进入设置状态是用中断方法进入设置状态。
程序设计的流程图如图三。
图三定时开关系统设计流程图程序初始化后,设置定时器T0工作在方式1用于计时,同时设置开关定时时间,执行显示程序。
当定时时间设置好后,系统不断的查询定时时间到否,定时开关开时间到时P1^0=1,继电器闭合,受控电器工作,同时是控制蜂鸣器报警变量设置时间值,使蜂鸣器控制P1^5电平高低不断交替变化产生交流信号使蜂鸣器报警。
在程序执行过程中中断0控制着定时器的启动和暂停,当暂停时可修改实时时钟的时间,程序查询检查K1和K2按键是否按下,K1选择设定位“时、分、秒”,K2设置当前选择的设定位数值加一。
K4切换显示模式:实时时钟,定时关时间,定时开时间。
在模式切换时对应LED1,LED0显示灯改变,实时时钟两灯都灭,定时关时间显示一个灯,定时开时间显示两个灯。
在定时开关状态下即可由K1,K2键设置定时的时间值,K1,K2的功能与实时时钟设置相同。
具体软件实现代码如下:#include<reg51.h>sbit K1=P3^0;sbit K2=P3^1;sbit K3=P3^2;sbit K4=P3^3;unsigned char Time=0;//用来计时间的值#define DIG P0sbit LSA=P2^2;sbit LSB=P2^3;sbit LSC=P2^4;sbit LED0=P2^0;sbit LED1=P2^1;sbit Beep=P1^5;sbit Switch=P1^0;unsigned char codeDIG_CODE[10]={0x3f,0x06,0x5b,0x4f,0x66,0x 6d,0x7d,0x07,0x7f,0x6f};//0123456789 unsigned char Num=0;unsigned intdisp[8]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x 3f,0x3f};unsigned char hour=0,minit=0,second=0; unsigned charThour[2]={0,0},Tminit[2]={0,0},Tsecond[2] ={0,0};unsigned char Count=0;//设定选择设置项unsigned char SetPlace;//设置位选择unsigned int CT=0;//设定值闪烁控制void Delay1ms(unsigned int c);void TimerConfiguration();void Int0Configuration();void Int1Configuration(); unsigned char ReSet=1;/**************************************** * 函数名 : main* 函数功能 : 主函数* 输入 : 无* 输出 : 无**************************************/ void main(void){unsigned char i=0;unsigned char m;unsigned BCT=0;//报警时长设定Switch=0;TimerConfiguration();Int0Configuration();Int1Configuration();while(1){if(Count==0){if(TR0==0){CT++;if(CT>2000)CT=0;if(K1==0) //检测按键K2是否按下{Delay1ms(10); //消除抖动if(K1==0){SetPlace++;if(SetPlace>=3)SetPlace=0;}while((i<50)&&(K1==0)) //检测按键是否松开{Delay1ms(10);i++;}i=0;}if(K2==0) //检测按键K3是否按下{Delay1ms(10); //消除抖动if(K2==0){if(SetPlace==0){second++;if(second>=60)second=0;}elseif(SetPlace==1){minit++;if(minit>=60)minit=0;}else{hour++;if(hour>=24)hour=0;}}while((i<50)&&(K2==0)) //检测按键是否松开{Delay1ms(10);i++;}i=0;}}//数值转换为LED数码管显示if(SetPlace==0&&CT>1000){disp[7] = 0;disp[6] = 0;}else{disp[7] =DIG_CODE[second%10];disp[6] =DIG_CODE[second/10];}disp[5] = 0X40;if(SetPlace==1&&CT>1000){disp[4] = 0;disp[3] = 0;}else{disp[4] =DIG_CODE[minit%10];disp[3] =DIG_CODE[minit/10];}disp[2] = 0X40;if(SetPlace==2&&CT>1000){disp[1] = 0;disp[0] = 0;}else{disp[1] =DIG_CODE[hour%10];disp[0] =DIG_CODE[hour/10];}}else//设定定时时间{ //设置定时点m=Count-1;CT++;if(CT>2000)CT=0;if(K1==0) //检测按键K2是否按下{Delay1ms(10); //消除抖动if(K1==0){SetPlace++;if(SetPlace>=3)SetPlace=0;}while((i<50)&&(K1==0)) //检测按键是否松开{Delay1ms(10);i++;}i=0;}if(K2==0) //检测按键K3是否按下{Delay1ms(10); //消除抖动if(K2==0){if(SetPlace==0){Tsecond[m]=Tsecond[m]+1;if(Tsecond[m]>=60)Tsecond[m]=0;}elseif(SetPlace==1){Tminit[m]=Tminit[m]+1;if(Tminit[m]>=60)Tminit[m]=0;}else{Thour[m]=Thour[m]+1;if(Thour[m]>=24)Thour[m]=0;}}while((i<50)&&(K2==0)) //检测按键是否松开{Delay1ms(10);i++;}i=0;}//数值转换为LED数码管显示if(SetPlace==0&&CT>1000){disp[7] = 0;disp[6] = 0;}else{disp[7] =DIG_CODE[Tsecond[m]%10];disp[6] =DIG_CODE[Tsecond[m]/10];}disp[5] = 0X40;if(SetPlace==1&&CT>1000){disp[4] = 0;disp[3] = 0;}else{disp[4] =DIG_CODE[Tminit[m]%10];disp[3] =DIG_CODE[Tminit[m]/10];}disp[2] = 0X40;if(SetPlace==2&&CT>1000){disp[1] = 0;disp[0] = 0;}else{disp[1] =DIG_CODE[Thour[m]%10];disp[0] =DIG_CODE[Thour[m]/10];}}//检测是否到设定的时间if(TR0==1){if(hour==Thour[1])if(minit==Tminit[1])if(second==Tsecond[1]){Switch=1;BCT=4000; //值为4000报警时长十秒钟左右}if(hour==Thour[0])if(minit==Tminit[0])if(second==Tsecond[0]){Switch=0;BCT=2000;}if(BCT>0){BCT--;Beep= 1;Delay1ms(1);Beep= 0;Delay1ms(1);}}//--显示时钟--//DIG=0; //消隐switch(Num) //位选,选择点亮的数码管,{case(7):LSA=0;LSB=0;LSC=0; break;case(6):LSA=1;LSB=0;LSC=0; break;case(5):LSA=0;LSB=1;LSC=0; break;case(4):LSA=1;LSB=1;LSC=0; break;case(3):LSA=0;LSB=0;LSC=1; break;case(2):LSA=1;LSB=0;LSC=1; break;case(1):LSA=0;LSB=1;LSC=1; break;case(0):LSA=1;LSB=1;LSC=1; break;}DIG=disp[Num]; //段选,选择显示的数字。