导航:首页 > 操作系统 > 单片机图像报警

单片机图像报警

发布时间:2023-07-03 09:32:01

单片机脉冲报警电路工作原理

此报警器主要功能部分采用成品的模块,所以比较容易制作。它有遥控设定防盗、遥控关闭防盗自动锁定引擎和防抢劫等功能。工作原理如下:电源接通后按动遥控器防盗设定键(A键),HY988A I/O端输出跳变高电平经D3使T3导通HY-5高响度喇叭发声作为回应信号。同HY988A A输出端输出高电平经R1为T1提供基极电流,这时如果HY966受到轻微震动,其输出端输出高电平脉冲使T1导通,T1的导通使C1瞬间充电至+5V左右,此电压高于比较器参考电压,比较器反转输出高电平经 A1B 缓冲后驱动继电器吸合、HY-5喇叭报警。此后如 HY966 不在受到震动C1经R4缓慢放电,当C1上的电压放电至低于比较器参考电压时,比较器反转输出低电平,继电器释放、报警停止,继续警戒状态。如果在报警过程中按遥控器关闭防盗键(B键),则HY988A A输出端变为低电平 T1 失去基极电流,同时经 D2 使C1快速放电,报警立刻停止。以后不论HY966有无受到震动都不会使T1导通而触发报警,防盗警戒解除,可正常驾驶。另外如车被启动按遥控器任意按键都会使喇叭回应、引擎熄火,此功能可做防抢或寻车使用。 器件选用:震动监测部分用 HY966微震动传感器,它灵敏度高并且可以调整,使用时按芯线颜色连接。遥控功能部分采用,HY988A两位遥控组件,只用其A和I/O两个输出端,遥控器A键作为防盗设定、B键作为防抢、关闭防盗用。报警部分用高响度喇叭,只用将喇叭引线按正负接入即可,其声极可达120db;比较和缓冲器用一块 LM358 双运放。三端稳压采用78L06;继电器用4123型躅点电流大于5A。其它元件参数按图中标示。
接线方法:将调试好的报警器用合适的外壳装好,把报警器正极与车用电瓶正极相连,负极搭铁或接电瓶负极;震动传感器紧贴车体安装好,将摩托或其它机动车原点火线剪开上端接继电器 A点,下端接继电器 B点。接好后按防盗设定键,喇叭回应一声,进入警戒状态,这时如果车被轻微震动或移动,都将触发报警,喇叭发出120db强力警号的同时继电器吸合点火线断开

② 基于单片机的火灾自动报警系统

基于单片机的火灾自动报警系统通常由感应器、控制器和报警器等部分组成。感应器可以根据环境中的相关参数,如温度、烟雾等检测火灾情况。控制器根据感应器检测到的态闭蠢信息触发报警器发出声音或者光线等信号,态轮同时可以控制一些设备执行自动投用灭火剂等规避措施。

火灾自动报警系统中自动报警的参数一般是温度和烟雾。温度达到一定的数值,比如超过70摄氏度时,可以判断这个区域内很可能发生了火灾;而检测烟雾则能较早地捕捉到火灾,其烟雾浓度较高时则可以判断火灾的程度。这些参数都是经过行业标准和实践验证得出的,并按照相关要求进行技术开发的。为了使系统能够及时、准确地报警,不调高或者调低这些报警参数。

国标中对自帆陪动报警系统有着较为详细的规定,比如建筑物的消防设施设计规范国家标准GB50016-2014中明确规定了各类建筑物的火灾自动报警系统的性能和技术要求。同时还有烟雾探测器和水喷灭火系统的相关行业标准,如烟雾探测器行业标准GB 4715-2005,和水喷灭火系统行业标准GB 50031-2009等。这些行业标准都详细规定了火灾自动报警系统、探测器、灭火系统的安装和使用要求。

需要注意的是,因地区和建筑形式的差异,这些标准会有一些差异,并且根据具体情况建议在系统设计时,应参照施工和设计方面相应的标准规范。

③ 51单片机送低电平就报警,想问下报警的原理请仔细点,谢谢了

图中利用三极管来驱动蜂鸣器,此处PNP三极管9012工作在饱和产、截止状态,即当其基极为高电平时截止,低电平时饱和。故当51单片机送低电平时Q1饱和导通,LS1得电发声实现报警。

④ 以AT89C51单片机和DS18B20实现温度检测显示并报警的程序和电路图,显示用M016L液晶模块显示

汇编语言程序:

