91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 872KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-07-17
  • 語言: C/C++
  • 標簽:

資源簡介

基于51單片機的人體報警器的設計(c語言代碼),AT89S51單片機的

資源截圖

代碼片段和文件信息

#include				?//頭文件
#define?uint?unsigned?int ?//宏定義
#define?uchar?unsigned?char

sbit?LED1=P2^3; ??//紅燈
sbit?LED2=P2^1; ??//綠燈
sbit?LED3=P2^0;
sbit?K1=P3^3; ??//啟動鍵
sbit?K2=P3^4; ??//緊急報警鍵
sbit?BEEP=P2^5; ??//蜂鳴器
sbit?IN=P1^0; ??//信號輸入端
uchar?num=0; ??
uchar?num1=0;
uchar?flag=1flag1=0flag2=0; ???//標示位

/******************************************************
?函數名稱:延時子函數
?函數功能:產生短暫延時
******************************************************/
void?delayms(uint?xms)
{
uint?ij;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}

/******************************************************
???函數名稱:按鍵子函數
???函數功能:控制開始/緊急報警
******************************************************/
void?key()
{
if(K1==0)
{
delayms(5);
if(K1==0)
{
while(!K1);???//等待按鍵釋放
EA=1;
ET0=1; ?//啟動定時器0
TR0=1;
flag1=0;
LED2=0; ?//綠燈亮,說明安防已啟動
}
}

if(num1==1) ???//1秒鐘后布防
{
flag1=1;
EA=0;
ET0=0; ?//關閉定時器0
TR0=0;
num1=0;
}

if(K2==0) ??//緊急報警鍵
{
delayms(5);
if(K2==0&&flag1==1)
{
while(!K2);??????
flag2++;
if(flag2==2)
flag2=0;
}
}

if(flag2==1)
{
BEEP=0; //蜂鳴器報警
delayms(70);
BEEP=1;
delayms(70);
LED2=1; //關閉綠色指示燈
LED1=0; //啟動紅色指示燈

}
if(flag2==0&&flag1==1)
{
????LED1=1; //關閉紅色指示燈
????BEEP=1; //關閉蜂鳴器
LED2=0; //啟動綠色指示燈
}

}
/*****************************************************
?函數名稱:報警子程序
?函數功能:
*****************************************************/
void?baojing()
{
if(flag1==1)
{
if((IN==0||flag==1))
{
ET0=0; ?//啟動定時器0
TR0=0;
flag=0;
LED1=1; //關閉紅色指示燈
BEEP=1; //關閉蜂鳴器
LED2=0; //啟動綠色指示燈
}
if(IN==1&&flag==0)
{
ET0=1; ?//啟動定時器0
TR0=1;
?while(1)
?{
LED2=1; //關閉綠色指示燈
LED1=0; //啟動紅色指示燈
????LED3=0;
BEEP=0; //蜂鳴器報警
delayms(70);
BEEP=1;
delayms(70);
ET0=1; ?//啟動定時器0
TR0=1;
?}?
// if(num1==20) ?//報警10s后關閉
// {
//????? num1=0;
// flag=1;
// }
}
}
}

/***************************************************
?函數名稱:主函數
?函數功能:
****************************************************/
void?main()
{
LED1=1; ?//端口初始化
LED2=1;
LED3=0;
IN=1;
BEEP=1;

TMOD=0x01; ??//打開定時器/計數器0中斷
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=0;
ET0=0;
TR0=0;

while(1)
{
key();
baojing();
}
}
/******************************************************
?函數名稱:定時器/計時器0中斷子函數
?函數功能:
******************************************************/
void?T0_time()?interrupt?1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
num++;
if(num==20)
{
num=0;
num1++; ??//一秒自加一次

}
}




?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-04-23?15:24??人體感應報警器\
?????文件????????5169??2014-03-16?19:31??人體感應報警器\test
?????文件????????3039??2014-03-16?19:31??人體感應報警器\test.c
?????文件????????1290??2014-03-16?19:31??人體感應報警器\test.hex
?????文件??????????25??2014-03-16?19:31??人體感應報警器\test.lnp
?????文件????????8639??2014-03-16?19:31??人體感應報警器\test.LST
?????文件????????8720??2014-03-16?19:31??人體感應報警器\test.M51
?????文件????????5722??2014-03-16?19:31??人體感應報警器\test.OBJ
?????文件?????????158??2016-03-24?15:25??人體感應報警器\test.plg
?????文件???????55758??2016-03-24?15:25??人體感應報警器\test.uvopt
?????文件???????13224??2014-03-16?19:31??人體感應報警器\test.uvproj
?????文件???????55754??2014-03-18?21:39??人體感應報警器\test_uvopt.bak
?????文件???????????0??2014-03-16?18:55??人體感應報警器\test_uvproj.bak
?????文件?????1009690??2014-03-16?18:30??人體感應報警器\熱釋電人體感應紅外報警器設計制作.doc

評論

共有 條評論

相關資源