亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4553|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于單片機(jī)的紅外防盜報(bào)警程序源碼設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:319495 發(fā)表于 2018-4-30 18:09 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
分享一個(gè)基于51單片機(jī)的人體紅外防盜報(bào)警設(shè)計(jì),模塊接P1^6引腳上面的.
單片機(jī)源程序如下:
  1. #include <reg52.h>

  2. #define uchar unsigned char                // 以后unsigned char就可以用uchar代替
  3. #define uint  unsigned int                // 以后unsigned int 就可以用uint 代替

  4. sbit Module    = P1^6;                        // 安防模塊
  5. sbit Buzzer    = P1^7;                        // 蜂鳴器
  6. sbit Key1      = P3^2;                        // 按鍵1,報(bào)警模式切換
  7. sbit Key2      = P3^3;                        // 按鍵2,布防/撤防切換
  8. sbit Key3      = P3^4;                        // 按鍵3,緊急報(bào)警
  9. sbit LedRed    = P2^0;                        // 紅色led燈,報(bào)警指示燈
  10. sbit LedGreen  = P2^1;                        // 綠色led燈,布防/撤防指示燈
  11. sbit LedYellow = P2^2;                        // 黃色led燈,報(bào)警模式指示燈


  12. /*********************************************************/
  13. // 毫秒級(jí)的延時(shí)函數(shù),time是要延時(shí)的毫秒數(shù)
  14. /*********************************************************/
  15. void DelayMs(uint time)
  16. {
  17.         uint i,j;
  18.         for(i=0;i<time;i++)
  19.                 for(j=0;j<112;j++);
  20. }

  21. /*********************************************************/
  22. // 等待所有按鍵釋放
  23. /*********************************************************/
  24. void WaitKey()
  25. {
  26.         DelayMs(10);                                // 消除按鍵按下的抖動(dòng)
  27.         while(Key1==0);                        // 等待按鍵1釋放
  28.         while(Key2==0);                        // 等待按鍵2釋放
  29.         while(Key3==0);                        // 等待按鍵3釋放
  30.         DelayMs(10);                                // 消除按鍵松開的抖動(dòng)
  31. }

  32. /*********************************************************/
  33. // 緊急報(bào)警
  34. /*********************************************************/
  35. void EmergencyAlarm()
  36. {
  37.         Buzzer=0;                                        // 啟動(dòng)蜂鳴器報(bào)警
  38.         while(1)
  39.         {
  40.                 LedRed=0;                        // 紅燈亮
  41.                 LedGreen=0;                        // 綠燈亮
  42.                 LedYellow=0;                        // 黃燈亮
  43.                 DelayMs(150);                        // 延時(shí)150毫秒
  44.                 LedRed=1;                        // 紅燈滅                        
  45.                 LedGreen=1;                        // 綠燈滅
  46.                 LedYellow=1;                        // 黃燈滅
  47.                 DelayMs(150);                        // 延時(shí)150毫秒
  48.         }
  49. }

  50. /*********************************************************/
  51. // 布防過(guò)程,正常是30秒左右
  52. /*********************************************************/
  53. uchar AnFang()
  54. {
  55.         uchar i,j;
  56.         LedGreen=0;                                        // 綠燈亮
  57.         WaitKey();                                        // 等待按鍵釋放
  58.         for(i=0;i<60;i++)                                // 延時(shí)并掃描按鍵
  59.         {
  60.                 LedGreen=~LedGreen;                // 綠燈狀態(tài)取反(亮滅交換)
  61.                 for(j=0;j<50;j++)
  62.                 {
  63.                         if(Key2==0)                        // 如果按下按鍵2
  64.                                 return 2;                        // 則返回2
  65.                         if(Key3==0)                        // 如果按下按鍵3
  66.                                 return 3;                        // 則返回3
  67.                         DelayMs(10);                        // 延時(shí)10毫秒
  68.                 }
  69.         }
  70.         return 0;                                                // 程序正常結(jié)束,返回0
  71. }
  72.         
  73. /*********************************************************/
  74. // 主函數(shù)
  75. /*********************************************************/
  76. void main(void)
  77. {
  78.         uint  i;
  79.         uchar ret;
  80.         Buzzer=0;                                                                // 蜂鳴器鳴叫

  81.         DelayMs(200);                                                        // 延時(shí)0.2秒
  82.         Buzzer=1;                                                                // 停止蜂鳴器
  83.         while(1)
  84.         {
  85.                 /* 按鍵1檢測(cè) */
  86.                 if(Key1==0)                                                // 如果按鍵1被按下                        
  87.                 {
  88.                         LedYellow=~LedYellow;                        // 黃色等狀態(tài)取反
  89.                         WaitKey();                                        // 等待按鍵釋放
  90.                 }
  91.                
  92.                 /* 按鍵2檢測(cè) */
  93.                 if(Key2==0)                                                // 如果按鍵2被按下                        
  94.                 {
  95.                         if(LedGreen==1)                                // 如果當(dāng)前沒有布置安防
  96.                         {
  97.                                 ret=AnFang();                                // 開始安防
  98.                                 if(ret==0)                                        // 如果返回0
  99.                                 {
  100.                                         LedGreen=0;                        // 綠燈亮,啟動(dòng)安防
  101.                                 }
  102.                                 if(ret==2)                                        // 如果返回2
  103.                                 {
  104.                                         LedGreen=1;                        // 綠燈滅,說(shuō)明安防過(guò)程被取消
  105.                                         WaitKey();                        // 等待按鍵釋放
  106.                                 }
  107.                                 if(ret==3)                                        // 如果返回3
  108.                                 {
  109.                                         EmergencyAlarm();                // 說(shuō)明安防過(guò)程按下了緊急報(bào)警按鍵
  110.                                 }
  111.                         }
  112.                         else                                                        // 如果當(dāng)前為安防狀態(tài)
  113.                         {
  114.                                 LedGreen=1;                                // 綠燈滅,撤防
  115.                                 WaitKey();                                // 等待按鍵釋放
  116.                         }
  117.                 }
  118.                
  119.                 /* 按鍵3檢測(cè) */
  120.                 if(Key3==0)                                                // 如果按鍵3被按下                        
  121.                 {        
  122.                         EmergencyAlarm();                                // 啟動(dòng)緊急報(bào)警
  123.                 }               
  124.                
  125.                 /* 安防檢測(cè) */
  126.                 if((LedGreen==0)&&(Module==1))                // 如果安防已啟動(dòng)并且檢測(cè)到有人
  127.                 {
  128.                         // 短報(bào)警處理
  129.                         if(LedYellow==1)                                // 如果黃燈是滅的                                                               
  130.                         {
  131.                                 LedRed=0;                                // 紅燈亮
  132.                                 Buzzer=0;                                        // 蜂鳴器響
  133.                                 for(i=0;i<400;i++)                        // 短報(bào)警并進(jìn)行按鍵掃描
  134.                                 {
  135.                                         if(Key2==0)                        // 如果按鍵按鍵2
  136.                                         {
  137.                                                 LedGreen=1;                // 綠燈滅,表示撤防
  138.                                                 LedRed=1;                // 紅燈滅
  139.                                                 Buzzer=1;                        // 蜂鳴器停止鳴叫
  140.                                                 WaitKey();                // 等待按鍵釋放
  141.                                                 break;                        // 退出報(bào)警
  142.                                         }
  143.                                         DelayMs(10);                        // 延時(shí)10毫秒
  144.                                 }
  145.                                 LedRed=1;                                // 紅燈滅
  146.                                 Buzzer=1;                                        // 蜂鳴器停止鳴叫
  147.                         }
  148.                         // 長(zhǎng)報(bào)警處理
  149.                         else                                                                        
  150.                         {
  151.                                 LedRed=0;                                // 紅燈亮
  152.                                 Buzzer=0;                                        // 蜂鳴器響
  153.                                 while(1)
  154.                                 {        
  155.                                         if(Key2==0)                        // 如果按鍵按鍵2
  156.                                         {
  157.                                                 LedGreen=1;                // 綠燈滅,表示撤防
  158.                                                 LedRed=1;                // 紅燈滅
  159.                                                 Buzzer=1;                        // 蜂鳴器停止鳴叫
  160.                                                 WaitKey();                // 等待按鍵釋放
  161.                                                 break;                        // 退出報(bào)警
  162.                                         }
  163.                                 }
  164.                         }
  165.                 }
  166.         }
  167. }
復(fù)制代碼

所有資料51hei提供下載:
單片機(jī)程序.doc (31 KB, 下載次數(shù): 38)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:293762 發(fā)表于 2018-5-9 22:36 | 只看該作者
謝謝樓主的分享!認(rèn)真學(xué)習(xí)。
回復(fù)

使用道具 舉報(bào)

板凳
ID:438819 發(fā)表于 2018-12-3 22:53 | 只看該作者
謝謝樓主的分享
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表