加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

基于51單片機(jī)的紅外報警器的設(shè)計與制作

10/15 11:20
1217
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

功能要求:

1.當(dāng)檢測時,數(shù)碼管會倒計時60

2.當(dāng)有人靠近時,會報警

3,當(dāng)?shù)褂嫊r時,報警器會報警并且led燈會閃爍提示

原理圖

ce93d091d3cb4f9aa05c66d959b2b10d.png

部分程序:

#include <STC15F2K60S2.H>

#define key1 P37

#define key2 P41

#define key3 P42

#define key4 P43

#define IR?? P10

#define FMQ? P54

#define u8 unsigned char

#define u16 unsigned int

u8 table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf};//數(shù)碼管段碼

u8 disbuf[]={0,0,0,0};//數(shù)碼管顯示緩沖區(qū)

u8 min=0;

void Timer0Init(void)?????????????? //1毫秒@11.0592MHz

{

AUXR |= 0x80;???????????????? //定時器時鐘1T模式

TMOD &= 0xF0;?????????????? //設(shè)置定時器模式

TL0 = 0xCD;????????????? //設(shè)置定時初始值

TH0 = 0xD4;???????????? //設(shè)置定時初始值

TF0 = 0;??????????? ? //清除TF0標(biāo)志

TR0 = 1;??????????? ? //定時器0開始計時

ET0 = 1;????? //定時器0打開

EA? = 1;????? //定時器總開關(guān)

}

void timer0()interrupt 1

{

static u16 min_count=0,fmq_count=0,led_count=0,ir_flag=0;//靜態(tài)局部變量 分計數(shù)、蜂鳴器間隔響計數(shù)、人體紅外標(biāo)志位

if(IR==1)ir_flag=1;//當(dāng)檢測到物體經(jīng)過 標(biāo)志位置1

if(ir_flag==1)???? //當(dāng)標(biāo)志位為1 執(zhí)行以下程序

{

if(++fmq_count==500)//每500毫秒響一次

{

fmq_count=0;

FMQ=!FMQ;

}

/*********流水燈**********/

led_count++;

if(led_count==100)P14=!P14;

if(led_count==200)P15=!P15;

if(led_count==300)P16=!P16;

if(led_count==400)P17=!P17;

if(led_count==401)led_count=0;

/*************************/

if(++min_count==100)//時間到結(jié)束報警 正常速度為1000 當(dāng)前為100

{

min_count=0;

if(++min==60)

{

min=0;

ir_flag=0;

}

}

}

disbuf[2]=min/10;? //將值傳入顯示緩沖區(qū)

disbuf[3]=min%10;

if(ir_flag==0)

{

P14=1;

P15=1;

P16=1;

 

  • 有需要資料的可了解一下.docx

相關(guān)推薦

電子產(chǎn)業(yè)圖譜