带温度显示的万年历

上传人:飞*** 文档编号:11732707 上传时间:2017-10-14 格式:DOC 页数:38 大小:774.50KB
返回 下载 相关 举报
带温度显示的万年历_第1页
第1页 / 共38页
带温度显示的万年历_第2页
第2页 / 共38页
带温度显示的万年历_第3页
第3页 / 共38页
带温度显示的万年历_第4页
第4页 / 共38页
带温度显示的万年历_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《带温度显示的万年历》由会员分享,可在线阅读,更多相关《带温度显示的万年历(38页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计报告题目 : 带温度显示的万年历 院系 : 电气信息工程系 专业 : 通信工程 组长 : 学号 : 组员 1 : 学号 : 组员 2 : 学号 : 组员 3 : 学号 : 组员 4 : 学号 : 指导教师 : 201*年 12 月 18 日1带温度显示的万年历 设计报告一、选题目的和意义:二十一世纪的今天,最具代表性的计时产品就是电子万年历,它是近代世界钟表业界的第三次革命。第一次是摆和摆轮游丝的发明,相对稳定的机械振荡频率源使钟表的走时差从分级缩小到秒级,代表性的产品就是带有摆或摆轮游丝的机械钟或表。第二次革命是石英晶体振荡器的应用,发明了走时精度更高的石英电子钟表,使钟表的走

2、时月差从分级缩小到秒级。第三次革命就是单片机数码计时技术的应用(电子万年历) ,使计时产品的走时日差从分级缩小到 1/600 万秒,从原有传统指针计时的方式发展为人们日常更为熟悉的夜光数字显示方式,直观明了,并增加了全自动日期、星期、温度以及其他日常附属信息的显示功能,它更符合消费者的生活需求!因此,电子万年历的出现带来了钟表计时业界跨跃性的进步我国生产的电子万年历有很多种,总体上来说以研究多功能电子万年历为主,使万年历除了原有的显示时间,日期等基本功能外,还具有闹铃,报警等功能。商家生产的电子万年历更从质量,价格,实用上考虑,不断的改进电子万年历的设计,使其更加的具有市场。通过本次课程设计,

3、可以培养我们独立思考综合运用所学有关知识的能力。更好的巩固单片机原理及接口技术课程学习的内容。掌握工程软件的设计方法,强化上级动手编程能力。做到理论与实践相结合。更加了解单片机知识的好处和其可用性。同时增加了同学之间的团队合作精神,更加体会的以后在工作中团队合作的重要性和必要性。学生姓名 任务分工 学生姓名 任务分工 学生姓名 任务分工程序设计 搜集资料焊接 原件采购制作课件2二、主要研究内容:本设计为软件,硬件相结合的一组设计。在软件设计过程中,应对硬件部分有相关了解,这样有助于对设计题目的更深了解,有助于软件设计。基本的要了解一些主要器件的基本功能和作用。本设计以 STC89C52 单片机

4、为控制核心,将时间数据通过 LCD1602 显示出来,同时通过相应的按键调整相应的值。通过温度传感器将采集到的温度实时的显示在显示屏上。本设计可分为以下模块进行设计:显示模块,时间计算模块,设置模块,温度采集模块。显示模块采用用液晶显示器LCD1602显示,通过P2.0、P2.1 、P2.2和P0给1602送指令和数据来控制想要显示的位置和数据;时间计算模块使用时钟芯片DS1302来进行时间和日期的计算,采用的是SPI 总线,单片机通过模拟 SPI接口来与它进行通信,他只有三条线与单片机连接,其他接晶振、电源和地线;设置模块为键盘模块,有两个按键分别接到单片机的外部中断,其他三个采用的是键盘扫

5、描,并且在程序中进行了按键消抖,温度采集模块使用的是DS18B20,它直接将模拟的温度量转换为数字量,采用单总线与单片机相连,这样可以省出大量的I/O口,供给其他芯片使用,在电路中还加入了闹钟的功能,闹钟的程序采用定时器控制,这样在显示时间和日期的同时,闹钟同时起作用。3三、设计的方法及步骤:1、整个系统由主控模块和显示模块两大模块组成,主控模块包括主控芯片、温度检测、实时时钟电路及键盘接口电路,系统构成框图如下图(1)所示。图(1) 系统框图2、设计步骤(1)将 LCD 液晶的数据口接到 P0 口,P0 口接上拉电阻,P2.0、P2.1、P2.2分别接到 1602 的 RS、RW 和 E 端

6、口。(2)将 DS1302 的 SCLK,I/O,复位键接到 P1.0,P1.1,P1.2;(3)将温度芯片 DS18B20 接到 P2.3。(4)按键接到 P3 口上,通过 P3.7 来控制蜂鸣器的发声,起到闹钟的目的。LCD 液晶显示键盘DS1302 时钟芯片DS18B20 温度采集STC89C52控制器4四、实验设计(相关原理框图):1、主程序流程图(2)图(2) 主程序流程图时间调整部分的设计流程图(3):图(3) 时间调整开始初始化按下 h?(y)温度显示 (n)时间显示菜单?(y)时间调整开始Gongneng是多少2调分1调秒3调时4调号7调分8调时5调月6调年加 减减减 加加 加

7、 加 加 加 加减 减 减 减减Gongneng为0 返回时间显示5主程序:#include #include #include ds1302.h #include LCD1602.h #include ds18b20.h#define uchar unsigned char#define uint unsigned int sbit gon=P34 ;sbit e=P33 ;sbit xiang=P37;sbit jia=P36 ;sbit jian=P35 ; sbit a1=P13; sbit a2=P14 ; sbit a3=P15 ; sbit a4=P16 ; sbit a5=P1

8、7 ; void gong_neng();void dingshi(); void key(); uchar times9; uchar date9; uchar huan;uchar tp=0,temp1=0,temp2=0,temp3=0,temp4=0,temp5=0,neng=0,d_shi=0,d_fen=5,d_shi_g=0,d_fen_g=5,d_shi_s=0,d_fen_s=0,d_flag=0,kai=0,s_flag=0,mingzi=0,temp6=0,temp7=0;uint deng=0; void change() / 时间的转换 times0=time_130

9、22/10+0; 6times1=time_13022%10+0; times2=:; times3=time_13021/10+0; times4=time_13021%10+0; times5=:; times6=time_13020/10+0; times7=time_13020%10+0; / 日期的转换 date0=time_13026/10+0; date1=time_13026%10+0; date2=-; date3=time_13024/10+0; date4=time_13024%10+0; date5=-; date6=time_13023/10+0; date7=tim

10、e_13023%10+0; void xiangling();void Disp_Temperature()display4=temp_data0&0x0f;display0=ditabdisplay4+0x30; /查表得小数位的值display4=(temp_data0&0xf0)4)|(temp_data1&0x0f)9)tp=tp+6;if(tp&0x7f)0x59)tp=0;w_1302(ds1302_second,tp|0x80);if(jian=0)delay(17);11if(jian=0)while(!jian);tp=r_1302(0x81); tp-; if(tp=0)t