;*********************************************************************

;程序适合单个DS18B20和MCS-51单片机的连接,晶振为12MHz

;测量的温度范围-55℃~+99℃,温度精确到小数点后一位

;*********************************************************************

TEMPER_L EQU 30H ;存放从DS18B20中读出的高、低位温度值

TEMPER_H EQU 31H

TEMPER_NUM EQU 32H ;存放温度转换后的整数部分

TEMPER_POT EQU 33H ;存放温度转换后的小数部分

FLAG0 EQU 34H ;FLAG0存放温度的符号

DQ EQU P1.0 ;DS18B20数据线

RS BIT P1.7 ;LCD1602控制线定义

RW BIT P1.6

E BIT P1.5

SkipDs18b20 EQU 0CCH ;DS18B20跳过ROM命令

StartDs18b20 EQU 44H ;DS18B20温度变换命令

ReadDs EQU 0BEH ;DS18B20读暂存器命令

ORG0000H

SJMPMAIN

ORG0040H

MAIN:MOVSP,#60H

ACALL LCD_INIT

MOV A,#80H ;lcd第1行第1列开始显示temperature:

ACALL WC51R

MOV A,#'t'

ACALL WC51DDR

MOV A,#'e'

ACALL WC51DDR

MOV A,#'m'

ACALL WC51DDR

MOV A,#'p'

ACALL WC51DDR

MOV A,#'e'

ACALL WC51DDR

MOV A,#'r'

ACALL WC51DDR

MOV A,#'a'

ACALL WC51DDR

MOV A,#'t'

ACALL WC51DDR

MOV A,#'u'

ACALL WC51DDR

MOV A,#'r'

ACALL WC51DDR

MOV A,#'e'

ACALL WC51DDR

MOV A,#':'

ACALL WC51DDR

REP:LCALLGET_TEMPER ;读出转换后的温度值

LCALLTEMPER_COV

MOV A,#0c6H ;lcd第2行第7列开始显示温度

ACALL WC51R

MOV A,FLAG0 ;显示符号

ACALL WC51DDR

MOV A,TEMPER_NUM ;温度整数拆分成十位和个位显示

MOV B,#10

DIV AB

ADD A,#30H

CJNE A,#30H,REP1 ;如果十位为0不显示

MOV A,#20H

REP1:ACALL WC51DDR

MOV A,B

ADD A,#30H

ACALL WC51DDR

MOV A,#'.' ;显示小数点

ACALL WC51DDR

MOV DPTR,#TABLE

MOV A,TEMPER_POT ;显示小数部分

MOVC A,@A+DPTR

ACALL WC51DDR

LJMPREP

;DS18B20复位程序

DS18B20_INIT:SETB DQ

NOP

NOP

CLR DQ

MOVR7,#9

INIT_DELAY:CALL DELAY60US

DJNZ R7,INIT_DELAY

SETB DQ

CALL DELAY60US

CALL DELAY60US

MOV C,DQ

JC ERROR

CALL DELAY60US

CALL DELAY60US

CALL DELAY60US

CALL DELAY60US

RET

ERROR:CLR DQ

SJMP DS18B20_INIT

RET

;读DS18B20一个字节到累加器A程序

READ_BYTE: MOV R7,#08H

SETB DQ

NOP

NOP

LOOP:CLR DQ

NOP

NOP

NOP

SETB DQ

MOV R6,#07H

DJNZ R6,$

MOV C,DQ

CALL DELAY60US

RRC A

SETB DQ

DJNZ R7,LOOP

CALL DELAY60US

CALL DELAY60US

RET

;累加器A写到DS18B20程序

WRITE_BYTE:MOV R7,#08H

SETB DQ

NOP

NOP

LOOP1:CLR DQ

MOV R6,#07H

DJNZ R6,$

RRC A

MOV DQ,C

CALL DELAY60US

SETB DQ

DJNZ R7,LOOP1

RET

DELAY60US:MOV R6,#1EH

DJNZ R6,$

RET

;读温度程序

GET_TEMPER:CALL DS18B20_INIT ;DS18B20复位程序

MOV A,#0CCH ;DS18B20跳过ROM命令

CALL WRITE_BYTE

CALL DELAY60US

CALL DELAY60US

MOV A,#44H ;DS18B20温度变换命令

CALL WRITE_BYTE

CALL DELAY60US

CALL DS18B20_INIT ;DS18B20复位程序

MOV A,#0CCH ;DS18B20跳过ROM命令

