传感器与检测技术课程设等计规范副本

上传人:无*** 文档编号:149845227 上传时间:2022-09-08 格式:DOC 页数:40 大小:1.70MB
收藏 版权申诉 举报 下载
传感器与检测技术课程设等计规范副本_第1页
第1页 / 共40页
传感器与检测技术课程设等计规范副本_第2页
第2页 / 共40页
传感器与检测技术课程设等计规范副本_第3页
第3页 / 共40页
资源描述:

《传感器与检测技术课程设等计规范副本》由会员分享,可在线阅读,更多相关《传感器与检测技术课程设等计规范副本(40页珍藏版)》请在装配图网上搜索。

1、传感器与检测技术课程设计传感器与检测技术课程设计题 目 名 称:红外热释防盗报警器 学 生:电信09华文琪 电信04胡江电信35王璐物联网15景禄尧物联网13黄旦旦网工 目录1 绪论11.1 目的11.2 意义12 硬件电路设计22.1 硬件框图22.2 红外感应部分22.2.1 电源模块22.2.2 热释电传感器22.2.3 人体热释电原理32.2.4 红外信号检测原理32.2.5 信号采集处理模块32.3 单片机部分52.3.1 STC89C52单片机简介52.3.2 单片机最小系统52.3.3 按键控制电路62.3.4 指示灯和报警电路63 软件的设计83.1主程序工作流程图83.2 报

2、警判断程序93.3 串口通信103.3.1串口程序104 调试124.1 Keil编译器软件简介124.2 使用Keil软件建立一个工程134.3 使用Debug进行调试164.4运行状态174.5误差分析185 上位机185.1上位机的介绍185.2上位机执行过程的流程图185.3上位机程序195.4上位机界面21附录 123附录 2电路图29附录 3源程序30371 绪论1.1 目的随着国家经济的发展,生活水平的不断提高,高新技术的快速融入,人们的生活方式发生了巨大的变化,便利的技术使得越来越多的家庭购买着方便、快捷的高科技产品。高科技方便了我们的生活,但是昂贵的价值却吸引着越来越多的不速

3、之客前来。为了防止这种事情发生,住宅区通常都会配置保安、摄像头等。但在一些老旧小区或者农村就没有这些设施,于是,许多家庭都安装了报警系统,这有效的保护了大家的财产安全。在本文中,介绍一种利用热释电红外传感器进行监控,并进行报警的系统的设计。1.2 意义进入21世纪随着科技的提高,电子电器飞速发展,人民生活水平有了很大提高。各种高档家电和贵重物品为许多家庭所拥有。然而一些不法分子也越来越多。这点就是因为不法分子看到了大部分人防盗意识不够强所造成的结果。因此越来越多的居民家庭对财产安全问题十分担忧。报警系统这时为人们解决了大部分问题。但是市场上的报警系统大部分是适用于一些大公司的重要机构。其价格昂

4、贵,使普通家庭难以承受。如果设计一种价格低廉,性能可靠、智能化的报警系统,必将在私人财产的防盗领域起到巨大作用。由于红外线是不可见光,隐蔽性能良好,因此在防盗、警戒等安保装置中被广泛应用。此次课题我希望通过传感器模块和单片机来实现红外报警。本设计的电路包括硬件和软件两个部分。硬件部分包括红外感应部分与单片机控制部分,整个系统电路可划分为:电源部分、传感器模块部分、单片机控制电路,而单片机控制由最小系统和指示灯电路、报警电路等子模块组成。主要工作由热释电红外感应器完成信息采集、处理、数据传送经过单片机功能设定到达报警模块这一过程。就此设计的核心模块来说,单片机就是设计的中心单元。单片机应用系统也

5、是由硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是主要是工作的程序通过编写程序来控制输入的信号。2 硬件电路设计2.1 硬件框图本设计包括硬件和软件设计两个部分。从设计的要求来分析该设计须包含如下结构:红外感应部分、STC89C52单片机、报警系统三大部分。电路总原理图如图2-1所示:STC89C52红外感应LED指示灯复位电路按键控制报警电路电源开关 图2.1硬件框图处理器采用51系列单片机STC89C52。整个系统是在系统软件控制下工作的。设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,送出TTL 电平至STC89C52单片机。在单片机内,经