11、p=0x59;if(tp&0x0f)9)tp=tp-6;s_flag=1;w_1302(ds1302_second,tp|0x80);if(s_flag=1) LCD_init();get_1302(time_1302); change(); gotoxy(2,1); LCD_display(times); gotoxy(2,2); LCD_display(date);s_flag=0; if(neng=2)LCD_write_command(0x80+6);LCD_write_command(0x0f);tp=r_1302(0x81);w_1302(ds1302_second,tp|0x80

12、);12if(jia=0) delay(17);if(jia=0)s_flag=1;while(!jia);temp1=r_1302(0x83); temp1+;if(temp1&0x0f)9)temp1=temp1+6;if(temp1&0x7f)0x59)temp1=0;w_1302(ds1302_minute,temp1);if(jian=0) delay(17);if(jian=0)s_flag=1;while(!jian);temp1=r_1302(0x83); temp1-;if(temp1&0x0f)9)temp1=temp1-6;if(temp1=0)temp1=0x59;w_

13、1302(ds1302_minute,temp1);if(neng=3) 13LCD_write_command(0x80+3);LCD_write_command(0x0f);tp=r_1302(0x81);w_1302(ds1302_second,tp|0x80);if(jia=0)delay(17);if(jia=0)s_flag=1;while(!jia);temp2=r_1302(0x85); temp2+;if(temp2&0x0f)9)temp2=temp2+6;if(temp2&0x7f)0x23)temp2=0;w_1302(ds1302_hour,temp2);if(jia

14、n=0) delay(17);if(jian=0) while(jian=0);s_flag=1;while(!jian);temp2=r_1302(0x85); temp2-;if(temp2&0x0f)9)temp2=temp2-6;if(temp2=0)temp2=0x23;14w_1302(ds1302_hour,temp2);if(neng=4)LCD_write_command(0x80+0x40+9);LCD_write_command(0x0f);tp=r_1302(0x81);w_1302(ds1302_second,tp|0x80);if(jia=0) delay(17);if(jia=0)s_flag=1;while(!jia);temp3=r_1302(0x87); temp3+;if(temp3&0x0f)9)temp3=temp3+6;if(temp3&0x7f)0x31)temp3=0;w_1302(ds1302_day,temp3);if(jian=0) delay(17);if(jian=0)s_flag=1;while(!jian);15temp3=r_1302(0x87); temp3-;if

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号