搜索
您的当前位置:首页自动响声闪光报警器

自动响声闪光报警器

来源:世旅网


目录

一 设计目的 二 设计要求 三 基本原理 四 各部分电路设计 4.1 芯片介绍

4.2 晶振电路 4.3 复位电路 五 整体电路图 六 程序清单 七 仿真结果说明 八 元器件清单 九 设计总结体会 十 参考文献

自动响声闪光报警器

一 设计目的

报警器是一种为防止或预防某事件发生所造成的后果,以声音、光、气压等

形式来提醒或警示我们应当采取某种行动的电子产品。随着科技的进步,机械式报警器越来越多地被先进的电子报警器代替,经常应用于系统故障、安全防范、交通运输、医疗救护、应急救灾、感应检测等领域,与社会生产密不可分。 本设计目的是利用AT89C51单片机作为控制芯片,以蜂鸣器为发声源,以发光二极管LED为四色闪光灯与三极管电阻等组合,再加上晶振电路复位电路共同构成自动响声闪光报警器。然后按设计的任务及要求用C51语言编写的自动响声闪光报警器源程序,生成“.hex”文件,把此文件烧到AT89C51单片机中,接通电源后,有振动或倾斜时,水银开关接通,蜂鸣器开始发出“嘀嘀”的报警声10次,接着发出变频报警声18次,发出报警声的同时,LED也随之闪烁。

二 设计要求

利用AT89C51单片机为核心,制作一个自动响声闪光报警器:

(1)具有自动报警功能。

(2)蜂鸣器开始发出“嘀嘀”的报警声10次,接着发出变频报警声18次,发

出报警声的同时,LED也随之花样闪烁。

(3)使频率为1kHz的声音响1s,使频率为2kHz的声音响1s,再停0.2s.如此

交替发声18次。

三 基本原理

自动响声闪光报警器程序中的变频报警声工作原理如下:

(1)利用软件延时的方法,使P3.4的引脚产生频率为1kHz方波。 P3_4=~P3_4; //取反输出

for(j=0;j<50;j++); //延时500us

(2)利用软件延时的方法,使P3.4的引脚产生频率为2kHz方波。 P3_4=~P3_4; //取反输出

for(j=0;j<25;j++); //延时250us

(3)使频率为1kHz的声音响1s,使频率为2kHz的声音响1s,再停0.2s.如

此交替发声18次。

(4)使用水银开关作为发声控制按钮,当开关接通时才能发出声音。

四 各部分电路设计

4.1芯片介绍

AT89C51单片机引脚图如下:

U119STAL18XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617XTAL29RST293031PSENALEEA12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7AT89C51 图1 AT89C51引脚图 AT89C51单片机是标准的40引脚双列直插式集成电路芯片,其各引脚功能可分为如下3大类: 1.电源引脚 电源引脚接入单片机的工作电源。 (1)VCC(40脚):接+5V电源。

(2)VSS(20脚):接地。 2.时钟引脚

该引脚外接晶体引线端。

(1)XTAL1(19脚):片内振荡器反相放大器和时钟发生器电路的输入端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外接时钟源时,该引脚连接外部时钟振荡器的信号。

(2)XTAL1(18脚):片内振荡器反相放大器的输入端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外接时钟源时,该引脚悬空。 3.控制引脚

此类引脚提供控制信号,有的引脚还有复用功能。

(1)RST(9脚):复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可以是单片机复位。在单片机正常工作时,此引脚应为<0.5V的低电平。

(2) EA/vPP(31脚):EA为该引脚的第一功能,及外部程序存储器访问允许控制端。

当EA引脚接高电平时,在PC值不超出0FFFH时,单片机读片内程序存储器

中的程序;当PC值超出时,将自动转向读取片外程序存储器空间中的程序。 当EA引脚接高电平时,只读取片外程序存储器空间中的内容,读取的地址范围为0000H~FFFFH,片内的4KB Flash程序存储器不起作用。

vPP为该引脚的第二功能,即在对片内Flash进行编程时,vPP引脚接入编

程电压。

(3)ALE/PROG(30脚)ALE为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号,将低8位地址锁存在片外地址锁存器中。

