单片机课程设计红外热释电报警器_第1页
单片机课程设计红外热释电报警器_第2页
单片机课程设计红外热释电报警器_第3页
单片机课程设计红外热释电报警器_第4页
单片机课程设计红外热释电报警器_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录1课程设计目的22 设计介绍22.1 技术要求22.2 主要任务23 基础知识简介23.1 热释电红外传感器简单介绍23.2 at89s51单片机简单概述34 方案设计44.1 总体设计思路44.2 具体电路模块设计54.2.1 热释电红外传感器原理54.2.2 调整电路的设计64.2.3 时钟电路的设计64.2.4 复位电路的设计74.2.5 数码管显示报警电路的设计74.2.6 声音报警电路的设计84.3 系统硬件电路的选择及说明85 软件编程及仿真85.1 软件简介85.1.1 proteus软件简介及使用85.1.2 keil软件简介105.2 软件程序的实现126 课程设计心得

2、体会177 参考文献18附图1:单片机控制的红外防盗报警器原理图19附图2:仿真原理图20附图3:实物图211课程设计目的随着时间的推移,计算机革命的完成,信息高速公路的发展,人们生活水平得到很大的提高,对私有财产的保护意识在不断的增强,因而对防盗措施提出了新的要求。本设计就是为了满足现代住宅防盗的需要而设计的家庭式电子防盗系统。本次设计所用的这种热释电红外传感器能以非接触形式检测出人体辐射的红外线,并将其转变为电压信号,同时,热释电红外传感器既可用于防盗报警装置,也可用于制动控制、接近开关、遥测等领域。经过本次课程设计会使我们进一步对单片机有个感观认识,增强动手能力。使理论与实际相结合。2

3、设计介绍2.1 技术要求基于单片机控制的热释电红外报警,将检测到人体红外信号转换成电压信号,经调理电路整形处理为ttl电平送入单片机,单片机对送入信号进行判别,是哪一路报警信号,发出音响报警并通过数码管显示报警位置。2.2 主要任务1.系统分析与设计:对系统进行调研,详细分析系统,设计出基于单片机控制的热释电红外报警系统方案;2实现系统的关键技术:热释电传感器调理电路;报警音响电路;报警显示电路;软件控制;3系统电路的设计与实现:器件选择;地址分配和硬件连接;4系统软件的设计与实现:单片机代码的实现,计算机控制代码的实现;5系统调试;6系统联调;7写课设报告。3 基础知识简介3.1 热释电红外

4、传感器简单介绍热释电红外线(pir)传感器是80年代发展起来的一种新型高灵敏度探测元件。是一种能检测人体发射的红外线而输出电信号的传感器,它能组成防入侵报警器或各种自动化节能装置。它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。将这个电压信号加以放大,便可驱动各种控制电路。如图1示为热释电红外传感器的内部电路框图。图1 热释电红外传感器的内部电路框图3.2 at89s51单片机简单概述at89s51单片机是美国atmel公司生产低电压,高性能cmos 8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(eprom)和128 bytes的随机存取数据存储器

5、(ram),器件采用atmel公司的高密度、非易失性存取技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器(cpu)和flash 存储单元,功能强大。振荡器和时序osc程序存储器4 kb rom数据存储器256 b ram/sfr定时器/计数器 2 16 at89s51cpu64 kb总线 扩展控制器可编程 i/o可编程全双工串行口内中断 外时钟源 外部事件计数 外部中断 控制 并行口 串行通信图2 at89s51 功能方块图图2为at89s51片机的基本组成功能方块图。由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括cpu、存储器、可编程i/o口、定时器/

6、计数器、串行口等,各部分通过内部总线相连。下面介绍几个主要部分。4 方案设计4.1 总体设计思路本设计包括硬件和软件设计两个部分。模块划分为数据采集、键盘控制、报警等子模块。电路结构可划分为:热释电红外传感器、报警器、单片机控制电路、led控制电路及相关的控制管理软件组成。用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。单片机应用系统也是有硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、

7、软件设计等几个阶段。从设计的要求来分析该设计须包含如下结构:热释电红外传感探头电路、报警电路、单片机、复位电路及相关的控制管理软件组成;它们之间的构成框图如图3总体设计框图所示: at89s51复位电路传感器报警执行电路led发光显示调整电路驱动驱动驱动发光二极管图3 总体设计框图 处理器采用51系列单片机at89s51整个系统是在系统软件控制下工作的。设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,经放大电路送出ttl 电平至at89s51单片机。在单片机内,经软件查询、识别判决等环节实时发出入侵报警状态控制信号。驱动电路将控制信号放大并推动声光报警设备完成相应动作。当报警延迟10

