课程实习报告参考_课程综合实习报告
课程实习报告参考由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“课程综合实习报告”。
河南科技学院
课
程
实
习
题目: 基于嵌入式的智能家居系统
课 程 名 称:
嵌入式系统与编程A
专 业 班 级: 物联网131 小 组 成 员: 张 三 2014xxxxxxx 小 组 成 员: 李 四 2014xxxxxxx 小 组 成 员: 王 五 2014xxxxxxx 指 导 教 师: 王应军 实 习 时 间: 2016.6.6-2016.6.10
目录
1.需求分析...............................................3 1.1 智能家居的简介......................................3 1.2 智能家居的溯源......................................3 2.总体设计..............................................4 3.详细设计...............................................4 3.1系统概述............................................4 3.1.1 系统控制芯片S3C2410简介..........................4 3.1.2 系统时钟芯片DS1302简介...........................5 3.1.3超声波测距HC-SR04模块简介........................6 3.1.4人体红外传感器HC-SR501模块简介...................6 3.1.5 DHT11温湿度传感器................................7 3.2系统硬件电路设计....................................7 3.2.1 S3C2410电源电路..................................7 3.2.2 S3C2410时钟电路..................................8 3.2.3 S3C2410复位电路..................................8 3.2.4 DS1302时钟电路...................................9 3.2.5热释电人体红外电路设计............................9 3.3程序设计部分.......................................10 3.3.1程序流程图.......................................10 3.3.1.1 主函数流程图.................................10 3.3.1.2 中断函数流程图...............................10 4.总结..................................................11 参考文献................................................11 附录:..................................................13
1需求分析
1.1 智能家居的简介
智能家居是人们的一种居住环境,其以住宅为平台安装有智能家居系统,实现家庭生活更加安全,节能,智能,便利和舒适。以住宅为基础,利用综合布线技术、网络通信技术、智能家居-系统设计方案安全防范技术、自动控制技术、音视频技术将家居生活有关的设施集成,构建高效的住宅设施与家庭日程事务的管理系统,提升家居安全性、便利性、舒适性、艺术性,并实现环保节能的居住环境。
智能家居又称智能住宅,在国外常用Smart Home表示。与智能家居含义近似的有家庭自动化(Home Automation)、电子家庭(Electronic Home、E-home)、数字家园(Digital Family)、家庭网络(Home Net/Networks for Home)、网络家居(Network Home)、智能家庭/建筑(Intelligent Home/Building),在我国香港和台湾等地区,还有数码家庭、数码家居等称法。
智能家居系统让您轻松享受生活。出门在外,您可以通过电话、电脑来远程遥控您的家居各智能系统,例如在回家的路上提前打开家中的空调和热水器;到家开门时,借助门磁或红外传感器,系统会自动打开过道灯,同时打开电子门锁,安防撤防,开启家中的照明灯具和窗帘迎接您的归来;回到家里,使用遥控器您可以方便地控制房间内各种电器设备,可以通过智能化照明系统选择预设的灯光场景,读书时营造书房舒适的安静;卧室里营造浪漫的灯光氛围……这一切,主人都可以安坐在沙发上从容操作,一个控制器可以遥控家里的一切,比如拉窗帘,给浴池放水并自动加热调节水温,调整窗帘、灯光、音响的状态;厨房配有可视电话,您可以一边做饭,一边接打电话或查看门口的来访者;在公司上班时,家里的情况还可以显示在办公室的电脑或手机上,随时查看;门口机具有拍照留影功能,家中无人时如果有来访者,系统会拍下照片供您回来查询。
1.2 智能家居的溯源
1999年3月10日,微软公司董事长比尔〃盖茨在深圳宣布了“维纳斯计划”。这是一项专门针对中国信息产业和家电市场,为中国量身定做的数字生活家电的解决方案。目标是要开发一个新的基于微软Windows CE操作系统的集计算、娱乐、教育、交流、通信和网上冲浪等功能于一体或相结合的产品。其产品最大的特点是价格便宜,易学易用,可满足非PC(个人电脑、微机)用户使用电脑和上网的需求。它是界于电脑和家电之间的产品。总体设计
本系统采用DS1302时钟控制芯片控制系统时间,同时控制门的开关,如果时间为早上8:00-晚上22:00之间,为超声波控制门的开关,如果有人进入,则门自动打开,晚上22:00-早上8:00,位密码门状态,进入则需输入密码。同时采用电机控制窗帘,早上7:00自动打开窗帘,晚上10:00自动关闭窗帘,同时采用雨滴传感器,如果阴天下雨,窗子自动关闭。窗台安装热释电红外线传感器。
如果晚上感应到有人进入,则进入报警系统,采用DHT11温湿度传感器采集室内温湿度,进一步控制空调,加湿器。
3.详细设计 3.1系统概述
3.1.1 系统控制芯片S3C2410简介
S3C2410处理器是Samsung公司基于ARM公司的ARM920T处理器核,采用FBGA封装,采用0.18um制造工艺的32位微控制器。该处理器拥有:独立的16KB指令Cache和16KB数据Cache,MMU,支持TFT的LCD控制器,NAND 闪存控制器,3路UART,4路DMA,4路带PWM的Timer,I/O口,RTC,8路10位ADC,Touch Screen接口,IIC-BUS 接口,IIS-BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。
◆ 内部1.8V,存储器 3.3V,外部I/O3.3V,16KB数据Cache,16KB指令Cache,MMU。
◆ 内置外部存储器控制器(SDRAM控制和芯片选择逻辑)。◆ LCD控制器,一个LCD专业DMA。◆ 4个带外部请求线的DMA。
◆ 3个通用异步串行端口(IrDA1.0,16-Byte Tx FIFO and 16-Byte Rx FIFO),2通道SPI ◆ 一个多主I2C总线,一个I2S总线控制器。◆ SD主接口版本1.0和多媒体卡协议版本2.11兼容。◆ 两个USB HOST,一个USB DEVICE(VER1.1)。◆ 4个PWM定时器和一个内部定时器。◆看门狗。◆ 117个通用I/O。◆ 56个中断源。◆ 24个外部中断。
◆电源控制模式:标准、慢速、休眠、掉电。◆ 8通道10位ADC和触摸屏接口。◆ 带日历功能的实时时钟。◆ 芯片内置PLL。
◆ 设计用于手持设备和通用嵌入式系统。
◆ 16/32位RISC体系结构,使用ARM920T CPU核的强大指令集。◆ 带MMU的先进的体系结构支持WinCE、EPOC32、Linux。
◆指令缓存(Cache)、数据缓存、写缓存和物理地址TAG RAM,减小了对主存储器带宽和性能的影响。
◆ ARM920T CPU核支持ARM调试的体系结构。
◆ 内部先进的位控制器总线(AMBA)(AMBA2.0,AHB/APB)。
3.1.2 系统时钟芯片DS1302简介
DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。
DS1302的引脚排列,其中Vcc2为主电源,VCC1为后备电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc1+0.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据传送的方法。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc>2.0V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),后面有详细说明。SCLK为时钟输入端。
3.1.3超声波测距HC-SR04模块简介
本模块性能稳定,测度距离精确。能和国外的SRF05,SRF02等超声波测距模块相媲美。模块高精度,首创无盲区(0cm开始测量),稳定的测距是此产品成功走向市场的据!
TRIG端口发一个10US以上的0,当TRIG变成1时,超声波模块开始发射超声波,主控制板就可以在ECHO等待0输出.一有150us输出就表示收到反射波,从TRIG=1到ECHO=0的时间就为此次测距的时间,可算出距离.如此不断的周期测,就可以达到你移动测量的值了
3.1.4人体红外传感器HC-SR501模块简介
热释电红外传感器是一种能检测人或动物发射的红外线而输出电信号的传感器。早在1938年,有人提出过利用热释电效应探测红外辐射,但并未受到重视,直到 六十年代,随着激光、红外技术的迅速发展,才又推动了对热释电效应的研究和对热释电晶体的应用。热释电晶体已广泛用于红外光谱仪、红外遥感以及热辐射探测 器,它可以作为红外激光的一种较理想的探测器。它目标正在被广泛的应用到各种自动化控制装置中。除了在我们熟知的楼道自动开关、防盗报警上得到应用外,在 更多的领域应用前景看好。比如:在房间无人时会自动停机的空调机、饮水机。电视机能判断无人观看或观众已经睡觉后自动关机的机构。开启监视器或自动门铃上 的应用。结合摄影机或数码照相机自动记录动物或人的活动等等……。您可以根据自己的奇思妙想,结合其它电路开发出更加优秀的新产品。或自动化控制装置。
热释电效应同压电效应类似,是指由于温度的变化而引起晶体表面荷电的现象。热释电传感器是对温度敏感的传感器。它由陶瓷氧化物或压电晶体元件组成,在元件 两个表面做成电极,在传感器监测范围内温度有ΔT的变化时,热释电效应会在两个电极上会产生电荷ΔQ,即在两电极之间产生一微弱的电压ΔV。由于它的输出 阻抗极高,在传感器中有一个场效应管进行阻抗变换。热释电效应所产生的电荷ΔQ会被空气中的离子所结合而消失,即当环境温度稳定不变时,ΔT=0,则传感 器无输出。当人体进入检测区,因人体温度与环境温度有差别,产生ΔT,则有ΔT输出;若人体进入检测区后不动,则温度没有变化,传感器也没有输出了。所以 这种传感器检测人体或者动物的活动传感。由实验证明,传感器不加光学透镜(也称菲涅尔透镜),其检测距离小于2m,而加上光学透镜后,其检测距离可大于7m。
3.1.5 DHT11温湿度传感器
DHT11数字温湿度传感器的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。
3.2系统硬件电路设计 3.2.1 S3C2410电源电路
该系统中,需要用到5V,3.3V,1.8V的直流稳压电源,其中,S3C2410的I/O口电压需要3.3V电源,SC2410的核心电压需要1.8V,外围器件需要5V和3.3V。具体电路如图1,图2所示。
图1 3.3v电源电路
图2 2.5v电源电路
3.2.2 S3C2410时钟电路
时钟电路用于向CPU及其他电路提供工作时钟。根据S3C2410的工作频率及PLL电路的工作方式,选择12MHz的无源晶振,与S3C2410内部的PLL电路倍频后最高可以达到207MHz。S3C2410集成了实时时钟控制器,需要外部提供32.768kHz的实时时钟信号,如图3所示。
图 3 S3C2410时钟电路
3.2.3 S3C2410复位电路
复位电路主要为了提供性能优越的电源键监控性能,选取了专门的系统监视复位芯片IMP811S,该芯片性能优良,可以通过手动控制系统复位,同时还可以实时监控电源,一旦系统电源低于系统复位的阈值,IMP811S将会对系统进行复位,电路如图4所示。
图 4 S3C2410复位电路
3.2.4 DS1302时钟电路
DS1302与CPU的连接需要三条线,即SCLK(7)、I/O(6)、RST(5)。实际上,在调试程序时可以不加电容器,只加一个32.768kHz 的晶振即可。只是选择晶振时,不同的晶振,误差也较大。
图 5 DS1302时钟电路
3.2.5热释电人体红外电路设计
热释电红外控制电路由集成电路lC(SS0001)和电阻器RZ-R9、电容器Cl-C8组成。SS0001是热释电红外控制专用集成电路,其内部由输入放大器、双向限幅器、状态控制器、延时定时器、锁存定时器和基准电源等电路组成,如图6所示。
图 6 热释电人体红外电路设计
3.3程序设计部分 3.3.1程序流程图 3.3.1.1 主函数流程图
开始DS1302初始化中断初始化函数主函数控制函数超声波按键控制函数
图 7 主函数流程图 3.3.1.2 中断函数流程图
开始中断赋初值判断是否到1分钟判断是否到10秒判断是否到半秒获取雨滴传感器数据获取DHT11温度,湿度获取DS1302时间
图 8 中断函数流程图
4.总结
本文首先对设计的功能进行分析,通过对开发环境以及开发语言的分析,得到的结论是开发环境完全可以支持设计的开发,接着对智能家居的功能支持进行分析,结论是足以支持智能家居的开发,最后在论证成功的情况下确定了一套可行的系统的方案。包括开发板的结构,S3C2410、DS1302、HC-SR04、HC-SR501、DHT11温湿度传感器的架构,以及内核的结构,并总体介绍了程序的结构以及程序实现的功能,其中详细阐述了如何各种硬件设备进行设计。并实现了按键控制功能。经测试,各模块工作正常,达到了能进行无人监控室内环境的要求。随着物联网技术的发展,嵌入式多功能媒体播放器会有更广阔的应用前景。
参考文献
[1].李佳.ARM系列处理器应用技术完全手册[M].北京:人民邮电出版社,2006.[2].周立功.ARM嵌入式系统软件开发案例
(二)[M].北京:北京航天航空大学出版社,2006.[3].黄贤武,郑筱霞.传感器原理及其应用[M] 成都:电子科技大学出版社,2002.7.[4].谢自美.电子线路设计.实验.测试[M] 武汉:华中科技大学出版社,2000.7 [5].贾广雷,刘培玉,耿长欣.多线程技术及其在串口通信中的应用[J].计算机工程,2003.[6].许仲仁,姜宏滨.舰载红外全方位警戒系统[J].舰船光学,1997.[7].金卫民.VC下利用串口进行数据通讯的研究[J].计算机工程与设计,2003.[8].葛磊蛟,毛一之,李歧,高婧嫱.基于C语言的RS232串行接口通信实现[J].河北工业大学学报,2008.[9].康华光,陈大钦.电子技术基础-模拟部分[M].北京:高等教育出版社.2009.附录:
1、DS1302时钟驱动程序
#define RST_CLR RST=0 #define RST_SET RST=1 #define SDA_CLR SDA=0 #define SDA_SET SDA=1 #define SDA_R SDA
#define SCK_CLR SCK=0 #define SCK_SET SCK=1 #define ds1302_control_addr #define ds1302_charger_addr #define ds1302_clkburst_addr
0x8E
0x90
0xBE
uchar hour,min,sec,date,month,week,year;void Write_Ds1302_Byte(unsigned char temp){
} unsigned char Read_Ds1302_Byte(void){
unsigned char i, dat=0;for(i=0;i
dat = dat >> 1;if(SDA_R)
unsigned char i;SCK = 0;for(i=0;i
} if(temp & 0x01)SDA_SET;else SDA_CLR;
SCK_SET;SCK_CLR;temp = temp >> 1;
dat |= 0x80;
}
} else dat &= 0x7F;SCK_SET;SCK_CLR;return dat;void Ds1302_Single_Byte_Write(unsigned char addr, unsigned char dat){
} unsigned char Ds1302_Single_Byte_Read(unsigned char addr){
} uchar BCD_DEC_conv(uchar x){ uchar dec;unsigned char temp;RST_CLR;SCK_CLR;RST_SET;addr = addr | 0x01;
Write_Ds1302_Byte(addr);temp=Read_Ds1302_Byte();SDA_CLR;RST_CLR;return temp;
RST_CLR;SCK_CLR;RST_SET;
addr = addr & 0xFE;
Write_Ds1302_Byte(addr);
Write_Ds1302_Byte(dat);
SDA_CLR;RST_CLR;
} dec = 0x0f & x;x = x >> 4;dec = dec + x * 10;return(dec);
void get_ds1302_time(void){
} 2.HC-SR04超声波模块驱动程序 uchar d;d = Ds1302_Single_Byte_Read(0x81);sec = BCD_DEC_conv(d);
d = Ds1302_Single_Byte_Read(0x83);min = BCD_DEC_conv(d);hour = BCD_DEC_conv(d);
date = BCD_DEC_conv(d);
d = Ds1302_Single_Byte_Read(0x85);
d = Ds1302_Single_Byte_Read(0x87);
//读秒
//读分 //读小时 //读日 //读月 //读星期 //读年
//得到秒
//得到分
//得到小时
//得到日
//得到月 //得到星期
d = Ds1302_Single_Byte_Read(0x89);month = BCD_DEC_conv(d);
week = BCD_DEC_conv(d);
year = BCD_DEC_conv(d);
d = Ds1302_Single_Byte_Read(0x8b);d = Ds1302_Single_Byte_Read(0x8d);
//得到年
#include unsigned int distance,posit;#define somenop {_nop_();_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();_nop_();} bit s_flag;void send_wave(void){
unsigned char i = 8;//发送8个脉冲 do {
}
} TX = 1;somenop;TX = 0;somenop;while(i--);void juli(void){ if(s_flag)
{
s_flag = 0;
send_wave();//发送方波信号
TR1 = 1;//启动计时
} void zd0()interrupt 1
{
while((RX == 1)&&(TF1 == 0));//等待收到脉冲 TR1 = 0;//关闭计时 if(TF1 == 1){
} else {
} TH1 = 0;TL1 = 0;t = TH1;t
TF1 = 0;distance = 999;//无返回
}
TH0 =(655365000)% 256;Display();cp1++;if(cp1 >= 10){ cp1 = 0;
s_flag = 1;
intr = 0;} void zd3()interrupt 3
{ } void main(void){
TMOD=0x11;TH1=0;TL1=0;
TH0=0xf8;TL0=0x30;ET0=1;TR0=1;EA=1;while(1){ } juli();
//2MS定时
} }
3.DHT11温湿度传感器驱动程序
#include sbit DATA_PIN=P1^0;
uchar ucharFLAG,uchartemp;uchar shidu_shi,shidu_ge,wendu_shi,wendu_ge;ucharT_data_H,ucharT_data_L,ucharRH_data_H,ucharRH_data_L,ucharcheckdata;ucharT_data_H_temp,ucharT_data_L_temp,ucharRH_data_H_temp,ucharRH_data_L_temp,ucharcheckdata_temp;uchar ucharcomdata;//***************延时函数************************************* void delay_2us(){;;} void delay_ms(uchar x){
} void COM(void)
{
uchar i;
for(i=0;i
{
ucharFLAG=2;
while((!DATA_PIN)&&ucharFLAG++);
delay_2us();delay_2us();delay_2us();delay_2us();delay_2us();
delay_2us();delay_2us();delay_2us();delay_2us();delay_2us();
delay_2us();delay_2us();delay_2us();delay_2us();delay_2us();uint j,i;for(j = 0;j
} for(i =0;i
//2us
//853 1MS _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()
uchartemp=0;
if(DATA_PIN)uchartemp=1;
ucharFLAG=2;
while((DATA_PIN)&&ucharFLAG++);
if(ucharFLAG==1)break;
ucharcomdata
ucharcomdata|=uchartemp;
}
} void DHT11(void)
{
DATA_PIN = 0;
delay_ms(19);
DATA_PIN = 1;
delay_2us();delay_2us();delay_2us();delay_2us();delay_2us();
delay_2us();delay_2us();delay_2us();delay_2us();delay_2us();
delay_2us();delay_2us();delay_2us();delay_2us();delay_2us();
delay_2us();delay_2us();delay_2us();delay_2us();delay_2us();
if(!DATA_PIN)//如果为0就进入
{
ucharFLAG=2;
while((!DATA_PIN)&&ucharFLAG++);//等待高电平
ucharFLAG=2;
while((DATA_PIN)&&ucharFLAG++);
COM();
ucharRH_data_H_temp=ucharcomdata;
COM();
ucharRH_data_L_temp=ucharcomdata;
COM();
ucharT_data_H_temp=ucharcomdata;
COM();
ucharT_data_L_temp=ucharcomdata;
COM();
ucharcheckdata_temp=ucharcomdata;
DATA_PIN=1;
uchartemp=(ucharT_data_H_temp+ucharT_data_L_temp+ucharRH_data_H_temp+ucharRH_data_L_temp);
if(uchartemp==ucharcheckdata_temp)
{
ucharRH_data_H=ucharRH_data_H_temp;
ucharRH_data_L=ucharRH_data_L_temp;
ucharT_data_H=ucharT_data_H_temp;
ucharT_data_L=ucharT_data_L_temp;
ucharcheckdata=ucharcheckdata_temp;
}
wendu_shi=ucharT_data_H/10;
wendu_ge=ucharT_data_H%10;
shidu_shi=ucharRH_data_H/10;
shidu_ge=ucharRH_data_H%10;
}
else //没用成功读取,返回0
{
wendu_shi=0;
wendu_ge=0;
shidu_shi=0;
shidu_ge=0;
} }
刀豆文库小编为你整合推荐8篇课程实习报告,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
刀豆文库小编为你整合推荐8篇课程实习报告,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......
"3S"技术集成模拟实验小组总结从1.07起,我们开始了为期十天的实验周。在辅导老师的指导帮助下,我们在学校的本专业实验室里进行了对文成县地图的信息处理,包括了对栅格图的矢......
课程实习报告在经济飞速发展的今天,越来越多人会去使用报告,报告中涉及到专业性术语要解释清楚。一听到写报告就拖延症懒癌齐复发?下面是小编精心整理的课程实习报告,仅供参考,欢......
课程实习报告难忘的实习生活已经告一段落了,回顾过去的实习经历,倍感充实,收获良多,不能光会埋头苦干哦,写一份实习报告吧。很多人都十分头疼怎么写一份精彩的实习报告,以下是小编......