6、软件查询、识别判决等环节实时发出入侵报警状态控制信号。驱动蜂鸣器及报警指示灯报警。2.2 红外感应部分2.2.1 电源模块本系统电压为4.5v左右,直接接3个1.5V的直流干电池提供电源,然后用导线连接电源接口模块。2.2.2 热释电传感器热释电红外传感器(简称PIR)能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。将这个电压信号加以放大,便可驱动各种控制电路,人体辐射的红外线中心波长为910-um,而探测元件的波长灵敏度在0.220-um范围内几乎稳定不变。在传感器顶端开设了一个装有滤光镜片的窗口,这个滤光片可通过光的波长范围为710-um,正好适合于人体红外辐射的

7、探测,而对其它波长的红外线由滤光片予以吸收,这样便形成了一种专门用作探测人体辐射的红外线传感器,本传感器是整个系统的关键,只有本传感器才能感应到人体红外线。如图2-2所示。 图2-2热释感应传感器2.2.3 人体热释电原理 在自然界中人体的温度会维持在37摄氏度,这个温度的人体会释放出10um特定波长的红外线,而本设计中用到的被动式红外检测传感器正是利用了这一点,靠检测人体释放出的10um特定波长红外线来工作的。在基尔霍夫定律中指出,在一定的温度下,在到达热平衡时,任何物体此时的辐射量和吸收量成正比例,这便是说实时的发射率与吸收率是相等的。发射率是一个物体发射热辐射的能力。现在所说的热辐射本领

8、都与黑体的热辐射本领相比较而得知的,这里提到的黑体是辐射本领最大的,与黑体辐射的比例系数就是发射率,黑体的发射率都等于1,所以任何物体的辐射率总是小于1,一般人的辐射能量与310K绝对温度下的黑体的辐射能力相似。某个人的辐射率是0.99这个数字表示这个人辐射能力很高,很接近黑体。2.2.4 红外信号检测原理从原理上来讲,传感器外的任何发热物体都是会产生红外线,本设计中的热释电人体红外传感器就是这样,对于自身之外的温度变化都会体现在自身敏感单元上,并且很灵活。外部温度的变化体现在敏感单元,敏感单元将这种温度的变化转换为电信号。周围环境与传感器自身的温度变化都是有自身内在构成的部分决定了它不产生电

9、信号,所以没有向外输出信号,对于低频效应传感器,它的频率通常是在 0.110Hz这个区间,对515um这个区间波长的红外线的响应决定了,传感器只对外界的温度变化而敏感,这种变化就是人体移动所导致的敏感的。可以说,传感器只对人体的运动才敏感,而对静止和移动很慢的人体没有反应。2.2.5 信号采集处理模块图2-3信号处理模块图2-4实物图本电路是将人体辐射的红外线转变为电信号。热释红外感应2脚输入到前置放大器OP1进行放大,然后由C4耦合给运算放大器OP2进行第二级放大。再经过电压比较器COP1和COP2构成双向鉴幅器处理后,检出有效触发信号去启动延时时间定时器输出信号在经过R3进入单片机部分进行

10、处理。延时周期可通过R12来调节输出,在延时时间内只要Vs发生上跳变,Vo就会从Vs上跳变时刻起继续延长一个周期,而电路中的电容为了能够更好的控制了芯片内的定时器,若Vs一直保持为高电平,这样就可以通过P13传输到单片机内进行下一步处理。而根据不同的距离要求来调节R13,最大可以调节到7米左右。图中BISS0001中1脚用跳线连连接住一个接高电平后,在延时时间段内如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才将高电平变为低电平,本电路设计就是可触发方式。2.3 单片机部分2.3.1 STC89C52单片机简介 STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8

11、K 在系统可编程Flash 存储器。使用高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

