单片机的18B20、1302和LCM1602液晶显示温度与万年历显控制

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

摘要本设计以数字集成电路技术为基础,单片机技术为核心。软件设计采用模块化结构,C语言编程。系统通过LCD显示数据,可以显示日期(年、月、日、时、分、秒)以及温度。在内容安排上首先描述系统硬件工作原理,着重介绍了各硬件接口技术和各个接口模块的功能;其次,详细的阐述了程序的各个模块和实现过程。第3页共33页目录摘要............................................................................................................................................2前沿……………………………………………………………………………………………………..........41.1设计目标……………………………………………….....……………………………....…..........51.2设计要求..........................................................................................................................52设计方案............................................................................................................................52.1控制器选用.....................................................................................................................52.2显示部分设计.................................................................................................................62.3数字温度采集设计........................................................................................................62.4系统设计........................................................................................................................62.4.1晶体振荡器电路…………………………………………………………………72.4.3时间计数器电路…………………………………………………………………72.4.4时钟电路…………………………………………………………………………72.4.5复位电路…………………………………………………………………………82.4.6复位电路的可靠性设计…………………………………………………………82.4.7按键部分……………………………………………………………………………83各硬件介绍…………………………………………………………………………………..93.1AT89S51的引脚说明..................................................93.2LCD1602简介............................................................................................................93.3DS1302简介………………………………………………………………………….103.4DS18B20简介..................................................................................................................124系统硬件设计所需的器材..................................................................................................155系统软件总体设计..............................................................................1错误!未定义书签。6电路原理仿真图7主程序流程图......................................................................................................................178完整程序编写......................................................................................................................19第4页共33页前言电子时钟是实现对年,月,日,时,分,秒数字显示的计时装置,广泛用于个人家庭,车站,码头,办公室,银行大厅等场所,成为人们日常生活中的必需品。数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。钟表的数字化给人们生产生活带来了极大的方便,在此基础上完成的电子时钟精度高,功能易于扩展。可扩展成为诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等电路。所有这些,都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用有着非常现实的意义。本设计就是数字时钟简单的扩展应用。第5页共33页1.1设计目标:利用单片机技术,以及模拟电子技术和数字电子技术的理论知识,设计实现MCS-51单片机对LCM1602液晶输出显示控制的这一基本要求。1.2设计要求:本设计利用DS1302;DS18B20;LCD1602实现以下功能:(1)显示日期功能(年、月、日、时、分、秒以及星期)(2)可通过按键切换年、月、日及时、分、秒的显示状态(3)可随时调校年、月、日或时、分、秒(4)可每次增减一进行时间调节(5)可动态完整显示年份,实现真正的万年历显示(6)可显示温度2设计方案2.1控制器硬件控制电路主要用了AT89C52芯片处理器、LCD显示器等。根据各自芯片的功能互相连接成电子万年历的控制电路。软件控制程序主要有主控程序、电子万年历的时间控制程序、时间显示及星期显示和温度采集程序等组成。主控程序中对整个程序进行控制,进行了初始化程序及计数器、还有键盘功能程序、以及显示程序等工作,时间控制程序是电子万年历中比较重要的部分。时间控制程序体现了年、月、日、时、分、秒及星期的计算方法。时间控制程序主要是定时器0计时中断程序每隔10ms中断一次当作一个计数,每中断一次则计数加1,当计数100次时,则表示1秒到了,秒变量加1,同理再判断是否1分钟到了,再判断是否1小时到了,再判断是否1天到了,再判断是否1月到了,再判断是否1年到了,若计数到了则相关变量清除0。先给出一般年份的每月天数。如果是闰年,第二个月天数不为28天,而是29天。再用公式s=v-1+〔(y-1/4〕-〔(y-1/100〕+〔(y-1/400〕+d计算当前显示日期是星期几,当调节日期时,星期自动的调整过来。闰年的判断规则为,如果该年份是4或100的整数倍或者是400的整数倍,则为闰年;否则为非闰年。在我们的这个设计中由于只涉及100年范围内,所以判断是否闰年就只需要用该年份除4来判断就行了。温度的显示主要是靠ds18b20采集现在的温度数据,CPU读取数据进行显示,当各自的条件得不到满足时,对应的显示器状态就不发生改变,只是在满足条件的情况下,第6页共33页显示器的状态才变化。2.2显示部分设计本设计采用液晶显示方式。液晶显示效果出众,可以运用菜单项来方便操作,比较简单。2.3数字温度采集设计本设计中的温度采集部分考虑用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。温度采集电路设计如下图所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用LCD1602显示温度2.4系统设计2.4.1晶体振荡器电路晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用晶体荡器电路。第7页共33页图3DS1302电路2.4.2分频器电路分频器电路将高频方波信号经分频后得到1Hz的方波信号供秒计数器进行计数,分频器实际上也就是计数器。2.4.3时间计数器电路时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器而根据设计要求,时个位和时十位计数器为12进制计数器。2.4.4时钟电路内部时钟电路如图所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡电路就产生自激振荡。定时元件通常石英晶体和电容组成的并联谐振回路,晶体振荡器选择12MHZ,电容采用22PF。图4时钟电路2.4.5复位电路影响单片机系统运行稳定性的因素可大体分为外因和内因两部分:(1)外因第8页共33页射频干扰,它是以空间电磁场的形式传递在机器内部的导体(引线或零件引脚)感生出相应的干扰,可通过电磁屏蔽和合理的布线/器件布局衰减该类干扰;电源线或电源内部产生的干扰,它是通过电源线或电源内的部件耦合或直接传导,可通过电源滤波、隔离等措施来衰减该类干扰。(2)内因振荡源的稳定性,主要由起振时间频率稳定度和占空比稳定度决定起振时间可由电路参数整定稳定度受振荡器类型温度和电压等参数影响复位电路的可靠性。2.4.6复位电路的可靠性设计复位是单片机的初始化操作。单片机启运运行时,都需要先复位,其作用是使CPU和系统中其他部件处于一个确定的初始状态,并从这个状态开始工作。因而,复位是一个很重要的操作方式。但单片机本身是不能自动进行复位的,必须配合相应的外部电路才能实现。复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。2.4.7按键部分本设计总的用了三个按扭开关作为键盘,其中一个是选择调时键,另两个分别为加和减键。第9页共33页图6按键电路3各硬件介绍3.1AT89C51的引脚说明AT89C51系列单片机中有PDIP,PLCC,TQFP多种封装形式。本设计采用的是PDIP封装40管脚的单片机,各引脚如图2-2所示。图9AT89C51的PDIP封装引脚图3.2LCD1602简介第10页共33页LCM1602采用标准的16脚接口,其中:第1脚:VSS为地电源第2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RSRW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可读忙信号,当RS为高电平RW为低电平时可以写入数据.第6脚:E端为使能端,当E端由高电

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功