0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用单片机制作一个报警器的资料和源代码说明

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-05-05 15:07 次阅读

1.实验任务

用AT89S51单片机产生“嘀、嘀、…”报警声从P1.0端口输出,产生频率为1KHz,根据上面图可知:1KHZ方波从P1.0输出0.2秒,接着0.2秒从P1.0输出电平信号,如此循环下去,就形成我们所需的报警声了。

2.电路原理

图4.18.1

3.系统板硬件连线

(1. 把“单片机系统”区域中的P1.0端口用导线连接到“音频放大模块”区域中的SPK IN端口上,

(2. 在“音频放大模块”区域中的SPK OUT端口上接上一个8欧或者是16欧的喇叭;

4.程序设计方法

(1.生活中我们常常到各种各样的报警声,例如“嘀、嘀、…”就是常见的一种声音报警声,但对于这种报警声,嘀0.2秒钟,然后断0.2秒钟,如此循环下去,假设嘀声的频率为1KHz,则报警声时序图如下图所示:

上述波形信号如何用单片机来产生呢?

(2. 由于要产生上面的信号,我们把上面的信号分成两部分,一部分为1KHZ方波,占用时间为0.2秒;另一部分为电平,也是占用0.2秒;因此,我们利用单片机的定时/计数器T0作为定时,可以定时0.2秒;同时,也要用单片机产生1KHZ的方波,对于1KHZ的方波信号周期为1ms,高电平占用0.5ms,低电平占用0.5ms,因此也采用定时器T0来完成0.5ms的定时;最后,可以选定定时/计数器T0的定时时间为0.5ms,而要定时0.2秒则是0.5ms的400倍,也就是说以0.5ms定时400次就达到0.2秒的定时时间了。

5.程序框图

主程序框图

中断服务程序框图

图4.18.2

6.汇编源程序

T02SA EQU 30H

T02SB EQU 31H

FLAG BIT 00H

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV T02SA,#00H

MOV T02SB,#00H

CLR FLAG

MOV TMOD,#01H

MOV TH0,#(65536-500) / 256

MOV TL0,#(65536-500) MOD 256

SETB TR0

SETB ET0

SETB EA

SJMP $

INT_T0:

MOV TH0,#(65536-500) / 256

MOV TL0,#(65536-500) MOD 256

INC T02SA

MOV A,T02SA

CJNE A,#100,NEXT

INC T02SB

MOV A,T02SB

CJNE A,#04H,NEXT

MOV T02SA,#00H

MOV T02SB,#00H

CPL FLAG

NEXT: JB FLAG,DONE

CPL P1.0

DONE: RETI

END

7. C语言源程序

#include 《AT89X51.H》

unsigned int t02s;

unsigned char t05ms;

bit flag;

void main(void)

{

TMOD=0x01;

TH0=(65536-500)/256;

TL0=(65536-500)%6;

TR0=1;

ET0=1;

EA=1;

while(1);

}

void t0(void) interrupt 1 using 0

{

TH0=(65536-500)/256;

TL0=(65536-500)%6;

t02s++;

if(t02s==400)

{

t02s=0;

flag=~flag;

}

if(flag==0)

{

P1_0=~P1_0;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44518

    浏览量

    633063
  • 报警器
    +关注

    关注

    12

    文章

    919

    浏览量

    108717
  • 定时器
    +关注

    关注

    23

    文章

    3237

    浏览量

    114475
收藏 人收藏

    评论

    相关推荐

    单片机的中断机制

    单片机的中断机制种重要的处理方式,它允许单片机在执行主程序的过程中,能够暂停当前任务,转而处理外部或内部紧急事件。这种机制极大地提高了系
    的头像 发表于 10-17 18:03 367次阅读

    光栅报警器报警是什么原因

    光栅报警器种安全防护设备,通常用于防止非法入侵或保护特定区域。当光栅报警器报警时,可能有几个原因。 1. 硬件故障 传感
    的头像 发表于 09-24 09:12 645次阅读

    蓝牙连接开发资料

    模块资料里有多种单片机制作程序代码
    发表于 09-21 14:27 0次下载

    基于51单片机烟雾检测报警器设计

    本资源内容概要:       这是基于51单片机烟雾检测报警器设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel表格打开)。本
    发表于 06-26 10:51 0次下载

    基于51单片机热释红外报警设计

    本资源内容概要:       这是基于51单片机热释红外报警设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel表格打开
    发表于 06-25 10:15 0次下载

    基于单片机的燃气报警设计

    电子发烧友网站提供《基于单片机的燃气报警设计.doc》资料免费下载
    发表于 03-04 09:46 1次下载

    门把手触摸报警器分享

    报警器种用于防止或预防某事件发生所造成的后果的电子产品。它通过声音、光、气压等形式来提醒或警示人们采取某种行动。报警器可以分为机械式报警器和电子
    的头像 发表于 02-07 15:33 835次阅读
    门把手触摸<b class='flag-5'>报警器</b>分享

    基于单片机的燃气报警器的设计

    电子发烧友网站提供《基于单片机的燃气报警器的设计.rar》资料免费下载
    发表于 01-12 10:42 11次下载

    基于51单片机的震动报警器设计

    电子发烧友网站提供《基于51单片机的震动报警器设计.rar》资料免费下载
    发表于 01-12 09:37 3次下载

    基于51单片机的红外报警器的设计与制作

    电子发烧友网站提供《基于51单片机的红外报警器的设计与制作.rar》资料免费下载
    发表于 01-12 09:18 23次下载

    基于51单片机的红外报警器的设计与制作

    电子发烧友网站提供《基于51单片机的红外报警器的设计与制作.rar》资料免费下载
    发表于 01-03 11:32 11次下载

    基于51单片机的震动报警器设计

    电子发烧友网站提供《基于51单片机的震动报警器设计.rar》资料免费下载
    发表于 01-03 11:11 4次下载

    基于单片机的燃气报警器的设计

    电子发烧友网站提供《基于单片机的燃气报警器的设计.rar》资料免费下载
    发表于 01-02 10:19 2次下载

    报警器电路图大全

    报警器种为防止或预防某事件发生所造成的后果,以声音、光、气压等形式来提醒或警示我们应当采取某种行动的电子产品。报警器(alarm),分为机械式报警器和电子
    的头像 发表于 12-27 17:15 2948次阅读
    <b class='flag-5'>报警器</b>电路图大全

    汽车蓄电池报警器制作与调试

    汽车蓄电池报警器制作与调试  
    发表于 12-07 10:32 1次下载