12、空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。这一模块以单片机为中心把程序代码烧进去然后外围接上复位电路、振荡电路、键盘控制、LED显示电路、报警电路等子模块。2.3.2 单片机最小系统要使单片机工作起来最基本的电路构成为单片机最小系统如图2-7所示。图2-5单片机最小系统单片机最小系统包括单片机、复位电路、时钟电路构成。STC89C52 单片机的工作电压范围:4V-5.5V,所以通常给单片机外界5V直流电源。连接方式为单片机中的40脚VCC接正极5V,而20脚VSS

13、接电源地端。复位电路就是确定单片机的工作起始状态,完成单片机的启动过程。单片机接通电源时产生复位信号,完成单片机启动确定单片机起始工作状态。当单片机系统在运行中,受到外界环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。本设计采用的是外部手动按键复位电路,需要接上上拉电阻来提高输出高电平的值。时钟电路好比单片机的心脏,它控制着单片机的工作节奏。时钟电路就是振荡电路,是向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。XTAL1和XTAL2分别

14、为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。如采用外部时钟源驱动器件,XTAL2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us。 2.3.3 按键控制电路本电路的设计就是为了控制电路中布防和紧急状态下不同的工作形式,当按下布防按键后,30秒后进入监控状态,当有人靠近时,热释红外感应到信号,传回给单片机,单片机马上进行报警。当遇到特殊紧急情况时,可按下紧急报警键,蜂鸣器进行报警。如图2-8所示。图2-6按键部分2.3.4 指示灯和报警电路在单片机的

15、I/O里会输出高低电平,在P20、P21和P22分别接上LED指示灯而P23接上蜂鸣器而蜂鸣器外接个8550的三极管起到开关作用,当三极管达到饱和状态下就驱动了蜂鸣器工作了。图2-7指示灯和报警电路3 软件的设计3.1主程序工作流程图 按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图所示:开始布防按键按下倒计时结束15秒倒计时开始检测到有无信号蜂鸣器报警,发光二级管闪烁紧急按键按下YYN蜂鸣器报警结束图3-1主程序工作流程图3.2 报警判断程序如果检测的脉冲信号后,表示有人闯入监控区,从而经过单片机内部程序处理后,驱动声光报警电路开始报警,持续报警,然后程序开始循环工作,Void l

16、ed_show()_task_2while(1)switch(state)case 0:LED_Green = 1;LED_Red = 1;os_wait2(K_TMO,50);break;case 1:LED_Green = 0;LED_Red = 1;os_wait2(K_TMO,50);LED_Green = 1;os_wait2(K_TMO,50);break;case 2:LED_Green = 0;LED_Red = 1;LED_Yellow = 1;break;case 3:LED_Green = 1;LED_Red = 0;Buzzer = 0;os_wait2(K_TMO,1

17、0);Buzzer = 1;os_wait2(K_TMO,10);break;default :break;3.3 串口通信本系统采用异步通信,在异步串行通信时,每一个字符都是作为独立的信息,可以随机出现在数据流中。为确保异步通信的正确性我们在数据的的字符格式中加入了终止位和起始位,就是在数据正式的发送3.3.1串口程序void UartInit(void)/2400bps12.000MHz 实际 4800bpsTMOD = 0x21; /定时器1操作模式2:8位自动重载定时器SCON = 0x50; /8位数据,可变波特率TL1 = 0xF3;/设定定时初值TH1 = 0xF3;/设定定时器

18、重装值PCON |= 0x80;/使能波特率倍速位SMODTF0 = 0;/清除TF0标志 EA = 1; /开总中断 ES = 1; /串口中断ET1 = 0;/禁止定时器1中断TR1 = 1;/启动定时器1 char putchar(unsigned char dat)TI=0;SBUF=dat;while(!TI);TI=0;return SBUF;4 调试4.1 Keil编译器软件简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开

19、发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil C51开发系统各部分功能和使用。图4-1 C51工具包整体结构图Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图3.1所示,其中uVision与Ishell分别是C51 for Windows和for DOS的集成开发环境(IDE),可以完成编辑、编译、连接、调试、

