文档详情

电子万年历(基于51单片机).doc

发布:2017-09-19约1.44万字共20页下载文档
文本预览下载声明
安 康 学 院 单片机课程设计报告书 课题名称: 电子万年历 姓 名: 学 号: 2009222448 院 系: 电子与信息工程系 专 业: 电子信息工程 指导教师: 时 间: 2012年6月 一、设计任务及要求: 1、设计任务: 设计一个用单片机控制的电子万年历。 2、要 求: 1、 2、具有可调整日期和时间功能。 3、具有温度显示功能。 4、与即时时间同步。 指导教师签名: 年 月 日 二、指导教师评语: 该同学态度认真,能够积极、主动、独立的完成各项任务。 指导教师签名: 年 月 日 三、成绩评定: 指导教师签名: 年 月 日 四、系部意见: 系部盖章: 年 月 日 设计项目成绩评定表 设计报告书目录 一、设计目的 1 二、设计思路 1 三、设计过程 1 3.1、系统方案论证 1 3.2、电子万年历流程图设计 2 四、系统调试与结果 6 五、主要元器件与设备 7 六、课程设计体会与建议 8 6.1、设计体会 8 6.2、设计建议 8 七、参考文献 8 八、源程序清单与注释 10 一、设计目的 1、熟悉。。掌握。3.1系统方案论证 数字万年历的总体方框图如图1所示: 图1 数字万年历总体方框图 其工作原理为:时间模块利用时钟芯片可以读取到高精度的年、月、日、时、分、秒信息。按键部分采用四个按键实现时间的调整功能,即设置、加1、减1、切换四个按键。温度采集模块利用温度传感器采集温度信息。单片机使用AT89C52单片机,将读取的时间信息、按键信息和温度信息送入单片机机进行数据处理,同时单片机控制保证着各模块芯片的正常工作,单片机将经过处理后的时间温度信息送显示模块显示。显示模块使用17个LED显示管,可以显示年、月、日、星期、时、分、秒和温度。 3.2、电子万年历流程图设计 3.2.1、电子万年历系统的主程序流程图如图2所示: 图2 电子万年历系统的主程序流程图 电子万年历系统总的电路连接如附图1所示。 3.2.2、时间程序设计 因为使用时钟芯片为DS12C887,阳历程序只需从DS12C887各寄存器中读出年,月,日,时,分,秒等数据,再处理即可。在首次对DS12887进行操作之前必须对它进行初始化,然后DS12C887中读出数据,再经处理后送给显示缓冲单元。 时间调整程序流程图如图3所示: 图3 时间调整程序流程图 DS12C887的时钟引脚排列如图4所示: 图4 DS12C887的时钟引脚排列图 3.2.3、调整时间程序设计 调整时间用四个调整按钮,1个作为移位控制用,另外两个作为加,减用,再一个作为设置时间,分别定义为控制按钮,加按钮,减按钮,设置钮。在调整时间过程中要调整的位与别的位应该有区别。所以增加了闪烁功能即调整的位一直在闪烁,直到调整下一位。闪烁原理就是:让调整的一位每隔一定时间熄灭一次。比如说50ms。利用定时器设计时当达到50ms溢出时,就送给该位熄灭符,在下一次溢出时再送正常显示的值,不断交替直到调整该位结束。此时送正常显示值给该位,再进入下一位调整闪烁程序。按键电路的连接如图5所示: 图5 按键电路连接图 3.2.4、温度程序设计 温度程序设计的测温流程如图6所示: 图6 DS18B20测温流程图 程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序等。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。这样可以在一秒之内测量一次被测温度,通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中,然后通过调用显示子程序显示出来,读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。DS18B20的各个命令对时序的要求特别严格,所以必须按照所要求的时序才能达到预期的目的,同时,要注意读进来的是高位在后低位在前,共有12位数,小数4位,整数7位,还有一位符号位。数字温度传感器芯片DS18B20 1 按键 4 8050 8 LED显示管 17 六、课程设计体会与建议 6.1、设计体会 经过两周的生产实习终于设计完成了电子万年历成品,并达到预期效果,颇感欣慰。设计的电子万年历具有年、月、日、星期、时、分、秒、温度显示功能,并且时间可调。电子万年历使用单片机核心控制,时钟芯片DS12C887提供高精度时间,温度采集使用DS18B20,显示使用17位LED显示管显示时间和温度。 这次
显示全部
相似文档