PROG为该引脚的第二功能,即在对片内Flash进行编程时,此引脚作为

编程脉冲输入端。

(4)PSEN(29脚):片外程序存储器的读选通信号,低电平有效。

4.并行I/O口引脚

(1)P0口:P0口为一个8位漏极开路双向I/O口,当作输出口使用时,必须接上拉电阻才能有高电平输出;当作输入口使用时,必须先向电路中的锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入的干扰。 (2)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,它不再需要多路转接电路MUX;因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路的FET截止。 (3)P2口:P2口电路比P1口电路多了一个多路转接电路MUX,这又正好与P0口一样。P2口可以作为通用的I/O口使用,这时多路转接电路开关倒向锁存器Q端。

(4)P3口:P3口特点在于,为适应引脚信号第二功能的需要,增加了第二功能控制逻辑。当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端的数据输出通路的畅通。当输出第二功能信号时,该位应置“1”,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出.

4.2晶振电路

C1U130pF19XTAL1X1CRYSTAL18C230pFXTAL2图2 晶振电路 9 上图所示为时钟电路原理图,在AT89C51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。 4.3复位电路

单片机复位的条件是:必须使RST(9脚)加上持续两个机器周期(即24个振荡周期)的高电平。例如,若时钟频率为12 MHz,每机器周期为1μs,则只需2μs以上时间的高电平,在RST引脚出现高电平后的第二个机器周期执行复位。 本设计采用上电或开关复位,要求电源接通后单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。上电后,由于电容C2的充电和反相门的作用,使RST持续一段时间的高电平。当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。单片机常见的复位如图所示。

30pF+5C322uFSW0SW-SPSTR01k 图3 单片机复位电路 五 整体电路图

+6C1U130pF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X1CRYSTAL18R6360D6LED-REDSW1SW3SW-SPSTSW-SPSTC230pFXTAL2R1360D1LED-GREENSW4SW-SPST9+5RSTR2360D2LED-BLUESW5SW-SPST360C322uF293031PSENALEEAR3360D3LED-REDD4SW6SW-SPSTR8D7LED-RESW0SW-SPSTR01k12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52R4360R5360LED-YELLOWD5SW7SW-SPSTLED-GREENSW2SW-SPSTSW8SW-SPSTR71kQ1PNPBUZ1BUZZER

图4自动响声闪光报警器电路

电路图说明

单片机的P3.4引脚通过限流电阻R7与三极管基极相连,三极管的集电极接有蜂鸣器。P3.0引脚上接有水银开关sw2,水银开关sw2的另一端接地。单片机的P2.0—P2.5引脚通过限流电阻接有发光二极管LED,LED阳极通过开关接电源的正极。 六 程序清单

用C51语言编写的自动响声闪光报警器源程序donghao.c的代码如下: 程序功能:当发生振动或倾斜时,水银开关接通,开始发出“嘀嘀”声,接着发出变频报警声并使LED闪烁。 #include