20、仿真等整个开发流程。开发人员可用IDE 本身或其它编辑器编辑C 或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。4.2 使用Keil软件建立一个工程Keil是目前进行51单片机开发最常用的编译软件。关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程,在最短时间内开始使用

21、Easy 51DP-2开发板。对于Keil更详细的介绍,可以参考一些专门书籍资料。在Keil里,每一个完整的程序,都是以一个工程的形式建立的。一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数。一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#include头文件的形式加到这个C文件里。这样,在编译的时候,其他的文件会被自动的导入到工程里来。打开Keil软件后,出现(图16)所示界面。当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。图4-2 Keil软件主界面首先点击Project-New Project(P

22、roject-Open Project为打开一个已经存在的工程),如图17所示。图4-3 Keil软件打开新工程界面点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图18所示)界面。在此界面上选择电路板上所用的单片机型号:Atmel STC89C52(或者是AT89S52,视开发板上具体型号而定),单击“确定”。图4-4 选择电路板上所用的单片机型号设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?”如图19所示,这个一般选择“否”。(关于STARTUP.A51的相关内容可查阅相应资料)图4-5 是否将8051上电初始化程序添加入工程这样,就建立了一个空的51工

23、程。接下来的事,就是在这个工程里面加入自己的程序代码。点击,或者File-New,便建立了一个空的文本框。现在,就可以开始在里面输入你的代码了。保存时注意:如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。到目前为步,我们已经建立了一个工程,也写了一个程序代码。但现在还不能开始编译。因为还没有将程序代码添加到工程里面去。下一步就是将写完的程序添加到工程里面,如图20所示,在左边Project Workspace里的Source Group 1上右击,选择Add Files to Group Source Group 1。在打开的对话框中,选择刚存的文件

24、路径和对应的扩展名。这样,程序就添加进了这个工程。图4-6 添加文件到工程中下一步,就开始编译刚输入进去的代码。点击工具栏中的按钮。接着,Keil会打出下面的提示:Build target Target 1assembling led.asm.linking.Program Size: data=8.0 xdata=0 code=100first - 0 Error(s), 0 Warning(s).其中“first - 0 Error(s), 0 Warning(s).”说明现在的工程编译通过,0个错误和0个警告。建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:单击,或者在Pr

25、oject Workspace里Target 1上右击,选择“Options for Target Target 1”。出现如图21所示对话框,选择“Output”按图示,将箭头所指的多选框勾上,点“确定”。现在再点击重新编译,系统提示:“creating hex file from first.”。便会在工程所在文件夹里生成HEX文件。图4-7 生成HEX文件4.3 使用Debug进行调试 Keil有很强大的调试功能,可以显示C程序的反汇编代码、可以计算代码运行的时间、可以显示程序中某一变量的值能用好这个调试工具对编写单片机程序会有很大的帮助。同样的,在这里,只对Debug进行简单应用介绍,

26、更详细的使用方法可以参看相关书籍资料。图4-8 调试前设置窗口首先,单击,弹出如图22所示对话框,在Target页面上设置对应的晶振频率。其他不用作修改。设置完成后,单击,进入调试界面(如图23所示)。图4-9 Keil调试界面点击中对应的工具按钮则可以开始调试。另外,“View”下的三个工具在调试中会经常用到如.图24所示,“Disassembly Window”显示C文件的反汇编程序;“Watch & Call Stack Window”可以显示程序中某一变量的值;“Memory Window”可以显示内存中某一地址的值。图4-10 三个常用的调试工具4.4运行状态1.紧急报警键:按下紧急