CALL WRITE_BYTE

CALL DELAY60US

MOV A,#0BEH ;DS18B20读暂存器命令

CALL WRITE_BYTE

CALL DELAY60US

CALL READ_BYTE ;读温度低字节

MOV TEMPER_L,A

CALL READ_BYTE ;读温度高字节

MOV TEMPER_H,A

RET

;将从DS18B20中读出的温度拆分成整数和小数

TEMPER_COV:

MOV FLAG0,#'+' ;设当前温度为正

MOV A,TEMPER_H

SUBB A,#0F8H

JC TEM0 ;看温度值是否为负?不是,转

MOV FLAG0,#'-' ;是,置FLAG0为'-'

MOV A,TEMPER_L

CPL A

ADD A,#01

MOV TEMPER_L,A

MOV A,TEMPER_H

CPL A

ADDC A,#00

MOV TEMPER_H,A

TEM0:

MOV A,TEMPER_L ;存放小数部分到TEMPER_POT

ANL A,#0FH

MOV TEMPER_POT,A

MOV A,TEMPER_L ;存放小数部分到TEMPER_NUM

ANL A,#0F0H

SWAP A

MOV TEMPER_NUM,A

MOV A,TEMPER_H

SWAP A

ORL A,TEMPER_NUM

MOV TEMPER_NUM,A

RET

;LCD初始化子程序

LCD_INIT:MOV A,#00000001H ;清屏

ACALL WC51R

MOV A,#00111000B ;使用8位数据,显示两行,使用5×7的字型

LCALL WC51R

MOV A,#00001100B ;显示器开,光标关,字符不闪烁

LCALL WC51R

MOV A,#00000110B ;字符不动,光标自动右移一格

LCALL WC51R

RET

;检查忙子程序

F_BUSY:PUSH ACC ;保护现场

MOV P2,#0FFH

CLR RS

SETB RW

WAIT: CLR E

SETB E

JB P2.7,WAIT ;忙,等待

POP ACC ;不忙,恢复现场

RET

;写入命令子程序

WC51R: ACALL F_BUSY

CLR E

CLR RS

CLR RW

SETB E

MOV P2,ACC

CLR E

RET

;写入数据子程序

WC51DDR:ACALL F_BUSY

CLR E

SETB RS

CLR RW

SETB E

MOV P2,ACC

CLR E

RET

TABLE:DB 30H,31H,31H,32H,33H,33H,34H,34H

DB 35H,36H,36H,37H,38H,38H,39H,39H ;小数温度转换表

END

C语言程序:

//程序适合单个DS18B20和MCS-51单片机的连接,晶振为12MHz

//测量的温度范围-55℃~+99℃,温度精确到小数点后一位

#include<REG52.H>

#defineucharunsignedchar

#defineuintunsignedint

sbit DQ=P1^0; //定义端口

sbit RS=P1^7;

sbit RW=P1^6;

sbit EN=P1^5;

union{

ucharc[2];

uintx;

}temp;

ucharflag;//flag为温度值的正负号标志单元,"1"表示为负值,"0"时表示为正值。

uintcc,cc2;//变量cc中保存读出的温度值

floatcc1;

ucharbuff1[13]={"temperature:"};

ucharbuff2[6]={"+00.0"};

//检查忙函数

void fbusy()

{

P2=0xff;

RS=0;

RW=1;

EN=1;

EN=0;

while((P2&0x80))

{

EN=0;

EN=1;

}

}

//写命令函数

void wc51r(uchar j)

{

fbusy();

EN=0;

RS=0;

RW=0;

EN=1;

P2=j;

EN=0;

}

//写数据函数

void wc51ddr(uchar j)

{

fbusy(); //读状态;

EN=0;

RS=1;

RW=0;

EN=1;

P2=j;

EN=0;

}

void init()

{

wc51r(0x01); //清屏

wc51r(0x38); //使用8位数据,显示两行,使用5*7的字型

wc51r(0x0c); //显示器开,光标开,字符不闪烁

wc51r(0x06); //字符不动,光标自动右移一格

}

voiddelay(uintuseconds) //延时程序

{

for(;useconds>0;useconds--);

}

ucharow_reset(void) //复位

{

ucharpresence;

DQ=0; //DQ低电平

delay(50); //480ms

DQ=1; //DQ高电平

delay(3); //等待

presence=DQ; //presence信号

delay(25);

return(presence); //0允许,1禁止

}

