单片机课程设计-红外热释电报警器Word文档格式.doc
- 文档编号:8452461
- 上传时间:2023-05-11
- 格式:DOC
- 页数:21
- 大小:992KB
单片机课程设计-红外热释电报警器Word文档格式.doc
《单片机课程设计-红外热释电报警器Word文档格式.doc》由会员分享,可在线阅读,更多相关《单片机课程设计-红外热释电报警器Word文档格式.doc(21页珍藏版)》请在冰点文库上搜索。
2.1技术要求
基于单片机控制的热释电红外报警,将检测到人体红外信号转换成电压信号,经调理电路整形处理为TTL电平送入单片机,单片机对送入信号进行判别,是哪一路报警信号,发出音响报警并通过数码管显示报警位置。
2.2主要任务
1.系统分析与设计:
对系统进行调研,详细分析系统,设计出基于单片机控制的热释电红外报警系统方案;
2.实现系统的关键技术:
热释电传感器调理电路;
报警音响电路;
报警显示电路;
软件控制;
3.系统电路的设计与实现:
器件选择;
地址分配和硬件连接;
4.系统软件的设计与实现:
单片机代码的实现,计算机控制代码的实现;
5.系统调试;
6.系统联调;
7.写课设报告。
3基础知识简介
3.1热释电红外传感器简单介绍
热释电红外线(PIR)传感器是80年代发展起来的一种新型高灵敏度探测元件。
是一种能检测人体发射的红外线而输出电信号的传感器,它能组成防入侵报警器或各种自动化节能装置。
它能以非接触形式检测出人体辐射的红外线能量的变化,并将其转换成电压信号输出。
将这个电压信号加以放大,便可驱动各种控制电路。
如图1示为热释电红外传感器
的内部电路框图。
图1热释电红外传感器的内部电路框图
3.2AT89S51单片机简单概述
AT89S51单片机是美国Atmel公司生产低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存取技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。
振荡器和时序
OSC
程序存储器
4KBROM
数据存储器
256BRAM/SFR
定时器/计数器
2×
16
AT89S51
CPU
64KB总线
扩展控制器
可编程I/O
可编程全
双工串行口
内中断
外时钟源外部事件计数
外部中断控制并行口串行通信
图2AT89S51功能方块图
图2为AT89S51片机的基本组成功能方块图。
由图可见,在这一块芯片上,集成了一台微型计算机的主要组成部分,其中包括CPU、存储器、可编程I/O口、定时器/计数器、串行口等,各部分通过内部总线相连。
下面介绍几个主要部分。
4方案设计
4.1总体设计思路
本设计包括硬件和软件设计两个部分。
模块划分为数据采集、键盘控制、报警等子模块。
电路结构可划分为:
热释电红外传感器、报警器、单片机控制电路、LED控制电路及相关的控制管理软件组成。
用户终端完成信息采集、处理、数据传送、功能设定、本地报警等功能。
就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。
单片机应用系统也是有硬件和软件组成。
硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。
单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。
从设计的要求来分析该设计须包含如下结构:
热释电红外传感探头电路、报警电路、单片机、复位电路及相关的控制管理软件组成;
它们之间的构成框图如图3总体设计框图所示:
AT89
S51
复位电路
传感器
报警执行电路
LED发光显示
调整电路
驱动
发光二极管
图3总体设计框图
处理器采用51系列单片机AT89S51整个系统是在系统软件控制下工作的。
设置在监测点上的红外探头将人体辐射的红外光谱变换成电信号,经放大电路送出TTL电平至AT89S51单片机。
在单片机内,经软件查询、识别判决等环节实时发出入侵报警状态控制信号。
驱动电路将控制信号放大并推动声光报警设备完成相应动作。
当报警延迟10s一段时间后自动解除,当警情消除后复位电路使系统复位。
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和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
因为一个机器周期含有6个状态周期,而每个状态周期为2个振荡周期,所以一个机器周期共有12个振荡周期,如果外接石英晶体振荡器的振荡频率为12MHZ,一个振荡周期为1/12us,故而一个机器周期为1us。
如图6所示为时钟电路。
图6时钟电路图
4.2.4复位电路的设计
复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后,在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。
例如使用晶振频率为12MHz时,则复位信号持续时间应不小于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系统硬件电路的选择及说明
硬件电路的设计见附图1示,从以上的分析可知在本设计中要用到如下器件:
AT89C51、热释电红外传感器、LED、发光二极管、蜂鸣器等一些单片机外围应用电路。
5软件编程及仿真
5.1软件简介
5.1.1Proteus软件简介及使用
Protues软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
该软件具有4大功能模块
一.智能原理图设计(ISIS)
丰富的器件库:
超过27000种元器件,可方便地创建新元件;
智能的器件搜索:
通过模糊搜索可以快速定位所需要的器件;
智能化的连线功能:
自动连线功能使连接导线简单快捷,大大缩短绘图时间;
支持总线结构:
使用总线器件和总线布线使电路设计简明清晰;
可输出高质量图纸:
通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。
二.完善的电路仿真功能(Prospice)
1ProSPICE混合仿真:
基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;
2超过27000个仿真器件:
可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件。
3多样的激励源:
包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入。
4丰富的虚拟仪器:
13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等;
5生动的仿真显示:
用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动;
6高级图形仿真功能(ASF):
基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。
三.独特的单片机协同仿真功能(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实时仿真:
支持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,LCD,AD/DA,部分SPI器件,部分IIC器件。
这样很接近实际。
在训练学生时,可以选择不同的方案,这样更利于培养学生。
3)提供丰富的虚拟仪器
利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。
电路功能仿真:
在PROTUES绘制好原理图后,调入已编译好的目标代码文件:
*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。
通过以上介绍让我深入了解了该软件的使用,本次课设的仿真原理图参见附录。
5.1.2Keil软件简介
一.系统概述
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
下面详细介绍KeilC51开发系统各部分功能和使用。
二.KeilC51单片机软件开发系统的整体结构
C51工具包的整体结构,其中uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。
开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。
然后分别由C51及A51编译器编译生成目标文件(.OBJ)。
目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。
ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。
使用独立的Keil仿真器时,注意事项:
*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。
*仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;
但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
三.应用Keil进行软件仿真开发的主要步骤
编写源程序并保存—建立工程并添加源文件—设置工程—编译/汇编、连接,产生目标文件—程序调试。
Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。
工程的建立、设置、编译/汇编及连接产生目标文件的方法非常易于掌握。
首先选择菜单File-New…,在源程序编辑器中输入汇编语言或C语言源程序(或选择File-Open…,直接打开已用其它编辑器编辑好的源程序文档)并保存,注意保存时必须在文件名后加上扩展名.asm(.a51)或.c;
然后选择菜单Project-NewProject…,建立新工程并保存(保存时无需加扩展名,也可加上扩展名.uv2);
工程保存后会立即弹出一个设备选择对话框,选择CPU后点确定返回主界面。
这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择SourceGroup1,右击鼠标弹出快捷菜单,选择“AddFiletoGroup‘SourceGroup1’”,出现一个对话框,要求寻找并加入源文件(在加入一个源文件后,该对话框不会消失,而是等待继续加入其它文件)。
加入文件后点close返回主界面,展开“SourceGroup1”前面+号,就会看到所加入的文件,双击文件名,即可打开该源程序文件。
紧接着对工程进行设置,选择工程管理窗口的Target1,再选择Project-OptionforTarget‘Target1’(或点右键弹出快捷菜单再选择该选项),打开工程属性设置对话框,共有8个选项卡,主要设置工作包括在Target选项卡中设置晶振频率、在Debug选项卡中设置实验仿真板等,如要写片,还必须在Output选项卡中选中“CreatHexFi”;
其它选项卡内容一般可取默认值。
工程设置后按F7键(或点击编译工具栏上相应图标)进行编译/汇编、连接以及产生目标文件。
成功编译/汇编、连接后,选择菜单Debug-Start/StopDebugSession(或按Ctrl+F5键)进入程序调试状态。
5.2软件程序的实现
按上述工作原理和硬件结构分析可知系统主程序工作流程图如下图10所示;
图10主程序工作流程图
汇编语言程序如下所示:
ORG0100H
SETBP2.0
MOVP0,#0C0H
MOVP2,#03H;
将两个数码管置0
MM:
LCALLLP1
LCALLDELAY
LCALLLB
LCALLDELAY
SJMPMM
LP1:
JBP0.7,R
LCALLDELAY;
监测输入信号,是否有输入信号
JBP0.7,R;
再次监测输入信号,若有输入信号转
ALARM:
MOVP1,#00H
MOVP0,#0F9H;
P0口显示1
CLRP2.0
ACALLBAOJING;
调用报警延时程序
ACALLDELAY
SJMPHH
R:
MOVP0,#0C0H
HH:
RET
LB:
JBP0.6,T
JBP0.6,T;
再次监测输入信号,若有输入信号转
WW:
MOVP1,#00H
MOVP2,#25H;
P2口显示2
ACALLBAOJING;
ACALLDELAY
SJMPJJ
T:
MOVP2,#03H
JJ:
RET
DELAY:
MOVR1,0AAH;
延时程序
LD2:
MOVR2,0FBH
LD1:
NOP
DJNZR2,LD1
DJNZR1,LD2
RET
BAOJING:
MOV51H,#0AH;
设置循环次数
MOVTMOD,#01H;
定时器T0定时方式1
MOVTL0,#0B0H;
置50ms定时初值
MOVTH0,#3CH
SETBTR0;
启动T0
L2:
JBCTF0,L1;
查询记数溢出
SJMPL2
L1:
MOVTL0,#0B0H
DJNZ51H,L2;
未到时间继续循环
SETBP2.0;
关闭报警
MOVP1,#0FFH;
发光二极管灭
RET
END
C语言程序编写如下所示:
#include<
reg52.h>
#defineucharunsignedchar
#defineuintunsignedint
#defineled8P1
#defineShumaguan1P0
#defineshumaguan2P2
sbitbeep=P2^0;
//蜂鸣器对应的是P2.0口
sbitsensor=P0^7;
//将P0.7口设置成传感器的输入口
sbitsensor1=P0^6;
ucharflag1;
//定义全局变量,作为信号检测标志位
ucharflag;
voiddelay(uintt)
{
while(t--);
}
voidTest_Voltage(void)
if(sensor==0)
{
delay(10000);
//延时50毫秒信号确定
if(sensor==0)
{
flag1=1;
//检测到信号
}
else
flag1=0;
}
else
{
flag1=0;
}
voidaction(void)
if(flag1==1)
Shumaguan1=0XF9;
//数码管显示【1】
beep=0;
//检测到信号后,蜂鸣器发出“滴答”声
led8=0X00;
//8个LED灯闪烁
beep=1;
led8=0XFF;
else
Shumaguan1=0XC0;
//数码管显示【0】
}
voidTest_Voltage1(void)
{
if(sensor1==0)
{ delay(10000);
if(sensor1==0)
flag=1;
flag=0;
}
else
{
flag=0;
}
voidaction1(void)
{ if(flag==1)
shumagu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计 红外 热释电 报警器