基于单片机实现的变频报警器设计.docx
《基于单片机实现的变频报警器设计.docx》由会员分享,可在线阅读,更多相关《基于单片机实现的变频报警器设计.docx(22页珍藏版)》请在冰豆网上搜索。
![基于单片机实现的变频报警器设计.docx](https://file1.bdocx.com/fileroot1/2023-2/1/f0e18092-108c-4e52-a124-08c94a5e1861/f0e18092-108c-4e52-a124-08c94a5e18611.gif)
基于单片机实现的变频报警器设计
d
课程设计说明书
课程名称:
单片机原理及应用
设计题目:
变频报警器设计
院系:
电子信息与电气工程学院
学生姓名:
王敏
学号:
0034
专业班级:
08自动化一班
指导教师:
范秋凤
2011年5月19日
课程设计任务书
设计题目
变频报警器设计
学生姓名
所在院系
电子信息与电气工程学院
专业、年级、班
设计要求:
1.具有电源开关及指示灯,有复位按键。
2.通过端口输出1KHz和2KHz的变频信号以示报警,每隔1s交替变换1次。
3.注意声音的频率变化及频率变化的时间。
参考:
延时子程序中的延时时间决定输出声音的频率,双重循环延时的时间决定声音的长短。
学生应完成的工作:
1.按照老师的要求学习课前指导,在图书馆查相关资料,进一步了解所做课程设计的基本原理,以及如何实现所作产品的功能。
2.编写程序流程图和实现课程设计产品功能的程序,并做调试,直到调试成功且达到相应功能实现的要求为止。
3.进行电路图的制作,在电路设计过程中,要严格按照数据要求选取合适的电子器件,一旦器件选取不当,会直接影响产品功能的实现,甚至造成对产品的破坏。
4.电路图制作完成后,把组编写的程序写入单片机,在计算机上进行软件仿真,若不能达到要求则要做相应修改,直至稳定的实现所要求的而功能。
5.实物制作,使用相关工具完成事物的焊接。
参考文献阅读:
[1]张迎新.单片机初级教程[M].北京:
航空航天大学出版社,2007.
[2]周润景张丽娜.基与PROTEUS的电路及单片机仿真[M].北京:
航空航天大出版社,2007.
[3]张万奎.模拟电子技术[M].湖南:
湖南大学出版社,2005.
[4]杨志忠.数字电子技术.[M].北京:
高等教育出版社,2005.
工作计划:
5月9日至11日------------设计原理图
5月12日至13日-------------程序设计
5月16日--------------------焊接电路
5月17日------------烧程序并调试电路
5月18日至20日-----撰写课程设计报告
任务下达日期:
指导教师(签名):
学生(签名):
变频报警器
摘要:
报警器广泛应用于医学、军事、工业等领域以及日常生活中,其研究具有一定的学术价值和广泛的市场前景。
本文介绍了基于AT89S52单片机设计的变频报警器,通过对其编程使其口产生两种不同频率的方波,经过三极管放大驱动蜂鸣器发声,以示报警。
关键词:
报警器AT89S52变频蜂鸣器仿真调试
1设计背景……………………………………………………………………6
时代背景…………………………………………………………………6
报警器背景………………………………………………………………6
2设计方案……………………………………………………………………7
方案一……………………………………………………………………7
方案二……………………………………………………………………9
方案三……………………………………………………………………9
3方案实施……………………………………………………………………10
系统介绍…………………………………………………………………10
整体方框图………………………………………………………………10
电源电路…………………………………………………………………10
复位电路…………………………………………………………………11
时钟电路…………………………………………………………………11
蜂鸣器驱动电路…………………………………………………………12
按键电路…………………………………………………………………12
系统软件设计……………………………………………………………13
系统调试与制作…………………………………………………………14
4结果与结论…………………………………………………………………14
变频报警器的功能………………………………………………………14
变频报警器的改进………………………………………………………14
5收获与致谢…………………………………………………………………14
6参考文献……………………………………………………………………15
7附件…………………………………………………………………………16
元器件清单………………………………………………………………16
硬件原理图………………………………………………………………17
程序………………………………………………………………………17
实物图照片………………………………………………………………21
1.设计背景
时代背景
单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。
因为它体积小,在整个装置中,起着有如人类头脑的作用。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能到使产品升级换代的功效。
本次课程设计采用的是AT89S52。
AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
图1AT89S52引脚图
报警器背景
本次课程设计利用单片机实现变频报警功能,进而可以改进利用单片机实现发声及乐曲演奏的功能。
我们可以利用变频报警功能应用于实际与传感器结合可实现燃气报警、火灾报警、防盗报警等功能。
即利用变频报警器对用于发生警情、危险、紧急情况等状况下以声音、光线、气压等形式发出警报信号。
随着科技的进步,机械式报警器越来越多地被先进的电子报警器代替,经常应用于系统故障、安全防范、交通运输、医疗救护、应急救灾等领域,与社会生产、生活密不可分。
2.设计方案
为了实现单片机发声,我们设计了三种方案来实现。
其中电源电路部分、复位电路部分、蜂鸣驱动电路部分、时钟电路部分都是相同的,只有这样才可以利用单片机驱动蜂鸣器发声。
我们在开关电路部分做了改进。
无源蜂鸣器需要输入一定频率的信号,才发出该频率的声音。
根据设计要求,通过编程使AT89S52单片机的口输出相应频率的信号,再通过三极管放大驱动蜂鸣器发出不同频率的声音,以示报警。
对于单片机产生音乐,关键是控制频率的输出,我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到有规律的声音。
我们选取中音中的七个基本音符:
do、re、mi、fa、so、la、xi,八个不同的音符对应着不同的频率,只要我们对照音符输出相应的对应的频率,就可以产生简单的音乐发声。
方案一
电路分为电源电路,时钟电路,复位电路,蜂鸣器驱动电路。
接通电源,按下电源开关后由AT89S52发出1KHz1s和2KHz1s的脉冲并循环,通过蜂鸣器驱动电路实现报警发声。
程序流程图如图2:
图2方案一程序流程图
然后,我们编写了如下程序:
ORG0000H
RESET:
AJMPMAIN;转主程序
ORG001BH;T1中断入口
AJMPIT1P;转T1中断处理程序IT1P
ORG0100H
MAIN:
MOVSP,#60H;设堆栈指针
MOVR0,#100;置1KHz时计数初值
MOVR1,#20
MOVTMOD,#10H;设置T1为方式1
MOVTL1,#34H;T1置1KHz时初值
MOVTH1,#0FEH
SETBTR1;启动T1
SETBET1;允许T1中断
SETBEA;CPU开中断
HERE:
AJMPHERE;自身跳转
IT1P:
;T1中断服务程序
JCIT1P1;C=01s1KHz方波。
C=1,跳转到IT1P1
MOVTL1,#34H
MOVTH1,#0FEH
DJNZR0,QF
MOVR0,#100
DJNZR1,QF
SETBC
MOVR2,#200;置2KHz时计数初值
MOVR3,#20
IT1P1:
;1s2KHz方波程序
MOVTL1,#1AH
MOVTH1,#0FFH
DJNZR2,QF
MOVR2,#200
DJNZR3,QF
CLRC
MOVR0,#100;重置1KHz时计数初值
MOVR1,#20
QF:
CPL;的状态取反
RETI
RET
END
方案二
在方案一的基础上增加一个RDP-18热释红外感应模块来作为防盗报警的触发模块。
RDP-18集成了热释红外控制全部电路、PIR传感头、及菲涅尔透镜,电路十分简单。
电源开关打开后,如果有人进入到RDP-18的有效范围,RDP-18就会发出电平来触发报警电路,当人离开有效范围时报警停止。
程序同方案一。
方案三
我们在方案一电路的基础上增加八个按键,当按键1按下是发出1KHz的脉冲1s2KHz的脉冲1s然后循环。
按键2-8按下时低电平脉冲触发单片机发出不同频率的脉冲信号对应于音乐中音的da,re,mi,fa,so,la,xi实现音乐发声。
通过程序控制发声的频率及时间的长短。
按键部分电路见图10。
方案三中,通过循环执行按键处理程序来P0口的状态来调用不同的子程序,实现不同的发声。
按键1对应实现发出1KHz的脉冲1s2KHz的脉冲1s然后循环的功能,子程序与方案一相同。
程序中也采用与方案一相同的软件延时方法实现消抖。
其他音乐发声子程序通过查询方式实现不同频率的输出。
本程序中通过简谱中中音的频率,来计算相应的计数初值,及循环次数来实现音乐发声1s的功能。
程序中也采用与方案一相同的软件延时方法实现消抖。
图3简谱中音名对应频率表
通过比较以上方案,我们采用将采用方案三如图12。
而方案二只需加入RDP-18即可。
这样,可增加本次课程设计内容的实用性。
3.方案实施
系统介绍
根据设计要求,并且改进通过编程使AT89S52单片机的口输出相应频率的信号,再通过三极管放大驱动蜂鸣器发出两种频率的声音,以示报警。
整体方框图
图4整体方框图
电路主要由电源电路、复位电路、时钟电路、蜂鸣驱动电路、按键电路组成。
电源电路
电源电压稳压流程方框图如图5。
图5电源电压稳压流程方框图
电源电路如图6所示,220V交流电经过变压器,再经过桥堆2W10整流,然后由电容C6滤波后变为脉动比较稳定的直流电,最后通过三端稳压器7805输出稳定的5V直流电压。
图中C5用于抵消输入线产生的电感效应,以防止电路产生自激振荡其容较小,一般小于1μF。
电容C4用于消除输出电压的高频噪声,可取小于1μF的电容,也可取几微法甚至几十微法的电容,以便输出较大的脉动电流。
图中二极管起保护作用。
图6电源电路
复位电路
AT89S52复位时由外部的复位电路来实现的,该电路采用的是手动按键电平复位,是通过RST端经电阻与电源Vcc接通而实现的。
按键手动电平复位电路如图7为按键电平复位电路,接至单片机复位端。
图7复位电路
时钟电路
AT89S52内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2,这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。
AT89S52运行是以时钟控制信号为基准,有条不紊地一拍一拍地的工作。
因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常有的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。
本设计采用的是内部时钟方式。
时钟电路对硬件电路的连接要求较高。
在焊接电路时应尽可能的使晶振和电容与单片机靠近,以减少寄生电容,更好的保证振荡器稳定、可靠地工作。
为了提高温度温度性,应该选用温度稳定性能好的电容。
具体设计的时钟电路如图8。
图8时钟电路
蜂鸣器驱动电路
通过AT89S52单片机的口输出一定频率的方波使蜂鸣器发声。
由于三极管的放大作用使从口输出的方波信号放大后驱动蜂鸣器发声。
而声音的频率的变换由单片机的延时程序控制。
电路如图9所示。
图9蜂鸣器驱动电路
按键电路
按键没有按下时AT89S52的至均为高电平,按键按下发出低电平脉冲AT89S52通过检测P0口的状态来控制相应的程序执行。
在程序设计中采用软件延时来消除按键抖动。
如图10所示。
图10按键电路
系统软件设计
硬件部分设计好后,使用汇编语言编写程序,首先,先确定程序流程图。
程序流程图如图11所示。
程序见附件。
图11方案三程序流程图
系统调试与制作
通过系统的软件和硬件的调试,排出了软件程序中部分不正确的程序,从而实现了软件的正确,为后面的硬件连接垫定了基础。
仿真调试完成后,在仿真软件上实现了所需的设计要求,之后进行硬件连接,通过硬件调试,实现了设计要求。
在电路焊接的过程中应注意以下事项:
1.焊接时,要使焊点周围都有锡,将其牢牢焊住防止虚焊。
2.在焊接时,注意极性电容的极性。
3.芯片在安装前最好先两边的针脚稍稍弯曲,使其有利于插入底座对应的插口中。
4.在焊接时,不要把芯片插入底座上焊,防止烧坏。
5.晶振在焊接时应尽量和单片机靠近。
6.对引脚过长的电器元件,焊接完后,将其剪短。
4.结果与结论
变频报警器的功能
该变频报警器可实现如下功能:
1.具有电源开关及指示灯,有复位按键;
2.通过端口输出1KHz和2KHz的变频信号以示报警,每隔1s交替变换1次。
变频报警器的改进
我们通过研究认为,该变频报警器只是一个报警器的雏形,我们可以通过增加一些原件来实现一些具体的功能,例如再增加一些按键,利用乐曲中音调的不同即频率的不同编写程序可以实现乐曲演奏,或者增加一些传感器来实现防盗报警或者火灾报警等。
该变频报警器的缺点是报警声音较小。
在有其它可选三极管的情况下,可以选用放大倍数大的三极管。
5.收获与致谢
通过这次课程设计我了解到个人设计和团队计划的紧密合作的重要性。
并且认识到只有思路清晰才能制定出一个严密的设计计划,这样可以节约时间,还可以减少不必要
的麻烦。
先设计好原理图再进行元件的调试。
并且在进行软件的编译和调试的时候一定要有耐心细心。
而且这次课程的设计我学到了做任何事情多要有恒心,有毅力,不能半途而废。
而且,还要会变通,学会与人分享并向他人虚心求教,理论与实践是要紧密的结合,有时候从原理上看是行得通的,但真正实践的时候确并不一定就行得通。
我将牢记这次实习的所得,这些心的体会必将让我受益终生。
最后,实验设计之所以成功,不仅有同学之间的帮助,最重要还得力于段德功、范秋凤等多位老师的帮助,心存感激,并且为获得了巨大收获,特此表示感谢
6.参考文献
[1]张毅刚.单片机原理及应用[M].高等教育出版社,2003
[2]华成英,童诗白.模拟电子技术基础[M].高等教育出版社,2006
[3]徐爱钧.8051单片机实践教程[M].电子工业出版社,2006
[4]张迎新.单片机初级教程[M].北京:
航空航天大学出版社,2007.
[5]周润景张丽娜.基与PROTEUS的电路及单片机仿真[M].北京:
航空航天大出版社,2007.
[6]张万奎.模拟电子技术[M].湖南:
湖南大学出版社,2005.
[7]杨志忠.数字电子技术.[M].北京:
高等教育出版社,2005.
7.附件
元器件清单
元件
数量
AT89S52
1
晶振
1
瓷片电容33PF
2
瓷片电容104
1
电解电容22UF
1
电解电容1000UF
2
LED指示灯
1
IN4007
1
三极管9015
1
电阻300
2
电阻1K
10
7805
1
蜂鸣器
1
桥堆2W10
1
40脚IC插座(圆孔)
1
单针插座(圆孔)
2
拨动开关
2
按键
10
排线
若干
万能板
1
硬件原理图
图12原理图
程序
方案三程序:
ORG0000H
RESET:
AJMPMAIN;转主程序
ORG001BH;T1中断入口
AJMPKHZ12;转T1中断处理程序KHZ12
ORG0100H
MAIN:
MOVSP,#60H;设堆栈指针
MOVTMOD,#10H;设置T1为方式1
KEY:
MOVP0,#0FFH;P0口写入1,设置P0口为输入状态
MOVA,P0;读入8个按键的状态
CJNEA,#0FFH,QUDOU;有键按下跳转区抖
LJMPKEY;无键按下继续读取
QUDOU:
MOVR4,A;8键状态送入R3保存
LCALLDELAY10;调用延时程序
MOVA,P0;再次比较
CJNEA,R3,KEY;不同则为抖动引起,重新查询
KEY0:
MOVC,;有键按下读取状态
JCKEY1;为高则为该键未按下,判断下一个
LJMPPKEY0;有键按下跳转执行其程序
KEY1:
MOVC,;
JCKEY2
LJMPPKEY1
KEY2:
MOVC,
JCKEY3
LJMPPKEY2
KEY3:
MOVC,
JCKEY4
LJMPPKEY3
KEY4:
MOVC,
JCKEY5
LJMPPKEY4
KEY5:
MOVC,
JCKEY6
LJMPPKEY5
KEY6:
MOVC,
JCKEY7
LJMPPKEY6
KEY7:
MOVC,;读入状态
JCKEY;未按下则继续查询
LJMPPKEY7;有键按下,执行其程序
PKEY0:
MOVR0,#100;置1KHz时计数初值
MOVR1,#20
MOVTL1,#34H;T1置1KHz时初值
MOVTH1,#0FEH
SETBET1;允许T1中断
SETBEA;CPU开中断
KHZ12:
CJNER7,#1,KHZ2;T1中断服务程序,R7=01s1KHz方波。
R7=1,跳转到KHZ2
MOVTL1,#34H;T1置1KHz时初值
MOVTH1,#0FEH
DJNZR0,QF
MOVR0,#100
DJNZR1,QF
MOVR7,#0;设R7置执行2KHZ
MOVR2,#200;置2KHz时计数初值
MOVR3,#20
KHZ2:
MOVTL1,#1AH
MOVTH1,#0FFH
DJNZR2,QF
MOVR2,#200
DJNZR3,QF
MOVR7,#1
MOVR0,#100;重置1KHz时计数初值
MOVR1,#20
QF:
CPL;的状态取反
RETI
AJMPPKEY0
PKEY1:
CLRET1;关中断
CLREA
MOVR1,#40;设计时时间
MOVR2,#26
LOOP:
MOVTH1,#0FCH
MOVTL1,#8FH
SETBTR1
LOOP0:
JNBTF1,LOOP0;查TF0,TF0=0未溢出溢出,TF0=1往下执行
CLRTR1;T1溢出,关中断T1
CPL
DJNZR1,LOOP
MOVR1,#40
DJNZR2,LOOP
CLRTR1
AJMPKEY
PKEY2:
CLRET1
CLREA
MOVR1,#40
MOVR2,#29
LOOP1:
MOVTH1,#0FCH
MOVTL1,#0EFH
SETBTR1
LOOP2:
JNBTF1,LOOP2
CLRTR1
CPL
DJNZR1,LOOP1
MOVR1,#40
DJNZR2,LOOP1
CLRTR1
AJMPKEY
PKEY3:
CLRET1
CLREA
MOVR1,#40
MOVR2,#33
LOOP6:
MOVTH1,#0FDH
MOVTL1,#44H
SETBTR1
LOOP5:
JNBTF1,LOOP5
CLRTR1
CPL
DJNZR1,LOOP6
MOVR1,#40
DJNZR2,LOOP6
CLRTR1
AJMPKEY
PKEY4:
CLRET1
CLREA
MOVR1,#40
MOVR2,#35
LOOP8:
MOVTH1,#0FDH
MOVTL1,#6BH
SETBTR1
LOOP7:
JNBTF1,LOOP7
CLRTR1
CPL
DJNZR1,LOOP8
MOVR1,#40
DJNZR2,LOOP8
CLRTR1
AJMPKEY
PKEY5:
CLRET1
CLREA
MOVR1,#40
MOVR2,#39
LOOP10:
MOVTH1,#0FDH
MOVTL1,#0B3H
SETBTR1
LOOP9:
JNBTF1,LOOP9
CLRTR1
CPL
DJNZR1,LOOP10
MOVR1,#40
DJNZR2,LOOP10
CLRTR1
AJMPKEY
PKEY6:
CLRET1
CLREA
MOVR1,#40
MOVR2,#44
LOOP12:
MOVTH1,#0FDH
MOVTL1,#0F4H
SETBTR1
LOOP11:
JNBTF1,LOOP11
CLRTR1
CPL
DJNZR1,LOOP12
MOVR1,#40
DJNZR2,LOOP12
CLRTR1
AJMPKEY
PKEY7:
CLRET1
CLREA
MOVR1,#40
MOVR2,#49
LOOP14:
MOVTH1,#0FEH
MOVTL1,#2DH
SETBTR1
LOOP13:
JNBTF