8、s一段时间后自动解除,当警情消除后复位电路使系统复位。4.2 具体电路模块设计4.2.1 热释电红外传感器原理本设计所用的热释感器就采用这种双探测元的结构。其工作电路原理及设计电路如图4所示, 在vcc电源端利用c1和r2来稳定工作电压,同样输出端也多加了稳压元件稳定信号。当检测到人体移动信号时,电荷信号经过fet放大后,经过c2,r1的稳压后使输出变为高电位,再经过npn的转化,输出out为低电平。图4 热释电红外传感器原理图4.2.2 调整电路的设计如图5所示为最基本的调整电路,图中1为输出,接单片机的p0.7,p0.6输入输出口。图5 调整电路电路图4.2.3 时钟电路的设计xtal1和

9、xtal2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12mhz,一个振荡周期为1/12us,故而一个机器周期为1us。如图6所示为时钟电路。图6 时钟电路图4.2.4 复位电路的设计复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后, 在reset端持续给出2个机器周期的高电平时就可以完成复位操作。例如使用晶振频率为12mhz时,则复位信号持续时间应

10、不小于2us。该复位电路连接单片机的reset引脚,如图7示为复位电路。图7 复位电路图4.2.5 数码管显示报警电路的设计由2个数码管接上电阻后连上单片的p0,p2输入输出口的引脚,外接vcc,当单片机的相应引脚被置低电平后,数码管显示相应的数字,起到报警作用。注:当p0口输出0f9h时,数码管ds1显示数字1,当p2口输出025h时,数码管ds2显示数字2。图8所示为数码管报警电路。图8 发光二极管报警电路图4.2.6 声音报警电路的设计如下图所示,用一个speaker和三极管、电阻接到单片机的p2.0引脚上,构成声音报警电路,低电平触发,如图9示为声音报警电路。图9 声音报警电路图4.3

11、 系统硬件电路的选择及说明硬件电路的设计见附图1示,从以上的分析可知在本设计中要用到如下器件: at89c51、热释电红外传感器、led、发光二极管、蜂鸣器等一些单片机外围应用电路。5 软件编程及仿真5.1 软件简介5.1.1 proteus软件简介及使用protues软件是英国labcenter electronics公司出版的eda工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作

12、者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,在编译方面,它也支持iar、keil和mplab等多种编译器。该软件具有4大功能模块一智能原理图设计(isis) 丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所

13、需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的bmp图纸,可以方便地供word、powerpoint等多种文档使用。 二完善的电路仿真功能(prospice) 1 prospice混合仿真:基于工业标准spice3f5,实现数字/模拟电路的混合仿真;2 超过27000个仿真器件:可以通过内部原型或使用厂家的spice文件自行设计仿 真器件,labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件。3 多样的激励源:包括直流、正弦、脉冲、

14、分段线性脉冲、音频(使用wav文件)、指数信号、单频fm、数字时钟和码流,还支持文件形式的信号输入。 4 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、spi调试器、i2c调试器等; 5 生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;6 高级图形仿真功能(asf):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等

15、,还可以进行一致性分析。 三独特的单片机协同仿真功能(vsm) 1 支持主流的cpu类型:如arm7、8051/52、avr、pic10/12、pic16、pic18、pic24、dspic33、hc11、basicstamp、8086、msp430等,cpu类型随着版本升级还在继续增加,如即将支持cortex、dsp处理器; 2 支持通用外设模型:如字符lcd模块、图形lcd模块、led点阵、led七段显示模块、键盘/按键、直流/步进/伺服电机、rs232虚拟终端、电子温度计等等,其compim(com口物理接口模型)还可以使仿真电路通过pc机串口和外部电路实现双向异步串行通信; 3 实时仿

16、真:支持uart/usart/eusarts仿真、中断仿真、spi/i2c仿真、mssp仿真、psp仿真、rtc仿真、adc仿真、ccp/eccp仿真; 4 编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、avr、pic的汇编编译器,也可以与第三方集成编译环境(如iar、keil和hitech)结合,进行高级语言的源码级仿真和调试; 软件仿真:支持当前的主流单片机,如51系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列、68000系列等。 1)提供软件调试功能 2)提供丰富的外围接口器件及其仿真 ram,rom,键盘,马达,led

17、,lcd,ad/da,部分spi器件,部分iic器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。 3) 提供丰富的虚拟仪器 利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。电路功能仿真:在protues绘制好原理图后,调入已编译好的目标代码文件:*.hex,可以在protues的原理图中看到模拟的实物运行状态和过程。通过以上介绍让我深入了解了该软件的使用,本次课设的仿真原理图参见附录。5.1.2 keil软件简介一. 系统概述 keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语

18、言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻。 keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍keil c51开发系统各部分功能和使用。 二. keil c51单片机软件开发系统的整体结构 c51工具包的整体结构,其中uvision与ishell分别是c51 for windows和for dos的

19、集成开发环境(ide),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ide本身或其它编辑器编辑c或汇编源文件。然后分别由c51及a51编译器编译生成目标文件(.obj)。目标文件可由lib51创建生成库文件,也可以与库文件一起经l51连接定位生成绝对目标文件(.abs)。abs文件由oh51转换成标准的hex文件,以供调试器dscope51或tscope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如eprom中。 使用独立的keil仿真器时,注意事项 :* 仿真器标配11.0592mhz的晶振,但用户可以在仿真器上的晶振插孔中换插