27、报警键,系统会马上报警。2.布防键:按下布防键绿色发光二极管会闪烁,说明系统准备开始布防,布防结束后绿色发光二管会长亮,说明系统进入布防状态了,只要一有人进入传感器的范围内系统马上就会报警。3.取消键:按下取消键可取消当前报警。4.5误差分析容易受各种热源、光源干扰被动红外穿透力差,人体的红外辐射容易被遮挡,不易被探头接收。环境温度和人体温度接近时,探测和灵敏度明显下降,有时造成短时失灵。5 上位机5.1上位机的介绍上位机是指可以直接发出操控命令的计算机,一般是PC/host computer/master computer/upper computer,屏幕上显示各种信号变化(液压,水位,温

28、度等)。5.2上位机执行过程的流程图开始等待事件打开串口显示数据创建接收线程处理数据开始接收数据发送消息等待事件主线程接收线程NN图5-1上位机工作流程图5.3上位机程序此程序设计目的在于读取并显示从串口中采集到的数据,设计思路为创建两个线程并发执行,代码如下:#ifndef M_SERIAL_THREAD_H#define M_SERIAL_THREAD_H#include #include CommunicateCommDlg.hclass SerialThread : public QThread Q_OBJECTpublic: SerialThread(); SerialThread(

29、); Posix_QextSerialPort *m_GPRS_Com;/*GPRS串口应用对象*/ qint64 GPRS_LenOld ;protected: void run();signals: void m_GPRS_Done(QByteArray temp);#endif / M_SERIAL_THREAD_H#include /构造函数SerialThread:SerialThread() struct PortSettings m_GPRS_Com_Setting=BAUD115200,DATA_8,PAR_NONE,STOP_1,FLOW_OFF,10; m_GPRS_Com

30、=new Posix_QextSerialPort(/dev/ttyS1,m_GPRS_Com_Setting,QextSerialBase:Polling); m_GPRS_Com-open(QIODevice:ReadWrite);/返回布尔类型,打开成功是true打开失败是false GPRS_LenOld = 0;/*在构造函数内赋初值*/析够函数SerialThread:SerialThread()/线程启动函数void SerialThread:run() QByteArray temp ; while(true) qint64 GPRS_Len=m_GPRS_Com-size()

31、; if(GPRS_LenOld=GPRS_Len)&(GPRS_LenOld0) /读取串口缓冲区的所有数据给临时变量temp temp = m_GPRS_Com-readAll(); /然后写入FIFO /再置 emit this-m_GPRS_Done(temp); else GPRS_LenOld=GPRS_Len; msleep(10);/睡眠10ms 5.4上位机界面图5-2上位机界面附录 1这次我们这一组传感器课程设计的任务是做一个红外防盗报警器,由于是分工合作,我就参与其中选题,写课程报告,修改论文,画电路图,焊接电路。通过参加此次设计,让我印象最深就是焊接电路,由于之前没有学

32、过焊接技术,在焊接过程中错误百出,例如电烙铁使用后一定要稳妥地放在烙铁架上,应避免导线等被烙铁烫坏,但我总是不经意间就放在桌上。另外焊锡是也要注意,要避免形成“虚焊”,而焊接时间太长又容易损坏元器件,所以一般一两秒内要焊好一个焊点,若没完成,就要等一会儿再焊一次。可是我焊出来的点不是圆的就是歪的,由于脚与脚之间的距离太小,好几个脚都焊在了一起,结果就是造成很多的虚焊。本来想修饰一下,让它看起来好看一点,结果更糟糕。结果就把电路板焊的太难看,除了电路是通,其他感觉就是失败。虽然这次的课程设计不是太成功,可我还是很高兴,因为他让我看到自身能力反应不足,严重的动手能力不好,实践检验真理,真是一点没错

33、啊。我希望我们通过这次课程设计,更加努力学习,为后面毕业做准备,当然如果下学期还有这样的课程设计的话我希望做一个更好的实物。这样可以增加锻炼自己的动手能力和提高解决问题的能力。这次课程设计对我来说不仅加深了对理论知识的理解,培养独立分析问题、解决问题的能力,提高实践技能。总之,这次实习收获颇多。电信13101华文琪 40413109通过这段时间设计课题我学到不少的方面:首先传感器课程要求我们电信班 .网工班和物联网班临时成立一小组,我们电信班负责处理硬件部分.物联网他们处理软件部分剩下由网工班进行调试,经过我们小组讨论确定了设计项目为热释电人体感应红外报警器。经过不断的查询资料最终得到了设计课

