用于人體傳感器報警。無線防盜報警器程序
0.png (63.83 KB, 下載次數: 30)
下載附件
2017-5-12 03:51 上傳
單片機源程序如下:
- #include <reg52.h>
- #define uc unsigned char
- #define ui unsigned int
- sbit SOS = P1^0;//布防
- sbit bufang = P1^1;//報警按鍵
- sbit chefang= P1^2;//撤防
- sbit baojing= P1^3;//蜂鳴器
- bit bdata flag,flag1;//flag布防標志,flag1布防倒計時標志
- uc t,t1; //定時器專用變量
- void delay(ui x) //延時函數1ms
- {
- ui i,j;
- for(i=0;i<x;i++)
- for(j=0;j<110;j++);
- }
-
- void kongzhi() //控制函數
- {
- if((bufang==1)&&(flag==0)) //在報警等待時按下布防鍵
- {
- delay(10);
- if((bufang==1)&&(flag==0))
- {
- t=0;
- t1=0; //清零計時器
- TR0=1; //打開計時器
- P2=0x85; //顯示字母b
- }
- }
- if((flag==1)&&(SOS==1)) //報警按鍵按下
- {
- flag1=1; //蜂鳴器鳴響
- P2=0xbf; //顯示"-"
- TR0=1; //開啟定時器
- }
- if(chefang==1) //撤防鍵按下
- {
- delay(10);
- if(chefang==1)
- {
- {
- flag1=0;
- baojing=1; //關閉蜂鳴器
- flag=0; //停止計時器計時
- TR0=0; //關閉計時器
- P2=0xa7; //顯示字母c
- delay(1000);//延時1s
- P2=0xff; //關閉顯示,進入等待布防狀態
- }
- }
- }
- }
- void init() //初始化函數
- {
- TH0=0x4b;
- TL0=0xff;
- TMOD=0x01;
- EA=1;
- ET0=1;
- TR0=0; //定時器初始化
- bufang=0;
- SOS=0;
- chefang=0; //按鍵初始化
- }
- void main() //主函數
- {
- init(); //調用初始化
- while(1)//循環
- {
- kongzhi();//控制函數
- }
- }
- void time() interrupt 1//定時器函數
- {
- TH0=0x4b;
- TL0=0xff; //重新賦初值
- t++;
- if(t==20)
- {
- t=0;
- t1++;
- if(t1==30)//計時到30s時開啟布防數碼管停止顯示 關閉定時器
- {
- t1=0;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
Wireless alarm.rar
(20.75 KB, 下載次數: 79)
2017-5-11 10:27 上傳
點擊文件名下載附件
無線報警 下載積分: 黑幣 -5
|