找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2442|回复: 3
打印 上一主题 下一主题
收起左侧

单片机紫外线消毒控制程序 人体红外感应

[复制链接]
跳转到指定楼层
楼主
ID:374128 发表于 2020-3-4 14:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /*--************************防病毒紫外线程序***************************--*/
  2. /*
  3.    程序开发者:邵
  4.    日期:2020年2月9日
  5.    功能:人体感应,检查到人体后开启进行30秒的紫外线消毒,然后停止后
  6.    同时也会记录人数,也可以手动切换功能,按一下按钮,紫外线消毒常亮,再按一次
  7.    恢复功能正常。
  8. */
  9. /*--*******************************************************************--*/
  10. #include "reg52.h"                        
  11. typedef unsigned int u16;         
  12. typedef unsigned char u8;
  13. sbit Rtiganying = P3^7;//接人体感应传感器
  14. sbit ZWxian = P3^0;//紫外线消毒
  15. unsigned int Chesi_Key = 0,j,Y,a=50,b=10;
  16. sbit LSA = P2^2;
  17. sbit LSB = P2^3;
  18. sbit LSC = P2^4;
  19. sbit k1 = P3^3;

  20. u8 code smgduan[17]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  21.                                         0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//显示0~F的值
  22. u8 ssec,sec,min;
  23. u8 DisplayData[8];

  24. void Timer0Init()
  25. {
  26.         TMOD|=0X01;//选择为定时器0模式,工作方式1,仅用TR0打开启动。
  27.         TH0=0Xd8;        //给定时器赋初值,定时10ms
  28.         TL0=0Xf0;        
  29.         ET0=1;//打开定时器0中断允许
  30.         EA=1;//打开总中断
  31.         TR0=1;//打开定时器                        
  32. }

  33. void DigDisplay()
  34. {
  35.         u8 i;
  36.         for(i=0;i<8;i++)
  37.         {
  38.                 switch(i)         //位选,选择点亮的数码管,
  39.                 {
  40.                         case(0):
  41.                                 LSA=0;LSB=0;LSC=0; break;//显示第0位
  42.                         case(1):
  43.                                 LSA=1;LSB=0;LSC=0; break;//显示第1位
  44.                         case(2):
  45.                                 LSA=0;LSB=1;LSC=0; break;//显示第2位
  46.                         case(3):
  47.                                 LSA=1;LSB=1;LSC=0; break;//显示第3位
  48.                         case(4):
  49.                                 LSA=0;LSB=0;LSC=1; break;//显示第4位
  50.                         case(5):
  51.                                 LSA=1;LSB=0;LSC=1; break;//显示第5位
  52.                         case(6):
  53.                                 LSA=0;LSB=1;LSC=1; break;//显示第6位
  54.                         case(7):
  55.                                 LSA=1;LSB=1;LSC=1; break;//显示第7位        
  56.                 }
  57.                 P0=DisplayData[i];//发送段码
  58.                 j = 100;
  59.                 while(j--); //间隔一段时间扫描        
  60.                 P0=0x00;//消隐
  61.         }
  62. }

  63. void datapros()
  64. {
  65.         DisplayData[0]=smgduan[ssec%10];
  66.         DisplayData[1]=smgduan[ssec/10];
  67.         DisplayData[2]=0x40;        
  68.         DisplayData[3]=smgduan[sec%10];
  69.         DisplayData[4]=smgduan[sec/10];
  70.         DisplayData[5]=0x40;
  71.         DisplayData[6]=smgduan[min%10];
  72.         DisplayData[7]=smgduan[min/10];
  73. }

  74. void Kay()
  75. {
  76.   if(k1==0)
  77.   {
  78.    j = 1500;
  79.    while(j--);
复制代码

全部资料51hei下载地址:
紫外线程序.zip (24.7 KB, 下载次数: 28)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1 发表于 2020-3-4 14:50 | 只看该作者
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
回复

使用道具 举报

板凳
ID:679425 发表于 2020-3-5 16:42 | 只看该作者
希望补全电路原理图,源码,详细说明与图片
回复

使用道具 举报

地板
ID:366344 发表于 2020-3-16 09:17 | 只看该作者
有原理图吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表