34、题的电路原理图,接着需要去焊接电路板因为从来没接触过所以只能给同学打下手但是我也从中学到许多东西,电路焊接全都需要手动焊接我们必须要特别细心才行,例如电烙铁使用后一定要稳妥地放在烙铁架上,应避免导线等被烙铁烫坏。另外焊锡是也要注意,要避免形成“虚焊”,而焊接时间太长又容易损坏元器件,或使印刷电路板的铜箔翘起,所以一般一两秒内要焊好一个焊点,若没完成,就要等一会儿再焊一次。可是我焊出来的点不是圆的就是歪的,由于脚与脚之间的距离太小,好几个脚都焊在了一起,结果就是造成虚焊。要对照电路原理图一步一步进行焊接,不能虚焊.有毛刺等在焊接完电路板后还需要检验是否焊接正确不然半途而废不能由于自己的粗心大意

35、。 通过此次设计,我把所学的知识应用于实践,真正感受体会到理论与实践相结合,在实践中检验真理的思想。此次设计更加加深了我对热释电红外传感器的原理的理解。自己也学习到了很多以前没有没有经历过的知识,让我更加清楚了理论知识和实践能力的差别了,了解到自己的短处,从中吸取了经验。让自己的知识落到实处是最值得高兴的。 不过最终的产品,性能不太好,需要改进总之这次收获颇多。电信13101胡江 404131作为一名大三的学生,在本学期做这个课程设计是有必要也很有意义的事情。在本次课程设计中我的主要的工作是写论文。我们班主要是负责硬件部分,本次我们所做的题目是红外式报警器。毕竟现当下小偷猖獗,家家户户都有可能

36、遭遇到不速之客的到来,所以我们选择了这个题目。当题目定下来之后我们就开始进行资料的查询,通过看书和在网上的查询我们选择了热释电型红外传感器,因为热释电型红外传感器专门针对人体的波长。而且热释电型红外传感器前一般都加菲涅尔透镜,为了提高其灵敏度。在本次课程设计中通过实践和课本上理论的结合能让我们更好的对我们在课本上所学习到的知识进行掌握,并且对之前学习的科目内容也有了很好的回顾并利用。之后我就进行了收尾工作写论文,等到写论文的时候才发现一点也不如想象中的容易,汇总过后改格式才发现每个人的格式都不太一样,修改时有时候还会有一些小问题的出现都需要联系做那部分工作的同学进行修改,来来回回论文也修改了好

37、几遍。不过本次写论文是一种很好的体验,在明年的毕业论文中,这次课程设计的论文撰写不仅让我对格式的进行熟悉,还有对未来怎么写论文都有了很大的帮助。在这次课程设计中,我们是团队合作,是由电信、网工、物联网三个不同的专业大家在一起完成一个作品,我们在一起沟通,一起讨论。我们去查询资料,去利用我们以前所学习的知识然后去完成同一个作品。在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,课程设计是我们专业课程知识综合应用的实践训练,也将是我们迈向社会,从事职业工作前一个必不少的过程。电信13101王璐 40413135作为一名大三的学生,还有一年就要毕业

38、了,而我们的动手实践能力却很差,做这次课程设计是很有意义的,而且也是必要的。在做这次课程设计的过程中,我感触最深的是好多知识都一无所知,需要查阅大量的资料,团队合作非常重要,小组成员一起讨论,一起解决问题,当然也有一些解决不了的问题,我们就去寻求老师和同学的帮忙,也从老师,同学那里学到了很多。这次的课程设计对我来说,很难,因为很陌生,都是第一次接触,其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:C语言、模拟和数字电路知识等,但是,我们的知识很薄弱,需要我们继续学习。最后,要做好一个课程设计,就必须做到:在设计之前,必须要把整个系统流程梳理一遍,找准设计的重点,并且准确的理解各个模

