版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录基于单片机的电子时钟设计摘要随着历史长河的演进,人们记录时间的方式也发生了翻天覆地的变化。古代从燃香记录、日晷记录、漏刻记录到现在的机械表、石英表,时间的记录方式发生着翻天覆地的变化。不仅仅计时的方式不断完善,计时的精度也越来越精确。由此可见,从古至今人们对时间的记录都有一定的要求,而如今,社会早已进入信息时代,人们对时间计时的精确度的要求越来越高,对便携度的要求也越来越高,电子钟的出现解决了这些难题。本论文主要运用了蜂鸣器、液晶显示屏、单片机的最小单元、时钟芯片等。本次设计有显示“年”“月”“日”“时”“分”“秒”“周”功能,有闹钟功能,有自主校准时间日期的功能,还可以整点报时,还有显示温度的功能。相信随着科技的发展,会有越来越多的功能体现其中。关键词:电子钟;蜂鸣器;液晶显示屏;单片机;时钟芯片目录TOC\o"1-3"\h\u27491导言 图3.2读取DS1302时间信息流程图所示。简易电子时钟数码管上“时”“分”“秒”的数字显示和时钟走时的功能几乎完全借助于软件程序实现。首先要初始化时钟芯片,设置时间和日期的初始值计时。然后,微控制器读取DS1302的时钟数据,显示出来。在显示的过程中,当前的数据与显示的数据不一致会进行一次刷新。图3.SEQ图4.\*ARABIC2读取DS1302时间信息流程图先是要将芯片DS1302进行初始化,之后再对设置的日期值和时间值进行记录。之后再利用读取程序获取数据,并发送出去并且进行显示。在显示的过程中,当前的数据与显示的数据不一致会进行一次刷新。时钟子程序如下:voidmain_show(bitrefresh){uint8lunar[2]; if(refresh) read_time((uint8*)&time);//读时间函数//时间 if(refresh||(time.sec!=tmP_time.sec))//秒更新 { tmP_time.sec=time.sec; //读取秒数据 Play8_num(104,6,zhengshu); //温度显示 Play32_num(96,2,time.sec); //显示秒 } if(refresh) main_frame();//刷新界面环境温度采集子程序3.2.1读取测量温度子程序温度传感器DS18B20的访问操作,包括数据初始化,数据读取以及温度显示的多种操作功能。初始化的功能主要是为了确定时钟芯片的运行状态。要是芯片已经启动,就可以直接进行初始化操作,之后再进行读写操作。不然的话,数码管就会提示错误信息。在MCU进行芯片读取的过程当中,芯片会以字节的形式将数据传输到单总线,之后向端口传输低电平,而后再发送高位。温度子程序如下: Init_DS18B20(); //初始化DS18B20 WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器等 delay_18B20(100); //延时 L_18B20=ReadOneChar(); //读取低八位数据 H_18B20=ReadOneChar(); //读取高八位数据 zhengshu=L_18B20/16+H_18B20*16;//显示整数部分 xiaoshu_a=(L_18B20&0x0f)*10/16;//显示小数第一位3.2.2温度转换温度传感器DS18B20将数据进行温度计算的过程需要时间,所以温度转换命令的执行可能会存在一定的延迟,才能完成温度转换值的读取操作;如果没有预留出温度转换时间,就会导致数据读取错误。再将转换命令传输给温度转换器之后,就可以执行转换操作,最后完成温度转换的整个过程,单片机在这一过程中所需要的时间为750ms,因此需要一秒钟的函数等待时间,在转换完成之后才能执行命令。先发送复位命令之后再将温度传感器DS18B20进行复位操作,之后再发送跳过程序储存的命令,在发出温度转换命令,整个温度转换过程就完成了。温度转数据采集子程序如下: Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0x44); //启动温度转换 delay_18B20(100);//延时1秒钟,等待转换的完成3.3闹钟子程序闹钟的设计思路是每刷新一分钟,就用当前时间数值与设定闹钟时间比较一下,若二者时间数值相等时,则表明到达了闹钟时间即可调用闹钟子程序,启动闹钟模块,蜂鸣器响铃30秒钟再关闭。闹钟子程序如下:voidalarm_sound(void){ uint16m,n=500; while(n--) //循环500次 { BEEP=~BEEP; //反转蜂鸣器 for(m=0;m<100;m++);//循环100次 } BEEP=1; //关闭声音}
4仿真效果与分析系统硬件及系统软件设计完成,经硬件和软件调试成功后,可以将系统软件和硬件结合起来调试。这里采用Proteus单片机仿真软件进行仿真。显示屏上显示日期、时间、温度、设定闹钟定时时间,符合设计预期的要求。仿真如下图4.1所示。图4.1电子时钟仿真图
结论在本次设计中,主要硬件设计有单片机最小系统、DS18B20芯片模块及接口电路、DS1302芯片模块及接口电路、闹钟和LCD显示模块;软件主要设计了阳历数据读取程序、转成阴历程序、液晶显示程序和温度数据采集收集程序;系统调试则主要是借助一个单片机开发板,借助Keil来实现的;这种电子时钟成本低、功能多样、显示方式直观、市场前景广阔。在做设计的过程中,我也遇到了许多困难,得到了许多经验,特别是在电路的设计和焊接时,要认真仔细,提前布局。首先要将各个器件放到合适的位置,在元件的焊接时,要注意各个引脚之间的连接不要出错,同时也要注意布局美观、排线美观。经过这段时间的努力,我的毕业设计终于告一段落,虽然电子时钟的设计研究已经比较成熟,但对我的学习还是大有裨益,整个过程也使我受益匪浅。本次设计让我学会了在遇到问题是要学会静下心来分析问题出现的原因,处理出现的问题,解决所产生问题的能力,相信这种能力也可以在我日后的学习生活中发挥意想不到的作用。
参考文献[1]安会,蒲禹辰,李纪榕,马红静,李莉,张静.基于单片机的电子时钟设计与制作[J].电子制作,2022,30(01):71-74+100.[2]肖海玲.74HC595在单片机电子时钟拓展I/O口设计中的应用[J].电子技术与软件工程,2021,(13):101-102.[3]杨洁,叶晶晶.基于51单片机的多功能电子时钟设计[J].电子测试,2021,(07):20-21+31.[4]沈康,杨俊婷,王颖.基于AT89C51单片机的电子时钟[J].数码世界,2020,(11):65-66.[5]高志伟.基于单片机的电子时钟设计、仿真与制作[J].电子测试,2020,(05):13-15.[6]刘锐,范少慧.基于单片机的简易电子时钟硬件设计[J].湖北农机化,2020,(01):161.[7]姚天乐.基于单片机的智能电子时钟的设计与应用[J].湖北农机化,2019,(15):84.[8]宋璐,卫亚博,冯艳平.基于单片机的多功能电子时钟的设计[J].电脑知识与技术,2019,15(14):244-245+252.[9]王晨旭.基于51单片机电子时钟的设计与实现[J].科技风,2019,(07):79.[10]刘战峰.基于51单片机的LED电子时钟的设计与实现[J].山西电子技术,2018,(06):56-59+96.[11]杨彬.电气自动化单片机电子时钟设计原理分析[J].中外企业家,2018,(33):151.[12]张敏,彭雪峰.电气自动化单片机电子时钟设计原理分析[J].通讯世界,2017,(14):249.[13]吴智勇,吴文静,杨丹丹.单片机基础下智能电子时钟的设计与应用[J].电脑迷,2017,(07):36.[14]许珂乐.基于51单片机的电子时钟设计[J].现代电子技术,2017,40(13):175-177.[15]李慧茹.基于单片机的电子时钟设计[J].数码世界,2017,(02):124-125.[16]李嘉浩.基于单片机智能电子时钟设计及应用[J].电子测试,2017,(02):117+119.[17]高鹏飞.单片机电子时钟设计研究[J].电子测试,2016,(20):21-22+27.[18]万兴,陈婷婷,袁森.基于单片机的智能电子时钟实验研究[J].信息通信,2016,(10):112-113.附录时钟子程序voidmain_show(bitrefresh){uint8lunar[2]; if(refresh) read_time((uint8*)&time);//读时间函数//时间 if(refresh||(time.sec!=tmP_time.sec))//秒更新 { tmP_time.sec=time.sec; //读取秒数据 Play8_num(104,6,zhengshu); //温度显示 Play32_num(96,2,time.sec); //显示秒 } if(refresh) main_frame();//刷新界面环境温度采集子程序读取测量温度子程序 Init_DS18B20(); //初始化DS18B20 WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器等 delay_18B20(100); //延时 L_18B20=ReadOneChar(); //读取低八位数据 H_18B20=ReadOneChar(); //读取高八位数据 zhengshu=L_18B20/16+H_18B20*16;//显示整数部分 xiaoshu_a=(L_18B20&0x0f)*10/16;//显示小数第一位Init_DS18B20(); WriteOneChar(0xCC); //跳过读序号列号的操
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学英语四年级下册Unit 7 Let's Make a Call!电话交际情境教学设计
- 高二英语选择性必修四Unit 5 Launching Your Career教学设计
- 高一信息技术《人工智能及其应用》单元教学设计:基于核心素养的项目式探究实践
- 小学四年级英语 Unit 8 The Best Place to Live 绘本阅读教学设计
- 学生实训考勤管理规定
- 小学四年级道德与法治《低碳生活每一天》教学设计
- 危化品储存使用管理规定
- 高中信息技术必修二《信息系统中的控制》基于工程思维的教学设计
- 九年级语文《简爱》相聚章节专题教学设计
- 高中地理必修二 《3.1 农业区位因素与农业布局》 单元整体教学设计
- 2025年全国人大机关公开遴选公务员真题(附答案)
- 中国广电山东网络有限公司2026年度市县公司招聘145个模拟试卷附答案
- 重师新生入学教育考试试题及答案
- 大公司办公职场管理制度
- 【高分复习笔记】李天元《旅游学概论》(第5版)笔记和课后习题详解
- 窒息的急救与护理课件
评论
0/150
提交评论