0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

51单片机及红外热释电传感器仿真

科技绿洲 来源:单片机实例设计 作者:单片机实例设计 2023-09-11 11:32 次阅读

1.51单片机+LCD1602显示屏+红外热释电传感器仿真

功能:

(1)红外热释电传感器采用按键模拟输入信号,由于传感器检测人体时输出高电平,按键需要下拉电阻作为无信号时的电平状态。

(2)当热释电检测到人体时,LED灯亮以及蜂鸣器响起。

图片

2.程序设计(采用keil5进行编程

#include < reg52.h >
#include < intrins.h > 
#include < math.h >
#define uchar  unsigned char
#define uint   unsigned int   
//延时函数ms
void _delay_ms(uint t)
{
   uint i,j;
   for(i=0;i< t;i++)
     for(j=0;j< 120;j++);
}
//延时函数us
void _delay_us(uchar t)
{
   while(t >0)t--;
}


sbit  RS=P3^2;  //写信号
sbit  RWW=P3^3;  //读信号
sbit  E=P3^4;  //使能信号
#define e1   E=1 
#define rd1  RWW=1  
#define rs1  RS=1  
#define e0   E=0 
#define rd0  RWW=0 
#define rs0  RS=0 
#define PP P1
//写1602控制字
void  lcd1602_writecrtl(uchar  dat)
{
  rd0;//读信号置0
  rs0;//写信号置0
  _delay_us(5);
  PP=dat;
  e1;//使能信号置1
  _delay_us(5);
  e0;//使能信号置0
}
//写1602数据
void  lcd1602_writenumber(uchar dat)
{
  rd0;//读信号置0
  rs1;//写信号置1
  _delay_us(5);
  PP=dat;
  e1;//使能信号置1
  _delay_us(5);
  e0;//使能信号置0
}
//1602初始化
void  lcd1602_init()  
{
  lcd1602_writecrtl(0x38); //显示模式
  lcd1602_writecrtl(0x06); //显示光标移动位置
  lcd1602_writecrtl(0x0c); //显示开及光标设置
  lcd1602_writecrtl(0x01); //显示清屏
}
//显示地址
void  lcd1602_adr(uchar dat)  
{
  lcd1602_writecrtl(0x80 | dat);
}
//行显示-
void LCD1602_string(uchar hang,uchar lie,uchar const *p)
{
  uchar a;
  if(hang == 1) a = 0x00;
  if(hang == 2) a = 0x40;
  a = a + lie - 1;
  lcd1602_adr(a);
  while(1)
  {
    if(*p == '�') break;
    lcd1602_writenumber(*p);
    p++;
  }
}
uchar code zifux[]="0123456789abcdef";
uchar code zifu0[]="Pyroelectric    ";
uchar code zifu2[]="   Alarm       ";
uchar code zifu1[]="   Normal      ";
sbit  key_sr= P2^1;//传感器
sbit led= P0^0; //报警
sbit  beer= P2^7;//报警
uint jishu1=0;
uint jishubeer=0;
uchar bz=0;
//---------------
void ct()                                                              
{  
   //显示
  if(bz==0)  LCD1602_string(2,1,zifu1); 
  if(bz==1)  LCD1602_string(2,1,zifu2);
  //判断
  if((key_sr==1)&&(bz==0)) {bz=1;jishu1=0;}
  //报警
  if(bz==1)
  {
     jishubeer=(jishubeer+1)%100;
     if(jishubeer >50){beer=led=0;} 
   else {beer=led=1;}
   //延时
   jishu1=jishu1+1;if(jishu1 >500) {jishu1=0;bz=0;}
  }
  else {beer=led=1;}
}
//主函数
void main()
{ 
  _delay_ms(1);
  key_sr=0;
  //初始化
  lcd1602_init();
  LCD1602_string(1,1,zifu0);
  LCD1602_string(1,1,zifu0);
  LCD1602_string(2,1,zifu1);
  while(1)
   {
    ct();


  } 
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740069
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132161
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120700
  • 红外热释电
    +关注

    关注

    0

    文章

    11

    浏览量

    7851
收藏 人收藏

    评论

    相关推荐

    红外传感器跪求指导

    小弟最近在做一个用红外传感器检测一米内是否有人的课程设计,想检测红外传感器,将
    发表于 11-22 21:25

    电传感器资料

    电传感器资料
    发表于 07-17 23:29

    红外传感器

    本人弄毕设,proteus中找不到电传感器,百度说用信号源输出1Hz正弦波代替红外传感器
    发表于 05-08 10:12

    基于51做的温度传感器+电传感器

    有大神做个这个嘛 具体作用就是温度显示在数码管上,感应到人就蜂鸣器报警需要电传感器模块 学完基础51 想做个 有人可以详细请教下嘛 各位大牛
    发表于 11-30 23:13

    人体红外电传感器

    ==0) //当传感器被遮蔽的时候向单片机输入低电平,单片机控制放光二极管亮led=0;elseled=1;}}
    发表于 10-04 16:08

    大神们有知道51单片机怎么用中断识别人体红外电传感器的3v信号吗?

    我用51单片机控制人体红外电传感器,怎么中断不能产生?是不是输出的3v电压太低不能识别?有没
    发表于 10-14 23:03

    红外传感器单片机怎么连接

    红外传感器单片机连接一般用什么型号,谁有这方面的质料求发
    发表于 11-22 09:40

    有没有大神会最简单的51单片机和压阻式压力传感器红外传感器连接电路图?

    有没有大神会最简单的51单片机和压阻式压力传感器红外传感器连接电路图?
    发表于 04-21 19:59

    基于红外电传感器的智能交通劝导系统设计

    ,自动识别当前红绿灯所亮的颜色;行人状态检测模块采用红外电传感器设计,用来检测是否有行人通过人行横道;微控制P89LPC917根据当前
    发表于 11-05 15:45

    请问电人体红外传感器51单片机怎么连接检测信号?

    我用51单片机控制人体红外电传感器,怎么中断不能产生?是不是输出的3v电压太低不能识别?有没
    发表于 08-06 00:00

    电传感器

    大家好:电传感器的量产测试治具如何做请指导。谢谢!
    发表于 03-01 10:50

    热电堆传感器电传感器的区别是什么?

    甘肽等受热时,晶体两端会产生数量相等、符号相反的电荷。1842年布鲁斯特将这种由温度变化引起的电极化现象正式命名为“pyroelectric”,即电效应。电效应示意图
    发表于 03-06 14:02

    红外传感器的工作原理是什么

    不同,两片电元件接收到的热量不同,电能量也不同,不能完全抵消,经处理电路处理后输出控制信号。
    发表于 05-24 07:42

    基于51单片机的人体红外电检测系统设计

    视频链接:该设计是由AT89C51为主控芯片LCD1602液晶显示温度传感器红外人体感应红外
    发表于 09-08 07:51

    红外电传感器是什么

    概述 红外电传感器是一款基于电效应的人体热
    发表于 11-23 07:37