39、块,虽然我也查了很多资料,看过很多文档,但是都只是理解个表面。我们负责的是串口通信这一部分,串口通信的概念非常简单,就是串口按位发送和接收字节。串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。但是,我不懂,所以就找了同学的帮忙。完成这个设计还得了解所用单片机的内部结构,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在做设计时,不能妄想一次将整个过程设计好,得不断查资料反复修改、不断改进;小组成员之间的合作也很重要,需要大家相互讨论,互相学习,一起解决问题。非常感谢老师给了我们这次课程设计的机会,在这次的课程设计中,我真正的意识到,我不了

40、解的知识,没掌握的技巧还有很多,在以后的学习中,还需要多加努力,并且要理论联系实际,把我们所学的理论知识用到实际当中,只有不断动手实践,才能收获更多。物联网13101黄旦旦 44213113由于本次课程设计我参与其中的串口调试和论文第三部分的软件设计的工作量,因此不敢有丝毫的大意。从基础资料的搜集,到最后毕业设计的完成,每一步都紧锣密鼓,认认真真,把大部分的时间和精力都用在了设计上,虽不至于废寝忘食,但也体会到了什么是夜以继日,紧锣密鼓。虽然自始至终强调要独立完成,我们经常沟通,共同研究设计中遇到的问题,在存在分歧的问题上加强讨论通过这一段时间的毕业设计,感触颇多,也确确实实的学到了很多东西。

41、从设计本身来说,学到了很多设计以外的东西。首先是态度问题,不管做什么事都要先端正好态度,没有一个好的态度,学习学不好,做事也做不好,始终要保持有一个善始善终的态度。其次,还要在踏实认真的基础上,尽自己最大的努力,充分利用每次学习和交流的机会提高自己。此外,做事情应有计划性,这样才不至于手忙脚乱。当然,在这个过程中也遇到了很多难题,通过及时虚心地向指导教师请教,跟同学交流,将难题及时解决掉。因此,我也看到团队协作的重要性。现在已不是一个崇尚个人英雄主义的年代,所以做什么事情应该加强沟通和协作,合众人之力,集思广益把事情做好。同时谢谢在设计过程中,帮助过我的老师和同学。 物联网13101景禄尧 4

42、4213113这次课程的实践给我印象最深的就是我可以做出一个实实在在地作品了。当然,在这过程中的问题也是层出不穷,解决他们的同时,也锻炼了自己。通过这一次课程设计,我懂得了,一个人的力量是有限的,团队的力量,大家的互相帮助,互相合作才是最重要的,这次课程的设计,让我不仅学到了我自己专业以外的知识,更重要的是在完成他之前如何与其他人的交流与沟通,有些事情单靠一个人是无法完成,在这个时候你就可以适当的去依靠下别人,这何尝不也是一种实力的体现?这一次课程中,我们网工负责是的上位机的编写与最后传感器的数据能够传输到电脑中,或者能够传输到显示屏上。在经过查阅大量的资料,和询问任课老师马老师之后,再让我在

43、这一方面有了一个明确的方向。这次用到了,平时大家比较常用的C+和VS2015。同时这次程序的编写也使我对这个软件的运用更加的熟练,对C+的了解也更加深刻。我相信在今后要是还会遇到这种情况,我不会像这次这样手忙脚乱不知所措。 总而言之,这次课程设计让我学到了许多,一方面加深了自己专业的知识,另一方面也学到了与我们学科相关的传感器的知识,许多的专业都是有所联系的,并不是独立的一个个。这也为今后的工作做了个小铺垫吧,更加的完善自己,锻炼自己。 网工13101 陈家驰附录 2电路图附录 3源程序#include reg52.h#include RTX51TNY.H/按键sbit Key_Warning

44、 = P10;sbit Key_normal = P11;sbit Key_Set = P12;/LEDsbit LED_Red = P22;sbit LED_Green = P21;sbit LED_Yellow = P20;/蜂鸣器sbit Buzzer = P23;/人体热释电传感器sbit Infrared = P13;unsigned char code Message_1 = Cancelled operationrn; / 取消操作unsigned char code Message_2 = Alarm cancelledrn; / 报警取消unsigned char code

