基于单片机的报警器设计Word格式文档下载.docx
《基于单片机的报警器设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的报警器设计Word格式文档下载.docx(13页珍藏版)》请在冰点文库上搜索。
此电路是否起作用。
电路工作时,K1为断开状态,K2为连接状态即所谓的常闭触点,只要K2断开,电路就会输入一个高电平信号,此时系统报警。
图2门窗防盗报警原理图
2.4手动报警信号
此电路时通过一手动开关控制信号的输入,一旦发现盗窃人员时,只要触动
手动开关,系统就会自动报警。
图3手动报警电路
2.5声光报警电路
电路通过单片机的输出信号控制报警电路,其中P0.0口只控制灯光信号;
PO.1口既可控制声音信号,又可控制灯光信号达到声光同时报警;
P0.2口只控
制声音信号。
其实现方式都是通过三极管来控制。
+12v
△
I
R14
R13
图4声光报警电路
其中,初始化是将定时器0赋值并打开定时器,发光二极管由PO.O,PO.1控制,P0.2控制一个扬声器,1S信号由定时器0产生,1.5KHZ和1.8KHZ脉冲由两个不同的延时程序产生。
一旦进入报警程序,则不停产生报警信号,直到
复位信号到来或电源断开,这样设计的目的是为了使程序简单实用。
三软件设计流程及描述
3.1主流程图
开始
初始化
Y
有键按下?
N
常闭打开?
判断变量加1
—红外1路断开?
戈N
1
f
■
报警
红外2路断开?
—红外3路断开?
判断变量>2
变量清零
3.2报警程序流程图
3.3定时准确性设计
本方案中采用定时器0进行10毫秒定时,当进行了100次定时中断后定时时间为1秒,此时将定时标志位清零重新计数,并提供1秒信号使二极管电平翻转,同时使扬声器发生声音频率变化。
定时中断子程序见源代码。
程序中定时器,一直处于运行状态,也就是说定时器是理想运作的,其中断程序每隔0.1秒执行一次,在理想状态下,定时器定时是没有系统误差的,但由于定时器中断溢出后,定时器从0开始计数,直
到被重新置数,才开始正确定时,这样中断溢出到中断响应到定时器被重新置数,其间消耗的时间就造成了定时器定时的误差。
如果在前述定时器不关的情况下,在中断程序的一开始就给定时器置数,此时误差最小,误差大约为:
每0.01秒,误差7—12个机器周期。
当然这是在定时器定时刚好为0.01秒时的情况,由以上分析,在定时值设置时,可以适当的扣除9个机器周期的时间值。
对于延时程序,其作用是产生1.8KHZ和1.5KHZ的脉冲,其周期分别为556us和667us,即556和667个机器周期,由于计算复杂,不可能做到完全准确,寄存器初值必定存在误差,考虑到人听觉的灵敏度,此误差可忽略不计。
四调试
首先进行电源的调试,选择5V的直流电源,对电路进行供电。
其次对每个的报警控制方式进行调试,由于P1.0接收门窗报警信号,门窗报警电路采用多个常闭开关串联,其中一个发生开路就可以产生报警信号。
若在开关断开后,报
警器能够发出要求的报警声,则说明设计正确,调试证明,开关断开之后产生报警声。
由于资料相当有限,没有找到相关的红外线发射接收元件,而是用原理类似的发光二极管和光敏电阻代替。
调试证明,其可以产生相同的效果。
在对手动开关控制报警功能的调试中,出现过只亮其中一个二极管的情况,经检查发现是程序的问题,经修改再次按下开关上述情况则消失,发光二极管按周期交替闪亮。
在对软、硬件的多次调试验证的的情况下,终于达到了设计内容的要求。
五课程设计体会
单片机课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程•随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。
回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在接近四星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以
前所学过的知识重新温故。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在邓老师的辛勤指导下,终于游逆而解。
同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!
参考文献
[1]胡汉才.单片机原理及其接口技术•第二版.清华大学出版社.2004
(2)
[2]陈有卿.微波防盗报警器.北京电子报.2001⑺:
32-56
[3]李鸿.单片机原理及应用.湖南大学出版社2004-8第一版
[4]放大千、方亚敏.家庭电子小制作.第一版.2004.(7):
45-195
[5]陈有卿.新颖电子模块手册.第一版.北京机械工业出版社.
2003.⑷:
35-126
[6]张小东.语音型展厅文物防盗报警器.第一版.电子电脑报
2001(5)34-89
[7]李魏祥,孙秀强等.MCS-51单片机原理与应用.天津:
天津大学出版
社,2001
附录一电路原理图
wg
5
SIXK
S1
詩2
bg
2X
@r--Mrk日罷殳一二亦d殳世0置
LS..HOlW逵-ida^oNct
90w®
odsf£
adwHod30wro」
5-£
oowQod
d4dd
K
HIUJlr.'
l-dQUA
」3cc
LTV■負
HE
Un
-_
u—
AI
」□Eoni
HEE
co暑cn
0o5T
4
Q^
s
Qi寸
E
-厂lgJ°
<
ng+
附录二源程序清单
ORG0000H
SJMPSTART
ORGD00BH
SJMPINT_TO
;
10MS计数单元
红外标志缓冲区
;
定时方式,16位计数器
缓冲区清零
ORGD100H
START:
JS1EQC21H
HONGEQC22H
MOVTMOD,#11H
MOVHONG,#00H
SETBET0;
允许定时中断响应
MO\P1,#0FFH;
pl口初始化
MO\P0,#00H;
p0口初始化
CLRB;
b寄存器清零
MOVA,P1.0;
将常闭开关状态送A
JNZDELAY30S;
若开关打开,则跳延时程序
MOVA,P1.2;
将手动开关状态送A
JZBAO;
若手动开关打开则跳报警程序
MOVA,P1.1;
将红外开关状态送A
JZSTART;
若红外开关未开则停止本次判断
MO\A,P1.3;
若开关打开,将红外接收器状态送A
JNZNEXT1;
若无遮挡则检测第二个接收器
INCHONG若有遮挡则红外判断变量加1
NEXT1:
MO\A,P1.4;
检测第2个接收器
JNZNEXT2;
若无遮挡则检测第3个
NEXT2:
MO\A,P1.5;
检测第3个接收器
JNZA,NEXT3;
若无遮挡则计算红外变量值
INCHONG;
若有遮拦则红外变量加1
NEXT3:
MOVR7,HONG将变量值送入R7
SUBBR7,2;
将R7值减2
JCSTART;
判断借位位,若有借位则跳开始处
SJMPBAO;
若无借位则变量值大于等于2,报警
END
INT_TO:
定时器0中断入口
PUSHACC;
保护程序状态寄存器状态
PUSHPSW
MOVTL1,#0AFH;
MOVTH1,#3CH;
产生10MS信号
INCJS1;
每10MS计数单元加一
CJNEJS1,#100,OUT;
若计数单元未满100则结束本次中断
CPLB.7;
计满100个10MS产生1S信号
MOVJS1,#00H;
将计数单元归零重新计数
OUT:
POPACC;
恢复程序状态寄存器状态
POPPSW
RETI子程序返回
DELAY30S:
延时程序(延时30秒)
MOV
R3,#20
D1:
MOVR4,
#30
D2:
R5,#250
DJNZR5,
$
DJNZR4,
D2
DJNZR3,
D1
BAO:
报警程序
TL1,#0AFH;
定时器初始化
TH1,#3CH
SETB
TR0;
开定时器
JB
B.7,SK1;
当秒标志为1时跳SK1
SJMP
SK2;
否则跳SK2
SK1:
SETB
P0.1;
将发光管1点亮
CLRP0.0;
将发光管2熄灭
LOOP1CPLP0.2;
每延时556uS将报警脉冲取反
MOVR7,#20H
S1:
MOVR6,#6H
S2:
JB
B.7,SK2;
判断秒标志有无变化,若有则跳SK2
DJNZ
R6,S2
R7,S1
LOOP1
SK2:
P0.0;
将发光管1熄灭
CLRP0.1;
将发光管2点亮
LOOP2CPLP0.2;
每延时667uS将报警脉冲取反
MOVR7,#25H
S3:
S4:
JNBB.7,SK2;
判断秒标志有无变化,若有则跳SK1
R6,S4
R7,S3
LOOP2