20、其他频率的晶振。 * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 * 仿真芯片的31脚(/ea)已接至高电平,所以仿真时只能使用片内rom,不能使用片外rom;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部rom(其cpu的/ea引脚接至低电平)的目标系统中使用。三应用keil进行软件仿真开发的主要步骤编写源程序并保存建立工程并添加源文件设置工程编译/汇编、连接,产生目标文件程序调试。keil使用“工程”(project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌

21、握。首先选择菜单file-new,在源程序编辑器中输入汇编语言或c语言源程序(或选择file-open,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;然后选择菜单project-new project,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);工程保存后会立即弹出一个设备选择对话框,选择cpu后点确定返回主界面。这时工程管理窗口的文件页(files)会出现“target1”,将其前面+号展开,接着选择source group1,右击鼠标弹出快捷菜单,选择“add file to group source g

22、roup1”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。加入文件后点close返回主界面,展开“source group1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。紧接着对工程进行设置,选择工程管理窗口的target1,再选择project-option for targettarget1(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在target选项卡中设置晶振频率、在debug选项卡中设置实验仿真板等,如要写片,还必须在output选项卡中选中“creat

23、 hex fi”;其它选项卡内容一般可取默认值。工程设置后按f7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。成功编译/汇编、连接后,选择菜单debug-start/stop debug session(或按ctrl+f5键)进入程序调试状态。5.2 软件程序的实现按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图10所示;图10 主程序工作流程图汇编语言程序如下所示: org 0100h setb p2.0 mov p0,#0c0h mov p2,#03h ;将两个数码管置0 mm: lcall lp1 lcall delay lcall lb lcall d

24、elay sjmp mm lp1: jb p0.7,r lcall delay ;监测输入信号,是否有输入信号 jb p0.7,r ;再次监测输入信号,若有输入信号转alarm:mov p1,#00h mov p0,#0f9h ;p0口显示1 clr p2.0 acall baojing ;调用报警延时程序 acall delay sjmp hh r:mov p0,#0c0h lcall delay hh: ret lb:jb p0.6,t lcall delay jb p0.6,t ;再次监测输入信号,若有输入信号转 ww:mov p1,#00h mov p2,#25h ;p2口显示2 cl

25、r p2.0 acall baojing ;再次监测输入信号,若有输入信号转 acall delay sjmp jj t: mov p2,#03h lcall delay jj:ret delay:mov r1,0aah ;延时程序 ld2:mov r2,0fbh ld1:nop djnz r2,ld1 djnz r1,ld2 ret baojing: mov 51h,#0ah ;设置循环次数 mov tmod,#01h ;定时器t0定时 方式1 mov tl0,#0b0h ;置50ms定时初值 mov th0,#3ch setb tr0 ;启动t0 l2:jbc tf0,l1 ;查询记数溢出

26、 sjmp l2 l1:mov tl0,#0b0h mov th0,#3ch djnz 51h,l2 ;未到时间继续循环 setb p2.0 ;关闭报警 mov p1,#0ffh ;发光二极管灭 ret endc语言程序编写如下所示:#include#define uchar unsigned char#define uint unsigned int#define led8 p1#define shumaguan1 p0#define shumaguan2 p2 sbit beep = p20; /蜂鸣器对应的是p2.0口sbit sensor = p07;/将p0.7口设置成传感器的输入口

27、 sbit sensor1= p06; uchar flag1;/定义全局变量,作为信号检测标志位uchar flag;void delay(uint t)while(t-);void test_voltage(void)if(sensor =0)delay(10000);/延时50毫秒信号确定if(sensor = 0)flag1 = 1;/检测到信号elseflag1 = 0; else flag1=0; void action(void)if(flag1 =1)shumaguan1 = 0xf9;/数码管显示【1】beep = 0;/检测到信号后,蜂鸣器发出“滴答”声led8 = 0x0

28、0;/8个led灯闪烁delay(10000);beep = 1;led8 = 0xff;delay(10000);elseshumaguan1 = 0xc0;/数码管显示【0】 void test_voltage1(void) if(sensor1 =0) delay(10000);/延时50毫秒信号确定if(sensor1 = 0)flag = 1;/检测到信号elseflag= 0; else flag= 0; void action1(void)if(flag =1)shumaguan2= 0x25;/数码管显示【2】beep =0;/检测到信号后,蜂鸣器发出“滴答”声led8 = 0

29、x00;/8个led灯闪烁delay(10000);beep =1;led8 = 0xff;delay(10000);elseshumaguan2 = 0x03;/数码管显示【0】 void main(void)while(1) test_voltage(); action(); test_voltage1(); action1();6 课程设计心得体会 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,的确,从理论到实践,在接近两个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合

温馨提示

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

评论

0/150

提交评论