void delay250(unsigned int k); d_d(); d_b(); main() {

for(;;) {

while(P3_0==0) {

d_d(); d_b(); } } } d_d() {

unsigned int j,h,y; for(h=0;h<10;h++) {

for(y=0;y<400;y++) {

P3_4=0;

for(j=0;j<50;j++); P3_4=1;

for(j=0;j<50;j++); }

delay250(800);

} } d_b() {

unsigned int i,j,k,y; for(k=0;k<3;k++) {

for(i=0;i<2000;i++) {

P3_4=~P3_4;

for(j=0;j<50;j++); }

P2_0=1; P2_1=1; P2_2=0; P2_3=1; P2_4=0; P2_5=1;

for(y=0;y<4000;y++) {

P3_4=~P3_4;

for(j=0;j<25;j++); }

P2_0=1; P2_1=1; P2_2=1; P2_3=1; P2_4=1; P2_5=1; }

for(k=0;k<3;k++) {

for(i=0;i<2000;i++) {

P3_4=~P3_4;

for(j=0;j<50;j++); }

P2_0=1;

P2_1=0; P2_2=1; P2_3=1; P2_4=1; P2_5=0;

for(y=0;y<4000;y++) {

P3_4=~P3_4;

for(j=0;j<25;j++); }

P2_0=1; P2_1=1; P2_2=1; P2_3=1; P2_4=1; P2_5=1; }

for(k=0;k<3;k++) {

for(i=0;i<2000;i++) {

P3_4=~P3_4;

for(j=0;j<50;j++); }

P2_0=0; P2_1=1; P2_2=1; P2_3=0; P2_4=1; P2_5=1;

for(y=0;y<4000;y++) {

P3_4=~P3_4;

for(j=0;j<25;j++); }

P2_0=1; P2_1=1; P2_2=1;

P2_3=1; P2_4=1; P2_5=1; }

for(k=0;k<3;k++) {

for(i=0;i<2000;i++) {

P3_4=~P3_4;

for(j=0;j<50;j++); }

P2_0=0; P2_1=1; P2_2=0; P2_3=0; P2_4=0; P2_5=1;

for(y=0;y<4000;y++) {

P3_4=~P3_4;

for(j=0;j<25;j++); }

P2_0=1; P2_1=1; P2_2=1; P2_3=1; P2_4=1; P2_5=1; }

for(k=0;k<3;k++) {

for(i=0;i<2000;i++) {

P3_4=~P3_4;

for(j=0;j<50;j++); }

P2_0=1; P2_1=0;

P2_2=0; P2_3=1; P2_4=0; P2_5=0;

for(y=0;y<4000;y++) {

P3_4=~P3_4;

for(j=0;j<25;j++); }

P2_0=1; P2_1=1; P2_2=1; P2_3=1; P2_4=1; P2_5=1; }

for(k=0;k<3;k++) {

for(i=0;i<2000;i++) {

P3_4=~P3_4;

for(j=0;j<50;j++); }

P2_0=0; P2_1=0; P2_2=1; P2_3=0; P2_4=1; P2_5=0;

for(y=0;y<4000;y++) {

P3_4=~P3_4;

for(j=0;j<25;j++); }

P2_0=1; P2_1=1; P2_2=1; P2_3=1;

P2_4=1; P2_5=1; }

for(k=0;k<3;k++) {

for(i=0;i<2000;i++) {

P3_4=~P3_4;

for(j=0;j<50;j++); }

P2_0=0; P2_1=0; P2_2=0; P2_3=0; P2_4=0; P2_5=0;

for(y=0;y<4000;y++) {

P3_4=~P3_4;

for(j=0;j<25;j++); }

P2_0=1; P2_1=1; P2_2=1; P2_3=1; P2_4=1; P2_5=1; } }

void delay250(unsigned int k) {

unsigned int j,i; for(i=0;ifor(j=0;j<25;j++); } }

程序说明:程序由主函数和3个函数组成。首先由主函数MAIN()调用d_d()函数,

发出“嘀嘀”报警声,在调用d_b()函数,发出变频报警声。在执行上述两个函数时,又调用了延时函数。

在主函数中,只有当水银开关被触动使P3.0=0时,“while”循环才能执行,才能调用两个发声函数工作。

d_d()为发声函数,发出“嘀嘀”报警声。d_b()也是发声函数,发出变频报警声。变频声是由频率为1kHz方波和频率为2kHz方波交替发声实现的。其中,“for(i=0;i<2000;i++)”循环使频率为1kHz的声音响1s;“for(y=0;y<4000;y++)”循环使频率为2kHz的声音响1s.发声次数由“for(h=0;h<10;h++)”语句控制。在发声的同时,通过给端口赋值语句,使LED不断闪烁。 七 仿真结果说明

利用AT89C51单片机制作的自动响声闪光报警器具有自动报警的功能,当运行后水银开关接通时,蜂鸣器开始发出“嘀嘀”的报警声10次,接着发出变频报警声18次,发出报警声的同时,LED也随之闪烁。频率为1kHz的声音响1s,频率为2kHz的声音响1s,再停0.2s.如此交替发声18次,仿真结果如下图所示。

