找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于51单片机火焰传感器模块源码与资料

[复制链接]
跳转到指定楼层
楼主
根据导师分部的制作一个嵌入式系统的对于压力的实时控制与测量,自己先做了个基于51单片机传感器的实现。包含模拟电路图和代码,请大家多多指教。

电路原理图如下:


单片机源程序如下:
  1.   /******************************************
  2. 传感器触发测试
  3. 单片机:STC89C52
  4. 波特率:9600
  5. *****************************************/
  6. #include <reg52.h>
  7. unsigned char date;
  8. #define uchar unsigned char
  9. #define uint unsigned int
  10. sbit key1=P0^1;


  11. /* 函数申明 -----------------------------------------------*/
  12. void delay(uint z);
  13. void Initial_com(void);


  14. /*
  15. ********************************************************************************
  16. ** 函数名称 : delay(uint z)
  17. ** 函数功能 : 延时函数
  18. ********************************************************************************
  19. */
  20. void delay(uint z)
  21. {                                                                                                                                                                                          
  22.     uint i,j;
  23.     for(i=z;i>0;i--)
  24.         for(j=110;j>0;j--);
  25. }


  26. //******************************

  27. //*****串口初始化函数***********

  28. //******************************
  29. void Initial_com(void)
  30. {
  31. EA=1;        //开总中断
  32. ES=1;        //允许串口中断
  33. ET1=1;        //允许定时器T1的中断
  34. TMOD=0x20;   //定时器T1,在方式2中断产生波特率
  35. PCON=0x00;   //SMOD=0
  36. SCON=0x50;   // 方式1 由定时器控制
  37. TH1=0xfd;    //波特率设置为9600
  38. TL1=0xfd;
  39. TR1=1;       //开定时器T1运行控制位

  40. }




  41. //*************************
  42. //**********主函数*********
  43. //*************************
  44. void main()
  45. {
  46.          Initial_com();
  47.          while(1)
  48.          {
  49.        
  50.                   if(key1==0)
  51.                 {
  52.                         delay(100);          //消抖动
  53.                         if(key1==0)          //确认触发
  54.                         {
  55.                                  SBUF=0X01;
  56.                                  delay(200);
  57.                                
  58.                        
  59.                         }
  60.           
  61.                 }
  62.                  
  63.                   if(RI)
  64.                   {
  65.                         date=SBUF;    //单片机接受
  66.                         SBUF=date;    //单片机发送
  67.                         RI=0;
  68.                   }
  69.                
  70.                
  71.           }
  72. }
复制代码

所有资料51hei提供下载:
基于51单片机火焰传感器模块源码与资料.rar (42.95 KB, 下载次数: 145)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:718222 发表于 2020-4-14 12:02 | 只看该作者
你这个date=SBUF;SBUF=date;是什么意思?是要发到哪?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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