欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機二路紅外報警Proteus仿真電路+程序 [打印本頁]

作者: lx5204441    時間: 2020-2-18 10:52
標題: 單片機二路紅外報警Proteus仿真電路+程序
下來了就可以用,程序我自己改來的,有什么不好可以提出來,大家一起交流交流
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg52.h>                 //調(diào)用單片機頭文件
  2. #define uchar unsigned char  //無符號字符型 宏定義        變量范圍0~255
  3. #define uint  unsigned int         //無符號整型 宏定義        變量范圍0~65535

  4. //紅外熱釋電傳感器 平時為0  有輸出為1

  5. sbit beep = P2^2;           //蜂鳴器定義
  6. sbit red = P2^0;           //紅色發(fā)光二極管定義
  7. sbit yellow = P2^1;           //黃色發(fā)光二極管定義
  8. sbit hw_one = P1^0;           //紅外熱釋傳感器定義
  9. sbit hw_two = P1^1;
  10. bit flag_300ms = 0;
  11. uchar flag_alarm ;     //報警標志位
  12. uint  flag_value;      //用做定時器的變量

  13. /***********************1ms延時函數(shù)*****************************/
  14. void delay_1ms(uint q)
  15. {
  16.         uint i,j;
  17.         for(i=0;i<q;i++)
  18.                 for(j=0;j<120;j++);
  19. }

  20. /*************定時器0初始化程序***************/
  21. void time_init()          
  22. {
  23.         EA   = 1;                   //開總中斷
  24.         TMOD = 0X01;          //定時器0工作方式1
  25.         ET0  = 1;                  //開定時器0中斷
  26.         TR0  = 1;                  //允許定時器0定時
  27. }

  28. /******************紅外報警處理**********************/          
  29. void hongwai_dis()
  30. {
  31.         if(hw_one == 1 && hw_two == 1)//無人
  32.         {
  33.                 flag_alarm = 0;//不報警
  34.                 red = ~red;//紅燈亮
  35.                 yellow = yellow;//黃燈熄滅
  36.                 beep = beep;//蜂鳴器不響
  37.         }
  38.         if(hw_one == 0)//表示床上有時,報警提示床無法收縮
  39.         {
  40.                 flag_alarm = 1;//報警
  41.                 red = red;//紅燈熄
  42.                 yellow = ~yellow;//黃燈亮
  43.                 beep = ~beep;//蜂鳴器響
  44.         }
  45.         if(hw_two == 0)//表示床板與墻面之間有人時候,報警提示床無法伸開
  46.         {
  47.                 flag_alarm = 1;//報警
  48.                 red = red;//紅燈熄
  49.                 yellow = ~yellow;//黃燈亮
  50.                 beep = ~beep;//蜂鳴器響
  51.         }
  52. }


  53. /******************主程序**********************/          
  54. void main()
  55. {
  56.         time_init();   //定時器初始化程序
  57.         beep = 0;      //開機叫一聲  
  58.         delay_1ms(200);
  59.         P0 = P1 = P2 = P3 = 0xff;  //初始化單片機IO口為高電平
  60.         while(1)
  61.         {
  62.                 red = ~hw_one;         //紅外熱釋電指示燈 有輸出就亮黃燈
  63.                 if(flag_300ms == 1)
  64.                 {
  65.                         flag_300ms = 0;
  66.                         hongwai_dis();           //紅外報警函數(shù)
  67.                 }       
  68.         }
  69. }


  70. /*************定時器0中斷服務程序***************/
  71. void time0_int() interrupt 1
  72. {       
  73.         static uint value;
  74.         TH0 = 0x3c;
  75.         TL0 = 0xb0;     // 50ms          
  76.         value ++;
  77.         if(value % 6 == 0)
  78.         {
  79.                 flag_300ms = 1;
  80.         }
  81. }
復制代碼

全部資料51hei下載地址:
電路圖.rar (112.51 KB, 下載次數(shù): 73)
程序.rar (25.63 KB, 下載次數(shù): 51)

作者: yx9607    時間: 2020-4-18 22:08
感謝,代碼還沒運行,在學習中
作者: 15384429456    時間: 2020-4-19 17:23
打不開可怎么辦啊
作者: 22222546    時間: 2020-4-29 19:14
想問一下樓上,這個是什么

0$I$B_P)N}TYDH6%1W%R0AJ.png (10.02 KB, 下載次數(shù): 36)

0$I$B_P)N}TYDH6%1W%R0AJ.png

作者: Wojtekzhang123    時間: 2020-4-30 21:13
22222546 發(fā)表于 2020-4-29 19:14
想問一下樓上,這個是什么

數(shù)字信號發(fā)生器
作者: 1577859358    時間: 2020-5-1 00:27
江湖救急還好還好哈
作者: hyue    時間: 2020-6-8 18:02
請問具體哪里是紅外熱釋電傳感器呀?




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1