45、Message_3 = Successful operationrn; /操作成功unsigned char code Message_4 = start the Home Alarm Systemrn; /家庭警报已经启动unsigned char code Message_5 = Home Alarm System is under startingrn; /家庭警报启动中unsigned char code Message_6 = Notice :Find Invasion rn; /注意:有人入侵unsigned char state = 0;void Delay10ms()/12.0

46、00MHzunsigned char i, j;i = 20;j = 113;dowhile (-j); while (-i);unsigned char Key_Warning_Scan()if(!Key_Warning) /判读Key_Warning是否按下Delay10ms(); /延时10ms消除抖动 再次判断if(!Key_Warning) /确认在在按下while(!Key_Warning);/等待松手return 1; /检测按键成功return 0; /检测按键失败unsigned char Key_normal_Scan()if(!Key_normal) /判读Key_nor

47、mal是否按下Delay10ms(); /延时10ms消除抖动 再次判断if(!Key_normal) /确认在在按下while(!Key_normal);/等待松手return 1; /检测按键成功return 0; /检测按键失败unsigned char Key_Set_Scan()if(!Key_Set) /判读Key_Set是否按下Delay10ms(); /延时10ms消除抖动 再次判断if(!Key_Set) /确认在在按下while(!Key_Set);/等待松手return 1; /检测按键成功return 0; /检测按键失败void UartInit(void)/2400

48、bps12.000MHz 实际 4800bpsTMOD = 0x21; /定时器1操作模式2:8位自动重载定时器SCON = 0x50; /8位数据,可变波特率TL1 = 0xF3;/设定定时初值TH1 = 0xF3;/设定定时器重装值PCON |= 0x80;/使能波特率倍速位SMODTF0 = 0;/清除TF0标志 EA = 1; /开总中断 ES = 1; /串口中断ET1 = 0;/禁止定时器1中断TR1 = 1;/启动定时器1 char putchar(unsigned char dat)TI=0;SBUF=dat;while(!TI);TI=0;return SBUF;void G

49、etKey() _task_ 1unsigned char i;while(1)LED_Yellow = Infrared;if(Key_Warning_Scan()state = 3;if(Key_normal_Scan()if(state != 0)if(state = 3)for(i = 0;Message_2i != 0;i+) putchar(Message_2i);if(state = 1 | state = 2)for(i = 0;Message_1i != 0;i+)putchar(Message_1i);state = 0;if(Key_Set_Scan()if(state

50、= 0)state = 1; for(i = 0;Message_3i != 0;i+) putchar(Message_3i); void LED_Show() _task_ 2while(1)switch(state)case 0:LED_Green = 1;LED_Red = 1;os_wait2(K_TMO,50);break;case 1:LED_Green = 0;LED_Red = 1;os_wait2(K_TMO,50);LED_Green = 1;os_wait2(K_TMO,50);break;case 2:LED_Green = 0;LED_Red = 1;LED_Yel

51、low = 1;break;case 3:LED_Green = 1;LED_Red = 0;Buzzer = 0;os_wait2(K_TMO,10);Buzzer = 1;os_wait2(K_TMO,10);break;default :break; void StateTransition() _task_ 3unsigned char i;while(1)switch(state)case 1:os_wait2(K_TMO,100);if(state = 1) for(i = 0;Message_5i != 0;i+) putchar(Message_5i);else break;f

52、or(i = 0;i6;i+) os_wait2(K_TMO,100);if(state = 0) break;if(state = 1) state = 2;for(i = 0;Message_4i != 0;i+) putchar(Message_4i);break;case 2:if(Infrared = 1) state = 3;break;default: break;void SendMessage() _task_ 4unsigned char i;while(1)os_wait2(K_TMO,100);os_wait2(K_TMO,100);if(state = 3)for(i = 0;Message_6i != 0;i+)putchar(Message_6i);void Init() _task_ 0UartInit();LED_Red = 1;LED_Green = 1;LED_Yellow = 1;Infrared = 1;os_create_task(0);os_create_task(1);os_create_task(2);os_create_task(3);os_create_task(4);os_delete_task(0); void UARTInterrupt() interrupt 4 if(RI) RI = 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!