收藏 分销(赏)

带温度显示的电子钟.ppt

上传人:pc****0 文档编号:13180742 上传时间:2026-01-30 格式:PPT 页数:34 大小:700KB 下载积分:10 金币
下载 相关 举报
带温度显示的电子钟.ppt_第1页
第1页 / 共34页
带温度显示的电子钟.ppt_第2页
第2页 / 共34页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,带温度显示的电子钟,MCS-51,目录,1.,设计任务及要求,2.,产品功能概述,3.,工作原理及设计思路,4.,主要模块程序及描述,5.,总结,设计任务,(,1,)通过查阅相关资料,深入了解电子钟 的组成结构和工作原理;,(,2,)学习有关动态显示方式及原理;,(,3,)复习“,MCS-51,单片机原理及,C,语言程序设计”,掌握其接口扩展,如:显示、键盘等;,(,4,)设计具有报时报温功能电子钟的原理图,构建硬件平台;,(,5,)采用汇编或,C,语言编写应用程序并调试通过;,(,6,)制作出样机并测试达到功能和技术指标要求;,(,7,)写出设计报告。,产品功能:,设计产品实现一个依据时段可变显示亮度电子钟,具体如下:,(,1,)能够实现基本时钟的走时,显示范围是,00:00:0023:59:59,。能够实现时钟的调整,通过按键可以对“时”位和“分”位进行加,1,调节,并能当加至最大值时能重新归零。,(,2,)能够实现当前室温的测量功能,并 在数码管上予以显示,(,3,)能够实现年月日的显示与切换。,(,4,)能够实现温度的显示与切换。,1.,系统结构框图,单片机,DS1302,芯片,DS18B20,其他模块,数码显示模块,电路图,IO,定义,sbit DQ=P13;/DS18B20 I/O,sbit led=P10;,Sbit T-RST=P35;/ds1302-5,Sbit T-IO=P34;/ds1302-6,Sbit T-CLK=P36;/ds1302-7,Sbit ACC0=ACC0;,Sbit ACC7=ACC7;,Sbit up=P31;/4,Sbit down=P32;/8,Sbit set=P30;/0,Sbit c=P33;/C,2.,程序流程图,开始,初始化,是否按,c,键,时间显示,显示日期,是否按,c,键,显示温度,是否按,c,键,是,是,是,否,否,否,注释:调整程序包含其中,3.,主要器件介绍,(1),温度传感器,DS18B20,1.1,、适应电压范围更宽,电压范围:,3.0,5.5V,1.2,、独特的单线接口方式,,DS18B20,在与微处理器连接时仅需要 一条口线即可实现微处理器与,DS18B20,的双向通讯,1.3,、,DS18B20,在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内,1.4,、温范围,55,+125,,在,-10,+85,时精度为,0.5,1.5,、测量结果直接输出数字温度信号,以,一 线总线,串行传送给,CPU,,同时可传送,CRC,校验码,具有极强的抗干扰纠错能力,图:封装图,内部结构图,温度格式表,RAM,指令表:,温度变换:,44H,,启动,DS1820,进行温度转换,,12,位转换时最长为,750ms,(,9,位为,93.75ms,)。结果存入内部,9,字节,RAM,中。,读暂存器:,0BEH,,读内部,RAM,中,9,字节的内容,写暂存器:,4EH,,发出向内部,RAM,的,3,、,4,字节写上、下限温度数据命令,紧跟该命令之后,是传送两字节的数据。,复制暂存器:,48H,,将,RAM,中第,3,、,4,字节的内容复制到,EEPROM,中。重调,EEPROM,:,0B8H,将,EEPROM,中内容恢复到,RAM,中的第,3,、,4,字节。,读供电方式:,0B4H,读,DS1820,的供电模式。寄生供电时,DS1820,发送“,0”,,外接电源供电,DS1820,发送“,1”,。,序号,名称,引脚功能描述,1,GND,地信号,2,DQ,数据输入,/,输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。,3,VDD,可选择的,VDD,引脚。当工作于寄生电源时,此引脚必须接地。,表,1,DS18B20,详细引脚功能描述,DS18B20,的性能特点如下:,独特的单线接口仅需要一个端口引脚进行通信;,多个,DS18B20,可以并联在惟一的三线上,实现多点组网功能;,无须外部器件;,可通过数据线供电,电压范围为,3.05.5,;,零待机功耗;,温度以或位数字;,用户可定义报警设置;,报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;,负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;,DS18B20,温度传感器的内部存储器包括一个高速暂存和一个非易失性的可电擦除的,EERAM,。高速暂存,RAM,的结构为字节的存储器,结构如图,3,所示。头个字节包含在工作模式还是在测试模式,,DS18B20,出厂时该位被设置为,用户要去改动,,R1,和,0,决定温度转换的精度位数,来设置分辨率。测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。,DS18B20,工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图,3,所示。低位一直为,是工作模式位,用于设置,DS18B20,温度,LSB,温度,MSB,TH,用户字节,1,TL,用户字节,2,配置寄存器,保留,保留,保留,CRC,图,3,DS18B20,字节定义,DS18B20,的测温原理,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,,DS18B20,就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将,55,所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在,55,所对应的一个基数值。,减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。,初始化复位:,void set_18b20(),uchar a;,DQ=1;,a=1;,while(-a);,DQ=0;,a=113;,while(-a);while(-a);/750us,的延时,DQ=1;,a=30;,while(-a);,if(DQ=0),a=240;led=0;,while(-a);,void write_18b20(uchar date)/,写,1,个字节,uchar i,a;,for(i=8;i0;i-),DQ=0;,a=7;,while(-a);,DQ=date/00000001,a=25;,while(-a);,date=date1;,DQ=1;,uchar read_18b20(),uchar i,a,temp;,for(i=8;i0;i-),temp=temp1;,DQ=0;,a=3;,while(-a);,DQ=1;,a=2;,while(-a);,if(DQ),temp=temp|0 x80;/1000000,a=15;,while(-a);,return(temp);,void display(),uchar tempintbai,tempintshi,tempintge,xiaoq,xiaob,xiaos,xiaog;,tempintbai=tempint/100;,tempintshi=tempint%100/10;,tempintge=tempint%10;,xiaoq=tempdf%10000/1000;,xiaob=tempdf%1000/100;,xiaos=tempdf%100/10;,xiaog=tempdf%10;,P0=0 x00;,P2=1;,P0=ELtempintbai;,delay(20);,P0=0 x00;,P2=2;,P0=ELtempintshi;,delay(20);,P0=0 x00;,P2=3;,P0=ELtempintge|0 x80;,delay(20);,P0=0 x00;,P2=4;,P0=ELxiaoq;,delay(20);,P0=0 x00;,P2=5;,P0=ELxiaob;,delay(20);,P0=0 x00;,P2=6;,P0=ELxiaos;,delay(20);,P0=0 x00;,P2=7;,P0=ELxiaog;,delay(4);,if(f=1),P2=0;,P0=0 x40;,delay(20);,(2)DS1302,1 DS1302,的结构及工作原理,DS1302,是美国,DALLAS,公司推出的一种,高性能、低功耗、带,RAM,的实时时钟芯片,,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达,2.5,5.5V,。采用,三线接口与,CPU,进行同步通信,,并可采用突发方式一次传送多个字节的时钟信号或,RAM,数据。,内部有一个,31,的用于临时性存放数据的,RAM,寄存器。,1.1,引脚功能表及内部结构图,引脚功能,如表,1,所示。,1.2 DS1302,的控制字节说明,DS1302,的控制字如图,2,所示。,控制字节的最高有效位(位,7,)必须是逻辑,1,,如果它为,0,,则不能把数据写入到,DS1302,中位,6,如果为,0,,则表示存取日历时钟数据,为,1,表示存取,RAM,数据,;,位至位,1,指示操作单元的地址,;,最低有效位(位,0,)如为,0,表示要进行写操作,为,1,表示进行读操作,控制字节总是从最低位开始输出。,1.3,复位,通过把 输入驱动置高电平来启动所有的数据传送。输入有两种功能:首先,接通控制逻辑,允许地址命令序列送入移位寄存器;其次,提供了终止单字节或多字节数据的传送手段。当 为高电平时,所有的数据传送被初始化,允许对,DS1302,进行操作。如果在传送过程中置 为低电平,则会终止此次数据传送,并且,I/O,引脚变为高阻态。上电运行时,在,Vcc2.5V,之前,必须保持低电平。只有在,SCLK,为低电平时,才能将,RST,置为高电平。,1.4,数据输入输出,在控制指令字输入后的下一个,SCLK,时钟的上升沿时数据被写入,DS1302,,数据输入从低位即位,0,开始。同样,在紧跟,8,位的控制指令字后的下一个,SCLK,脉冲的下降沿读出,DS1302,的数据,读出数据时从低位,0,位至高位,7,,数据读写时序见图。,DS1302,写入操作:,void write_byte(uchar da),uchar i;,ACC=da;/10000001,for(i=8;i0;i-),T_IO=ACC0;,T_CLK=0;,T_CLK=1;,ACC=ACC1;/01000000,DS1302,读取操作:,uchar read_byte(void),uchar i;,for(i=0;i1;/01000000,T_CLK=1;,T_CLK=0;,ACC7=T_IO;/10000000,return(ACC);,void write_1302(uchar addr,uchar da),T_RST=0;/,停止工作,T_CLK=0;,T_RST=1;/,重新工作,write_byte(addr);/,写入地址,write_byte(da);,T_RST=0;,T_CLK=1;,uchar read_1302(uchar addr),uchar temp;,T_RST=0;/,停止工作,T_CLK=0;,T_RST=1;/,重新工作,write_byte(addr);/,写入地址,temp=read_byte();,T_RST=0;,T_CLK=1;/,停止工作,return(temp);,4.,显示说明,如上图,最左边显示为时,中间为分,最右边为秒,当按一次,0,时,只显示时并进入时调整,当按两次,0,时,只显示分并进入分调整。按下三次,0,后,回到最初状态。,按下一次,c,后,会进入日期显示,再次按下进入温度显示,三次后回到时间显示状态。,1,3,-,5,2,-,4,5,5.,键盘控制说明,0,键为时钟设置、时分切换、保存按钮,4,键为加按钮,8,键为减按钮,c,为时间,日期,温度切换按钮,主程序及时间显示调整,日期显示调整,温度显示,调试展现,实验总结,在本次设计过程中,我们遇到了很多问题,在一一解决之后我们学到了很多东西,对知识的理解也更加深刻了。,通过本次设计,我们重新复习了单片机的有关知识,涉及到单片机结构原理、指令、定时器、子程序调用、数码管显示、温度传感器等,并复习了,C,语言知识。我们对知识的认识有了一个质的提高,更深刻的认识到理论与实践之间的差距。,编写电子时钟程序时,我们先上网搜集了相关资料,熟悉了一下类似实验的编程思想,也从中借鉴了一些好的做法,结合自己实验的要求来取舍,由于程序庞大,特别需要注意前后变量是否冲突,寄存器的使用是否合理等细节方面。刚编写程序时遇到了循环和跳转的错误,查找资料询问同学得到了解决。通过程序的编写,我们掌握了模块化设计程序的思想,通过电路板的调试,可以把软件与硬件联系起来,以前用数电的知识做过时钟电路,通过比较,可知用软硬件结合,能更加灵活的进行设计,调整和扩展也比较方便。在调试中,也遇到了很多问题,经过耐心检查后一一解决。,总之,通过这次设计,对于,51,单片机原理的理解得到了加深,熟练用,C,语言编程,这对以后继续学习、科研都有很大的好处。,小组成员:,李 林 王,劭 淑 贺,秾 媚 颖,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服