ucharread_byte(void) //从单总线上读取一个字节

{

uchari;

ucharvalue=0;

for(i=8;i>0;i--)

{

value>>=1;

DQ=0;

DQ=1;

delay(1);

if(DQ)value|=0x80;

delay(6);

}

return(value);

}

voidwrite_byte(ucharval) //向单总线上写一个字节

{

uchari;

for(i=8;i>0;i--) //一次写一字节

{

DQ=0;

DQ=val&0x01;

delay(5);

DQ=1;

val=val/2;

}

delay(5);

}

voidRead_Temperature(void) //读取温度

{

ow_reset();

write_byte(0xCC); //跳过ROM

write_byte(0xBE); //读

temp.c[1]=read_byte();

temp.c[0]=read_byte();

ow_reset();

write_byte(0xCC);

write_byte(0x44); //开始

return;

}

voidmain() //主程序

{

uchar k;

delay(10);

EA=0;

flag=0;

init();

wc51r(0x80); //写入显示缓冲区起始地址为第1行第1列

for(k=0;k<13;k++) //第一行显示提示信息"currenttempis:"

{wc51ddr(buff1[k]);}

while(1)

{

delay(10000);

Read_Temperature(); //读取双字节温度

cc=temp.c[0]*256.0+temp.c[1];

if (temp.c[0]>0xf8){flag=1;cc=~cc+1;}elseflag=0;

cc1=cc*0.0625; //计算出温度值

cc2=cc1*100; //放大100倍,放在整型变量中便于取数字

buff2[1]=cc2/1000+0x30;if(buff2[1]==0x30)buff2[1]=0x20;//取出十位,转换成字符,如果十位是0不显示。

buff2[2]=cc2/100-(cc2/1000)*10+0x30;//取出个位,转换成字符

buff2[4]=cc2/10-(cc2/100)*10+0x30;//取出小数点后一位,转换成字符

if(flag==1)buff2[0]='-';elsebuff2[0]='+';

wc51r(0xc5); //写入显示缓冲区起始地址为第2行第6列

for(k=0;k<6;k++) //第二行显示温度

{wc51ddr(buff2[k]);}

}

}

⑤ 请问一下,压力传感器将信号传给单片机,单片机产生信号控制报警电路的原理是什么最好有电路图。

压力传感器过来的压力信号,经AD转换变成数字量后,进入单片机,单片机将这些数字量进行标定,并设定阈值,但数字量的值超过阈值后,单片机就发出报警。这些主要是在程序里控制。

⑥ 单片机设定时间报警怎么处理

我冬天漏脚
关注
单片机定时报警C语明族言程序,单片机控制的简易定时报警器电路设计( - 控制/MCU - 电子发烧友网... 转载
2021-05-17 12:29:32

我冬天漏脚

码龄5年

关注
单片机控制的简易定时报警器电路设计(含电路图和程序)

设计一个单片机控制的简易定时报警器。要求根据设定的初始值(1-59秒)进行倒计时,当计时到0时数码管闪烁“00”(以1Hz闪烁),按键功能如下:

(1)设定键:在倒计时模式时,按下此键后停止倒计时,进入设置状态;如果已经处于设置状态则此键无效。

(2)增一键:在设置状态时,每按一次递增键,初始值的数字增1。

(3)递一键:在设置状态时,每按一次递减激歼弊键,初始值的数字减1。

(4)确认键:在设置状态时,按下此键后,单片机按照新的初始值进行倒计时及显示倒计时的数改搭字。如果已经处于计时状态则此键无效。

阅读全文

与单片机图像报警相关的资料

热点内容
给pdf加目录 浏览:472
加密软件怎么改安全问题 浏览:548
cmd命令ip 浏览:946
python输出单引号双引号 浏览:272
脚本编程管理命令 浏览:379
小爱音箱pro怎么自己装app 浏览:118
建立ftp文件夹命令 浏览:570
sha1withrsa算法 浏览:453
域名交易系统源码php 浏览:171
求解微分方程数值解的命令有哪些 浏览:626
程序员转时尚传媒 浏览:82
古拳谱pdf 浏览:42
一元二次方程无实数根的算法 浏览:352
程序员测试轻松吗 浏览:172
英雄联盟神魔怎么绑定服务器 浏览:984
音乐app怎么换音质 浏览:976
python进阶客户流失 浏览:282
华为荣耀10服务器地址 浏览:1000
javastring相等判断 浏览:413
程序员考研究生学校 浏览:937