汽车防盗报警器.docx
《汽车防盗报警器.docx》由会员分享,可在线阅读,更多相关《汽车防盗报警器.docx(11页珍藏版)》请在冰豆网上搜索。
汽车防盗报警器
汽车防盗报警器
1选题背景……………………………………………………………………………………1
2任务指标及要求……………………………………………………………………………1
3方案论证……………………………………………………………………………………1
4芯片及器件介绍……………………………………………………………………………1
4.1MCS-51微型计算机……………………………………………………………………1
4.1.1MCS-51基本组成及主要特点……………………………………………………2
4.1.2MCS-51工作原理…………………………………………………………………3
4.2定时器…………………………………………………………………………………3
4.2.1定时器的工作原理………………………………………………………………4
4.3中断系统………………………………………………………………………………4
5过程论述……………………………………………………………………………………5
5.1检测电路………………………………………………………………………………5
5.2单片机控制电路………………………………………………………………………6
5.3报警电路………………………………………………………………………………7
6总原理图……………………………………………………………………………………7
7程序…………………………………………………………………………………………8
8元件清单……………………………………………………………………………………9
9结果分析……………………………………………………………………………………9
10总结及设计体会…………………………………………………………………………10
参考文献……………………………………………………………………………………11
(5)32个可编程的I/O线(四个8位并行I/O端口)
(6)一个可编程全双工串行口
(7)5/6个中断源,两个中断优先级
(8)可寻址64KB外部数据存储器空间及控制电路
(9)可寻址64KB外部程序存储器空间及控制电路
(10)有位寻址功能,适于布尔处理机的位处理机
4.1.2MCS-51工作原理
(1)电源引脚
VCC:
接+5V电源;VSS:
接电源地端。
(2)外接晶体引脚
XTAL1:
片内反相放大器输入端。
XTAL2:
片内反相放大器输出端,外接晶体时,XTAL1与XTAL2各接晶体一端,借外接晶体与片内反相放大器构成振荡器。
MCS-51系列单片机内含有一个高增益的反相放大器,通过XTAL1、XTAL2外接作为反馈元件晶体后,构成自激振荡器,接法如图
图4-3MCS-51单片机晶体振荡电路
4.2定时器
AT89C51单片机内部设有两个16位可编程的定时器/计数器,简称定时器0和定时器1,分别用T0和T1表示。
它们的工作方式、定时时间、量程、启动方式等均可以通过程序来设置和改变。
AT89C51单片机内部定时器有两个特殊功能寄存器TCON和TMOD及T0、T1组成。
其中TMOD为模式控制寄存器,主要用来设置定时器/计数器的操作模式;TCOK为控制寄存器,主要用来控制定时器的启动与停止。
两个16位的定时器/计数器T0和T1均可以分成2个独立的8位计数器,即TH0、TL0、TH1、TL1,它们用于存定时或计数的初值,它们是一个加1的计数器。
图4-4定时/计数器的基本结构
4.2.1定时器的工作原理
定时/计数器T0和T1的实质是加“1”计数器,即每输入一个脉冲,计数器加“1”,当加到计数器全为“1”时,再输入一个脉冲,就使计数器回零,且计数器的溢出使TCON中的标志位TF0或TF1置“1”,向CPU发出中断请求(定时/计数器中断允许时)。
(1)定时器模式
此时输入脉冲是由内部时钟振荡器的输出经12分频后送来的;如果晶振频率为12MHz,则一个机器周期是1us,定时器每接收一个输入脉冲的时间为1us;要定一段时间,只需计算一下脉冲个数即可。
(2)计数器模式
此时输入脉冲是由外部引脚P3.4(T0)或P3.5(T1)输入到计数器的;在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加“1”;由于检测一个从“1”到“0”的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期,否则会出现漏计数现象,所以最高计数频率为晶振频率的1/24;当晶振频率为12MHz时,最高计数频率不超500kHz,即计数脉冲的周期要大于2。
4.3中断系统
中断处理过程分为4个阶段:
中断请求→中断响应→中断服务→中断返回。
(1)中断响应条件
CPU在每个机器周期的S5P2时刻对各个中断源的中断标志进行采样。
这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。
如果某个中断标志在上一个机器周期的S5P2被置成了“1”,那么它将于现在的查询周期中及时被发现。
接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定入口地址,进入相应的中断服务程序。
(2)中断响应过程
(a)将相应的优先级状态触发器置“1”(以阻断后来的同级或低级的中断请求);
(b)执行一条硬件LCALL指令,把程序计数器(PC)的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC;
(c)进入中断服务程序后,CPU自动清除中断请求标志TF0、TF1、IE0、IE1,但不能清除TI和RI。
(3)执行中断服务程序
(a)在主程序中事先进行中断初始化;
(b)在中断服务程序入口地址单元放一条长转移指令LJMP,这样中断服务程序能灵活地安排在64KB程序存储器的任何地方;
(c)在中断服务程序中,首先用软件保护现场,在中断服务之后、中断返回前恢复现场,以防止中断返回后,丢失原寄存器的内容。
(4)中断返回
中断服务程序的最后一条指令必须是中断返回指令RETI。
RETI指令能使CPU结束中断服务程序的执行,返回到曾经被中断过的程序处,继续执行主程序。
RETI指令的具体功能是:
(a)将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序;
(b)将相应中断优先级状态触发器清“0”,通知中断系统,中断服务程序已执行完毕。
5过程论述
本系统是一个汽车防盗报警器系统。
当有人或物体接触车体时产生振动,本报警器就通过振动传感器接收到振动信号,由检测电路发出一个信号,经过单片机控制电路处理后发出报警信号,基于以上要求,可以得到系统的设计要求。
本系统的设计要求如下:
(1)检测电路要能够检测到振动信号,并输出一个单片机能够识别的数字信号;
(2)单片机控制电路主要完成接收检测电路送过来的信号时,他就一直处于预备接受状态,一旦检测电路有信号输入时,它就发出报警信号,并且延时数秒后,就停止发出报警信号。
如果检测电路一直有信号输入,单片机控制电路就一直发出报警信号,直到检测电路不在输入信号;
(3)报警电路主要完成声光报警工作。
当报警电路接收到单片机控制电路发出的报警信号时,发光二极管就发光实现光报警,蜂鸣器就鸣叫实现声报警。
5.1检测电路
检测电路如图5-1所示,振动传感器(用按键代替)采用上接电路法,通过一个非门输出数字信号。
没有振动信号时,传感器器导通,1脚为高电平,经过TTL非门后反向,所以2脚是低电平。
当有振动信号时传感器截止,1脚为低电平,2经过反向后是高电平,而且振动时间越长,传感器截止时间也随之增长。
图5-1检测电路
图5-2输出波形
如上所述,我们可以得到检测电路在有振动时的波形图,如图5-2。
检测电路产生的数字脉冲信号,脉冲宽度就窄。
脉冲的幅度跟电源和下拉电阻R3的大小无关,因为输出信号是经过TTL非门的,所有输出信号的幅度是TTL门电路规定的电压5V。
但是电源也不能太小,因为太小可能引起TTL非门无法检测,这里为了实际操作的方便采用5V电源。
5.2单片机控制电路
如图5-3所示,单片机采用内部振荡方式,电容C1和C2都是30pF,晶振采用12M的,复位方式是按键电平手动复位。
考虑到检测电路输出的是数字脉冲信号,所以选择中断端INT0作为检测电路信号的输入端,这样只要通过程序把中断端INT0的触发方式选择为下降沿触发,单片机就可以正确的检测到电路输出信号。
选择P1口作为报警信号的输出端因为P1口是通过I/O双向静态接口,具有输出锁存功能,这样可以比较方便的通过软件来实现报警信号的控制。
图5-3单片机控制电路
5.3报警电路
报警电路如图5-4,上面是光报警电路,它与单片机的P1口连接,当单片机控制相应的P1口输出1时,发光二极管截止,不报警。
当单片机控制相应的P1口输出0时,发光二极管导通,报警,这样单片机就可以通过控制相应的P1口来控制光报警电路。
下面是声报警电路,同样的道理,当单片机控制相应的P1口输出1时,三极管Q1的基极和发射极之间截止,整个三极管就不工作,不报警。
单片机控制相应的P1口输出0时,三极管的基极和发射极就导通,在集电极就产生一个较大的电流,从而驱动蜂鸣器工作,发出报警。
图5-4报警电路
6总原理图
程序的主要工作流程:
当检测电路没有输出数字脉冲信号时,单片机就一直循环在主程序,一旦INT0端有脉冲信号时,程序就跳到中断子程序EXT0执行。
在中断子程序中先关闭了中断,这样可以屏蔽掉其他中断的干扰,使程序运行更加稳定,接着设置了报警循环次数,然后报警,延时1秒后关报警,再延时1秒后又开,直到循环结束。
这样执行程序后的现象是二极管不停地闪烁,蜂鸣器不时的鸣叫,这样主要是为了增强报警的视觉和听觉的冲击效果。
图6-1总原理图
7程序
ORG0000H
JMPSTART
ORG0003H
JMPEXT0
ORG0030H
START:
MOVIE,#10000001B;开INT0中断
MOVIP,#00000001B;设置中断优先级
MOVTCON,#00000001B;设置INT0的中断触发方式为下降沿触发
MOVA,#11111111B;关报警
JMPSTART;保持预警状态
EXT0:
MOVIE,#00000000B;关中断,主要用来屏蔽其他中断
MOVR4,6;设置闪烁和鸣叫的报警次数
F1:
MOVA,#11111100B;开报警
MOVP1,A
CALLDELAY;调用延时子程序
MOVA,#11111111B;关报警
MOVP1,A
CALLDELAY;调用延时子程序
DJNZR4,F1;反复报警
RETI;返回主程序
DELAY:
MOVR5,#10;延时1秒
D1:
MOVR6,#200;延时0.1秒
D2:
MOVR7,#248;延时0.5毫秒
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
8元件清单
表8元件清单
名称
元器件标号
元器件型号
个数
单片机
U1
AT89C51
1
TTL非门芯片
U2
74LS04
1
按键
S1、S2
2
三极管
Q1
9012
1
蜂鸣器
BUZ1
1
石英晶体振荡器
X1
12M
1
发光二极管
D1
1
电阻
R1
1K
1
R2
200
1
R3
1M
1
R4
10K
1
R5
470
1
R6
100
1
电容
C1、C2
30pF
2
C3
22uF
1
9结果分析
当按键按下时,即振动传感器状态发生改变时,蜂鸣器不时的鸣叫,电路立马报警,二极管不停地闪烁,一段时间后停止闪烁。
此现象证明汽车防盗到报警电路工作正常。
10总结及设计体会
当振动传感器状态发生改变时,电路立刻报警并且灯不断闪烁,一段时间停止闪烁。
通过此次的设计让我对单片机的使用和编程能力有了一定的提高,在这个过程中,我无法在仿真软件中找到振动传感器,经过仔细思考,于是我便用按键代替,也起到了一样的效果,这使我对解决实际问题的能力有了很大的改善。
另一方面,由于学的知识有限,只能设计简单的报警电路,以后还需深入学习,争取实现智能化。
实践出真知。
这次课程设计深刻体会到实践是检验真理的唯一标准。
看似简单的设计,但是实现起来很困难。
综上所述,课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又一门辩思课,给我提供了许多道理,让我学会了思考,学会了对专业知识的学习方法。
参考文献
[1]魏立峰,王宝兴.单片机原理与应用技术.北京大学出版社.2012.5
[2]宋一兵.零点起步51单片机轻松入门与典型实例.机械工业出版社.2011.7
[3]徐萍.单片机技术项目教程.机械工业出版社.2009.7