基于红外的数字钟和温度计的设计.doc

基于红外的数字钟和温度计的设计.doc

ID:54271572

大小:235.50 KB

页数:55页

时间:2020-04-15

基于红外的数字钟和温度计的设计.doc_第1页
基于红外的数字钟和温度计的设计.doc_第2页
基于红外的数字钟和温度计的设计.doc_第3页
基于红外的数字钟和温度计的设计.doc_第4页
基于红外的数字钟和温度计的设计.doc_第5页
资源描述:

《基于红外的数字钟和温度计的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于红外的数字钟和温度计的设计摘要:本设计利用SCT90C516RD+单片机设计了一款具有时钟、温度、闹铃并可用红外遥控器进行时间、日历、温度、闹铃设置功能的红外遥控多功能数字钟。液晶显示用12864,界面清晰美观大方。红外遥控及检测部分有(38k)小型红外21键发射模块及一体化接收头组成,操作简单方便,操作距离空旷地可达6m,时钟模块才采用DS1302为时钟源,温度模块为DS18B20温度传感器,电源模块由两节可充电池提供。关键字:SCT90C516RD+、红外遥控、时钟日历、12864液晶.,温度DS18B20一、总体设计方案采用SCT90C516R

2、D+为主控芯片、DS1302为时钟源、DS18B20为温度传感器、(38K)小型红外21键发射模块为红外发射模块、一体化红外接收头作为接收模块、显示模块利用蓝屏的12864液晶,总体方案图如图1-1所示主控芯片90c516RD+12864液晶显示红外接收模块时钟模块温度模块电源图1-1系统总体方案设计框图一、硬件电路设计1、主控器模块以STC90C516RD+为主控芯片构成最小系统,包括STC90C516RD+/复位电路、晶振电路、电源接口及I/O口的上拉及输出接口。如图2-1所示图2-1最小系统图2时钟和温度模块时钟和温度模块由时钟芯片DS1302外加

3、32.768k的晶振构成时钟源,由DS18B20温度传感器采集温度信息。如图2-2所示。图2-1时钟和温度模块3.红外和闹钟模块红外和脑子模块由三极管驱动蜂鸣器构成,红外接收部分由一体化接收头构成。如图2-3所示图2-3温度和闹钟模块4.显示模块显示模块由LCD12864构成如图2-4所示图2-4显示模块三.软件设计N开机上电系统初始化画面1设置时间、闹钟读取温度和时间红外按键Y红外处理菜单界面红外完成初始化读取键值、响应设置菜单跳出设定设置完成软件部分:主函数:#include#include#include

4、8b20.h>#includeucharwelcome_flag=0,set_flag=0,exit_flag=0,alarm_flag=0;uchardisp[5];ucharrow_num=1,line_num=2;//lcd上的显示坐标x,yucharmodel=0;voidmain(){lcd_init();//初始化lcdtimer0init();//定时计数器中断初始化Ex0_init();//外部中断1初始化init_ds18b20();set_rtc();while(1){if(model==0){start_lcd(

5、);//按上下键选择模式或者模式键进入相应的模块}if(model==1){xianshi_lcd();}}}1.时钟部分:DS1302.H#include#include#ifndef_DS1302_H_#define_DS1302H_#defineuintunsignedint#defineucharunsignedcharsbitsck=P1^5;//时钟sbitsda=P1^6;//数据sbitrst1=P1^7;//DS1302复位externvoidwrite_ds1302_byte(ucharaddd

6、at);//单字节写入数据或者地址externvoidwriteds1302(ucharadd,intdat);//写地址数据externucharreadds1302_byte(ucharadd);//读取一个字节的数据externvoidset_rtc();//设置初始时间externvoidread_rtc();//读时钟数?voidrtc_display_sfm();//显示时分胿oidrtc_display_nyr();//显示年月日voidrtc_display_week();//显示星期externvoidshow_time();//显示时

7、间externvoidjudge_alarm();externvoidinit_set_time_sign();externvoidset_over_time_show();#endifDS1302.C:#include#includeuchardisdata[5];ucharcodeLine17[]={"温度℃"};externuinttemper;//温度值voiddelay(uintn){while(n--);}voidinit_ds18b20(){uchartmp;ds18b20=1;delay(8)

8、;ds18b20=0;delay(90);//750us左右ds18b20=1;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。