课程设计(论文)基于单片机的数字电子钟设计.doc
《课程设计(论文)基于单片机的数字电子钟设计.doc》由会员分享,可在线阅读,更多相关《课程设计(论文)基于单片机的数字电子钟设计.doc(19页珍藏版)》请在三一办公上搜索。
1、基于单片机的数字电子钟设计 班级:自动化0804姓名: 日期:2011年4月11日基于单片机的数字电子钟设计摘要: 本设计以51单片机为核心,附加了必要的外围电路,构成了一个简单的数字电子钟,整体由5V的电源供电。在硬件方面,除了51单片机芯片以外,我们还主要用到了时钟芯片DS1302、温度采集芯片DS18B20、和型号为1602的液晶显示器。在这些硬件的基础上,我们通过编写配套的C语言程序,实现了对年、月、日、时、分、秒、星期以及温度在液晶屏上的显示,此外还实现了整点报时和闹钟的功能。日期、时间和温度的显示都是通过相应的时钟芯片DS1302和温度采集芯片DS18B20与单片机的配合工作将数据
2、传送到液晶显示器上来实现的。整点报时和闹钟的功能主要是通过软件以及单片机的控制来实现的。显然我们还要再加上一些必要的按键,我们的按键电路包含四个按键,分别用于对调整项的选择、上调、下调和闹钟停止。另外的一个复位按键与单片机最小系统是一个整体。关键词:电子钟,日期,时间,整点报时,闹钟,温度显示1 数字电子钟的设计要求1.1基本要求1)硬件设计:根据任务要求,完成单片机最小系统及其扩展设计,焊接电路板,组成功能完整的样机。2)系统软件设计:根据数字电子钟系统功能,完成控制软件的编写与调试; 3)基本功能:设计一个数字电子钟电路,能显示年、月、日和时、分、秒;通过功能键可以完成年、月、日与时、分、
3、秒的调整和显示切换。1.2 扩展功能 通过附加特殊功能芯片和电路实现以下三个附加功能: 1)整点报时功能; 2)设置闹钟功能;3)温度采集并显示功能。2硬件简介2.1 AT89C51芯片简介 如图1所示,AT89C51有40引脚,双列直插(DIP)封装,所用引脚功能如下:1) VCC运行时加5V2) GND接地3) XTAL1振荡器反相放大器及内部时钟发生器的输入端4) XTAL2振荡器反相放大器的输出端5) RST复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFT AUXR的DISRTO位(地址8EH)可
4、打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态6) EA/VPP片外程序存储器访问 允许信号。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如 图1 果EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。7. P1口,P2口P1,P2是一组带内部上拉电阻的8位双向I/O口。运行时通过P1口控制驱动电路的工作,将数据送到数码管,显示相应的段码,为了达到减少功耗或满足端口对最大电流的限制,应加上一限流电阻。P2.0P2.7口控制数码管的位选,使六个数码管轮流显示数据,等于0时位选三极管导通,等于1 时位选三极管截止。
5、8. 无自锁开关(S2P3.7)开关接相应引脚P3.7,当开关按下时,相应引脚为低电平0,断开时引脚为高电平1。2.2 时钟芯片DS1302简介 DS1302芯片是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.55.5V。时钟可工作在24或12小时(AM/PM)格式。DS1302与单片机的接口使用同步串行通信,仅用三条线与之相连。可采用一次传送一个字节或突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器,具有主电源/后备电源双电源
6、引脚,同时提供了对后备电源进行涓细电流充电的能力。如图2所示为时钟芯片DS1302引脚图: 1) VCC1、GND:+5V电源和接地引脚;2) X1、X2:外接晶振引脚,晶振频率为32.768kHz; 3)RST:片选信号引脚,高电平有效;4)I/O:串行数据输入/输出引脚; 图25)SCLK:数据传送控制时钟输入引脚;6)VCC2:备用电源输入引脚。2.3温度采集芯片 DS18B20简介 DS18B20是美国DALLAS公司生产的单总线数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易于与微处理器接口等优点,适合于各种温度测控系统。该器件将半导体温敏器件、A/D转换器、存储器等坐
7、在一个很小的集成电路芯片上,传感器直接输出的就是温度信号数字值。信号传输采用两芯(或三芯)电缆构成的单总线结构。一条单总线上可以挂接若干个数字温度传感器,每个传感器有一个唯一的地址编码。微控制器通过对器件的寻址,就可以读取某一个传感器的温度值,从而化简了信号采集系统的电路结构。DS18B20功能特点是:1)采用单总线技术,与单片机通信只需要一根I/O线,在一根线上挂接多个DS18B20;2)每只DS18B20具有一个独有的、不可修改的64位序列号,根据序列号访问对应的器件;3)低压供电,电源范围从35V,可以本地供电,也可以从数据线上窃取电源(寄生式供电);4)测温范围为-55+125,在-1
8、0至85范围内误差为0.5;5)可编程数据为912位,转换12位温度时间为750ms(最大);6)用户可自设定报警上下限温度;7)报警搜索命令可识别和寻址哪个器件的温度超出预定值;图3 8)DS18B20的分辨率可由用户通过EEPROM设置为912位;9)DS18B20可将检测到的温度值直接转化成数字量,并通过串行通信的方式与主控制器进行数据通行。如图3所示,各引脚功能如下:1)GND为电源地;2)DQ为数字信号输入/输出端;3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。4数字电子钟系统说明4.1系统说明我们通过对单片机复位电路、时钟电路、电子钟按键电路、时钟芯片1302电路、温
9、度采集芯片DS18B20电路、发光二极管电路和液晶显示器电路来实现对数字电子钟的年、月、日、时、分、秒、星期、温度以及设置闹钟和整点报时功能。数字电子钟系统总原理图见附录一。4.2模块说明4.2.1电源部分 图4如图4所示,从外部引入4.5V的直流电,为单片机、复位电路等提供电源。4.2.2时钟电路时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。我们采用的是内部时钟方式,如图5所示。MCS-51单片机内部有
10、一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片图5 引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。4.2.3复位电路单片机的复位靠外部电路实现,信号由RST引脚输入,高电平有效。当RST引脚上持续两个机器周期以上的高电平时,单片机即完成复位。常用的复位电路有上电复位和手动开关复位两种。我们采用手动开关复位,如图6所示。手动开关复位实际上是上电复位兼手图6 动复位,当手动开关断开时,为上电复位;当手动开关接通时,RST引脚经电阻与VCC接通,并对电容充电,产生一定时间的高电平,从而使单片机复位。4.2.4按键电
11、路如图7所示为按键电路,从 上至下四个按键依 次为停止闹铃、设置、上调、下调按键。通过设置按键选择对显示器上的某一项进行设置,通过上调、下调按键对选择的项进行调整。当到达闹钟设置时间时,通过闹钟停止按键使闹钟停止。 图74.2.5时钟芯片DS1302工作电路 图8如图8所示的时钟芯片DS1302芯片连接电路,将单片机的P1.0、P1.1、P1.2分别于时钟芯片的SCLK引脚、I/O引脚、RST引脚相连,VCC1引脚与单片机的片外程序存储器选用端一同接在电源上,VCC2引脚接3V备用钮扣电池,外接晶振引脚X1、X2之间接频率为1MHz的晶振。如此构成时钟芯片工作电路,并通过软件控制对芯片内部数据
12、进行读取并在显示器上显示。4.2.6温度采集DS18B20芯片工作电路 图9如图9所示温度采集芯片DS18B20工作电路,将VCC引脚接电源、GND引脚接地、数字信号输入/输出端DQ与单片机P3.3/外部中断端相连,由此构成温度采集芯片DS18B20工作电路,实现对环境温度的测量,并通过软件控制对其测量数据进行读取,然后在显示器上显示。4.2.7发光二极管电路 图104.2.8液晶显示器工作电路图114.3基本功能实现原理本设计中对基本功能的实现通过单片机最小系统,外加按键电路和时钟芯片DS1302工作电路以及LCD显示电路构成。通过软件C语言编程,对时钟芯片内部时间进行读取,并在液晶显示器上
13、显示,再通过按键电路对显示时间进行校正,以此来显示正确的年、月、日、时、分、秒以及星期。4.4扩展功能实现原理我们通过外加温度采集芯片DS18B20工作电路、发光二极管工作电路实现扩展功能整点报时、闹钟和温度显示。整点报时功能,即当时间到达整点时通过发光二极管的闪烁来提醒;闹钟功能,即通过设置、上调、小调键对闹钟时间进行设置,当到达设置时间时通过发光二极管闪烁来提醒并通过停止闹铃按键来使发光二极管熄灭;温度显示功能,即通过温度采集芯片DS18B20工作电路对环境温度进行采集,通过软件控制对其采集数据进行读取并在液晶显示器上显示。此外我们还通过软件设计在开启电子钟时设置了开机动画显示如图12图1
14、25本次课程设计的实现过程5.1确定基本功能和扩展功能根据老师的设计要求我们确定了要做到对年、月、日、时、分、秒的显示,此外我们根据常规电子钟的功能决定附加对星期的显示、整点报时功能、闹钟和温度测量。5.2选择合适的元器件根据我们要实现的功能,我们选择了合适的元器件,器件清单见附录二。5.3设计电路将各元器件合理摆放并连线,所得电路图见附录一。5.4编写程序首先我们根据电路图和要实现的功能设计出程序流程图,然后根据程序流程图编写程序。部分重要程序段见附录三。程序流程图如下:按键电路晶振电路复位电路AT89C52驱动电路LCD 电员温度测量电路时钟测量电路 图13电子钟实现框图DS18B20复位
15、ROM命令跳过ROMRAM命令开始转换延时800msDS18B20复位ROM命令跳过ROMRAM命令读取RAM读2bit数据图14 DS18B20实现功能流程开机初始化程序键盘扫描按键处理结果显示图15主函数流程图主程序开始程序初始化定时器装初值50ms,开中断秒寄存器单元清0秒值加1计数寄存单元清0判断秒满60?分值加1判断分满60?分寄存器单元清0时值加1判断时满24?时、分、秒寄存器单元清0天值赋1天值加1月值加1判断年满一世纪?年值加1月值赋1判断月12年寄存器单元清0中断返回开启整点报时判断天满该月的总天数?计数器加1,判断是否加到20次图16中断服务程序流程框图5.5将程序在Kei
16、l中运行并装入Proteus仿真电路中进行仿真在Keil软件中调试程序,然后装入Proteus仿真电路中进行仿真。操作过程如下:1) 启动Keil;2) 在Project菜单里选择new project,新建一个工程,注上工程名“数字电子钟”;3) 选择单片机型号AT89C51;4) 在File菜单下选择New,新建一个text文件,然后保存,文件名命为数字电子钟.C(注意保存时文件名很重要,因为我写程序用的是单片机的C语言,所以必须保存为.C格式,否则到后面编译不了,如果写程序用汇编语言,就保存为文件名.ASM)。5)点击Project workspace里Target1左边+,会出现,右击
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 论文 基于 单片机 数字 电子钟 设计
链接地址:https://www.31ppt.com/p-3993502.html