+6C1U130pF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X1CRYSTAL18R6360D6LED-REDSW1SW3SW-SPSTSW-SPSTC230pFXTAL2R1360D1LED-GREENSW4SW-SPST9+5RSTR2360D2LED-BLUESW5SW-SPST360C322uF293031PSENALEEAR3360D3LED-REDD4SW6SW-SPSTR8D7LED-REDSW0SW-SPSTR01k12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52R4360R5360LED-YELLOWD5SW7SW-SPSTLED-GREENSW2SW-SPSTSW8SW-SPSTR71kQ1PNPBUZ1BUZZER 图5 仿真结果

八 元器件清单

表1 自动响声闪光报警器元器件清单

序号 1 2 3 4 5 6 7 元件名称 单片机 三极管 晶振 电容 电容 按键 水银开关 规格型号/参数 AT89C51 PNP 12MHz 30pF 22μF BUTTON 数量(个) 1 1 1 2 1 1 1 备注 8 电阻 1KR/380R 2/6 9 发光二极管 LED 6 10 蜂鸣器 BUZZER 1 11 自锁开关 SWITCH 1 12 单片机底座 1 13 DIP开关 SWITCH 1 8位 九 设计总结体会

单片机课程设计是我们理论联系实际的最好的途径之一,让我们有机会把课本上学到的知识运用到实际生活中。目前单片机在工业检测领域中得到了广泛的应用,在我们平常的生活中也是随处可见,包括我们日常生活中随处可见的交通灯、闹钟等都含有单片机作为一个主要的部件,懂得并熟悉掌握单片机的运用技术是非常有用的。鉴于此系里制定了为期一周的单片机课程设计。

本次课程设计让我们体味到设计电路、仿真电路、调测电路,连接电路,焊接电路过程中的苦与甜。设计是我们将来必需的技能,这次课程设计恰恰给我们提供了一个应用自己所学知识的机会,从到图书馆查找资料到对电路的设计对电路的调试再到最后电路的成型,都对我所学的知识进行了检验。

在实习的过程中发现了所学的单片机的知识掌握的不牢。同时在设计的过程中,遇到了一些以前没有见到过的元件,但是通过查找资料来学习这些元件的功能和使用。制作过程是一个考验人耐心的过程,不能有丝毫的急躁,马虎,对电路的调试要一步一步来,不能急躁,因为是在电脑上调试,比较慢,又要求我们有一个比较正确的调试方法等等。这又要我们要灵活处理,在不影响试验的前提下可以加快进度,合理的分配时间。在设计控制电路的时候,最重要的是要熟练地掌握课本上的知识,这样才能对试验中出现的问题进行分析解决。

总之,此次单片机课程设计既发现了我们在学习中的不足和在焊接电路板方面动手能力差,同时又让我们学到了很多东西比如查资料,分析电路等等。

最后,我能顺利完成这次课程设计,不仅要感激老师平时的教导,尤要感谢指导老师的耐心指导,使他的指导才让我们的设计更加完善合理,并让我们从中学到很多实践知识。

十 参考文献

1. 王守中 . 一读就通51单片机开发 . 电子工业出版社,2011.2 2. 张毅刚 . 单片机原理及应用 . 第二版. 高等教育出版社,2010.5 3. 徐爱钧 . 单片机原理实用教程 . 第二版 . 电子工业出版社,2011.3 4. 江思敏 . Protel电路设计教程 . 第二版 . 清华大学出版社,2006.12 5. 鲍帮玉 . 家用便携式可燃气体报警器电路设计 . 中国科技信息 2011.6

附图:

+6C1U130pF19XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X1CRYSTAL18R6360D6LED-REDSW1SW3SW-SPSTSW-SPSTC230pFXTAL2R1360D1LED-GREENSW4SW-SPST9+5RSTR2360D2LED-BLUESW5SW-SPST360C322uF293031PSENALEEAR3360D3LED-REDD4SW6SW-SPSTR8D7LED-REDSW0SW-SPSTR01k12345678P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7AT89C52R4360R5360LED-YELLOWD5SW7SW-SPSTLED-GREENSW2SW-SPSTSW8SW-SPSTR71kQ1PNPBUZ1BUZZER

因篇幅问题不能全部显示,请点此查看更多更全内容

Top